]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Apple assembly doesn't handle symbol arithmetic well. So instead
[grub2.git] / ChangeLog
CommitLineData
78f961ef
VS
12013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Apple assembly doesn't handle symbol arithmetic well. So instead
4 of getting addres of kernel_sector + 4 define kernel_sector_high.
5 It also makes code more readable.
6
09bc0a57
VS
72013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
8
9 With Apple assembly in .macro environvemnt you have to use $$ instead
10 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
11 to $$x on Apple and to $x on everything else.
12
b700a427
VS
132013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
14
15 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
16 OBJCONV.
17
4480b95d
VS
182013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
19
20 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
21 and non-Apple. This instruction is shorter and faster,
22 so no reason not to use it on both.
23
e77c81f6
VS
242013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
25
26 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
27 .text when compiling for Apple.
28
971dbee5
VS
292013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
30
31 * grub-core/term/arc/console.c: Add missing cast to silence warning.
32
6f2e82be
VS
332013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
34
35 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
36 %dx restore the probe worked on non-existant drive. Reorganize the
37 code a little bit to free 2 bytes necessary for push/pop.
38
9eec9699
VS
392013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
40
41 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
42 Add missing cast to silence warning.
43
5ae5c54c
KPA
442013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
45
46 * util/grub-install.c (update_nvram): Support --no-nvram flag
47 for EFI targets.
48
7b04fe6c
VS
492013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
50
51 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
52
e67566ce
VS
532013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
54
55 * util/garbage-gen.c: Add missing include of sys/time.h.
56
f93ddcfd
VS
572013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
58
59 Don't add -mflush-func if it's not supported by compiler.
60
1bba40f5
VS
612013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
62
63 Move common BIOS/coreboot memory map declarations to
64 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
65
f65e14dc
AB
662013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
67
68 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
69
14a94bba
VS
702013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
71
72 * INSTALL: Document why older clang versions aren't appropriate.
73
8109c5d4
VS
742013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
75
76 * INSTALL: Document about clang for mips.
77
a92b5cb8
VS
782013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
79
80 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
81 clang.
82
4a23e2fe
VS
832013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
84
85 Add *-xen to the list of grub-install-common platforms.
86
a3ba7410
VS
872013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
88
89 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
90 3 last commits.
91
e1c22419
VS
922013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
93
94 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
95
189090ce
VS
962013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
99 with -mcmodel=large.
100
1a5b7b40
VS
1012013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
102
103 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
104 range-checking for 32-bit quantities.
105
9cf12b20
VS
1062013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
107
108 * configure.ac: Compile with -fPIC when compiling with clang on
109 mips.
110
63a45330
VS
1112013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
112
113 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
114 when compiling with clang.
115
4a0aaad0
VS
1162013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
117
118 clang emits calls to abort () under some unknown conditions.
119 Export abort () when compiling with clang.
120
095bb1bf
VS
1212013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
122
123 * docs/grub-dev.texi: Document stack and heap sizes.
124
3937bd96
VS
1252013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
126
127 * include/grub/i386/pc/memory.h: Decrease
128 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
129 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
130 The binary doesn't change (checked). It's more to better reflect actual
131 usage.
132
ddb3efc9
VS
1332013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
134
135 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
136 at compile time that enough of scratch size is available.
137
4e42521d
VS
1382013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
139
140 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
141 Previously we misaligned stack by 8 in startup.S and compensated
142 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
143 right behaviour is to align stack in startup.S and keep it aligned
144 in callwrap.S. startup.S part was committed few commits before. This
145 takes care of callwrap.S.
146 Reported by: Gary Lin.
147
054efe54
VS
1482013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
149
150 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
151 .data and .bss. May happen if compiler and assembly use different
152 alignment.
153
a0e1befb
VS
1542013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
155
156 On MIPS handle got16 relocations to local symbols in an ABI-compliant
157 way.
158
c36c73f6
VS
1592013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
160
161 Add support for a new magic symbol _gp_disp on mips to handle PIC
162 binaries.
163
6f4a19f5
VS
1642013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
165
166 Use $t9 for indirect calls from asm to C as PIC ABI requires.
167
0d8f04cd
VS
1682013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
169
170 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
171 when rest of GRUB is compiled for hisher stepping. Instead use
172 .set mips3/.set mips1 around cache and sync opcodes.
173
49060520
VS
1742013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
175
176 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
177 do essentially the same thing, do it in similar way.
178
c6a823e2
CW
1792013-11-21 Colin Watson <cjwatson@ubuntu.com>
180
181 * util/grub-mkrescue.c (main): If a source directory is not
182 specified, read platform-specific files from subdirectories of
183 pkglibdir, not pkgdatadir.
184
b7f9aedf
CW
1852013-11-21 Colin Watson <cjwatson@ubuntu.com>
186
187 * grub-core/normal/progress.c: Remove unused file.
188
7dd0a303
VS
1892013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
190
191 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
192 array.
193
ca120e31
VS
1942013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
195
196 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
197 than grub.cfg.
198
48eb35cd
VS
1992013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
200
201 * coreboot.cfg: Add missing file.
202
7f20dbbc
VS
2032013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
204
205 * Makefile.am: Allow STRIP to be empty when creating windowszip.
206
55e706c9
AK
2072013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
208
209 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
210 selectively skipping systems.
211
4e7d433d
CW
2122013-11-19 Colin Watson <cjwatson@ubuntu.com>
213
214 * Makefile.util.def (grub-mkimage): Add
215 grub-core/osdep/aros/config.c to extra_dist.
216 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
217 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
218 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
219 grub-core/gnulib-no-gets.diff.
220
7d44ff7d
VS
2212013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
222
223 Add automated filesystem checking based on scripts I've used now for
224 quite some time locally. Most of the test require root so they are
225 skipped when run without necessarry privelegies.
226
a8c3e5e3
CW
2272013-11-19 Colin Watson <cjwatson@ubuntu.com>
228
229 * util/grub-install.c (main): Adjust info messages to match
230 installed paths of grub-bios-setup and grub-sparc64-setup.
231
4402db3e
CW
2322013-11-19 Colin Watson <cjwatson@ubuntu.com>
233
234 * util/grub-install-common.c (copy_locales): Consistently use
235 grub_util_get_localedir () rather than LOCALEDIR.
236 (grub_install_copy_files): Likewise.
237
7960d3e1
JT
2382013-11-19 Josh Triplett <josh@joshtriplett.org>
239
240 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
241 16-byte boundary, as required by the x86-64 ABI, before calling
242 grub_main. In some cases, GCC emits code that assumes this
243 alignment, which crashes if not aligned. The EFI firmware is also
244 entitled to assume that stack alignment without checking.
245
d53f4900
JT
2462013-11-18 Josh Triplett <josh@joshtriplett.org>
247
248 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
249 4k page boundaries as expected by firmware rather than 1k
250 boundaries.
251 (grub_mmap_malign_and_register): Likewise.
252
bb2b275b
VS
2532013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
256 fragmentation 512M is enough.
257
45bf8b3a
VS
2582013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
259
260 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
261 pointer to 32K. This is the size of cache element which is the most
262 common allocation >1K. This way the pointer is always around blocks
263 of 32K and so we keep performance while decreasing fragmentation.
264
39ff43c5
VS
2652013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
266
267 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
268 current memory when allocating large chunks. This significantly
269 decreases memory fragmentation.
270
60870be8
CW
2712013-11-18 Colin Watson <cjwatson@ubuntu.com>
272
273 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
274 but for symmetry).
275 * tests/lzocompress_test.in: Skip if lzop is not installed.
276 * tests/xzcompress_test.in: Skip if xz is not installed.
277
a1f00cc5
CW
2782013-11-18 Colin Watson <cjwatson@ubuntu.com>
279
280 * util/grub-mkrescue.c (main): Fix typo.
281
74e632fe
VS
2822013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
283
284 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
285 clock frequency to 200 MHz,
286
efb8de49
VS
2872013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
288
289 * tests/util/grub-shell.in: Increase console size to 1024x1024.
290
b7526e78
VS
2912013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
292
293 * Makefile.am (default_payload.elf): Add pata to loaded modules.
294 Load config file from (cbfsdisk)/etc/grub.cfg.
295
b40ce651
VS
2962013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * util/grub-install-common.c (grub_install_copy_files): Fix module
299 destination directory.
300
1e8e2e78
CW
3012013-11-18 Colin Watson <cjwatson@ubuntu.com>
302
303 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
304 files have not been built.
305
3bf4088b
CW
3062013-11-18 Colin Watson <cjwatson@ubuntu.com>
307
308 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
309 Handle errors from mkstemp.
310 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
311
35c2851c
VS
3122013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
313
314 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
315 on primary master on pseries.
316
ea7c1a7d
VS
3172013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
318
319 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
320 already loaded. This saves memory needed for tests,
321
96adefdb
VS
3222013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
323
324 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
325 work again.
326
5e3cb8a7
VS
3272013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
328
329 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
330 work again.
331
256ee7ac
VS
3322013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
333
334 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
335 master since with some combinations of qemu and firmware only primary
336 IDE channel is available.
337
f8b4c3b6
VS
3382013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
341 low-memory platforms where we don't have enough memory for them.
342 * grub-core/tests/videotest_checksum.c: Likewise.
343
4bf70320
VS
3442013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
347 already loaded. This saves memory needed for tests,
348
a284320e
VS
3492013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
350
351 Fix handling of install lists.
352
2df8f43d
VS
3532013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
356
6f1bc8bc
VS
3572013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
358
359 On i386-ieee1275 we run in paged mode. So we need to explicitly map
360 the devices before accessing them.
361
04f39f6d
VS
3622013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
363
364 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
365 as file argument.
366
35d4761c
VS
3672013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
368
369 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
370
33d02a42
VS
3712013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
372
373 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
374 (grub_file_close): Free file->name.
375
7bbb60cf
VS
3762013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
377
378 * grub-core/commands/verify.c (free_pk): Plug memory leak.
379 (grub_load_public_key): Likewise.
380 (grub_verify_signature_real): Likewise.
381 (grub_cmd_verify_signature): Likewise.
382
da93d675
VS
3832013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
386 memory leak.
387
59c943ec
VS
3882013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
391 (grub_longjmp): Restore r31.
392 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
393
4336b5d8
VS
3942013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
395
396 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
397 modules to be in line with make_image_abs.
398
44ce3a93
VS
3992013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
402
403 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
404
7d400406
IC
4052013-11-17 Ian Campbell <ijc@hellion.org.uk>
406
407 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
408
77dae919
VS
4092013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
410
411 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
412 to leave some memory to firmware.
413
0ab8e025
VS
4142013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
417 of loading gfxterm as gfxterm is embed in kernel on some platforms.
418 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
419 Load gfxmenu.
420
b80c2d6d
VS
4212013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
422
423 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
424 now needs full arguments.
425
6aa6077b
VS
4262013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * util/grub-mkrescue.c (main): Add trailing \n in
429 .disk_label.contentDetails to be in line with previous shell script.
430
66c00cb1
VS
4312013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
432
433 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
434
3a129dba
VS
4352013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
436
437 * util/grub-install-common.c (grub_install_parse): Recognize
438 --compress=none like shell script did.
439
8df6eff6
VS
4402013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * include/grub/misc.h: Replace check for __sparc64__ with one for
443 __sparc__ as __sparc64__ isn't actually defined.
444
889ebe92
VS
4452013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
446
447 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
448 counterpart of fixing the naming of escc ports.
449
d4d55b29
VS
4502013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
451
452 * util/grub-install-common.c (platforms): Fix the order of entries and
453 remove useless field val.
454
55e2c84f
VS
4552013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * util/grub-install.c: Add new option --no-bootsector to skip
458 installing of bootsector. Accept --grub-setup=/bin/true as
459 backwards-compatible synonym.
460
cd46aa6c
VS
4612013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
462
463 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
464 order of qsort arguments (number of elements vs. element size).
465
4662013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
467
468 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
469 the function of these files exceeds what can be sanely handled in shell
470 in posix-comaptible way. Also writing it in C extends the functionality
471 to non-UNIX-like OS and minimal environments.
472
9ef81064
VS
4732013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
474
475 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
476 compiling to thumb2.
477 * grub-core/kern/arm/cache_armv7.S: Likewise.
478 * grub-core/lib/arm/setjmp.S: Likewise.
479
11a77932
LL
4802013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
481
482 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
483 in grub_uboot_syscall
484
080603f0
VS
4852013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
486
487 Decrease stack usage in lexer.
488
489 We have only 92K of stack and using over 4K per frame is wasteful
490
491 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
492 as macros so that compiler would remove useless structure on stack.
493 Better solution would be to fix flex not to put this structure on
494 the stack but flex is external program.
495
4f84ae0e
VS
4962013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
497
498 Decrease stack usage in signature verification.
499
500 We have only 92K of stack and using over 4K per frame is wasteful
501
502 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
503 rather than stack.
504 (grub_verify_signature_real): Likewise.
505
e6a6182d
VS
5062013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
507
508 Decrease stack usage in mdraid 0.9x.
509
510 We have only 92K of stack and using over 4K per frame is wasteful
511
512 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
513 rather than stack.
514
1a454efe
VS
5152013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
516
517 Decrease stack usage in BtrFS.
518
519 We have only 92K of stack and using over 4K per frame is wasteful
520
521 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
522 rather than stack.
523
7b5d51d8
VS
5242013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
525
526 Decrease stack usage in JFS.
527
528 We have only 92K of stack and using over 4K per frame is wasteful
529
530 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
531 stack. Note: this function is recursive.
532 (grub_jfs_read_inode): Read only part we care about.
533
593865b9
LL
5342013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
535
536 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
537 handling
7b5d51d8 538
31c0cd43
AB
5392013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
540
541 * configure.ac: Restore -nostdlib for libgcc symbols tests.
542
c2fdb331
AB
5432013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
544
545 * docs/grub.texi (Environment): Document cmdpath.
546
9e18dfe2
AB
5472013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
548
549 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
550 Remove "unused" attribute from arguments, they are used.
551
59ba9d14
CW
5522013-11-15 Colin Watson <cjwatson@debian.org>
553
554 * .gitignore: Only ignore grub-mk* at the top level.
555
23012db9
CW
5562013-11-15 Colin Watson <cjwatson@ubuntu.com>
557
558 * util/grub-reboot.in (usage): Fix a typo.
559
6fcec439
VS
5602013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
561
562 Replace libgcc version of ctz with our own.
563
564 On upcoming arm64 port libgcc ctz* are not usable in standalone
565 environment. Since we need ctz* for this case and implementation is
566 in C we may as well use it on all concerned platforms.
567
a9f25a08
VS
5682013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * configure.ac: Probe for linking format rather than guessing it based
571 on target_os.
572
c7995256
VS
5732013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
574
575 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
576 "1" prior to handoff.
577
578 Reported by: M A Young.
579
e1aa5b66
VS
5802013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
583 \0 to all files.
584
585 Reported by: M A Young.
586
da5ed5cf
VS
5872013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
588
589 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
590 compilation on NetBSD.
591
5757a93e
VS
5922013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
593
594 * acinclude.m4: Don't add -P on initial nm test.
595
596 Note: even though this patch postdates Andrey's it bears 14 Nov as
597 date due to timezone difference.
598
a5986276
AB
5992013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
600
601 * grub-core/Makefile.core.def (signature_test): Add missing
602 tests/signatures.h.
603
0de172a0
CW
6042013-11-14 Colin Watson <cjwatson@ubuntu.com>
605
606 * util/grub-install_header: Set localedir here, since this file is
607 where it's used.
608 * util/grub-install.in: Remove setting of localedir.
609 * util/grub-mkrescue.in: Likewise.
610
da45f43c
VS
6112013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
614
20aea949
VS
6152013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
616
617 * configure.ac: Move nm checks to the end.
618 Call grub_PROG_NM_WORKS.
619 * acinclude.m4: New check grub_PROG_NM_WORKS.
620 Use $TARGET_CFLAGS -c when compiling test binary.
621
1326b9ae
CW
6222013-11-14 Colin Watson <cjwatson@ubuntu.com>
623
624 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
625 unused variables.
626
1fe26ab4
MG
6272013-11-14 Matthew Garrett <mjg@redhat.com>
628
629 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
630 cmdpath to firmware directory.
631
83e9c273
VS
6322013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
633
634 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
635 at the start of second iteration.
636
ec525c18
VS
6372013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
638
639 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
640
93fcc7ad
VS
6412013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
642
643 * Makefile.am (default_payload.elf): New target for easier coreboot
644 build.
645
57ffe934
VS
6462013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
647
648 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
649 clang (not necessarry with -no-integrated-as).
650 * include/grub/symbol.h [__arm__]: Likewise.
651
2312f06c
VS
6522013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
653
654 * configure.ac: Use -no-integrated-as on arm with clang.
655 * INSTALL: Mention ARM compilation with clang.
656
2416415c
VS
6572013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
658
659 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
660 -mthumb-interwork.
661
5da55172
CW
6622013-11-14 Colin Watson <cjwatson@ubuntu.com>
663
664 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
665 code for indirect block handling.
666
667 Saves 185 bytes on compressed image.
668
da770328
PFS
6692013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
670
671 Fix make clean.
672
673 * Makefile.am: Remove build-grub-* in make clean.
674
f02e6b56
PFS
6752013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
676
677 New files to gitignore.
678
679 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
680 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
681
035a26c1
LL
6822013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
683
684 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
685
bc8a6137
LL
6862013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
687
688 * .gitignore: fix rules for .dep* and add *.a post git migration
689
6fe506b0
CW
6902013-11-13 Colin Watson <cjwatson@ubuntu.com>
691
692 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
693 to match INSTALL.
694
81a2e438
CW
6952013-11-13 Colin Watson <cjwatson@ubuntu.com>
696
697 * grub-core/kern/misc.c: Don't redirect divisions in the
698 GRUB_UTIL case.
699 * include/grub/misc.h: Likewise.
700
9b45c073
CW
7012013-11-13 Colin Watson <cjwatson@ubuntu.com>
702
703 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
704 systems that require checking the return value of write.
705
11b2a9b7
CW
7062013-11-13 Colin Watson <cjwatson@ubuntu.com>
707
708 * util/grub-install.in (efi_quiet): Fix inverted logic: make
709 efibootmgr quiet when --debug is not used, rather than when it is.
710
d743d22d
CW
7112013-11-13 Colin Watson <cjwatson@ubuntu.com>
712
713 * gentpl.py (define_macro_for_platform_dependencies): Remove
714 first (and thus unused) of two definitions for this function.
715 (platform_dependencies): Likewise.
716
11da14b5
CW
7172013-11-13 Colin Watson <cjwatson@ubuntu.com>
718
719 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
720 functions, we only need to check this for the target, not the host.
721 * configure.ac (grub_apple_cc): Likewise.
722
2bdd0719
VS
7232013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
724
725 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
726 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
727 asm to stay in arm even if surrounding is thumb.
728
5e77d9cf
VS
7292013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
730
731 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
732 helper functions are needed for thumb.
733
7d511625
VS
7342013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
737 level / 3 division explicitly unsigned. Saves few bytes.
738
81023dbd
VS
7392013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
740
741 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
742
b2e9294f
VS
7432013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
746 division.
747
16a22c38
VS
7482013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
751 grub_uboot_boot_data to asm part.
752
c9cd02c9
VS
7532013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
756 literal load.
757 (grub_uboot_syscall): Save/restore r9 and align stack.
758
81498615
VS
7592013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
762
ea57de18
VS
7632013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
766 occurencies with END.
767
d0d1e3da
CW
7682013-11-13 Colin Watson <cjwatson@ubuntu.com>
769
770 * util/grub-editenv.c (help_filter, argp): Document how to delete
771 the whole environment block.
772 Reported by Dan Jacobson. Fixes Debian bug #726265.
773
3809f016
CW
7742013-11-13 Colin Watson <cjwatson@ubuntu.com>
775
776 * docs/grub.texi (Internationalisation, Supported kernels): Fix
777 sectioning.
778
46d8a203
JT
7792013-11-13 Josh Triplett <josh@joshtriplett.org>
780
781 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
782 increment/decrement.
783
513eeb61
VS
7842013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
785
786 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
787 compiling with clang.
788
bc379c1a
VS
7892013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
790
791 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
792 ".".
793
7942013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 795
16057d6b
VS
796 Redirect all divisions to grub_divmod64.
797
f649a6a8
VS
7982013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
801
ef28ee8b
VS
8022013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
803
804 Add missing includes of loader.h.
805
300f48c5
VS
8062013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
807
808 * configure.ac: Allow disabling themes.
809
2d357558
LS
8102013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
811
812 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
813
0c62a5b2
VS
8142013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
815
816 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
817 until it becomes operational.
818
b0720b49
VS
8192013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * grub-core/Makefile.core.def (legacy_password_test): Disable
822 on platforms where no legacycfg is compiled.
823 * grub-core/tests/lib/functional_test.c: Tolerate failure to
824 load legacy_password_test.
825
d5bab2c0
VS
8262013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
827
828 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
829
3ea0ccb3
VS
8302013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * grub-core/efiemu/prepare.c: Remove variable length arrays.
833
08772054
VS
8342013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
837 strict-aliasing warning.
838 (fsync): Silence cast warning.
839
1dcb2715
VS
8402013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
841
842 * grub-core/commands/verify.c: Remove variable length arrays.
843 Load gcry_dsa/gcry_rsa automatically.
844
61c22fdf
VS
8452013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
846
847 * grub-core/tests/signature_test.c: New test.
848
431e57a7
VS
8492013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
850
851 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
852 API.
853
b521bb81
VS
8542013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
855
856 * grub-core/tests/legacy_password_test.c (vectors): Make static.
857 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
858
7d06b24e
VS
8592013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
860
861 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
862
3bbeade4
VS
8632013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
864
865 * grub-core/fs/proc.c: Allow \0 in proc files.
866
ba82db7a
VS
8672013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
870
801564c8
VS
8712013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
874
ac8cac1d
VS
8752013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * grub-core/fs/ext2.c: Remove variable length arrays.
878
4b85f122
VS
8792013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
880
881 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
882 length arrays.
883
c35fcdc0
VS
8842013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
887 * grub-core/disk/cryptodisk.c: Likewise.
888 * grub-core/disk/geli.c: Likewise.
889 * grub-core/disk/luks.c: Likewise.
890
15decd26
VS
8912013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * grub-core/tests/legacy_password_test.c: New test.
894 * grub-core/commands/legacycfg.c: Remove variable length arrays.
895
9c6482b8
VS
8962013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
897
898 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
899
41f26e0e
VS
9002013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
901
902 * grub-core/tests/pbkdf2_test.c: New test.
903
2def6616
VS
9042013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
905
906 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
907
9e34a34e
VS
9082013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
909
910 * grub-core/io/lzopio.c: Remove variable length arrays.
911
5ccaf904
VS
9122013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
913
914 * include/grub/crypto.h: Add maximums on hash size and cipher block
915 size.
916
44a387e0
VS
9172013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
920
a388e255
VS
9212013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
922
923 * grub-core/tests/xnu_uuid_test.c: New test.
924
a1ef7718
VS
9252013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
926
927 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
928 covers it).
929
65ddb300
VS
9302013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
931
932 * grub-core/commands/hashsum.c: Remove variable length arrays.
933
31747dd5
VS
9342013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
935
936 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
937 condition.
938 * tests/grub_func_test.in: Increase memory allocation.
939
6a74c4df
VS
9402013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
941
942 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
943 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
944 sys/mount.h.
945
394c3e0a
VS
9462013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
949 (grub_util_get_fd_size_os): ...this.
950 (grub_hostdisk_flush_initial_buffer): New empty function.
951
60d31116
VS
9522013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
953
954 * grub-core/gensyminfo.sh.in: Handle the case of portable output
955 without --defined-only.
956
8445b011
VS
9572013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
958
959 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
960 rip-relative addressing in prologue.
961
8506a641
VS
9622013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
963
964 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
965 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
966
66acd9d6
VS
9672013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
968
969 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
970 Add missing semicolon.
971
348d0535
VS
9722013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
975
0d2d30bb
VS
9762013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * configure.ac: Check for lzma.h for enabling liblzma and allow
979 manual disabling.
980
631187be
VS
9812013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
982
983 Add missing includes of loader.h.
984
e756ec82
FZ
9852013-11-11 Fam Zheng <famcool@gmail.com>
986
987 * util/grub.d/30_os-prober.in: Add minix entry.
988
87d62d7d
VS
9892013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
992 right buffer for temporary load.
993
5460cfeb
VS
9942013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
997
89977306
VS
9982013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
1001 payload.
1002
3617c59b
VS
10032013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
1006 not Types.h.
1007 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
1008 environment.
1009 (LzmaDec_InitDicAndState): Make static.
1010
881c6a10
VS
10112013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
1014
2024ade2
VS
10152013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
1018
1019 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
1020
674ad4f6
VS
10212013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * docs/grub-dev.texi: Replace bzr references with git ones.
1024
5b99970e
AB
10252013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1026
1027 * docs/grub.texi (Simple configuration): Remove reference to
1028 grub-reboot from saved default entry description - grub-default
1029 does not use it anymore.
1030
3c2304d5
VS
10312013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * configure.ac: Make efiemu test cflags match the cflags efiemu is
1034 compiled with.
1035
80cfd940
AB
10362013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1037
1038 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
1039
33690255
VS
10402013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1041
1042 Fix grub_machine_fini bitrot.
1043
1044 Reported by: Glenn Washburn.
1045
c61471fc
VS
10462013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
1049
54da019f
VS
10502013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1051
1052 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
1053 -DELF.
1054 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
1055 instead of ELF*.
1056
10572013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
1058
1059 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
1060 Add -march=core2 when testing compile of efiemu64.
1061
1062 Thanks Andrey Borzenkov for spotting this.
1063
9612ebc0
VS
10642013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
1067 XEN PV environment and load kernels.
1068
1a46a3a4
VS
10692013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1070
1071 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
1072 * grub-core/loader/multiboot_mbi2.c: Likewise.
1073
2df12551
VS
10742013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1075
1076 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
1077 handling.
1078
3c980381
VS
10792013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
1082
1083 Tested by: Denis 'GNUtoo' Carikli.
1084
800f63d3
VS
10852013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
1088
9f8acdaa
VS
10892013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1090
5620eb53
VS
1091 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
1092 Use to get rounded angle rather than truncated.
1093
10942013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1095
1096 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
1097 RTS/CTS flow control.
1098
2dc1eb6c
VS
10992013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1100
1101 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
1102 divisions.
1103
b9563c94
VS
11042013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
1107 Use grub_fatal rather than divide by zero.
1108 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
1109
d6d8e9a9
VS
11102013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
1113 truncate.
1114 (grub_fixed_fsf_divide): Likewise.
1115
d06de6c8
VS
11162013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
1119 division by-zero and senseless negative divisions.
1120
6af7d49b
VS
11212013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
1124 division by-zero and senseless negative divisions.
1125 (circprog_set_property): Don't accept negative num_ticks.
1126
bcfa6d72
VS
11272013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
1130 division by-zero and senseless negative divisions.
1131
dd7f792c
VS
11322013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * configure.ac: Use elf_*_fbsd on kfreebsd.
1135
d061fda7
VS
11362013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1137
1138 * grub-core/tests/div_test.c: New test.
1139
4db22500
VT
11402013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1141
1142 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
1143 * grub-core/gfxmenu/gui_canvas.c: Likewise.
1144 * grub-core/gfxmenu/view.c: Likewise.
1145 * grub-core/video/fb/video_fb.c: Introduce new functions:
1146 grub_video_set_area_status, grub_video_get_area_status,
1147 grub_video_set_region, grub_video_get_region.
1148 * grub-core/video/bochs.c: Likewise.
1149 * grub-core/video/capture.c: Likewise.
1150 * grub-core/video/video.c: Likewise.
1151 * grub-core/video/cirrus.c: Likewise.
1152 * grub-core/video/efi_gop.c: Likewise.
1153 * grub-core/video/efi_uga.c: Likewise.
1154 * grub-core/video/emu/sdl.c: Likewise.
1155 * grub-core/video/radeon_fuloong2e.c: Likewise.
1156 * grub-core/video/sis315pro.c: Likewise.
1157 * grub-core/video/sm712.c: Likewise.
1158 * grub-core/video/i386/pc/vbe.c: Likewise.
1159 * grub-core/video/i386/pc/vga.c: Likewise.
1160 * grub-core/video/ieee1275.c: Likewise.
1161 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
1162 * include/grub/video.h: Likewise.
1163 * include/grub/video_fb.h: Likewise.
1164 * include/grub/fbfill.h: Updated render_target structure.
1165 grub_video_rect_t viewport, region, area
1166 int area_offset_x, area_offset_y, area_enabled
1167 * include/grub/gui.h: New helper function
1168 grub_video_bounds_inside_region.
1169 * docs/grub-dev.texi: Added information about new functions.
1170
c6b755df
VS
11712013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
1174 for alignment.
1175
e2a68100
VS
11762013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1177
1178 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
1179 missing attribute.
1180 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
1181
c4f11a2a
VS
11822013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
1185 simple division on arm and ia64.
1186
e0a7bffa
VS
11872013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1188
1189 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
1190 link with libgcc.
1191
38b864ea
VS
11922013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
1195
12359faf
VS
11962013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
1199 prefix symbol, not @.
1200
9fdc64a9
VS
12012013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1202
1203 * INSTALL: Add note about older gcc and clang.
1204
665c575b
VS
12052013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
1208
47dcf7b1
VS
12092013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
1212 NULL pointer dereference.
1213
d59849b2
VS
12142013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
1217 clang.
1218
7a3f4a18
VS
12192013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1220
1221 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
1222 warnings.
1223
7f084087
VS
12242013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1225
1226 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
1227 function.
1228 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
1229 * grub-core/disk/geli.c (ascii2hex): Likewise.
1230
d5524ca8
VS
12312013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 * configure.ac: Run linker tests without -Werror.
1234 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
1235 Change all occurences of -static-libgcc resp -lgcc to
1236 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
1237
390cd7ca
VS
12382013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
1241
60375a88
VS
12422013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1243
1244 Allow compiling with clang (not really supported though).
1245
1246 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
1247 unconditionally.
1248 * configure.ac: Add -no-integrated-as when using clangfor asm files.
1249 Add -mrtd -mregparm=3 on i386 when not using clang.
1250 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
1251
dd07e0c4
VS
12522013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
1255 bindings.
1256 * grub-core/lib/reed_solomon.c: Likewise.
1257 * include/grub/i386/gdb.h: Likewise.
1258 * include/grub/i386/pc/int.h: Likewise.
1259 * include/grub/i386/pc/pxe.h: Likewise.
1260 * include/grub/ieee1275/ieee1275.h: Likewise.
1261
9d3ae8ec
VS
12622013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1263
1264 Import libgcrypt 1.5.3.
1265
c12936c5
VS
12662013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 * configure.ac: Don't add -Wcast-align on x86.
1269
cdc17f60
VS
12702013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * configure.ac: Add -freg-struct-return on all platforms that
1273 support it.
1274
b35ec299
VS
12752013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * acinclude.m4: Use -Werror on parameter tests.
1278 * configure.ac: Likewise.
1279
05f3a0d7
VS
12802013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
1283
c966a489
VS
12842013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1285
1286 * configure.ac: Check that -malign-loops works rather than assuming that
1287 either -falign-loops or -malign-loops work.
1288
bb0c57ec
VS
12892013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 * configure.ac: Remove -fnested-functions. We don't need it anymore.
1292
24f4e57c
VS
12932013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 * configure.ac: Prevent cflags leaking to subsequent tests by always
1296 resetting cflags to target_cflags in target tests.
1297
ac319fbc
VS
12982013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
1301 function.
1302
4bfe934c
VS
13032013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
1306
40a5bfde
VS
13072013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
1310
a67c755e
VS
13112013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1312
1313 * grub-core/normal/cmdline.c (grub_cmdline_get):
1314 Remove nested functions.
1315
87a04a2d
VS
13162013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * tests/test_sha512sum.in: Make it work on emu.
1319
c03995d2
VS
13202013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
1323 functions.
1324 (grub_bidi_line_logical_to_visual): Likewise.
1325
ec0ebb3f
VS
13262013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1327
1328 Remove vestiges of -Wunsafe-loop-optimisations.
1329
1330 * conf/Makefile.common (CFLAGS_GNULIB): Remove
1331 -Wno-unsafe-loop-optimisations.
1332 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
1333 pragma.
1334 * grub-core/io/gzio.c: Likewise.
1335 * grub-core/script/parser.y: Likewise.
1336 * grub-core/script/yylex.l: Likewise.
1337 * util/grub-mkfont.c: Likewise.
1338
6ab537e3
VS
13392013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * util/grub-mkfont.c (process_cursive): Remove nested function.
1342
e6c368d4
VS
13432013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1344
1345 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
1346 (grub_boot_time): Likewise.
1347
4f1cfd22
VS
13482013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1349
1350 * include/grub/symbol.h (FUNCTION): Use @function rather than
1351 "function".
1352 (VARIABLE): Likewise.
1353
6d5a4cee
VS
13542013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
1357
f06c2172
VS
13582013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
1361 (parse_dhcp_vendor): Likewise.
1362
7cb24eb5
VS
13632013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
1366
f30c692c
VS
13672013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 * grub-core/gettext/gettext.c (main_context), (secondary_context):
1370 Define after defining type and not before.
1371
8b66bb5d
VS
13722013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
1375 type.
1376 (grub_gcm_decrypt): Likewise.
1377 (algo_decrypt): Likewise.
1378 (grub_zfs_decrypt_real): Transform error type.
1379
5d17fd0f
VS
13802013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1381
1382 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
1383
ac35a0f7
VS
13842013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1385
1386 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
1387 (grub_usbms_cbi_reset): Likewise.
1388 (grub_usbms_bo_reset): Likewise.
1389 (grub_usbms_reset): Likewise.
1390 (grub_usbms_attach): Likewise.
1391 (grub_usbms_transfer_cbi): Likewise.
1392
3ee08697
VS
13932013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1394
1395 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
1396 "checksum = checksum;".
1397
70bb6c85
VS
13982013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
1401 entry_type.
1402
c7f34744
VS
14032013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
1406 BIOS disk check.
1407
3f63b4d8
VS
14082013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
1411 type.
1412 (grub_ehci_fini_hw): Likewise.
1413 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
1414
dac6ce73
VS
14152013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
1418 return grub_usb_err_t for cosistency. All users updated.
1419
5701750c
VS
14202013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1421
1422 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
1423 assigning to itself.
1424
9e236169
GLD
14252013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
14262013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1427
1428 Issue separate DNS queries for ipv4 and ipv6
1429
1430 Adding multiple questions on a single DNS query is not supportted by
1431 most DNS servers. This patch issues two separate DNS queries
1432 sequentially for ipv4 and then for ipv6.
1433
1434 Fixes: https://savannah.gnu.org/bugs/?39710
1435
1436 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
1437 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
1438 * (grub_net_dns_lookup): Now using separated dns packages.
1439 * (grub_cmd_nslookup): Add error condition.
1440 * (grub_cmd_list_dns): Print DNS option.
1441 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
1442 --prefer-ipv4, and --prefer-ipv6.
1443 * include/grub/net.h (grub_dns_option_t): New enum.
1444 * (grub_net_network_level_address): option added.
1445
339eacce
VT
14462013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
1447
1448 * grub-core/video/fb/video_fb.c: Merge two blit functions
1449 into one.
1450
810f991b
VS
14512013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1452
1453 * grub-core/term/terminfo.c: Add sequences for home and end.
1454
386571a2
VS
14552013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1456
1457 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
1458 graphics console.
1459
3fe63754
VS
14602013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
1463 add mode 0x12.
1464
76681e71
VS
14652013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
1468 e-mail by Per Öberg.
1469
46522fb7
VS
14702013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
1473 name.
1474
e7d09ac4
AB
14752013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
1476
1477 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
1478 emu platforms.
1479 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
1480
67508925
VS
14812013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * docs/grub.texi: Document usage of menuentry id.
1484
0c62124e
VS
14852013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
1488
9b5d4eed
PL
14892013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
1490
1491 * grub-core/commands/i386/nthibr.c: New command.
1492
79054c1d
VS
14932013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1494
1495 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
1496
44d47bbe
VS
14972013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
1500 coordinate.
1501
323de05b
VS
15022013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 Support GRUB_DISABLE_SUBMENU config.
1505
1506 Inspired by patch from Prarit Bhargava.
1507
5a01722e
VS
15082013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1509
1510 * docs/grub.texi: Mention RSA support.
1511
1106c3f0
VS
15122013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 * grub-core/commands/verify.c: Add RSA support.
1515
a1dcc2cb
VS
15162013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
1519 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
1520 device is known to be ATAPI.
1521
ee7fb780
MF
15222013-11-03 Mike Frysinger <vapier>
1523
1524 * configure.ac: Don't add target-prefix.
1525
5ade4a42
VS
15262013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
1529 variables.
1530
6cd66043
VS
15312013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1532
1533 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
1534 if language is English.
1535
090d7c81
VS
15362013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
1539
dd614590
VS
15402013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1541
1542 * configure.ac: Don't add -m32/-m64 on emu.
1543
a8686589 15442013-11-02 neil
1545
1546 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
1547 broken linux headers.
1548
fb9f12a0
VS
15492013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
1552
e25f8e1f
VS
15532013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
1556 Reed-Solomon recovery if more than half of redundancy info is 0.
1557
4685200f
VS
15582013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * util/grub-mount.c: Handle symlinks to directories.
1561
1397f0b5
VS
15622013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
1565 find_file recursively for symlink.
1566
8b3e6eb6
VS
15672013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * tests/util/grub-shell.in: Copy themes.
1570
a0c9d5c6
VS
15712013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
1574
5cf9459c
VS
15752013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1576
1577 * configure.ac: Use 0x8000 for address instead of 8000.
1578
e7b66a28
VS
15792013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
1582 signature.
1583
203f53fb
VS
15842013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
1587 variable.
1588
02663ee9
VS
15892013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1590
1591 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
1592
f169f65e
VS
15932013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
1596 file_progress_read_hook.
1597 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
1598
2855a0fc
VS
15992013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
1602 and double.
1603
bf0f3a8c
VS
16042013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1605
1606 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
1607
cb72aa18
VS
16082013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1609
1610 Rewrite blocklist functions in order to get progress when
1611 reading large extents and decrease amount of blocklist hook calls.
1612
896f9135
VS
16132013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
1616 of SI suffixes.
1617
89295a06
VS
16182013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1619
1620 Support --base-clock for serial command to handle weird cards with
1621 non-standard base clock.
1622
eb03ede0
VS
16232013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
1626 strncpy.
1627 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
1628 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
1629 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
1630 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
1631 + strcpy rather than strncpy.
1632
8fbe5c7d
VS
16332013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1634
1635 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
1636 (check_pool_label): Likewise. Fixes overflow.
1637 (nvlist_find_value): Fix comparison.
1638
e54b8f53
VS
16392013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1640
1641 * include/grub/misc.h (grub_strcat): Removed. All users changed to
1642 more appropriate functions.
1643
fa9b3dca
VS
16442013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
1647 realloc.
1648
9a021c55
VS
16492013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 * util/grub-mkrescue.in: Do not use UUID search on EFI.
1652
80e8b13a
VS
16532013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
1656 on core size.
1657
b61599ac
VS
16582013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
1661
a602dc54
VS
16622013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1663
1664 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
1665 (initialize_tables): reset tl and td to NULL after freeing.
1666
93c12075
VS
16672013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
1670
1ca4b75e
VS
16712013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
1674 of supported tags.
1675
329550c4
VS
16762013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
1679
00bfa988
VS
16802013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 * grub-core/loader/multiboot.c: Add support for multiboot kernels
1683 quirks.
1684
81afc5cc
VS
16852013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1686
1687 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
1688 a page in protected space.
1689
cb3c4a47
VS
16902013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
1693 allocate space for zero-sized modules.
1694
954f7bf5
VS
16952013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
1698
526d3d25
FL
16992013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
1700
1701 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
1702
74124c34
VS
17032013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
1706 safeguards. Fixes a crash with i386/pc/console.c.
1707
5177391e
VS
17082013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
1711 and grub_hostfs_init.
1712
64db14b0
VS
17132013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
1716 windows method on other platforms without good stat as well.
1717
effe2036
VS
17182013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1719
1720 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
1721
82591fa6 17222013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 1723
82591fa6
VS
1724 Make / in btrfs refer to real root, not the default volume.
1725 Modify mkrelpath to work even if device is mounted with subvolid option.
1726
17272013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
1728
1729 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
1730 extra_dist.
1731 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
1732 extra_dist.
1733
30fd7198
VS
17342013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
1737 fails.
1738
8d179dae
BC
17392013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
1740
1741 * docs/autoiso.cfg: New file.
1742
3bc9c8cf
VS
17432013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1744
1745 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
1746 COND_GRUB_PE2ELF conditions.
1747
8b46b0ea
VS
17482013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1749
1750 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
1751 "vnd", "rd" and "fd" disks.
1752
442b86de
VS
17532013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1754
1755 Move grub_disk_write out of kernel into disk.mod.
1756
04dea7e6
VS
17572013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
1760 handling.
1761
17622013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
1763
1764 * grub-core/kern/misc.c (grub_abort): Make static
1765
04dea7e6 17662013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
1767
1768 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
1769 transform invalid unicode codepoints.
1770
04dea7e6 17712013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
1772
1773 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1774 \0 checking.
1775
03dcac7f
VS
17762013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1777
1778 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
1779
c81acb7f
VS
17802013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 Consolidate cpuid code.
1783
c1bee646
VS
17842013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1785
1786 Move cpuid code to cpuid.h and TSC code to tsc.c.
1787
f37bf9c7
GS
17882013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1789
1790 * util/grub.d/00_header.in: Don't use LANG if it's not set.
1791
4021132b
GS
17922013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1793
1794 * util/grub-mkconfig.in: Replace $0 with $self.
1795 * util/grub-reboot.in: Likewise.
1796 * util/grub-set-default.in: Likewise.
1797
3ace8d75
BC
17982013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1799
1800 * docs/osdetect.cfg: New file.
1801
1e6ad6a6
BC
18022013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1803
1804 * tests/util/grub-shell.in: Add new --debug option.
1805
188929eb
BC
18062013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1807
1808 * tests/test_unset.in: New test.
1809
7994a09a
BC
18102013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1811
1812 * tests/test_sha512sum.in: New test.
1813
2a8a7585
VS
18142013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
1817 * include/grub/misc.h: Remove strncat.
1818 * grub-core/lib/posix_wrap/string.h: Likewise.
1819
cf8d6bbd
VS
18202013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
1823 Try to handle more than 0xFFFF packets.
1824 Reported by: Bernhard Übelacker <bernhardu>.
1825 He also spotted few overflows in first version of this patch.
1826
6d1fc99a
VS
18272013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 * tests/date_unit_test.c: New test.
1830
10bafa1c
VS
18312013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
1834 of first three years after start of validity of unixtime.
1835
b1c6d037
VS
18362013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1837
1838 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
1839 division as the one making more sense.
1840 (update_screen): Likewise.
1841 (complete): Likewise.
1842
5f4028d4
VS
18432013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1844
1845 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
1846
a2856736
VS
18472013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1848
1849 Make char and string width grub_size_t rather than grub_ssize_t.
1850
0a7e52b2
VS
18512013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
1854 unsigned.
1855 (grub_history_replace): Likewise.
1856
42829573
VS
18572013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1858
1859 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
1860 appropriate.
1861
3523b8d8
VS
18622013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
1865 appropriate.
1866
d43c6489
VS
18672013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
1870 Use unsigned divisions rather than signed variants.
1871
f690f8b0
VS
18722013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1873
1874 * grub-core/video/readers/png.c (grub_png_convert_image): Use
1875 unsigned arithmetics.
1876 Add missing break.
1877
74ff2c05
VS
18782013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1879
1880 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
1881
fb56391e
VS
18822013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
1885 rather than signed one.
1886 (recovery): Likewise.
1887
40f29060
VS
18882013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
1891
c64577a5
VS
18922013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1893
1894 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
1895 than signed.
1896
c16535a8
JM
18972013-10-25 Jon McCune <jonmccune@google.com>
1898
1899 * docs/grub.texi: Cleanup security documentation around signatures.
1900
6673d8e7
VS
19012013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1902
1903 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
1904
a105d375
VS
19052013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
1908 than int.
1909
af81ed88
VS
19102013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
1913 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
1914 functions when compiling for kernel.
1915
ea899a57
VS
19162013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1917
1918 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
1919 unsigned long long when using %llu.
1920
c6dc6fa1
VS
19212013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1922
1923 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
1924 terminal after updating progress.
1925
ad2dc003
VS
19262013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1927
1928 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
1929 argument. We don't disable Gate A20 in this code.
1930
b46684ae
VS
19312013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1932
1933 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
1934 Conceptually based on change in branch "vbe-on-coreboot".
1935
f70d5c07
RM
19362013-10-24 Robert Millan <rmh@gnu.org>
1937
1938 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
1939 numeric constants with their symbolic equivalent.
1940 Taken from branch "vbe-on-coreboot".
1941
bca274b4
VS
19422013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1943
1944 * docs/grub.texi: Fix ordering and use pxref rather than xref.
1945
238f0489
VS
19462013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1947
1948 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
1949 divmod64 for offset division.
1950
863c590b
PFS
19512013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1952
1953 Rename .bzrignore to .gitignore. Add "*.o" rule.
1954
1955 * .bzrignore: Renamed to...
1956 * .gitignore: ...this.
1957
84a0e969
PFS
19582013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1959
1960 Add new progress module that displays the load progress of files.
1961
1962 * grub-core/lib/progress.c: New file.
1963 * grub-core/Makefile.core.def (progress): New module.
1964 * grub-core/kern/file.c (grub_file_open): File name added.
1965 * (grub_file_read): Progress hook added.
1966 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
1967 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
1968 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
1969 * include/grub/file.h (struct grub_file): Add progress module members.
1970 * include/grub/term.h (struct grub_term_output): Likewise.
1971 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
1972 Terminal velocity added.
1973 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
1974 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
1975 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
1976 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
1977 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
1978 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
1979 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
1980 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
1981 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
1982 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
1983 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
1984 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
1985
0d711431
VS
19862013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 Verify signatures of signatures unless --skip-sig is specified.
1989
f8401f76
VS
19902013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1993 \0 checking.
1994
1995 Saves 70 bytes on compressed image.
1996
ac1feb61
VS
19972013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
2000 check.
2001
2002 Saves 10 bytes on compressed image.
2003
00f72e89
VS
20042013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 * grub-core/kern/misc.c (grub_isprint): Move to ...
2007 * include/grub/misc.h (grub_isprint): ... here. Make inline.
2008
2009 Saves 20 bytes on compressed image due to remving exporting.
2010
067e6ae7
VS
20112013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2012
2013 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
2014
2015 Saves 5 bytes on compressed image.
2016
64a6c791
VS
20172013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
2020 function get_utf8.
2021
2022 Saves 379 bytes on compressed image.
2023
979d9f52
VS
20242013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
2027
1437da54
VS
20282013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
2031
2032 Saves 40 bytes on compressed image.
2033
d9ee2269
VS
20342013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2035
2036 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
2037 mask rather than 64-bit type.
2038
2039 Saves 20 bytes on compressed image.
2040
63efa602
VS
20412013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
2044 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
2045
47601ffe
VS
2046 Saves 273 bytes on compressed image.
2047
2cc679ad
VS
20482013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
2051 variable length arrays.
2052
2053 Saves 50 bytes on compressed image.
2054
2e4659b8
VS
20552013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2058
2a40badf
VS
20592013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 * grub-core/fs/ufs.c: Remove variable length arrays.
2062
1ba6b9b9
VS
20632013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2064
2065 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
2066
f3e39341
VS
20672013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2068
2069 * grub-core/fs/zfs.c: Remove variable length arrays.
2070 Reduces zfs.mod by 160 bytes (208 compressed).
2071
71523935
VS
20722013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
2075
28153eb8
VS
20762013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 * grub-core/net/arp.c: Remove variable length arrays.
2079 * grub-core/net/bootp.c: Likewise.
2080 * grub-core/net/dns.c: Likewise.
2081 * grub-core/net/icmp6.c: Likewise.
2082 * grub-core/net/net.c: Likewise.
2083
88ce4cd7
VS
20842013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * grub-core/fs/ntfs.c: Remove variable length arrays.
2087 Increases ntfs.mod by 64 bytes (but decreases by 3 when
2088 compressed).
2089
66123940
VS
20902013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2091
2092 * grub-core/fs/hfs.c: Remove variable length arrays.
2093 Reduces hfs.mod by 8 bytes (52 compressed).
2094
0927e5bd
VS
20952013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2096
2097 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 2098 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
2099 compressed).
2100
9c12ac97
VS
21012013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2102
2103 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 2104 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
2105 compressed).
2106
97ec2d71
VS
21072013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 2110 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
2111 compressed).
2112
156e4ea0
VS
21132013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 * grub-core/fs/xfs.c: Remove variable length arrays.
2116 Reduces xfs.mod by 40 bytes (43 compressed).
2117
3b502c29
VS
21182013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * grub-core/fs/fshelp.c: Remove variable length arrays.
2121 Reduces fshelp.mod by 116 bytes (23 compressed).
2122
c7037f1d
VS
21232013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 * grub-core/normal/completion.c: Remove variable length arrays.
2126 * grub-core/normal/menu_entry.c: Likewise.
2127
2128 Reduces normal.mod by 496 bytes.
2129
a07e6ad0
VS
21302013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
2133 by 356 bytes (158 compressed).
2134
2359bf88
VS
21352013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2136
2137 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
2138 by 364 bytes (169 compressed).
2139
d28e1163
VS
21402013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
2143 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
2144 * include/grub/types.h (grub_unaligned_uint64_t): New type.
2145
e89c2d48
VS
21462013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
2149 bitmasks to small structures of size chosen to fit in registers.
2150
7abdac8e
VS
21512013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 * conf/Makefile.common: Use -freg-struct-return on i386. This
2154 decreases code size and improves performance.
2155
518864c0
VS
21562013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
2159
bbd2b539
VS
21602013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2161
2162 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
2163 "(null)" string.
2164 Simplify expressions to save around 256 bytes in kernel.img.
2165 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
2166
99519c15
VS
21672013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
2170 Use GRUB_UTIL_FD_O_* rather than O_*.
2171
20285765
VS
21722013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 Add haiku-specific functions.
2175
887c0bb6
VS
21762013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
2179
cd78a56f
VS
21802013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 Move stat () and device mode checking into OS-dependent files as
2183 long as performance doesn't suffer.
2184
a4012f07
VS
21852013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 Split make_system_path_relative_to_its_root into separate file
2188 relpath.c from getroot.c as it's common between unix and haiku
2189 but otherwise haiku doesn't use any functions from unix getroot.c.
2190
31de274d
VS
21912013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
2194 New function.
2195 (grub_util_is_special_file): Likewise.
2196
40346de6
VS
21972013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2198
2199 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
2200 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
2201
d3923ab9
VS
22022013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
2205 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
2206
663f6eb1
VS
22072013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
2210 (load_image): Likewise.
2211
44d1c20a
VS
22122013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * util/grub-render-label.c: Move backend part to ...
2215 * util/render-label.c: ... here.
2216
d0a116ee
VS
22172013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
2220 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
2221
b47fcae6
VS
22222013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2223
2224 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
2225
0f7c00c1
VS
22262013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
2229 CD-ROM in case when it's declared as having subpartitions.
2230
29013cba
VS
22312013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 Don't add -lm on haiku.
2234
2235 * configure.ac: Define BUILD_LIBM to -lm on most platforms
2236 and empty on haiku.
2237 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
2238 -lm.
2239
e8559d24
VS
22402013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2241
2242 * configure.ac: Use -melf_*_haiku as target on haiku.
2243
8104063c
VS
22442013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * Makefile.util.def: Add util/setup.c to extra_dist.
2247
fc3182c7
VS
22482013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
2251 unknown types through.
2252
f90a3cc0
VS
22532013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
2256 (grub_util_check_char_device): Likewise.
2257 * include/grub/emu/getroot.h: Likewise.
2258
1e3e7419
VS
22592013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2260
2261 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
2262 memset rather than inline static function.
2263
92c88fc8
VS
22642013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2265
2266 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
2267 not doing embedded decompressor.
2268
3cd910a2
VS
22692013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
2272 shadowing.
2273 * grub-core/kern/disk.c: Likewise.
2274 * grub-core/kern/misc.c: Likewise.
2275 * include/grub/parser.h: Likewise.
2276 * include/grub/script_sh.h: Likewise.
2277 * include/grub/zfs/zfs.h: Likewise.
2278
7b3aca00
VS
22792013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2280
2281 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
2282
97dfe7e4
VS
22832013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2284
2285 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
2286 defined before trying to use it.
2287
bf919aa9
VS
22882013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2289
2290 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
2291 warning.
2292
f4ccf29d
VS
22932013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2294
2295 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
2296 Use __unused__ rather than __used__ on gcc < 3.2.
2297
0d3a6f85
VS
22982013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2299
2300 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
2301 gcc < 4.0.
2302 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
2303
757e3eb7
VS
23042013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2305
2306 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
2307
fb320faf
VS
23082013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2309
2310 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
2311 * include/grub/emu/misc.h: Likewise.
2312
ea73acd2
VS
23132013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
2316 cur_color.
2317
71237a6f
VT
23182013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
2319
2320 * grub-core/tests/checksums.h: Regenerated due to progress bar
2321 get_minimal_size changes.
2322
3d46c22f
BC
23232013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
2324
2325 Added `tr' command support.
2326
2327 * grub-core/commands/tr.c: New file.
2328 * grub-core/Makefile.core.def: Build rules for new module.
2329
2330 * tests/grub_cmd_tr.in: New test.
2331 * Makefile.util.def: Build rules for new test.
2332
47e0a61f
VT
23332013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2334
2335 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
2336
946fd073
VT
23372013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2338
2339 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
2340 * docs/gurb.texi: Likewise.
2341
9c13c576
VT
23422013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2343
2344 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
2345 Pixmap highlighted section with east and west slices was displayed
2346 incorrectly due to negative width of the central slice.
2347
ad543f12
VT
23482013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2349
2350 * docs/grub.texi: Graphical options information update.
2351 Removed outdated. Updated current. Inserted missed.
2352
6176a0cd
VS
23532013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 * docs/grub.texi: Mention few new platform-specific commands.
2356
9688cae2
VS
23572013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
2360 currently used so this doesn't really have any effect.
2361 Reported by: Douglas Ray <dougray>
2362
f7b69a3f
VS
23632013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
2366 compilation but prevents gcc from displaying messages in non-Latin
2367 alphabets.
2368 * conf/Makefile.common: Likewise.
2369
ceca6ddf
HY
23702013-10-16 Hiroyuki YAMAMORI
2371
2372 Handle Japanese special keys.
2373 Reported by: Hiroyuki YAMAMORI.
2374 Codes supplied by: Hiroyuki YAMAMORI.
2375
ac48d334
VT
23762013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2377
2378 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
2379
b2b71bff
VT
23802013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2381
2382 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
2383 * docs/grub.texi: Likewise.
2384
669fc449
VS
23852013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
2388 value in case of incomplete read.
2389 (grub_util_fd_write): Likewise.
2390
59381678
VS
23912013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
2394
bacfefbb
VS
23952013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2396
2397 * util/grub-editenv.c (create_envblk_file): More from here ...
2398 * util/editenv.c (grub_util_create_envblk_file): ... to here.
2399
f7c49570
VS
24002013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2401
2402 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
2403 canonicalize file name before doing the rest.
2404
7b83ca44
VS
24052013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
2408 mingw32.
2409
df1e64c9
VS
24102013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 Define grub_util_is_directory/regular/special_file and
2413 use OS-dependent versions rather than to rely on stat().
2414
ec16e026
VS
24152013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * util/grub-mkimage.c: Move backend part to ...
2418 * util/mkimage.c: ... here.
2419
4b4eeb3c
VS
24202013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2421
2422 Allow compilation with mingw64 albeit with warnings due to lack of
2423 %llx/%llu.
2424
2425 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
2426 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
2427 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
2428 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
2429 on mingw64.
2430 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
2431
f4e0adc0
VS
24322013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2433
2434 Remove leftover references to some of the system headers.
2435
e0127364
VS
24362013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
2439 read.
2440
20d53541
VS
24412013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
2444 of strerror.
2445
5a869940
VS
24462013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2447
2448 Split out blocklist retrieving from setup.c to
2449 grub-core/osdep/blocklist.c and add windows implementation since
2450 generic version doesn't work on NTFS on Windows due to aggressive
2451 unflushable cache.
2452
c06c7520
VS
24532013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2454
2455 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
2456 files.
2457
8f53bb3f
VS
24582013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
2461 Cut tailing newline. Remove arbitrary limitation. Always use
2462 grub_util_tchar_to_utf8.
2463
148f1007
VS
24642013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2465
2466 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
2467 * tests/printf_unit_test.c (printf_test): Add %% tests.
2468 Reported by: Paulo Flabiano Smorigo.
2469
af3b06be
VS
24702013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
2473 implement fsync.
2474
27f9d02e
VS
24752013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * configure.ac: Check for nvlist_lookup_string in nvpair since we
2478 use nvlist_lookup_string and don't use nvlist_print.
2479
f6a81f0a
VS
24802013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 Add wrappers around rename, unlink, mkdir, opendir, readdir and
2483 closedir to handle filename charset translation.
2484
d7750b32
VS
24852013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 * include/grub/emu/hostdisk.h: Move file operations to
2488 * include/grub/emu/hostfile.h: ... here.
2489
2859196e
VS
24902013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2491
2492 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
2493 unicode path.
2494
c018c968
VS
24952013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
2498
7e45abce
VS
24992013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
2502 and remove export.h.
2503
23934da2
VS
25042013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2505
2506 * grub-core/kern/emu/error.c: Removed.
2507 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
2508 explicitly as it's already in libgnu.a.
2509
c11ebcc8
VS
25102013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
2513 config-util.h include.
2514
70671037
VS
25152013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 Split emunet into platform-dependent and GRUB-binding parts. Keep
2518 platform-dependent part in kernel for easy access to OS functions.
2519
25ac643a
VS
25202013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
2523 open/read/write.
2524
69ca5876
VS
25252013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 * grub-core/osdep/windows/emuconsole.c: New file.
2528
d9d68ef0
AB
25292013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2530
2531 * conf/Makefile.extra-dist: Add osdep/*/init.c
2532
58e211cc
VS
25332013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2534
2535 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
2536
588744d0
VS
25372013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 * util/grub-probe.c (probe): Separate different drives in hint-str
2540 by spaces and not newlines.
2541 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
2542
44016e52
AB
25432013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2544
2545 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2546 Handle CD-ROMs.
2547
6de9ee86
VS
25482013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2549
2550 Pass-through unknown E820 types. It required reorganisation of mmap
2551 module.
2552
f8f3f155
AB
25532013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2554
2555 * Makefile.util.def: Add osdep/init.c to grub-mount files.
2556
b73249d2
VS
25572013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
2560 fseeko.
2561
dac86b18 25622013-10-14 qwertial <qwertial>
2563
2564 * grub-core/gdb_grub.in: Fix overflow and wrong field.
2565
17614b84
JM
25662013-10-14 Jon McCune <jonmccune@google.com>
2567
2568 * docs/grub.texi: Document new signatures possibility.
2569
6de292cb
VS
25702013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
2573
84379b61
VS
25742013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
2577 missing prototype.
2578 (grub_util_tchar_to_utf8): Likewise.
2579
21d85db1
VS
25802013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
2583 * grub-core/kern/emu/main.c: Add missing include.
2584 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
2585 Don't call grub_util_init_nls.
2586 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
2587 Likewise.
2588
66a1b3ee
VS
25892013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2590
2591 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
2592 stat.
2593
e19bec17
VS
25942013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2595
2596 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
2597
ee8c1b29
VS
25982013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
2601
bb338aaf
VS
26022013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 Add a wrapper for fopen. On unix-like systems just pass-through. On
2605 windows use unicode version.
2606
ae5540d3
VS
26072013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 Move set_program_name and init_nls to host_init. On windows
2610 fix in this fuction console and argument charset as well.
2611
4cd3c4fe
AB
26122013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
2613
2614 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
2615 GRUB_ENABLE_CRYPTODISK.
2616
2617 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
2618 GRUB_ENABLE_CRYPTODISK.
2619 * util/grub-mkconfig_lib.in: Likewise.
2620
78170f3e
CCZ
26212013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
2622
2623 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
2624
3414b6c0
MC
26252013-10-12 Melki Christian <Christian.melki@saabgroup.com>
2626
2627 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
2628 error when enabling debug.
2629
6d0740e8
IB
26302013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
2631
2632 * configure.ac: Use -melf_*_obsd on openbsd.
2633
ff2d4dc4
VS
26342013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
2637
eac6ae82
VS
26382013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 * include/grub/misc.h: Use gnu_printf rather than printf as format
2641 template since our functions are independent of libc.
2642
ba9baabe
VS
26432013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 * util/grub-setup.c (setup): Move copying of partition table as
2646 futher up as possible to avoid possible overwrite by floppy routines.
2647
26482013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
2649
2650 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
2651
145e2369
VT
26522013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
2653
2654 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
2655 * docs/grub.texi: Likewise.
2656
3530bc9d
VS
26572013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2658
2659 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
2660 it's mostly unused. Move vestiges to the callers.
2661
fb9f59c3
VS
26622013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
2665 version of salt and hash. Use grub_snprintf rather than snprintf.
2666
9be1c255
VS
26672013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * docs/grub.texi: Fix problem with braces.
2670
ed8c0887
VS
26712013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * conf/Makefile.extra-dist: Fix extra-dist list.
2674 * grub-core/Makefile.core.def: Likewise.
2675
f72ab14e
VS
26762013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 * docs/grub.texi: Document disk names used on Windows and AROS.
2679
2fe53a22
VS
26802013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
2683 with AROS devs.
2684 * grub-core/osdep/aros/hostdisk.c: Likewise.
2685
71c1d67a
VS
26862013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2687
2688 Avoid including hostfile.h when not necessarry as it pulls
2689 in OS-specific headers which may redefine generic names
2690 like "far".
2691
ad297ec7
VT
26922013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2693
2694 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
2695 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
2696 scrollbar_bottom_pad
2697 * docs/grub.texi: Likewise.
2698
6e9e5dc9
VT
26992013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2700
2701 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
2702
761c718b
VS
27032013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2704
2705 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
2706
37149a2f
VS
27072013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
2710 Removed.
2711 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
2712 Made static.
2713
3837a151
VS
27142013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
2717 leftover.
2718
caca1c70
VS
27192013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 Move OS-specific driver configuration to grub_util_fd_open. This
2722 moves OS-dependent parts from kern/emu/hostdisk.c to
2723 grub-core/osdep/*/hostdisk.c.
2724
f7676b70
VS
27252013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2726
2727 * util/grub-mkimage.c (generate_image): Use size_t instead of
2728 grub_size_t.
2729 * util/grub-mkimagexx.c (locate_sections): Likewise.
2730 (load_image): Likewise.
2731
22f98db2
VS
27322013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
2735 size_t.
2736 (grub_util_write_image): Likewise.
2737
b102ce69
VS
27382013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
2741 get random when no RNG is available.
2742 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
2743
acbbe5cb
VS
27442013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2745
2746 * include/grub/util/lvm.h: Removed.
2747
2112fb3f
VS
27482013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
2751 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
2752
79f78fbf
VS
27532013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 * grub-core/osdep/windows/sleep.c: Add missing config.h.
2756
c2e6f705
VS
27572013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
2760
aabe433a
VS
27612013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 * grub-core/net/drivers/emu/emunet.c: Move to ..
2764 * grub-core/osdep/linux/emunet.c: ..here.
2765
9a2c903f
VS
27662013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 * util/ieee1275/ofpath.c: Move to ...
2769 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
2770 * grub-core/osdep/basic/ofpath.c: ..here.
2771
4a445f58
VS
27722013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 Move password-querying (util-version) routines to grub-core/osdep.
2775
c1ca4244
VS
27762013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2777
2778 Move sleep routines to grub-core/osdep.
2779
672fa55e
VS
27802013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2781
2782 Move OS-dependent files to grub-core/osdep and document it.
2783
a5b0365a
VS
27842013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
2787 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
2788
29072e99
VS
27892013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2790
2791 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
2792
f8772ea7
VS
27932013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 * util/misc.c: Remove leftover inclusion of malloc.h.
2796
a1a315e7
VS
27972013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2798
2799 * include/grub/setjmp.h: Remove leftover GRUBOF.
2800
cef86fef
VS
28012013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2802
2803 * util/raid.c: Fold into ...
2804 * util/getroot_linux.c: ... here. Make all functions static.
2805
c4cf25ee
VS
28062013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2807
2808 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
2809 macros to GRUB ones.
2810
53a5f5c2
VT
28112013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2812
2813 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
2814 occasional bug. If there are too many boot entries or too low
2815 scrollbar height then we need to use another formula to calculate
2816 the position and size of the scrollbar thumb.
2817
de300af2
VS
28182013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2819
c4cf25ee 2820 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 2821
c5827364
VT
28222013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2823
2824 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
2825 * docs/grub.texi: Likewise.
2826
dd2ed8b0
VT
28272013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2828
2829 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
2830 viewport.
2831
7286c384
VT
28322013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2833
ffdfc1f3
VT
2834 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
2835 minimal width calculations.
7286c384 2836
ea547e14
VS
28372013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 * docs/grub.texi: Update note on colors on emu console.
2840
b726be76
VS
28412013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
2844 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
2845 it's FS and not GRUB limitation.
2846
a5f6ade6
VS
28472013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
2850
3b0f3aa2
VS
28512013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
2854
1db38304
ST
28552013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2856
2857 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
2858 kernels by version order.
2859
fb295fc0
VS
28602013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
2863
47345010
VS
28642013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2865
2866 Add AROS hostdisk and getroot routines.
2867
bf25f879
VS
28682013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 Make cryptodisk and diskfilter probe data retrievable programmatically
2871 and not just printable.
2872
24ca4512
VS
28732013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2874
2875 Split random retrieving code into separate files.
2876
c7c177f0
VS
28772013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2878
2879 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
2880 R_ARM_V4BX.
2881
d71b45ae
VS
28822013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2883
2884 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
2885 condition.
2886 * grub-core/tests/fake_input.c: Likewise.
2887 * grub-core/tests/cmdline_cat_test.c: Likewise.
2888
e44b9a83
VS
28892013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2890
2891 * grub-core/video/capture.c: Do not do finalization when .fini
2892 is called as there is explicit capture_end.
2893
4fa60739
VS
28942013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
2897 changing windows to avoid crash.
2898
17c8bc37
VS
28992013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
2902
9d4d7977
VS
29032013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 * po/exclude.pot: Add several strings to exclude.
2906
0caa407c
VS
29072013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2908
2909 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
2910
9ae393da
VS
29112013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2912
2913 * autogen.sh: Add ./util/grub-gen-widthspec.c and
2914 ./util/grub-gen-asciih.c to exclude list.
2915
498d5033
VS
29162013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2917
2918 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
2919 and don't mark error strings for translation.
2920
7d93298f
VS
29212013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2922
2923 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
2924 properly in case of missing block size.
2925
b2cae20c
VS
29262013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2927
2928 * grub-core/lib/arm/setjmp.S: Add missing license section.
2929
3896d6b4
VS
29302013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2931
2932 * po/swiss.sed: Add replacement for key names and for term computer.
2933
ebc1da55
VT
29342013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
2935
2936 * grub-core/gfxmenu/theme_loader.c: New global options for the
2937 theme background image handling. desktop-image-scale-method,
2938 desktop-image-h-align, desktop-image-v-align.
2939 * grub-core/gfxmenu/view.c: Likewise.
2940 * include/gfxmenu_view.h: Likewise.
2941 * include/bitmap_scale.h: Proportional scale functions introduced.
2942 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
2943 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
2944 cases of unexpected input variables for scale functions.
2945 * docs/grub.texi: Updated documentation for new options.
2946
c5739143
VS
29472013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
2948
2949 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
2950
be74aeb3
VT
29512013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2952
2953 * grub-core/tests/checksums.h: Corrected due to changes in
2954 bilinear interpolation function.
2955
d999ac72
VT
29562013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2957
2958 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
2959 to eliminate artefacts in bilinear interpolation.
2960
2b131610
VS
29612013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * grub-core/video/readers/tga.c: Support paletted tga.
2964
de6e5ff8
VS
29652013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
2968 incorrect cbcr setting when in color mode.
2969
fa31ee9c
VS
29702013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 * grub-core/video/readers/png.c: Support paletted images and clean up
2973 greyscale support.
2974
e84f8188
VS
29752013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
2978 usage of wrong table which resulted in mishandling of 4-byte
2979 sequences.
2980
29812013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
2982
2983 * grub-core/term/terminfo.c: Add Home and End key sequences.
2984
d72bff09
VS
29852013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * grub-core/video/readers/png.c (grub_png_decode_image_header):
2988 Fix formula for computing total number of bytes.
2989
29648c5d
VS
29902013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
2993 image processing, fix big-endian and support grayscale.
2994
4a876492
VS
29952013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
2998 Correctly will with maximum transparency when using index color.
2999
3ccf16df
VS
30002013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 * grub-core/video/readers/png.c: Support grayscale
3003
30042013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
3005
3006 * grub-core/video/readers/jpeg.c: Support grayscale.
3007
3ccf16df 30082013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
3009
3010 * grub-core/commands/loadenv.c: Support skipping signature check
3011 and variable names filtering.
3012
30b7f58f
VS
30132013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
3016 * grub-core/kern/emu/hostfs.c: Likewise.
3017 * util/getroot_unix.c: Likewise.
3018
bab7b1eb
VS
30192013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3020
3021 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
3022 Migrate all explicit defines to this new one.
3023
43b1c99d
VS
30242013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
3027 grub_util_fd_strerror when using grub_util_fd_*.
3028 (grub_util_fd_open_device): Likewise.
3029 (grub_util_biosdisk_read): Likewise.
3030 (grub_util_biosdisk_write): Likewise.
3031 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
3032 (grub_util_fd_strerror): Likewise.
3033 (grub_util_fd_sync): Likewise.
3034 (grub_util_fd_close): Likewise.
3035 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
3036 (grub_util_fd_close): Likewise.
3037 (grub_util_fd_strerror): Likewise.
3038 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
3039 function proto rather than macro.
3040 (grub_util_fd_sync): Likewise.
3041 (grub_util_fd_open): Likewise.
3042 (grub_util_fd_strerror): New proto.
3043
e8fd80bc
VS
30442013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
3047 platforms on which it doesn't work.
3048
bf645fda
VS
30492013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
3052 stat immediately to where it's used.
3053
5177ba14
VS
30542013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3055
3056 * util/getroot.c (grub_util_check_block_device): Move to ...
3057 * util/getroot_unix.c (grub_util_check_block_device): ... here.
3058 * util/getroot.c (grub_util_check_char_device): Move to ...
3059 * util/getroot_unix.c (grub_util_check_char_device): ... here.
3060
9db826e1
VS
30612013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3062
3063 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
3064 disk closing logic.
3065
49120085
AB
30662013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3067
3068 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
3069
b3328b68
AB
30702013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3071
3072 * docs/grub.texi (File name syntax): Document ZFS filenames
3073 (/volume@snapshot/...).
3074
3fff48ab
VS
30752013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3076
3077 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
3078 Always return full path. Fixes a problem with mkrelpath.
3079
39cfdaa9
PFS
30802013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3081
3082 * util/grub-install.in: Add GPT PReP support.
3083 * util/grub-probe.c (probe): Support GPT partition type.
3084 (main): Support -t gpt_parttype.
3085
7c680e1f 30862013-09-23 Aleš Nesrsta <starous@volny.cz>
3087
3088 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
3089
890bdabe
MM
30902013-09-23 Massimo Maggi <me@massimo-maggi.eu>
3091
3092 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
3093
9c262ff9
TH
30942013-09-23 Tim Hardeck <thardeck>
3095
3096 * util/grub.d/10_hurd.in: Filter out character for the class.
3097 * util/grub.d/10_kfreebsd.in: Likewise.
3098 * util/grub.d/10_linux.in: Likewise.
3099 * util/grub.d/20_linux_xen.in: Likewise.
3100
d755342a
MC
31012013-09-23 Melki Christian <Christian.melki@saabgroup.com>
3102
3103 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
3104 "changed".
3105
68b77707
JT
31062013-09-23 Josh Triplett <josh@joshtriplett.org>
3107
3108 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
3109 boot partition.
3110
efa68bfa
VS
31112013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3112
3113 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
3114 doesn't use posix_wrap. Keep literal -fno-builtin however.
3115
d9104204
VS
31162013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3117
3118 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
3119
c248781a 31202013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
31212013-09-23 neil
3122
5830df88 3123 * configure.ac: Do not enable -Wmissing-noreturn as its
3124 usefulness is limited and creates problems on some OS notably with
3125 code generated by bison.
3126
31272013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
31282013-09-23 neil
3129
3130 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 3131 supported by all gcc and when it is, it's already enabled by -Wall.
3132
621bed69
VS
31332013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
3136 desactivated use of EDID at all.
3137
71764dc8 31382013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
31392013-09-23 neil
3140
3141 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
3142 video if no text is available.
3143
affce7d4 31442013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
31452013-09-23 neil
3146
3147 * configure.ac: Substitute TARGET_RANLIB.
3148
31492013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
31502013-09-23 neil
affce7d4
VS
3151
3152 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
3153
3154 Based on patches from AROS.
3155
0e8daad0 31562013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 31572013-09-23 neil
0e8daad0
VS
3158
3159 * grub-core/Makefile.am: Override STRIP and RANLIB.
3160 * configure.ac: compute TARGET_RANLIB.
3161 * INSTALL: Document TARGET_RANLIB
3162
3163 Based on patches from AROS.
3164
3f7d9c82
VS
31652013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
3168 that floppies are unpartitioned.
3169
bca8873a
VS
31702013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
3173 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
3174
31752013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3176
3177 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
3178 less nice but more portable.
3179 * grub-core/lib/posix_wrap/wchar.h: Likewise.
3180
a47a78be
VS
31812013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
3184 for cheat_fd.
3185 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
3186 functions.
3187 (grub_cryptodisk_cheat_insert): Likewise.
3188 (grub_cryptodisk_close): Likewise.
3189
e85a5d5c
VS
31902013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3191
3192 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
3193 Use windows path for DEFAULT_DIRECTORY.
3194
dad9fa6b
VS
31952013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
3198 difference was likely just gcc version, not anything mingw-related.
3199
7e518ca8
VS
32002013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3201
3202 Use Winapi on both cygwin and mingw32 to share more code between both.
3203
d68d0157
AB
32042013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3205
3206 * util/grub-install.in: Add --grub-editenv option.
3207 * util/grub-install_header (grub_compress_file): Explicitly check for
3208 plain file to avoid cp error.
3209
775b284d
AB
32102013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3211
3212 * docs/grub.texi (Device syntax): Document new LVM UUID based device
3213 names; fix LVM driver name (lvm, not lv).
3214 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
3215 names.
3216
3ff4063d
VS
32172013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3218
3219 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
3220 files rather than one file with loads of #if's.
3221 * util/getroot.c: Likewise.
3222
287faafe
VS
32232013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3224
3225 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
3226
d1983764
VS
32272013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3228
3229 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
3230 GNU/Hurd to the list of checked PRNG.
3231
15ce95c4
VS
32322013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3233
3234 * configure.ac: On FreeBSD use -melf_*_fbsd format.
3235
207862dd 32362013-09-21 Ales Nesrsta <starous@volny.cz>
3237
7c680e1f 3238 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 3239
63653cfd
VS
32402013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
3243 * grub-core/disk/lvm.c: Add LVM UUIDs.
3244 * util/getroot.c: Use LVM UUIDs whenever possible.
3245
f5d3e7ef
AB
32462013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
3247
3248 * docs/grub.texi (Networking commands): Add documentation for
3249 network related commands.
3250
53c6b7d6
VS
32512013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3252
3253 * util/getroot.c (grub_util_open_dm): Check major rather than the name
3254 to determine if device is handled by devmapper.
3255 (convert_system_partition_to_system_disk): Likewise.
3256 (get_dm_uuid): Don't check explicitly if device is mapped, it's
3257 already done in grub_util_open_dm.
3258
e70d6736
LL
32592013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
3260
3261 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
3262 Clean up stack manipulation (sync_caches_armv*)
3263
90379808
VS
32642013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3265
3266 * util/lvm.c: Remove since unused. Remove remaining references.
3267
386701a8
VS
32682013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 Handle the case of partitioned LVM properly.
3271
3272 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3273 Stop on meeting LVM, mpath or DMRAID.
3274 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
3275 (read_device_map): Likewise.
3276 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
3277 device is full disk rather than erroring out on LVM and similar cases.
3278
53070787
VS
32792013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3280
3281 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
3282
1bc783bd
VS
32832013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
3286 4K before the end.
3287 Reported by: Leif Lindholm
3288
436ad5c3
PW
32892013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
32902013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3291
3292 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
3293 codes.
3294
607319c9
CW
32952013-09-18 Colin Watson <cjwatson@ubuntu.com>
3296
3297 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
3298 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
3299
d404d154
DR
33002013-09-18 Douglas Ray <dougray@cpan.org>
3301
3302 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
3303 as secure.
3304
28851ef6
AN
33052013-09-18 Aleš Nesrsta <starous@volny.cz>
3306
3307 * docs/grub.texi: Fix broken link.
3308
897c3bc6
MC
33092013-09-18 Melki Christian <Christian.melki@saabgroup.com>
3310
3311 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
3312 to break endless loop.
3313
f1630459
VS
33142013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3315
3316 * util/grub-fstest.c: Fix several printf formats.
3317 * util/grub-mkimage.c: Likewise.
3318 * util/grub-mkimagexx.c: Likewise.
3319 * util/grub-script-check.c: Likewise.
3320
64463dfd
VS
33212013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3322
3323 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
3324 error.
3325
48972495
VS
33262013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
3329
5dd5e64b
VS
33302013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3331
3332 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
3333 removed in current versions cygwin_conv_*.
3334
1c1f31e5
VS
33352013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 * configure.ac: Disable efiemu runtime on cygwin.
3338
c546a259
VS
33392013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
3342 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
3343
81690478
VS
33442013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3345
3346 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
3347 error message.
3348
6b87c10a
VS
33492013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3350
3351 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
3352 windows variant.
3353 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
3354 data.
3355
8f0baaac
VS
33562013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3357
3358 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
3359 when on x86 and not cygwin.
3360 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
3361 -Wl,-melf_x86_64.
3362
b224c266
VS
33632013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * configure.ac: Set CPP to build one when checkoing for freetype for
3366 build.
3367
506b336b
VS
33682013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
3371 [!GRUB_BUILD]: Remove has_argument.
3372
8c8c87b7
VS
33732013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
3376 Replace with a dummy.
3377
7dc5ca13
VS
33782013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3379
3380 * configure.ac: Don't change host_os from mingw to cygwin.
3381
c3302aa5
VS
33822013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 * configure.ac: Change target_os from windows to cygwin.
3385
7b780018
VS
33862013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3387
3388 Handle grub-pe2elf and grub-mkfont for cases when build != host.
3389
3390 * Makefile.am (build-grub-mkfont): Don't include gnulib.
3391 (build-grub-gen-asciih): Likewise.
3392 (build-grub-gen-widthspec): Likewise.
3393 * Makefile.util.def (grub-pe2elf): Remove.
3394 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
3395 * configure.ac: Separate tests for build.
3396 Move ./build-grub-pe2elf to grub-core.
3397 Fix typo.
3398 * grub-core/Makefile.am (build-grub-pe2elf): New target.
3399 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
3400 defined.
3401 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
3402 constants.
3403 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
3404 * util/grub-pe2elf.c: Simplify not to rely on getopt.
3405 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
3406
984cfd8a
VS
34072013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
3410 mingw32 as well based on grub_util_get_disk_size.
3411 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
3412 grub_util_get_fd_size.
3413 (sync): Removed.
3414 (fsync): Moved to ...
3415 * grub-core/kern/emu/misc.c (fsync): ... here.
3416
f82d79c9
VS
34172013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 * include/grub/mm.h (grub_extend_alloc): Remove.
3420 * grub-core/loader/i386/pc/plan9.c: Use own version of
3421 grub_extend_alloc with appropriate types.
3422
fd7dd66d
VS
34232013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3424
3425 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
3426
43ffba7c
VS
34272013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3428
3429 * util/getroot.c: Include sys/wait.h only when we need waitpid.
3430
3c7eac44
VS
34312013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 Fix dependencies on cygwin.
3434
3435 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
3436 dependencies when used and defined.
3437 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
3438
bdb5ba47
VS
34392013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3440
3441 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
3442 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
3443
ed7fbf43
VS
34442013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
3447 implementation available to cause compile-time rather than runtime
3448 error.
3449
fc46e9fc
VS
34502013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 * util/grub-fstest.c: Don't check for symlinks on windows.
3453
7f68269a
VS
34542013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3455
3456 * INSTALL: Mention unavailability of man pages when cross-compiling.
3457
8ed358e0
VS
34582013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
3461 and gcry_log_bug.
3462 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
3463
fc97214f
VS
34642013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 * INSTALL: Document cross-compilation.
3467 * acinclude.m4: Determine whether nm support -P and --defined-only.
3468 * configure.ac: Add TARGET_ to all variables pertaining to target
3469 that don't have it yet.
3470 * gentpl.py: Likewise.
3471 * grub-core/Makefile.am: Likewise.
3472 * grub-core/genmod.sh.in: Likewise.
3473 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
3474 as well.
3475
ca1fb563
IB
34762013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3477
3478 * configure.ac: Remove -Wempty-body. It's not essential and needs
3479 recent gcc.
3480
0031b229
IB
34812013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3482
3483 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
3484 * util/getroot.c: Likewise.
3485
54ea2f44
VS
34862013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 * grub-core/disk/ahci.c: Add needed explicit cast.
3489 * grub-core/lib/backtrace.c: Likewise.
3490 * grub-core/net/ip.c: Likewise.
3491 * grub-core/net/tcp.c: Likewise.
3492 * grub-core/net/udp.c: Likewise.
3493
3c601f8c
VS
34942013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
3497
1d679dda
VS
34982013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3499
3500 * util/import_gcry.py: Add final newline in visibility.h.
3501
00c28dd9
VS
35022013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 * conf/Makefile.common: Fix typo.
3505
32af299a
VS
35062013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3507
3508 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
3509
e733cf52
VS
35102013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * Makefile.am (widthspec.h): Fix typo.
3513 * util/grub-gen-widthspec.c: Likewise.
3514
c6b066f2
VS
35152013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 Move ascii.h and widthspec.h generation to a separate build-time-only
3518 tool.
3519
ad1fe3f9 35202013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
3521
3522 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3523 Always fill bootdisk info and improve check for NetBSD disklabel.
3524
92a52dd4
VS
35252013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3526
3527 * conf/Makefile.extra-dist: Add util/bin2h.c.
3528 Reported by: floppym.
3529
b2e9d276
VS
35302013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3531
3532 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
3533
7b966834
VS
35342013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 * configure.ac: Disable unifont and starfield if no freetype was found.
3537
d5c1eef1
VS
35382013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
3541 on NetBSD and OpenBSD.
3542
66345b50 35432013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
3544
3545 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
3546
66345b50 35472013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
3548
3549 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
3550 reduced. Inheritant options are processed during the theme loading.
3551
66345b50 35522013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
3553
3554 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
3555
369508b3
AS
35562013-08-14 Avik Sil <aviksil@in.ibm.com>
3557
3558 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
3559
35602013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
3561
3562 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
3563 using qemu.
3564
6f27a3f6
PFS
35652013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3566
3567 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
3568 remove-potcdate.sed.
3569
c6ed362a
AB
35702013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3571
3572 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
3573 unused attribute from pull argument.
3574
5e7d9464
AB
35752013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3576
3577 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
3578 memory leak.
3579
dea55e2a
AB
35802013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3581
3582 * util/getroot.c (pull_lvm_by_command): add --separator option
3583 to vgs call to disable padding of output to 10 characters.
3584
f0b94ded
VS
35852013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
3588 here ...
3589 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
3590 here.
3591
b828fb5d
VS
35922013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
3595 length.
3596
7c9d0c39
VS
35972013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 Fix handling of build-time grub-bin2h and grub-mkfont when doing
3600 full Canadian cross. Tested with build=x86_64, host=arm,
3601 target=ppc-ieee1275.
3602
816719c8
VS
36032013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 * configure.ac: Error if no $BUILD_CC could be found.
3606 Reported by: DevHC.
3607
2af2353b
VS
36082013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
3611 i386-multiboot.
3612
797abd0a
VS
36132013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
3616 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
3617
36e87d25
CW
36182013-08-13 Colin Watson <cjwatson@ubuntu.com>
3619
3620 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
3621 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
3622 falling back to the partition device, otherwise a later call to this
3623 function may fail spuriously.
3624 Reported by Axel Beckert. Fixes Debian bug #708614.
3625
273349fe
GS
36262013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3627
3628 * autogen.sh: Replace find -not by the POSIX-compliant find !.
3629
418f86c6
GS
36302013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3631
3632 Prevent shadowing of stdlib's devname(3) on BSD.
3633
3634 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
3635 and devlast to diskname and disklast, respectively.
3636
c137aea0
CW
36372013-08-11 Colin Watson <cjwatson@ubuntu.com>
3638
3639 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
3640
272dc8df 36412013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
3642
3643 * docs/grub.texi: Introduce terminal window position options:
3644 terminal-left: terminal window's left position
3645 terminal-top: terminal window's top position
3646 terminal-width: terminal window's width
3647 terminal-height: terminal window's height
3648 terminal-border: terminal window's border width
3649 * grub-core/gfxmenu/theme-loader.c: Likewise.
3650 * include/grub/gfxmenu_view.h: Likewise.
3651 * po/exlude.pot: Likewise.
3652 * grub-core/gfxmenu/view.c: Likewise.
3653 Also updated minimal window size.
3654 Also terminal_sanity_check function has been introduced.
272dc8df
VT
3655 * grub-core/tests/checksums.h: Update (terminal window height
3656 is adjusted now for low resolution screen)
b4743461 3657
748a4533
VS
36582013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3659
3660 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
3661 position).
3662
fca5f944
VS
36632013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3664
3665 * po/exclude.pot: Add few recent exceptions.
3666
4f47d809
VS
36672013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3668
3669 * tests/grub_func_test.in: Add unicode.pf2.
3670
a62ae90c
VS
36712013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
3674 standard rather than noral color, in line with other terminals.
3675
4ed41392
VS
36762013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
3679 analysis.
3680
3719fbc5
VS
36812013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 * grub-core/loader/arm/linux.c: Change printf to dprintf.
3684
459b1d91
VS
36852013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
3688 inappropriate printf.
3689
f4e1ab9d
AB
36902013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
3691
3692 * .bzrignore: Remove grub-core/lib/dtc-grub,
3693 grub-core/Makefile.libfdt.def
3694 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
3695
fa471bfa
VS
36962013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 * include/grub/video.h (grub_video_register): Keep double-linked as
3699 well as single-linked invariants.
3700 Reported by: qwertial.
3701
d65be02b
VS
37022013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3703
3704 * grub-core/commands/nativedisk.c (get_uuid): Handle
3705 GRUB_DISK_DEVICE_UBOOTDISK_ID.
3706
ba8bc620
VT
37072013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
3708
3709 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
3710 maximum of NW, N, NE heights instead of N's height and maximum of
3711 NW, W, SW widths instead of W's width. (So the box will be always
3712 correctly drawn)
3713
4f0ad029
GS
37142013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
3715
3716 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
3717 Fix misuse of variable count.
3718
43d53b72
LL
37192013-07-18 Leif Lindholm <leif.lindholm@arm.com>
37202013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
37212013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 3722
43d53b72
LL
3723 New ports to arm-uboot and arm-efi.
3724 Mostly by Leif Lindholm with some additions from
3725 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 3726
88f8d146
VS
37272013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
3730 and not before.
3731 Reported by: Leon Drugi.
3732
3f42504c
VS
37332013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
3736 Reported by: Paulo Flabiano Smorigo.
3737
d110499b
VT
37382013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3739
3740 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
3741
a8674ad3
VT
37422013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3743
3744 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
3745
286fe4b3
VS
37462013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
3749
1bd57aa3
VS
37502013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
3753
7a87d69f
AB
37542013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
3755
3756 * grub-core/net/bootp.c: Export net_* variables.
3757 * grub-core/net/net.c: Likewise.
3758
b2182299
VS
37592013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
3762
795b3dc0
VS
37632013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3764
3765 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
3766
68714c43
VS
37672013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3768
3769 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
3770
af211bab
VS
37712013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3772
3773 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
3774
0036f02d
MM
37752013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3776
3777 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
3778 <= 0.
3779
6d0ddff3
MM
37802013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3781
3782 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
3783 functions.
3784
038016f4
MM
37852013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3786
3787 * grub-core/fs/zfs/zfs_lz4.c: New file.
3788 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
3789
776bdce2
MM
37902013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3791
3792 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
3793
c71dbd40
MM
37942013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3795
3796 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
3797 (check_pool_label): Likewise.
3798 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
3799
38002013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
3801
3802 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
3803
8e67b50f
AB
38042013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3805
3806 * docs/grub.texi (Commands): Document postition parameters
3807 for menuentry command.
3808
f5ae3717
AB
38092013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3810
3811 * util/grub-mknetdir.in: Remove stray line from help output.
3812
9c28da2a
VS
38132013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3814
3815 Remove early sm712 init as there is no reason for it (the "watchdog"
3816 effect was due to wrong GPIO map).
3817
139072b8
VS
38182013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 * grub-core/commands/pcidump.c: Remove static variables.
3821
c6a61bda
VS
38222013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 * grub-core/commands/sleep.c: Refresh screen before sleeping.
3825
51369614
VS
38262013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3827
3828 * configure.ac: Move delimiter after the infos.
3829
efa8640a
VS
38302013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3831
3832 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
3833
6f80a7b2
VS
38342013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3835
3836 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
3837 not filling whole 8x16 space.
3838
a2371e19
VS
38392013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
3842
64fce2d8
VS
38432013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 * configure.ac: Indicate which liblzma is used if any.
3846
eb272d84
PW
38472013-06-21 Paul Wise <pabs3@bonedaddy.net>
38482013-06-21 Craig Sanders <savannah@taz.net.au>
3849
3850 * util/grub-reboot.in: Document submenu usage.
3851
a9e5abee
CW
38522013-06-25 Colin Watson <cjwatson@ubuntu.com>
3853
3854 * .bzrignore: Update with a number of new test-related files.
3855
e639c204
CW
38562013-06-25 Colin Watson <cjwatson@ubuntu.com>
3857
3858 * util/grub-script-check.c: Fail on scripts containing no
3859 commands, to guard against corrupted grub-mkconfig setups that
3860 produce no useful output.
3861 * tests/grub_script_no_commands.in: New test.
3862 * Makefile.util.def (grub_script_no_commands): Add.
3863 Reported by Hans Putter. Fixes Debian bug #713886.
3864
a4c89b17
AB
38652013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3866
3867 * grub-core/disk/diskfilter.c: Forgot to remove comment
3868 from previous commit.
3869
5b06b53c
AB
38702013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3871
3872 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
3873 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
3874
702da5c9
AB
38752013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3876
3877 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
3878
aa62a5b7
AB
38792013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3880
3881 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
3882 rescan diskfilter devices until nothing new is found.
3883
4aa237c8
VS
38842013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3885
3886 Fix casts when compiling coreboot-specific code for 64-bit EFI.
3887
93d8479b
VS
38882013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 Don't try to detect cbfs on *-emu.
3891
837222cc
VS
38922013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 * grub-core/term/gfxterm.c: USe right background color when scrolling.
3895
99c971af
VS
38962013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3897
3898 Add support for processed coreboot payload chainloading.
3899
e6930a45
VS
39002013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3901
3902 Enable coreboot information commands even when not loaded as
3903 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
3904
5027af38
VS
39052013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3906
3907 Support for cbfs. Also factor out the part which is common
3908 for all archives to a separate module. This splits tar from cpio
3909 as they are very different but keeps cpio, cpio_be, odc and newc
3910 together since they're very similar.
3911
a5b55c4b
DM
39122013-06-15 David Michael <fedora.dm0@gmail.com>
3913
3914 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
3915 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
3916
0301a8b3
VS
39172013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3918
3919 * tests/grub_script_eval.in: Really add the eval test.
3920
3d84cb17
VS
39212013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 Move flavour-specific parts out of common cpio.c file and
3924 rename remaining to cpio_common.c
3925
593e430c
AB
39262013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3927
3928 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
3929 off new function grub_script_execute_new_scope. Change callers to use
3930 either of them as appropriate.
3931 * grub-core/commands/eval.c: New command eval.
3932 * docs/grub.texi (Commands): Document it.
3933
63c29849
AB
39342013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3935
3936 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
3937 to fetch values when listing.
3938
cc284112
AB
39392013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3940
3941 Fix make dist on non-pc.
3942
39432013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
3944
3945 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
3946 without a device name.
3947
69544d1e
VS
39482013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 Remove enable_executable_check as it's not needed anymore.
3951 Reported by: dougray.
3952
96dbe648
VS
39532013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
3956 ambigouos RAID before discovering RAIDs on top of it.
3957 Reported by: bodom.
3958
ccfc0bdb
VS
39592013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3960
3961 Fix typo (failback vs fallback).
3962
f2587088
AB
39632013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
3964
3965 * util/grub.d/30_os-prober.in: Add support for probing EFI
3966 System Partition (as of os-prober 1.58).
3967
cec5cf0c
VS
39682013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 * configure.ac: Add yet another path to unifont. For parabola.
3971
e40b4596
JT
39722013-05-30 Josh Triplett <josh@joshtriplett.org>
3973
3974 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
3975 handling to copy the killed characters to the kill buffer as
3976 UCS4 stored as grub_uint32_t rather than as 8-bit characters
3977 stored as char. Eliminates UCS4 truncation and corruption
3978 observed when killing characters with Ctrl-u and yanking them
3979 back with Ctrl-y.
3980
fc4c4fdd
VS
39812013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3982
3983 Detach optional parts of gfxterm and integrate in with coreboot init.
3984
6570b205
VS
39852013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 Move blit and fill dispatcher to appropriate files to decrease export
3988 and relocation overhead.
3989
b8323067
VS
39902013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3991
3992 * grub-core/font/font.c, include/grub/font.h: Inline simple font
3993 functions.
3994
3cc1878f
VS
39952013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3996
3997 * grub-core/Makefile.am: Fix compilation problem with some
3998 automake versions.
3999
4b80e43c
VS
40002013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4001
4002 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
4003
57e0c20c
VS
40042013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4005
4006 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
4007 automake versions.
4008
4fd42c53
VS
40092013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
4012 SSDT.
4013
1e908b34
RS
40142013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
4015
4016 * grub-core/partmap/dfly.c: New partition map.
4017
1359e474
VS
40182013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
4021 checking.
4022 Reported by: Francesco Lavra.
4023
17806392
AB
40242013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
4025
4026 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
4027 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
4028 false conditions.
4029 * conf/Makefile.common: define dist_grubconf_DATA
4030
cdce14fa
VS
40312013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 Progressively skip menu elements on small terminals rather
4034 than crashing.
4035
c8d6cc3c
VS
40362013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
4039 to avoid losing last column.
4040
a73b31ce
VS
40412013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4042
4043 * po/exclude.pot: Add missing string "%C".
4044
1202c764
VS
40452013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4046
4047 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
4048 after the test.
4049
50268344
VS
40502013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4051
4052 * util/grub-install.in: Gettextize "Not found" message.
4053
62b15edf
VS
40542013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4055
4056 Fix distfiles list.
4057 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4058
40592013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
4060
4061 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
4062 present.
4063 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
4064
709ad61b
VS
40652013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4066
4067 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
4068
d128901a
VS
40692013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
4072 attribute since structure is not necessarily aligned.
4073
34b22f5c
AB
40742013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
4075
4076 * docs/grub.texi (Device syntax): Clarify description of network
4077 drives.
4078
0f7e980b
VS
40792013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4080
4081 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
4082 for vasprintf presence.
4083
30b03dc2
VS
40842013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4085
4086 * util/grub-install.in: Handle efibootmgr presence check.
4087 Reported by: Leif Lindholm.
4088
0dc11c08
VS
40892013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4090
4091 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
4092 new strings to translate.
4093
f8024c3f
VS
40942013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
4097 yet another string (pun intended) to translate.
4098
b4c1da62
VS
40992013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4100
4101 * po/POTFILES-shell.in: Autogenerate it.
4102
0ef7478b
VS
41032013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4104
4105 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
4106
8200fa15
VS
41072013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4108
4109 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
4110 misnomer.
4111
091945b2
AB
41122013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
4113
4114 * docs/grub.texi (Network): Add description of net_default_interface,
4115 net_default_ip and net_default_mac. Rewrite variables description
4116 to emphasize that they are per-interface.
4117
0e7b2e32
VS
41182013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4119
4120 New test: cmdline and cat.
4121
16f7c8f6
VS
41222013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4123
4124 * grub-core/commands/cat.c: Show UTF-8 characters.
4125
3e912fda
VS
41262013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4127
4128 * conf/Makefile.common: Poison float and double on non-emu.
4129
ee0220bc
VS
41302013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4131
4132 * configure.ac: Don't disable extended registers on emu.
4133
89e0240c
VS
41342013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4135
4136 * configure.ac: Don't use extended registers on x86_64.
4137 Reported by: Peter Jones.
4138
e56d9637
VS
41392013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4140
4141 * grub-core/term/efi/console.c: Fix compile error.
4142
8098f655
VS
41432013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 Compressed HFS+ support.
4146
16940e07
VS
41472013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
4150 pixel".
4151
c5dbc13d
VS
41522013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4153
4154 Menu color test.
4155
011f8ae8
VS
41562013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 * grub-core/tests/setjmp_test.c: New test.
4159
2aa072d7
VS
41602013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4161
4162 New variables 'net_default_*' to determine MAC/IP of default interface.
4163
43fe02cb
VS
41642013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4165
4166 * tests/gettext_strings_test.in: A test to check for strings not
4167 marked for translation.
4168
bed06142
VS
41692013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 * autogen.sh: Exclude unused libgcrypt files from translation.
4172
fb2666b5
VS
41732013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4174
4175 Simplify few strings.
4176
d22840ec
VS
41772013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4178
4179 Mark few forgotten strings for translation.
4180
e34092fd
VS
41812013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4182
4183 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
4184 rather than printf.
4185
47cf82b4
VS
41862013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
4189 rather than printf.
4190 * grub-core/video/readers/tga.c: Likewise.
4191
1eed0e6e
VS
41922013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4193
4194 * tests/priority_queue_unit_test.cc: New test.
4195
c5b7697b
VS
41962013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
4199 than printf.
4200
5945c2f8
AB
42012013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
4202
4203 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
4204 variable for one time boot menu entry.
4205
fa292343
B
42062013-05-05 Bean <bean123ch@gmail.com>
4207
4208 * grub-core/commands/testspeed.c: New command testspeed.
4209
310d4214
VS
42102013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 Factor-out human-size printing.
4213
85002bf3
VS
42142013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 Agglomerate more mallocs to speed-up gfxterm.
4217
22b06e96
VS
42182013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 Speed-up gfxterm by slightly agglomerating mallocs.
4221
b7c036bc
VS
42222013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4223
4224 More video checks.
4225
92323d1f
VS
42262013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4227
4228 Speed-up gfxterm by saving intermediate results in index+alpha
4229 format.
4230
0fb356a3
VS
42312013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
4234 test.
4235
44dea3f9
VS
42362013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4237
4238 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
4239 line of timeout as it may contain the rest of long line.
4240
14af86e4
VS
42412013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 * grub-core/normal/main.c: Fix freed memory dereference.
4244
03f7c8c3
VS
42452013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4246
4247 Fix several memory leaks.
4248
c686014c
VS
42492013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4250
4251 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
4252
0788a695
VS
42532013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
4256
daf01d61
VS
42572013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 Fix test -a and -o precedence.
4260 Reported by: adrian15.
4261
82ae74d7
VS
42622013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4263
4264 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
4265
8cec7bd4
AB
42662013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
4267
4268 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
4269 and add it as source to functional_test module.
4270
aa73d688
VS
42712013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
4274
c104b6f9
VS
42752013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4276
4277 New series of tests for gfxterm and gfxmenu.
4278
7391c4d5
VS
42792013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4280
4281 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
4282 the theme path relative to $prefix/themes.
4283
cff50118
VS
42842013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4285
4286 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
4287 Fix order bug.
4288 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4289
7c332bdc
VS
42902013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
4293 descriptor.
4294
a4f9a5ff
VS
42952013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4296
4297 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
4298 grub_gfxmenu_timeout_notifications.
4299 (grub_gfxmenu_view_destroy): Likewise.
4300
b5a2114d
VS
43012013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4302
4303 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
4304
a8905e8a
VS
43052013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 Several fixes to ieee1275 and big-endian video.
4308
813c1622
VS
43092013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4310
4311 Add missing exports on mips.
4312
3f3e7326
VS
43132013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
4316 if no unifont is found.
4317 Restore original keyboard.
4318
095accd1
VS
43192013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4320
4321 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
4322 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
4323
50361660
VS
43242013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 First automated video test (running videotest and comparing results)
4327
cd0f6eec
VS
43282013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
4331 instead of 2 to have full RGB/CMY test pattern.
4332
3f9634e5
VS
43332013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4334
4335 Add few more tests.
4336
583e5b64
VS
43372013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * include/grub/arc/arc.h: Account for missing "other" peripheral on
4340 ARCS. All users updated.
4341
aa7bcb99
VS
43422013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
4345
95ef1a54
VS
43462013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4347
4348 * grub-core/partmap/amiga.c: Fix size of checksummed block.
4349
46546fc5
VS
43502013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4351
4352 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
4353 Reported by: qwertial.
4354
3476e0ef
VT
43552013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
4356
4357 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
4358 with syntax "XXX deg"/"XXX °".
4359
96f33fed
VS
43602013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4361
4362 Make PCI init in i386-qemu port more robust.
4363
43642013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
4365
4366 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
4367 cached view is reused.
4368 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
4369 open boot menus.
4370
c53b4e67
VS
43712013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 Unify more code in grub-install_header.
4374
f7457fb2
VS
43752013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 Add few new tests.
4378
e2f27a8c
VS
43792013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4380
4381 Enforce disabling of firmware disk drivers when native drivers kick in.
4382
ef9d8cd5
VS
43832013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 * grub-core/commands/nativedisk.c: Customize the list of modules on
4386 platform. Don't try to search for disks already using native drivers.
4387
f7bf6c31
VS
43882013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4389
4390 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
4391 platforms.
4392
bdc4add8
VS
43932013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
4396 handling of variables containing backslash.
4397
e9e46c9a
VS
43982013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
4401 dereference.
4402 Reported by: qwertial.
4403
0e90dee8
VS
44042013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
4407
e0aacf24
VS
44082013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4409
4410 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
4411 dereference.
4412 Reported by: qwertial.
4413
3c0003c3
VS
44142013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 * docs/grub.texi: Add a comment about usefullness of nativedisk.
4417
adb7d667
VS
44182013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4419
4420 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
4421
7cd0df84
VS
44222013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4423
4424 New command `nativedisk'.
4425
02adbb93
VS
44262013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4427
4428 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
4429 * grub-core/loader/i386/bsd.c: Likewise.
4430
9fb0fd4f
VS
44312013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4432
4433 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
4434
bd69257a
VS
44352013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4436
4437 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
4438 grub_get_unaligned16 rather than shifts.
4439
178c2764
VS
44402013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4441
4442 * grub-core/kern/file.c: Use const char * rather than casting to
4443 non-const.
4444
eadfad24
VS
44452013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4446
4447 * grub-core/commands/probe.c: Add missing grub_device_close.
4448
9f73ebd4
VS
44492013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4450
4451 * INSTALL: Document linguas.sh.
4452
965fa829
VS
44532013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4454
4455 Remove POTFILES.in and regenerate it in autogen.sh.
4456
d417ddc4
VS
44572013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4458
4459 Move --directory/--override-directorry to grub-install_header and unify.
4460
f97ec546
VS
44612013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 * grub-core/term/morse.c: Macroify dih and dah.
4464
b2d7470c
PFS
44652013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4466
4467 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
4468
141e2a78
VS
44692013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4470
4471 * grub-core/term/ns8250.c: Systematically probe ports by writing
4472 to SR before using them.
4473
1dd70ebd
PFS
44742013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4475
4476 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
4477 disks.
4478 (check_sas): Get sas_adress info.
4479
c796a107
VS
44802013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
4483 ports.
4484
43168646
LD
44852013-04-27 Leon Drugi <eyak>
4486
4487 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
4488 BSS clearing.
4489
e7b8fd08
VS
44902013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4491
4492 Core compression test.
4493
17f9fd29
VS
44942013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 Implement grub_machine_get_bootlocation for ARC.
4497
dc2a6c8b
VS
44982013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4499
4500 Improve AHCI detection and command issuing.
4501
f25a2ba6
VS
45022013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 Fix pseries test.
4505
a6393224
VS
45062013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4507
4508 Make 'make check' work on emu.
4509
db99fbe8
VS
45102013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 Replace libcurses with our own vt100 handling for the ease of testing
4513 and decreasing prerequisites.
4514
b24ca7cd
VS
45152013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
4518
63314aa4
VS
45192013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4520
4521 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
4522 compile when not needed.
4523
c1b00fff
VS
45242013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4525
4526 * tests/pseries_test.in: New test.
4527
f93e89ef
VS
45282013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4529
4530 Add test to check that different boot mediums work.
4531
c4b456d3
VS
45322013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
4535 ofw limited ISO support.
4536
5fe67f39
VS
45372013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 * configure.ac: Fix loongson conditional.
4540
7f63a64f
VS
45412013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4542
4543 Enable mipsel-arc.
4544
b04b5990
VS
45452013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4546
4547 Add serial on ARC platform.
4548
88d2f302
VS
45492013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4550
4551 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
4552 commit.
4553
86eb23bc
VS
45542013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4555
4556 * tests/partmap_test.in: Add missing double semicolon.
4557
eec3bb75
VS
45582013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4559
4560 * util/grub-mkrescue.in: Fix loongson filename.
4561
e0810df3
VS
45622013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4563
4564 * util/grub-mkrescue.in: Move all files that don't have a location
4565 set in stone under /boot/grub. Use ISO hard links rather than copies
4566 to save some space.
4567
65a6b30b
VS
45682013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
4571 bogus SLOF values.
4572
6aff0107
VS
45732013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 Make check work on mips-arc.
4576
5e013e56
VS
45772013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4578
4579 * util/grub-mkrescue.in: Alias sashARCS as sash.
4580
d1989e2e
VS
45812013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
4584 it's serial.
4585
1a25e72c
VS
45862013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4587
4588 * util/grub-install.in: Fix target fo qemu_mips.
4589 Fix extension on EFI.
4590
a59a9826
VS
45912013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4592
4593 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
4594 in front of chosen entry to mark it even if highlighting is lost.
4595
1a40f80c
VS
45962013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
4599 gfxpayload=keep if cbfb is active.
4600
e343549c
VS
46012013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
4604
45fbd9a2
VS
46052013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4606
4607 Add missing video ids to coreboot and ieee1275 video.
4608
ab1440bd
VS
46092013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4610
4611 * util/grub-mkrescue.in: Add mips-arc support.
4612
cdeb8324
VS
46132013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4614
4615 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
4616
8528c879
VS
46172013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4618
4619 Move mips-arc link address. Previous link address was chosen
4620 in belief that RAM on SGI platforms grows down while in fact it
4621 grows up from an unusual base.
4622
17fca573
VS
46232013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4624
4625 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
4626 Fix a type which prevented CD-ROM and floppy boot.
4627
d178788e
VS
46282013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4629
4630 Support coreboot framebuffer.
4631
4632 * grub-core/video/i386/coreboot/cbfb.c: New file.
4633
fe4c3e7e
VS
46342013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4635
4636 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
4637 detecting too small regions.
4638
ec2dd179
VS
46392013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4640
4641 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
4642
872dac83
VS
46432013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4644
4645 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
4646 Remove dprintf.
4647 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4648
90ec4b7f
VS
46492013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
4652 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4653 * grub-core/loader/powerpc/ieee1275/linux.c
4654 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4655
f32555dd
VS
46562013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4659 Look for /boot-rom as well as /rom/boot-rom.
4660
38649799
VS
46612013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
4664 handling when creating text_layer failed.
4665 * grub-core/video/video.c (grub_video_create_render_target):
4666 Set result to 0 on error.
4667 (grub_video_delete_render_target): Do not dereference NULL.
4668
aeace7f7
VS
46692013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4670
4671 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
4672 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
4673 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
4674 (grub_linux_load64): Mask out 2 high bits.
4675
4eafa175
AB
46762013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
4677
4678 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
4679 more place.
4680
daaa64bd
VS
46812013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 Add support for pseries and other bootinfo machines to grub-mkrescue.
4684
4685 Tested by: Paulo Flabiano Smorigo.
4686
d0d2daa6
VS
46872013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 * util/grub-mkrescue.in: Add GPT for EFI boot.
4690
b193e100
VS
46912013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
4694 It improves performance in qemu.
4695
a0f8f3ac
VS
46962013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 * build-aux/snippet: Add missing gnulib files.
4699
284df0e2
AB
47002013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4701
4702 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
4703
740201f3
AB
47042013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4705
4706 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
4707
a7e03923
PJ
47082013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
47092013-04-15 Peter Jones <pjones@redhat.com>
4710
4711 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
4712 sectors.
4713 Based on patch by Peter Jones.
4714
25fc51a8
VS
47152013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4716
4717 Fix DMRAID partition handling.
4718
88017d47
VS
47192013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4720
4721 * tests/grub_cmd_date.in: Skip on sparc64.
4722
fa7d914e
VS
47232013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4724
4725 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
4726 firmware error messages.
4727
cbe57a48
VS
47282013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4729
4730 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
4731 source and destination differ.
4732
21aecce0
VS
47332013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4734
4735 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
4736 detection.
4737
25092d29
VS
47382013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4739
4740 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
4741 match config-util.h to avoid warnings and increase compatibility.
4742
79451522 47432013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 47442013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
4745
4746 Add option to compress files on install/image creation.
4747
78b7d77b
VS
47482013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4749
4750 * docs/grub-dev.texi: Rearrange menu to match the section order.
4751 Reported by: Bryan Hundven.
4752
cc2fa5ec
VS
47532013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
4756
b49fe879
VS
47572013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 Move GRUB out of system area when using xorriso 1.2.9 or later.
4760
5351da81
VS
47612013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4762
4763 * tests/grub_cmd_date.in: Add missing exit 1.
4764
c9d586ea
VS
47652013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4766
4767 * tests/partmap_test.in: Skip on sparc64.
4768
3f729741
VS
47692013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4770
4771 Support grub-shell on sparc64.
4772
8ca86b3a
VS
47732013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4774
4775 Support mkrescue on sparc64.
4776
aa1af9bb
VS
47772013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 Allow IEEE1275 ports on path even if it wasn't detected automatically.
4780 Needed on OpenBIOS due to incomplete device tree.
4781
ac4fea79
VS
47822013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4783
4784 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
4785 would be otherwise excluded.
4786
47872013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
4788
4789 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4790 Inline name defines used only once.
4791
fe22b071
VS
47922013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 Fix memory leaks in ofnet.
4795 Reported by: Francesco Lavra.
4796
9d21381b
VS
47972013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 * docs/man/grub-glue-efi.h2m: Add missing file.
4800
07aec23c
VS
48012013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4802
4803 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
4804
67ab8353
VS
48052013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4806
4807 Better support Apple Intel Macs on CD.
4808
ba44ca6d
VS
48092013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4810
4811 Replace stpcpy with grub_stpcpy in tools.
4812
bbdd6305
VS
48132013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4814
4815 Handle Japanese special keys.
4816 Reported by: Hiroyuki YAMAMORI.
4817 Codes supplied by: Hiroyuki YAMAMORI.
4818
8573d302
VS
48192013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 * util/grub-mkimage.c: Document memdisk implying --prefix.
4822
d70dbab7
VS
48232013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4824
4825 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
4826 much we can do about it anyway.
4827
51a4c3e3
AN
48282013-04-12 Aleš Nesrsta <starous@volny.cz>
4829
4830 Fix handling of split transfers.
4831
92c8f58d
VS
48322013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4833
4834 * grub-core/net/http.c: Fix bad free.
4835
b7d17a49
VS
48362013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4837
4838 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
4839 than buffer size.
4840
a3d566d4
VS
48412013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 Disable partmap check on i386-ieee1275 due to openfirmware issues.
4844
a936af56
VS
48452013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4846
4847 * tests/util/grub-shell.in: Fix it on powerpc.
4848
51212234
VS
48492013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4850
4851 Turn off QEMU ACPI-way since new releases don't have shutdown port
4852 anymore.
4853
a21eec9e
VS
48542013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * docs/grub.texi: Update coreboot status info.
4857
e3734b84
VS
48582013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 * tests/grub_cmd_date.in: New test for datetime.
4861
f9d40055
VS
48622013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 * tests/partmap_test.in: Fix missing qemudisk setting.
4865
dbc56d8f
VS
48662013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4867
4868 Support i386-ieee1275 grub-mkrescue and make check on it.
4869
a79b8a15
VS
48702013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4871
4872 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
4873 feature for it.
4874
48f39bb4
VS
48752013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
4878 GRUB_CMDLINE_XEN_DEFAULT.
4879 Reported by: Marc Warne (GigaTux) <gigatux>
4880
053cfcdd
VS
48812013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4882
4883 Import new gnulib.
4884
93cd84df
VS
48852013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 Use ACPI shutdown intests as traditional port was removed.
4888
f4b1fa4f
AB
48892013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
4890
4891 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
4892 distinction.
4893
49818a59
VS
48942013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4895
4896 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
4897 Fix few warining messages and leaks while on it.
4898
9277a306
AB
48992013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
4900
4901 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
4902 links under grub-core/lib/libgcrypt-grub/mpi.
4903
d5e2a158
VS
49042013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4905
4906 Fix ia64-efi image generation on big-endian machines. Deduplicate
4907 some code while on it.
4908 Reported by: Leif Lindholm.
4909
18866643
AB
49102013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4911
4912 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
4913 as extra_dist.
4914
ca53deb8
AB
49152013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4916
4917 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
4918
d4c4b8e1
BH
49192013-04-08 Bryan Hundven <bryanhundven@gmail.com>
4920
4921 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
4922 texinfo-5.1.
4923
47043f95
VS
49242013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4925
4926 * grub-core/normal/term.c: Few more fixes for menu entry editor
4927 rendering.
4928 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4929
a3216068
VS
49302013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4931
4932 * grub-core/normal/term.c: Few more fixes for menu entry editor
4933 rendering.
4934 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4935
21026747
AB
49362013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4937
4938 * conf/Makefile.extra-dist (EXTRA_DIST): Add
4939 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
4940
59624ca8
AB
49412013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4942
4943 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
4944 instead of hardcoding grub.mo.
4945
1f44478c
FN
49462013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
4947
4948 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
4949
eeada7b1
VS
49502013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4951
4952 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
4953 grub-core/disk/geli.c.
4954
132867de
VS
49552013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4956
4957 * util/grub-mkfont.c: Prefer enum to #define.
4958
de73de17
VS
49592013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4960
4961 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
4962
1865baa7
VS
49632013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4964
4965 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
4966
ce7d92a9
VS
49672013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4968
4969 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
4970
52eab656
VS
49712013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4972
4973 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
4974
98b23b95
VS
49752013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4976
4977 * include/grub/bsdlabel.h: Use enums.
4978
0467a5dd
VS
49792013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 Move GRUB_CHAR_BIT to types.h.
4982
16cc9f03
AB
49832013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
4984
4985 * docs/grub.texi: Document more user commands.
4986
3152aecb
AB
49872013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
4988
4989 * docs/grub.texi: Document menuentry --id option.
4990
c506fc30
FL
49912013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
4992
4993 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
4994
aa428238
VS
49952013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 Unify file copying setup across different install scripts. Add
4998 options for performing partial install.
4999
efe0cdda
PJ
50002013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
50012013-04-04 Peter Jones <pjones@redhat.com>
5002
5003 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
5004
f75835bd
VS
50052013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 Use TSC as a possible time source on i386-ieee1275.
5008
2cd5ce6c
VS
50092013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
5012 Init err.
5013
c9625630
VS
50142013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 * util/grub-setup.c (setup): Handle some corner cases.
5017
be008941
VS
50182013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
5021
1a78d573
VS
50222013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5023
5024 * grub-core/commands/verify.c: Save verified file to avoid it being
5025 tampered with after verification was done.
5026
db8ff59f
VS
50272013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5028
5029 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
5030 reported width by one to compensate for curesor algorithm problem.
5031
91bf46b1
VS
50322013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5033
5034 Fix screen corruption in menu entry editor and simplify the code
5035 flow while on it.
5036
a7b1d693
AB
50372013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
5038
5039 * util/grub-mount.c (fuse_init): Return error if fuse_main
5040 failed.
5041
31df9ad8
FL
50422013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
5043
5044 * include/grub/elf.h: Add missing ARM relocation codes and fix
5045 existing ones.
5046
07f392eb
VT
50472013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5048
5049 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
5050
9efd73ec 50512013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
50522013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
5055 into account when calculating radius.
5056
50572013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
5058
5059 * grub-core/gfxmenu/view.c: Fix off-by-one error.
5060
4985ddaa
VT
50612013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5062
5063 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
5064
8c3635ff
RS
50652013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5066
5067 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
5068 missing closing bracket.
5069
74a35e69
RS
50702013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5071
5072 * INSTALL: Mention xorriso requirement.
5073
40f1c000
AB
50742013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
5075
5076 * grub-core/commands/verify.c: Fix hash algorithms values for
5077 the first three hashes - they start with 1, not with 0.
5078
e75fdee4
VS
50792013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
5082 Try terminating EFI services several times due to quirks in some
5083 implementations.
5084
33028f4c
CW
50852013-03-26 Colin Watson <cjwatson@ubuntu.com>
5086
5087 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
5088 skipping Event, Device, Processor, PowerRes, ThermalZone, and
5089 BankField extended opcodes.
5090 (get_sleep_type): Add minimal scope handling (just enough to
5091 handle setting the scope to the root path).
5092 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
5093 * include/grub/acpi.h: Add enumeration values for Event, Device,
5094 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
5095
33871a10
VT
50962013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
5097
5098 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
5099 memory leak.
5100
8990963a
VS
51012013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 * grub-core/disk/ahci.c: Give more time for AHCI request.
5104
daae8f9e
VS
51052013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
5108 command.
5109
6a7fb94b
VS
51102013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 Replace the region at 0 from coreboot tables to available in BSD
5113 memory map.
5114
ff99babd
VS
51152013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5116
5117 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
5118 non-BIOS platforms.
5119
30d6b1b2
VS
51202013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
5123 platforms.
5124
6ccd0b31
VS
51252013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
5128 handling of multi-device filesystems.
5129
23c9cc04
VS
51302013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5131
5132 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
5133 platforms.
5134
ce50dbd7
VS
51352013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5136
5137 Add new 'proc' filesystem framework and put luks_script into it.
5138
d975e8d5
VS
51392013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
5142 and qemu.
5143
e73ba5e8
VS
51442013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
5147
92750e4c
VS
51482013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 Add ability to generate newc additions on runtime.
5151
0ec45a68
VS
51522013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5153
5154 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
5155 description.
5156
320abd43
VS
51572013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 * po/POTFILES.in: Regenerate.
5160
d7a6506e
VS
51612013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5162
5163 * grub-core/commands/verify.c (hashes): Add several hashes
5164 from the spec.
5165
8fe05def
VS
51662013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5167
5168 Slight improve in USB-related boot-time checkpoints.
5169
524e2766
VS
51702013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5171
5172 * grub-core/commands/boottime.c: Fix copyright header.
5173
cc19857a
VS
51742013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5175
5176 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
5177 coreboot tables content. Support for cbmemc.
5178
ef8810e9
VS
51792013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5180
5181 Fix a conflict between ports structures with 2 controllers of
5182 same kind.
5183
e9dabdfa
VS
51842013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5185
5186 * include/grub/boottime.h: Add missing file.
5187
f6df57d2
VS
51882013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5189
5190 Initialize USB ports in parallel to speed-up boot.
5191
d745dda7
VS
51922013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5193
5194 Fix USB devices not being detected when requested
5195 due to delayed attach.
5196
e5a2dd7b
VS
51972013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5198
e744219b
VS
5199 Implement boot time analysis framework.
5200
52012013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5202
5203 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
5204 descriptor to just receive it as argument rather than endpoint
5205 address.
5206
5dd6f587
VS
52072013-03-19 Aleš Nesrsta <starous@volny.cz>
5208
5209 Better estimate the maximum USB transfer size.
5210
2f1071d5
VS
52112013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5212
5213 Resend a packet if we got the wrong buffer in status.
5214
46ecfc49
VS
52152013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
5218 multiplication rather than division.
5219
ea811130
VS
52202013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5221
5222 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
5223 than divisions.
5224
d2789cf0
VS
52252013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5226
5227 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
5228 operations to have intended shifts and not divisions.
5229
a9c94590
VS
52302013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5231
5232 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
5233 intended shifts rather than division.
5234
84cfe81b
VS
52352013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5236
5237 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
5238 computation for some years before epoch. Avode confusing division
5239 while on it.
5240
21344ef6
VS
52412013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5242
5243 * grub-core/video/i386/pc/vbe.c
5244 (grub_video_vbe_print_adapter_specific_info): Replace division by
5245 shifts.
5246
3f2b4d1a
VS
52472013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5248
5249 Adjust types in gdb module to have intended unsigned shifts rather than
5250 signed divisions.
5251
3dac5878
VS
52522013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5253
5254 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
5255 maximum size is 4G - 1 on hfs
5256
5341c0fb
VS
52572013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5258
5259 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
5260
fc3ff2a2
VS
52612013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5262
5263 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
5264 function.
5265
81455e8e
AB
52662013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
5267
5268 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
5269 causing gcc error with gcc 4.7.1.
5270
efd4f117
NZ
52712013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5272
5273 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
5274 dereference null pointer. While the code is technically correct, gcc
5275 may eliminate a null check if pointer is already dereferenced.
5276
e11645f4
NZ
52772013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5278
5279 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
5280 OOM check.
5281 * grub-core/normal/term.c (read_terminal_list): Likewise.
5282
77468368
VS
52832013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5284
5285 Lift up core size limits on some platforms. Fix potential memory
5286 corruption with big core on small memory systems. Document remaining
5287 limits.
5288
f6b58fe5
VS
52892013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
5292 gotoxy to 0,0.
5293
19ce697d
VS
52942013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5295
5296 Remove all trampoline support. Add -Wtrampolines when
5297 present. Remove symbols used for trampolines to make
5298 link fail if trampolines are present.
5299
73b5d90f
VS
53002013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5301
5302 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
5303 append out of its parent.
5304
cb758e96
VS
53052013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
5308 parent.
5309
3188131f
VS
53102013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5311
5312 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
5313 all vars to a macro. All users updated.
5314
e42b2514
VS
53152013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5316
5317 * grub-core/disk/ieee1275/nand.c: Fix compilation on
5318 i386-ieee1275.
5319
83e1a1a1
VS
53202013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
5323
1d5a880f
VS
53242013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5325
5326 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
5327
6e4146c4
VS
53282013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 Move to more hookless approach in IEEE1275 devices handling.
5331
99fcda8a
VS
53322013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * grub-core/kern/term.c (grub_term_normal_color),
5335 (grub_term_highlight_color): Add back lost defaults.
5336
73bf57e2
VS
53372013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5338
5339 Make elfload not use hooks. Opt for flags and iterators instead.
5340
7f8c105f
VS
53412013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
5344 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
5345
396d4091
VS
53462013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5347
5348 * grub-core/script/execute.c (gettext_append): Remove nested functions.
5349
53502013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5351
5352 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
5353 hook pass-through parameter. All users updated and unnested.
5354
74a27421
VS
53552013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
5358 out of its parent.
5359
b46d4213
VS
53602013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 * grub-core/fs/hfs.c: Remove nested functions.
5363
e114c3cc
VS
53642013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
5367 the context through.
5368 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
5369
f9b7d780
VS
53702013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 * util/grub-editenv.c (list_variables): Move print_var out of its
5373 parent.
5374
ca9c2608
VS
53752013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
5378 function.
5379
5d983f5f
VS
53802013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 * grub-core/gentrigtables.c: Make tables const.
5383
3056d3e7
VS
53842013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 Remove nested functions from videoinfo iterators.
5387
e2303774
VS
53882013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5389
5390 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
5391 for 64-bit platforms.
5392
f42e3a2f
VS
53932013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
5396 a FOR_CHILDREN macro.
5397
be174e5e
VS
53982013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5399
5400 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
5401 platform from firmware path.
5402
0789b672
VS
54032013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5404
5405 Enable linux16 on non-BIOS systems for i.a. memtest.
5406
5407 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
5408 correctly.
5409 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
5410
005a9c32
VS
54112013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5412
5413 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
5414 Fix end of table condition.
5415
ff2b3cd9
VS
54162013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5417
5418 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
5419 out of its parent.
5420
4fc40ff8
VS
54212013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5422
5423 * grub-core/fs/jfs.c: Remove nested functions.
5424
be42d97a
VS
54252013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5426
5427 * grub-core/fs/minix.c: Remove nested functions.
5428
99373ce4
VS
54292013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5430
5431 * grub-core/fs/iso9660.c: Remove nested functions.
5432
5aec2afe
VS
54332013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5434
5435 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
5436 of parent function.
5437
6c69e691
VS
54382013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5439
5440 * util/grub-fstest.c: Remove nested functions.
5441
43c91882
VS
54422013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5443
5444 * grub-core/loader/machoXX.c: Remove nested functions.
5445
4eb8b756
CW
54462013-02-27 Colin Watson <cjwatson@ubuntu.com>
5447
5448 Remove nested functions from disk and file read hooks.
5449
5450 * include/grub/disk.h (grub_disk_read_hook_t): New type.
5451 (struct grub_disk): Add read_hook_data member.
5452 * include/grub/file.h (struct grub_file): Likewise.
5453 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
5454 argument.
5455
5456 Update all callers.
5457
df6da5a5
AB
54582012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
5459
5460 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
5461 Fix off by one error in enumerating extended partitions.
5462
21aecde5
AB
54632013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
5464
5465 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
5466 memory leak if device name is not found.
5467
f1a19118
AB
54682013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5469
5470 * grub-core/normal/menu_entry.c (update_screen): remove
5471 unused variable `off' which caused scroll down arrow to be always shown.
5472
958bfd20
AB
54732013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5474
5475 * grub-core/normal/menu_entry.c (insert_string): fix off by one
5476 access to unallocated memory.
5477
b7b78edb
AB
54782013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5479
5480 * Makefile.util.def: Add partmap/msdos.c to common library.
5481 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
5482 * grub-core/disk/ldm.c: Check for existence of
5483 GRUB_PC_PARTITION_TYPE_LDM.
5484
28d468d6
VS
54852013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5486
5487 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
5488 sizes and display sector size.
5489
d55ffb02
VS
54902013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5491
5492 Implement new command cmosdump.
5493
b5ea6ce0
VS
54942013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5495
5496 Support Openfirmware disks with non-512B sectors.
5497
5498 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
5499 size of the disk.
5500 * (grub_ofdisk_get_block_size): New function.
5501 * (grub_ofdisk_prepare): Use the correct block size.
5502 * (grub_ofdisk_read): Likewise.
5503 * (grub_ofdisk_write): Likewise.
5504 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
5505 New proto.
5506
cc0e476f
VS
55072013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5508
5509 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
5510
c5dbdc33
VS
55112013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5512
5513 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
5514 on first error.
5515
3f078c0f
VS
55162013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5517
5518 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
5519 freeing it.
5520
66a93674
VS
55212013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5522
5523 Implement USBDebug (full USB stack variant).
5524
c9f0c134
VS
55252013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5526
5527 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
5528 unless they have unexpected values.
5529
cfe1288b
VS
55302013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5531
5532 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
5533 grub_print_error.
5534
e42b9969
VS
55352013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5536
5537 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
5538 zero-out of port structure.
5539
cf94fd62
VS
55402013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5541
5542 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
5543 of extended attributes.
5544
f81ef4b5
AB
55452013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
5546
5547 * util/grub-install.in: change misleading comment about
5548 device.map creation
5549
af18fdb4
VS
55502013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5551
5552 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
5553 when menu highlight color isn't set.
5554
08bcec50
M
55552013-01-27 C. Masloch <pushbx@38.de>
5556
5557 Improve FreeDOS direct loading support compatibility.
5558
5559 * include/grub/i386/relocator.h (grub_relocator16_state):
5560 New member ebp.
5561 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
5562 variable.
5563 (grub_relocator16_boot): Handle %ebp.
5564 * grub-core/lib/i386/relocator16.S: Likewise.
5565 * grub-core/loader/i386/pc/freedos.c:
5566 Load BPB to pass kernel which partition to load from.
5567 Check that kernel file is not too large.
5568 Set register dl to BIOS unit number as well.
5569
7782b8a6
CW
55702013-01-22 Colin Watson <cjwatson@ubuntu.com>
5571
5572 * util/grub-reboot.in (usage): Document the need for
5573 GRUB_DEFAULT=saved.
5574 * util/grub-set-default.in (usage): Likewise.
5575 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
5576
e661c180
VS
55772013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5578
5579 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
5580 than defining WORDS_BIGENDIAN manually.
5581
1c22ca9a
VS
55822013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5583
5584 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
5585 invariants.
5586
d44892fe
CW
55872013-01-21 Colin Watson <cjwatson@ubuntu.com>
5588
5589 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
5590 nested.
5591 (blit_comb: add_device_width): Likewise.
5592
5fdbaed1
CW
55932013-01-21 Colin Watson <cjwatson@ubuntu.com>
5594
5595 Remove nested functions from USB iterators.
5596
5597 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
5598 (grub_usb_controller_iterate_hook_t): Likewise.
5599 (grub_usb_iterate): Add hook_data argument.
5600 (grub_usb_controller_iterate): Likewise.
5601 (struct grub_usb_controller_dev.iterate): Likewise.
5602
5603 Update all implementations and callers.
5604
4250985a
VS
56052013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5606
5607 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
5608 margin when not needed.
5609
7d8848f3
VS
56102013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5611
bc136973 5612 Make color variables global instead of it being per-terminal.
7d8848f3
VS
5613
56142013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5615
bc136973
VS
5616 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
5617 asterisk.
7d8848f3 5618
ed12a003
CW
56192013-01-21 Colin Watson <cjwatson@ubuntu.com>
5620
5621 Fix powerpc and sparc64 build failures caused by un-nesting memory
5622 map iterators.
5623
6a0db449
CW
56242013-01-21 Colin Watson <cjwatson@ubuntu.com>
5625
5626 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
5627 parameter declarations.
5628
ccd86b21
VS
56292013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5630
5631 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
5632
822b726b
VS
56332013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5634
5635 Improve spkmomdem reliability by adding a separator between bytes.
5636
115c2cc1
CW
56372013-01-21 Colin Watson <cjwatson@ubuntu.com>
5638
5639 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
5640 an Acer registration utility with several sightings in the wild.
5641 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
5642
fc524edf
CW
56432013-01-21 Colin Watson <cjwatson@ubuntu.com>
5644
5645 Remove nested functions from filesystem directory iterators.
5646
5647 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
5648 (struct grub_fs.dir): Add hook_data argument.
5649
5650 Update all implementations and callers.
5651
53d3e4e3
CW
56522013-01-21 Colin Watson <cjwatson@ubuntu.com>
5653
5654 * docs/grub.texi (Multi-boot manual config): Fix typo for
5655 "recommended".
5656
c821711f
LL
56572013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5658
5659 * util/grub-mkimage.c (main): Postpone freeing arguments.output
5660 until after its use in generate_image.
5661
6a0debbd
CW
56622013-01-20 Colin Watson <cjwatson@ubuntu.com>
5663
5664 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
5665 initrd size to addr_min, since the initrd will be allocated after
5666 this address.
5667
f41e08db
AB
56682013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5669
5670 * conf/Makefile.common: Fix autogen rules to pass definition
5671 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
5672
77529e0f
LL
56732013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5674
5675 * include/grub/elf.h: Update ARM definitions based on binutils.
5676
b879aa7b
VS
56772013-01-20 Aleš Nesrsta <starous@volny.cz>
5678
5679 Split long USB transfers into short ones.
5680
8eb8284d
AB
56812013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5682
5683 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
5684 is interrupted by ESC.
5685
08dad2dc
VS
56862013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 * util/grub-script-check.c (main): Uniform the error message.
5689
6c724b85
CW
56902013-01-20 Colin Watson <cjwatson@ubuntu.com>
5691
5692 Remove nested functions from ELF iterators.
5693
25239370
CW
56942013-01-20 Colin Watson <cjwatson@ubuntu.com>
5695
5696 Remove nested functions from device iterators.
5697
5698 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
5699 (grub_arc_iterate_devs): Add hook_data argument.
5700 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
5701 (struct grub_ata_dev.iterate): Add hook_data argument.
5702 * include/grub/device.h (grub_device_iterate_hook_t): New type.
5703 (grub_device_iterate): Add hook_data argument.
5704 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
5705 (struct grub_disk_dev.iterate): Add hook_data argument.
5706 (grub_disk_dev_iterate): Likewise.
5707 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
5708 Likewise.
5709 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
5710 Likewise.
5711 * include/grub/partition.h (grub_partition_iterate_hook_t): New
5712 type.
5713 (struct grub_partition_map.iterate): Add hook_data argument.
5714 (grub_partition_iterate): Likewise.
5715 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
5716 (struct grub_scsi_dev.iterate): Add hook_data argument.
5717
5718 Update all callers.
5719
6c0314d6
CW
57202013-01-20 Colin Watson <cjwatson@ubuntu.com>
5721
5722 Fix typos for "developer" and "development".
5723
600dc5f1
VS
57242013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5725
5726 Add license header to spkmodem-recv.c.
5727
17334a6b
VS
57282013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5729
5730 Rewrite spkmodem to use PIT for timing. Double the speed.
5731
7d462559
VS
57322013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5733
5734 Add new command pcidump.
5735
b78d6c32
VS
57362013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5737
5738 New terminal outputs using serial: morse and spkmodem.
5739
34f71cb8
VS
57402013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5741
5742 Improve bidi handling in entry editor.
5743
4542e71b
VS
57442013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5745
5746 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5747 argument to prevent name collision.
5748
09fd6d82
CW
57492013-01-15 Colin Watson <cjwatson@ubuntu.com>
5750
5751 Remove nested functions from script reading and parsing.
5752
5753 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
5754 getline_data argument, passed to getline.
5755 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
5756 getline_data argument, passed to grub_parser_split_cmdline.
5757 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
5758 lexerstate->getline_data to lexerstate->getline.
5759 (grub_script_lexer_init): Add getline_data argument, saved in
5760 lexerstate->getline_data.
5761 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
5762 argument, passed to grub_script_parse.
5763 * grub-core/script/script.c (grub_script_parse): Add getline_data
5764 argument, passed to grub_script_lexer_init.
5765 * include/grub/parser.h (grub_parser_split_cmdline): Update
5766 prototype. Update all callers to pass appropriate getline data.
5767 (struct grub_parser.parse_line): Likewise.
5768 (grub_rescue_parse_line): Likewise.
5769 * include/grub/reader.h (grub_reader_getline_t): Add void *
5770 argument.
5771 * include/grub/script_sh.h (struct grub_lexer_param): Add
5772 getline_data member.
5773 (grub_script_parse): Update prototype. Update all callers to pass
5774 appropriate getline data.
5775 (grub_script_lexer_init): Likewise.
5776 (grub_normal_parse_line): Likewise.
5777
5778 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
5779 data argument.
5780 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
5781 static instead of nested. Rename to ...
5782 (grub_parser_execute_getline): ... this.
5783 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
5784 data argument.
5785 * grub-core/normal/main.c (read_config_file: getline): Make static
5786 instead of nested. Rename to ...
5787 (read_config_file_getline): ... this.
5788 (grub_normal_read_line): Add unused data argument.
5789 * grub-core/script/execute.c (grub_script_execute_sourcecode:
5790 getline): Make static instead of nested. Rename to ...
5791 (grub_script_execute_sourcecode_getline): ... this.
5792 * util/grub-script-check.c (main: get_config_line): Make static
5793 instead of nested.
5794
d0d4b8a0
CW
57952013-01-15 Colin Watson <cjwatson@ubuntu.com>
5796
5797 Remove nested functions from memory map iterators.
5798
5799 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
5800 argument, passed to hook.
5801 * grub-core/kern/i386/coreboot/mmap.c
5802 (grub_linuxbios_table_iterate): Likewise.
5803 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
5804 instead of nested.
5805 (grub_machine_mmap_iterate): Add hook_data argument.
5806 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
5807 Add hook_data argument, passed to hook.
5808 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
5809 Likewise.
5810 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5811 Likewise.
5812 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
5813 Likewise.
5814 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
5815 Likewise.
5816 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
5817 Likewise.
5818 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
5819 Likewise.
5820 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
5821 (grub_machine_mmap_iterate): Likewise.
5822 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
5823 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
5824 prototype.
5825 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
5826 Remove NESTED_FUNC_ATTR from here and from all users.
5827 (grub_mmap_iterate): Update prototype.
5828 (grub_efi_mmap_iterate): Update prototype. Update all callers to
5829 pass appropriate hook data.
5830 (grub_machine_mmap_iterate): Likewise.
5831
5832 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
5833 static instead of nested.
5834 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
5835 Rename to ...
5836 (lsmmap_hook): ... this.
5837 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
5838 Likewise.
5839 (grub_efiemu_mmap_fill: fill_hook): Likewise.
5840 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
5841 heap_init): Likewise.
5842 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
5843 Rename to ...
5844 (mmap_iterate_hook): ... this.
5845 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
5846 Likewise.
5847 * grub-core/lib/ieee1275/relocator.c
5848 (grub_relocator_firmware_get_max_events: count): Likewise.
5849 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
5850 to ...
5851 (grub_relocator_firmware_fill_events_iter): ... this.
5852 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
5853 hook): Likewise. Rename to ...
5854 (grub_relocator_alloc_chunk_align_iter): ... this.
5855 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
5856 Rename to ...
5857 (generate_e820_mmap_iter): ... this.
5858 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
5859 Rename to ...
5860 (count_hook): ... this.
5861 (grub_linux_boot: hook): Likewise. Rename to ...
5862 (grub_linux_boot_mmap_find): ... this.
5863 (grub_linux_boot: hook_fill): Likewise. Rename to ...
5864 (grub_linux_boot_mmap_fill): ... this.
5865 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
5866 hook): Likewise. Rename to ...
5867 (grub_fill_multiboot_mmap_iter): ... this.
5868 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
5869 hook): Likewise. Rename to ...
5870 (count_hook): ... this.
5871 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
5872 hook): Likewise. Rename to ...
5873 (grub_fill_multiboot_mmap_iter): ... this.
5874 * grub-core/loader/powerpc/ieee1275/linux.c
5875 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
5876 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
5877 Likewise. Rename to ...
5878 (alloc_phys_choose): ... this.
5879 (determine_phys_base: get_physbase): Likewise.
5880 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
5881 find_hook): Likewise.
5882 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
5883 (malloc_hook: count_hook): Likewise.
5884 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
5885 Likewise. Rename to ...
5886 (lower_hook): ... this.
5887 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5888 (upper_hook): ... this.
5889 (grub_mmap_get_post64: hook): Likewise. Rename to ...
5890 (post64_hook): ... this.
5891 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
5892 Likewise. Rename to ...
5893 (lower_hook): ... this.
5894 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5895 (upper_hook): ... this.
5896 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
5897 (grub_mmap_iterate: fill_hook): Likewise.
5898 (fill_mask): Pass addr and mask within a single struct.
5899 (grub_cmd_badram: hook): Make static instead of nested. Rename
5900 to ...
5901 (badram_iter): ... this.
5902 (grub_cmd_cutmem: hook): Likewise. Rename to ...
5903 (cutmem_iter): ... this.
5904
22099030
VS
59052013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5906
5907 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
5908 delimit path in strings using quotes.
5909 * util/getroot.c (grub_guess_root_devices): Likewise.
5910 (grub_make_system_path_relative_to_its_root): Likewise.
5911 * util/grub-probe.c (probe): Likewise.
5912 * util/ieee1275/ofpath.c (find_obppath): Likewise.
5913 (xrealpath): Likewise.
5914
4a9950ec
VS
59152013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5916
5917 Fix compilation with older compilers.
5918
5919 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
5920 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
5921 declarations.
5922 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
5923 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
5924 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
5925 identifier with b.
5926 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
5927 * include/grub/crypto.h: Add type defines.
5928 * util/import_gcrypth.sed: Remove duplicate type defines.
5929
adcc6020
VS
59302013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5931
5932 New command list_trusted.
5933
5934 * grub-core/commands/verify.c (grub_cmd_list): New function.
5935
a4528937
CW
59362013-01-13 Colin Watson <cjwatson@ubuntu.com>
5937
5938 * util/grub-mkimage.c (generate_image): Fix "size of public key"
5939 info message.
5940
ca3a7446
CW
59412013-01-13 Colin Watson <cjwatson@ubuntu.com>
5942
5943 Remove nested functions from PCI iterators.
5944
5945 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
5946 passed to hook. Update all callers to pass appropriate hook data.
5947 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
5948 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
5949 Remove NESTED_FUNC_ATTR from here and from all users.
5950 (grub_pci_iterate): Update prototype.
5951 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
5952 instead of nested. Rename to ...
5953 (grub_cs5536_find_iter): ... this.
5954 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
5955 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
5956 Likewise.
5957 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
5958 Likewise.
5959 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
5960 Likewise.
5961 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
5962 Likewise.
5963 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
5964 * grub-core/video/radeon_fuloong2e.c
5965 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
5966 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
5967 find_card): Likewise.
5968 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
5969 Likewise.
5970
f8e98fee
VS
59712013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5972
5973 * grub-core/commands/verify.c: Mark messages for translating.
5974
055b36b6
VS
59752013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5976
5977 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
5978 fatal.
5979
f7ff879b
VS
59802013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5981
5982 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
5983 fatal.
5984
59852013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
5986
5987 * autogen.sh: Do not try to delete nonexistant files.
5988 * util/import_gcrypth.sed: Add some missing header removals.
5989
01323d49
CW
59902013-01-12 Colin Watson <cjwatson@ubuntu.com>
5991
5992 Clean up dangling references to grub-setup.
5993 Fixes Ubuntu bug #1082045.
5994
5995 * docs/grub.texi (Images): Refer generally to grub-install rather
5996 than directly to grub-setup.
5997 (Installing GRUB using grub-install): Remove direct reference to
5998 grub-setup.
5999 (Device map) Likewise.
6000 (Invoking grub-install): Likewise.
6001 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
6002 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
6003 * util/grub-install.in (usage): Likewise.
6004
6005 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
6006 Apply to grub-bios-setup and grub-sparc64-setup rather than to
6007 grub-setup.
6008 * configure.ac: Remove grub_setup output variable.
6009
6010 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
6011 to grub-bios-setup.
6012 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
6013 grub-setup to grub-sparc64-setup.
6014
5e3b8dcb
VS
60152013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6016
6017 Import gcrypt public-key cryptography and implement signature checking.
6018
535714bd
VS
60192013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6020
6021 * grub-core/fs/ntfs.c: Ue more appropriate types.
6022 * grub-core/fs/ntfscomp.c: Likewise.
6023 * include/grub/ntfs.h: Likewise.
6024
3e4f3566
VS
60252013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6026
6027 Support Apple FAT binaries on non-Apple platforms.
6028
6029 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
6030 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
6031 Likewise.
6032 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
6033 Apple FAT binaries.
6034
4dedb13f
VS
60352013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6036
6037 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
6038 sector devices.
6039
f8861eaf
CW
60402013-01-07 Colin Watson <cjwatson@ubuntu.com>
6041
6042 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
6043 explicitly zeroing elements.
6044 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
6045 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
6046 of elements in a structure already allocated using grub_zalloc.
6047 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
6048
86065b0a
CW
60492013-01-07 Colin Watson <cjwatson@ubuntu.com>
6050
6051 * docs/grub.texi (grub_cpu): New subsection.
6052 (grub_platform): Likewise.
6053
c6f1e92f
VS
60542013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
6057
f797ec85
VS
60582013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6059
6060 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
6061 divisions.
6062
033d0b4b
VS
60632013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6064
6065 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
6066 * grub-core/fs/ntfscomp.c: Likewise.
6067 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
6068 (grub_ntfs_comp): Likewise.
6069
21d1b9a0
VS
60702013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6071
6072 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
6073 Rename to ...
6074 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
6075 of groups_per_block. All users updated.
6076
10ca8645
VS
60772013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
6080 grub_error properly.
6081 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
6082 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
6083
a4c3ed4c
VS
60842013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6085
6086 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
6087 always in /boot/zfs.
6088 Reported by: Yuta Satoh.
6089
0b716507
YS
60902013-01-03 Yuta Satoh <nigoro>
6091
6092 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
6093 ${grub_probe}
6094
00c05e22
VS
60952013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6096
6097 * configure.ac: Extend -Wno-trampolines to host.
6098
dadddb76
VS
60992013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
6102 entry->len = 0.
6103
54ce53ca
CW
61042013-01-03 Colin Watson <cjwatson@ubuntu.com>
6105
6106 * docs/grub.texi (Invoking grub-mkrelpath): New section.
6107 (Invoking grub-script-check): Likewise.
6108
8912efca
CW
61092013-01-03 Colin Watson <cjwatson@ubuntu.com>
6110
6111 * docs/grub.texi (Invoking grub-mount): New section.
6112 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
6113
c3fc8394
CW
61142013-01-02 Colin Watson <cjwatson@ubuntu.com>
6115
6116 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
6117 test failures, so that a failing unit test correctly causes 'make
6118 check' to fail.
6119
45d26abb
CW
61202013-01-02 Colin Watson <cjwatson@ubuntu.com>
6121
6122 Fix failing printf test.
6123
6124 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
6125 '$' in the correct order when collecting type information.
6126
971dd2c6
CW
61272013-01-02 Colin Watson <cjwatson@ubuntu.com>
6128
6129 * docs/grub.texi (configfile): Explain environment variable
6130 handling.
6131 (source): New section.
6132 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
6133
5c67ea6c
CW
61342012-12-31 Colin Watson <cjwatson@ubuntu.com>
6135
6136 Remove several trivially-unnecessary uses of nested functions.
6137
6138 * grub-core/commands/i386/pc/sendkey.c
6139 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
6140 instead of nested.
6141 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
6142 Rename to ...
6143 (legacy_file_getline): ... this.
6144 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
6145 Likewise.
6146 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
6147 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
6148 to ...
6149 (probe_dummy_iter): ... this.
6150 * grub-core/kern/i386/coreboot/mmap.c
6151 (grub_linuxbios_table_iterate: check_signature): Likewise.
6152 * grub-core/kern/parser.c (grub_parser_split_cmdline:
6153 check_varstate): Likewise. Mark inline.
6154 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
6155 an additional parameter.
6156 (find_long: fnd_long): Likewise. Pass two additional parameters.
6157 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
6158 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
6159 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
6160 Likewise. Rename to ...
6161 (grub_cmos_find_port_iter): ... this.
6162 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
6163 Rename to ...
6164 (find_rtc_iter): ... this.
6165
6166 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
6167 function directly into the function body, since it is only called
6168 once.
6169
33a68ac6
CW
61702012-12-30 Colin Watson <cjwatson@ubuntu.com>
6171
6172 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
6173 __attribute__ ((unused)).
6174 * grub-core/video/bochs.c (find_card): Likewise.
6175 * grub-core/video/cirrus.c (find_card): Likewise.
6176 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
6177 * grub-core/video/sis315pro.c (find_card): Likewise.
6178 * grub-core/video/sm712.c (find_card): Likewise.
6179
608b647a
CW
61802012-12-28 Colin Watson <cjwatson@ubuntu.com>
6181
6182 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
6183 Fixes Savannah bug #37821.
6184
fd49ceb3
CW
61852012-12-28 Colin Watson <cjwatson@ubuntu.com>
6186
6187 Apply program name transformations at build-time rather than at
6188 run-time. Fixes Debian bug #696465.
6189
6190 * acinclude.m4 (grub_TRANSFORM): New macro.
6191 * configure.ac: Create output variables with transformed names for
6192 most programs.
6193 * util/bash-completion.d/grub-completion.bash.in: Use
6194 pre-transformed variables for program names.
6195 * util/grub-install.in: Likewise.
6196 * util/grub-kbdcomp.in: Likewise.
6197 * util/grub-mkconfig.in: Likewise.
6198 * util/grub-mkconfig_lib.in: Likewise.
6199 * util/grub-mknetdir.in: Likewise.
6200 * util/grub-mkrescue.in: Likewise.
6201 * util/grub-mkstandalone.in: Likewise.
6202 * util/grub-reboot.in: Likewise.
6203 * util/grub-set-default.in: Likewise.
6204 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6205 * tests/util/grub-shell-tester.in: Remove unused assignment.
6206 * tests/util/grub-shell.in: Likewise.
6207 * util/grub.d/00_header.in: Likewise.
6208
7024b3c0
CW
62092012-12-28 Colin Watson <cjwatson@ubuntu.com>
6210
6211 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
6212
6213 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
6214 HAVE_RAW_DECL_GETS.
6215 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
6216
e3501b13
VS
62172012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6218
6219 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
6220 Reported by: Eriks Latosheks <foresterlv>.
6221
b40c88a9
VS
62222012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6223
6224 * docs/grub.texi (Network): Update instructions on generating netboot
6225 image.
6226
ce96d01c
VS
62272012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
6230 around device name if necessarry.
6231
0f596201
PFS
62322012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6233
6234 * util/grub-install.in: Follow the symbolic link parameter added
6235 to the file command.
6236
600d5bdb
AB
62372012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
6238
6239 * util/grub-install.in: Remove stale TODO.
6240
64ebd2f4
PFS
62412012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6242
6243 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
6244 dynamic allocation for the bootpath buffer.
6245
74b2fe3e
DTB
62462012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
6247
6248 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
6249 window too small.
6250
969b804f
VS
62512012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6252
6253 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
6254 argument rather than font name. All users updated.
6255 (grub_gfxterm_set_window): Likewise.
6256
b9f5ebd6
VT
62572012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
6258
6259 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
6260 from working.
6261
258f43b7
VS
62622012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * util/getroot.c (convert_system_partition_to_system_disk): Support
6265 nbd disks.
6266
cc1ce5f9
VS
62672012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
6270 infinite loop on corrupted FS.
6271
e77a16ca
VS
62722012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6273
6274 Fix big-endian mtime.
6275
6276 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
6277 together sec and usec.
6278 (grub_ufs_dir): Use correct byteswapping for UFS time.
6279
d9c48c7b
VS
62802012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6281
6282 Support big-endian UFS1.
6283
6284 * Makefile.util.def (libgrubmods): Add ufs_be.c
6285 * grub-core/Makefile.core.def (ufs1_be): New module.
6286 * grub-core/fs/ufs_be.c: New file.
6287 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
6288 the file.
6289
2f9f40ba
LL
62902012-11-28 Leif Lindholm <leif.lindholm@arm.com>
6291
6292 * include/grub/types.h: Fix functionality unaffecting typo in
6293 GRUB_TARGET_WORDSIZE conditional macro.
6294
48ff0889
PFS
62952012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6296
6297 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
6298
03711240
GS
62992012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6300
6301 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
6302 that /netbsd appears first (when it exists).
6303
a31b11bd
CJ
63042012-10-12 Christoph Junghans <ottxor@gentoo.org>
6305
6306 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
6307 Fixes Savannah bug #37558.
6308
e8a5d5d4
CW
63092012-10-12 Colin Watson <cjwatson@ubuntu.com>
6310
6311 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
6312 description of extract_entries_configfile.
6313
63142012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
6315
6316 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
6317 preferred_address.
6318 (grub_cmd_linux): Likewise.
6319 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
6320 preferred_lifetime. Update all users.
6321
288c757d
CW
63222012-09-26 Colin Watson <cjwatson@ubuntu.com>
6323
6324 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
6325 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
6326
0d35da3f
CW
63272012-09-26 Colin Watson <cjwatson@ubuntu.com>
6328
6329 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
6330 errors from grub-probe to /dev/null, not stdout.
6331
b78c3127
VS
63322012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
6333
6334 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
6335 sector 1.
6336
473959f0
CW
63372012-09-24 Colin Watson <cjwatson@ubuntu.com>
6338
6339 * util/grub-install.in: Make the error message if $source_dir
6340 doesn't exist more useful.
6341
794c8c33
CW
63422012-09-22 Colin Watson <cjwatson@ubuntu.com>
6343
6344 Fix grub-emu build on FreeBSD.
6345
6346 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
6347 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
6348 headers on Linux.
6349 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
6350 implementation is currently Linux-specific.
6351 * util/getroot.c (exec_pipe): Define only on Linux or when either
6352 libzfs or libnvpair is unavailable.
6353 (find_root_devices_from_poolname): Remove unused path variable.
6354
86d08fdb
CW
63552012-09-19 Colin Watson <cjwatson@ubuntu.com>
6356
6357 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
6358 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
6359 should fit before end == 63.
6360
735abf54
CW
63612012-09-19 Colin Watson <cjwatson@ubuntu.com>
6362
6363 * util/grub-setup.c (write_rootdev): Remove unused core_img
6364 parameter. Update all callers.
6365 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
6366 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
6367 GRUB_SETUP_BIOS.
6368
140acd3c
VS
63692012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6370
6371 * util/grub-mkconfig_lib.in (grub_tab): New variable.
6372 (grub_add_tab): New function.
6373 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
6374 * util/grub.d/10_illumos.in: Likewise.
6375 * util/grub.d/10_kfreebsd.in: Likewise.
6376 * util/grub.d/10_linux.in: Likewise.
6377 * util/grub.d/10_netbsd.in: Likewise.
6378 * util/grub.d/10_windows.in: Likewise.
6379 * util/grub.d/10_xnu.in: Likewise.
6380 * util/grub.d/20_linux_xen.in: Likewise.
6381 * util/grub.d/30_os-prober.in: Likewise.
6382
7ddffdad
VS
63832012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6386 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
6387 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
6388 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
6389 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
6390 ieee1275-nocursor.
6391 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6392 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
6393
4e092454
VS
63942012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6395
6396 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
6397 le-conversion.
6398 Reported by: BURETTE, Bernard.
6399
735abf54 64002012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
6401
6402 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
6403 from comment.
6404
dfd39dbd
CW
64052012-09-14 Colin Watson <cjwatson@ubuntu.com>
6406
6407 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
6408 IEEE1275 machines. Fixes powerpc-emu compilation.
6409 * include/grub/terminfo.h: Likewise.
6410
3bfa763c
VS
64112012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6412
6413 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
6414 a const pointer.
6415 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
6416 const pointer.
6417 (efiemu_set_variable): Make vendor_guid a const pointer.
6418
250e475b
VS
64192012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6420
6421 Don't require grub-mkconfig_lib to generate manpages for programs.
6422
6423 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
6424 dependencies, don't add grub-mkconfig_lib.
6425 (program): Pass empty adddeps.
6426 (script): Pass grub-mkconfig_lib as adddeps.
6427
592fd0e4
VS
64282012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
6431 * util/getroot.c (grub_find_device): Likewise.
6432 (get_mdadm_uuid): Likewise.
6433 (grub_util_is_imsm): Likewise.
6434 (grub_util_pull_device): Likewise.
6435 * util/grub-probe.c (probe): Likewise.
6436
801a3027
BG
64372012-09-10 Benoit Gschwind <gschwind>
6438
6439 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
6440 (devs): Add devpath_8.
6441
c5052c81
PJ
64422012-09-08 Peter Jones <pjones@redhat.com>
6443
6444 * grub-core/Makefile.core.def (efifwsetup): New module.
6445 * grub-core/commands/efi/efifwsetup.c: New file.
6446 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
6447 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
6448 New define.
6449 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
6450
8e832f71
JS
64512012-09-05 Jiri Slaby <jslaby@suse.cz>
6452
6453 * configure.ac: Add SuSe path.
6454
f0f55752
CW
64552012-09-05 Colin Watson <cjwatson@ubuntu.com>
6456
6457 * NEWS: Fix typo.
6458
ecadc4c2
CW
64592012-09-05 Colin Watson <cjwatson@ubuntu.com>
6460
6461 * util/import_gcry.py: Sort cipher_files, to make build system
6462 generation more deterministic.
6463
64498f25
VS
64642012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6465
6466 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
6467 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
6468 (grub_set_datetime): Likewise.
6469
9cc836a2
VS
64702012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6471
6472 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
6473 warnings.
6474
bcfcea01
VS
64752012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6476
6477 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
6478
a4099485
VS
64792012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6480
6481 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
6482
265c162a
CW
64832012-09-04 Colin Watson <cjwatson@ubuntu.com>
6484
6485 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
6486 required for checkouts from bzr, but it may be useful for users or
6487 distributors wishing to update translations against a tarball
6488 distribution, and it can be helpful for the tarball to be a superset
6489 of what's in bzr.
6490
3d171e95
CW
64912012-09-04 Colin Watson <cjwatson@ubuntu.com>
6492
6493 * Makefile.am (EXTRA_DIST): Add
6494 grub-core/tests/boot/linux.init-mips.S,
6495 grub-core/tests/boot/linux.init-ppc.S, and
6496 grub-core/tests/boot/linux-ppc.cfg.
6497
f2c2503e
CW
64982012-09-04 Colin Watson <cjwatson@ubuntu.com>
6499
6500 * grub-core/mmap/mips/loongson: Remove empty directory.
6501
65022012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
6503
6504 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
6505 gone.
6506
ab2163d5
CW
65072012-09-04 Colin Watson <cjwatson@ubuntu.com>
6508
6509 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
6510 grub-sparc64-setup.
6511
ce938140
GS
65122012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
6513
6514 * configure.ac: Strengthen the test for working -nostdinc -isystem.
6515
529f58a5
GS
65162012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6517
6518 * po/POTFILES.in: Regenerated.
6519
16cf79e9
GS
65202012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6521
6522 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
6523 (NetBSD): New subsection.
6524
39b27f1e 65252012-07-22 Ales Nesrsta <starous@volny.cz>
6526
6527 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
6528 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
6529
a885261b
VS
65302012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
6533 * util/grub.d/10_hurd.in: Add missing quoting.
6534 * util/grub.d/10_illumos.in: Likewise.
6535 * util/grub.d/10_kfreebsd.in: Likewise.
6536 * util/grub.d/10_linux.in: Likewise.
6537 * util/grub.d/20_linux_xen.in: Likewise.
6538
7bd29c01
VS
65392012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6540
6541 New command `lsefi'.
6542
6543 * grub-core/Makefile.core.def (lsefi): New module.
6544 * grub-core/commands/efi/lsefi.c: New file.
6545 * include/grub/efi/api.h: Add more GUIDs.
6546
ac625d8f
VS
65472012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6548
6549 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
6550 (grub_bsd_elf32_hook): Likewise.
6551 (grub_bsd_elf64_size_hook): Likewise.
6552 (grub_bsd_elf64_hook): Likewise.
6553 (grub_bsd_load_elf): Likewise.
6554
e73bb801
VS
65552012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6556
6557 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
6558 if hash function is unavailable.
6559 (dec_stream_header): Likewise.
6560
e81db8b5
VS
65612012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6562
6563 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
6564 filter state.
6565
d187a1c3
VS
65662012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6567
6568 Fix coreboot compilation.
6569
6570 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
6571 (grub_vga_text_init_real): ... this.
6572 (grub_vga_text_fini): Rename to ...
6573 (grub_vga_text_fini_real): ... this.
6574
91a05f64
VS
65752012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6576
6577 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
6578
6af96df7
VS
65792012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 * grub-core/lib/legacy_parse.c: Support clear and testload.
6582
4d569e12
VS
65832012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
6586
073b57bb
VS
65872012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6588
6589 * grub-core/fs/ext2.c: Experimental support for 64-bit.
6590
a706f4cc
VS
65912012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6592
6593 * grub-core/net/tftp.c (ack): Fix endianness problem.
6594 (tftp_receive): Likewise.
6595 Reported by: Michael Davidsaver.
6596
e7850aa9
VS
65972012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6598
6599 * gentpl.py: Make mans depend on grub-mkconfig_lib.
6600
66012012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6602
6603 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
6604 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
6605 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
6606
35692881
VS
66072012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6608
6609 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
6610 efi_mmap_size.
6611 Reported by: Stuart Hayes.
6612
c35fc5bd
VS
66132012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6614
6615 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
6616
6617 * grub-core/Makefile.core.def (mda_text): New module.
6618 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
6619 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
6620 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
6621 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
6622 here.
6623 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
6624 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
6625 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
6626 here.
6627 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
6628 to ..
6629 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
6630 ... here
6631 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
6632 here.
6633 * grub-core/term/i386/vga_common.c: Removed.
6634 * include/grub/i386/vga_common.h: Likewise.
6635 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
6636 (grub_vga_cr_bw_read): Likewise.
6637 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
6638 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
6639 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
6640 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
6641 grub_vga_cr_read/grub_vga_cr_write.
6642 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
6643
5f91f701
VS
66442012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 * configure.ac: Bump version to 2.00.
6647 * grub-core/normal/main.c (features): Add feature_200_final.
6648
0c4f85f6
VS
66492012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
66502012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
6651
6652 * NEWS: Fix unclarity and language mistakes.
6653
f923ad22
VS
66542012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
6657 additional size to 3 pages.
6658 Reported by: Stuart Hayes.
6659
d22029ba
VS
66602012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6661
6662 * NEWS: Add 2.00 entry.
6663
58eee08f
VS
66642012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6665
6666 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
6667 put explicit "/" for empty path.
6668 (wildcard_expand): Improve dprintf.
6669
c59bdff7
VS
66702012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6671
6672 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
6673 it's equal to currnode. This can happen with "" symlink.
6674
5e6a440a
YB
66752012-06-27 Yves Blusseau <blusseau@zetam.org>
6676
6677 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
6678 echo shell command by printf command.
6679
73a68bcb
VS
66802012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6681
6682 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
6683 the value returned by firmware is the maximal position, not diumension.
6684 (grub_terminfo_output_state): Use a more sane fallback.
6685
392a603b
VS
66862012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6687
6688 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
6689
42d0867f
VS
66902012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6691
6692 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
6693 frequency to 150 MHz.
6694
489509f4
VS
66952012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6696
6697 Apple fixes.
6698
6699 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
6700 __APPLE_
6701 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
6702 definition.
6703 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
6704
9f3fc883
VS
67052012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6706
6707 Handle slash in HFS label.
6708
6709 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
6710 (grub_hfs_dir): Tanslate slash.
6711 (grub_hfs_label): Don't translate slash.
6712
54853fd7
VS
67132012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6714
6715 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
6716 network protocol listing since it introduces problematic dependency on
6717 net module.
6718
4dc02ddf
VS
67192012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6720
6721 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
6722
c50c867d
VS
67232012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 Init video early on yeeloong to avoid being rebooted by watchdog.
6726
6727 * grub-core/Makefile.am (gensm712): New target.
6728 (sm712_start.S): Likewise.
6729 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
6730 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
6731 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
6732 description.
6733 * include/grub/vga.h: Move registry definitions to...
6734 * include/grub/vgaregs.h: ... here.
6735
5f92c8a1
VS
67362012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6737
6738 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
6739 signedness.
6740
e9e6f111
VS
67412012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
6744 platforms with firmware disk drivers in the core.
6745
754ad9eb
VS
67462012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
6749 informative verbose message.
6750 (read_lv): Handle 64-bit segment size.
6751
315654c2
VS
67522012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6753
6754 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
6755
fb022c79
VS
67562012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6757
6758 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
6759 character but still remove trainling spaces.
6760 (grub_fat_label): Ignore archive flag.
6761
8645f72c
VS
67622012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6763
6764 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
6765 cast between linux_kernel_header and linux_kernel_params.
6766
36498496
VS
67672012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6768
6769 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
6770 type for size.
6771 (grub_raid6_recover_func_t): Likewise.
6772 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
6773 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6774
0b5ea6b8
VS
67752012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
6778
650cfcfe
GS
67792012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
6780
6781 Fix overflow.
6782
6783 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
6784 [__NetBSD__]: Add explicit cast before bitshift.
6785
8a4d6a44
VS
67862012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6787
6788 * configure.ac: Bump to 2.00~rc1.
6789
2fb97ed3
VS
67902012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6791
6792 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
6793 half of $a0.
6794
1fa097dc
VS
67952012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
67962012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
6797
6798 * docs/grub.texi: Fix search syntax.
6799 (Multi-boot manual config): Put msdos rather than GPT example.
6800 Grammar corrections.
6801
c890ba78
VS
68022012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6803
6804 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
6805
0f92dca7
VS
68062012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
6809
3988c4a0
VS
68102012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6811
6812 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
6813 message on double free. Put the value of magic in case of mismatch.
6814
9e86d4c5
VS
68152012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6816
6817 Speed-up video on yeeloong.
6818
6819 * grub-core/video/sm712.c (framebuffer): Remove render_target and
6820 add cached_ptr.
6821 (grub_video_sm712_video_fini): Unmap cached_ptr.
6822 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
6823 (grub_video_sm712_set_active_render_target): Removed.
6824 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
6825 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
6826 sync caches.
6827
ed24c312
VS
68282012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6829
6830 Avoid flushing the same line multiple times on loongson.
6831
6832 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
6833 Step in 32 bytes and not 1 byte.
6834 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
6835 Likewise.
6836
d1718e7d
VS
68372012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6838
6839 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
6840 subvolumes.
6841
982f1909
VS
68422012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6843
6844 Implement flow control for http.
6845
6846 * grub-core/net/http.c (parse_line): Handle response 206.
6847 (http_receive): Stall if too many packets are in the queue.
6848 (http_establish): Fix range header.
6849 (http_seek): Fix double free.
6850 (http_close): Likewise.
6851 (http_packets_pulled): New function.
6852 (grub_http_protocol): Set http_seek
6853 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
6854 (ack_real): Set window depending on i_stall.
6855 (grub_net_send_tcp_packet): Likewise.
6856 (grub_net_tcp_stall): New function.
6857 (grub_net_tcp_unstall): Likewise.
6858 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
6859 (grub_net_tcp_unstall): Likewise.
6860
bd407d6e
VS
68612012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6862
6863 * grub-core/net/tftp.c: Decrease stall to 50 packets.
6864
c7564b8e
VS
68652012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6866
6867 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
6868
a3706162
VS
68692012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6870
6871 * tests/util/grub-shell.in: Fix a typo.
6872
b27069e0
VS
68732012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6874
6875 Implement flow control for tftp.
6876
6877 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
6878 packets but stop only if stop condition is satisfied.
6879 (grub_net_fs_read_real): Call packets_pulled after real read. Use
6880 `stall' instead of `eof' as stop condition.
6881 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
6882 (http_err): Likewise.
6883 * grub-core/net/tftp.c (ack): Replace the first argument with data
6884 instead of socket.
6885 (tftp_receive): Stall if too many packets are in wait queue.
6886 (tftp_packets_pulled): New function.
6887 (grub_tftp_protocol): Set packets_pulled.
6888 * include/grub/net.h (grub_net_packets): New field count.
6889 (grub_net_put_packet): Increment count.
6890 (grub_net_remove_packet): Likewise.
6891 (grub_net_app_protocol): New field `packets_pulled'.
6892 (grub_net): New field `stall'.
6893
6b9cfac6
VS
68942012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6895
6896 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
6897 sync part to handle them.
6898
f35abd81
VS
68992012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6900
6901 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
6902 * grub-core/net/drivers/ieee1275/ofnet.c
6903 (grub_ieee1275_net_config_real): Likewise.
6904
0e7ec820
VS
69052012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
6908 the direct route for server/gateway.
6909
9d611a31
VS
69102012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6911
6912 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
6913 IP address to server name since we may not hame the DNS.
6914
418f45ab
VS
69152012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6916
6917 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
6918 freeing random buffer on failure.
6919 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
6920
44a0efc1
VS
69212012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6922
6923 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
6924
531e2241
VS
69252012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6926
6927 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
6928 reserved bytes.
6929 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
6930 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
6931 Handle malloc error correctly.
6932
cde393c9
VS
69332012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6934
6935 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
6936 blocks.
6937
538478d0
VS
69382012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
6941 increment.
6942
9b55efe0
VS
69432012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
6946 none is explicitly specified.
6947
9eb832c3
VS
69482012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6949
6950 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
6951 while reallocating.
6952
d6b7c7c9
VS
69532012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6954
6955 Respect netmask from bootp/dhcp.
6956
6957 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
6958 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
6959 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
6960 into ...
6961 (grub_net_add_ipv4_local): ... this.
6962 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
6963 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
6964 (grub_net_add_ipv4_local): New proto.
6965
67caf9eb
VS
69662012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6967
6968 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
6969 determining EFI memory map size.
6970
43657558
VS
69712012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6972
6973 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
6974
eb6d0dd3
VS
69752012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6976
6977 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
6978 when looking for partition separator.
6979
31230544
VS
69802012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6981
6982 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6983 Escape commas.
6984
918a2517
VS
69852012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 Restructure FAT driver to avoid hook in label reading as it hits a
6988 GCC bug.
6989
6990 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
6991 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
6992 (grub_fat_iterate_dir): Split into ...
6993 (grub_fat_iterate_init): ... this, ...
6994 (grub_fat_iterate_fini): ... this, ...
6995 (grub_fat_iterate_dir_next): ... and this. All users updated.
6996
9f1d654e
VS
69972012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6998
6999 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7000 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
7001 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7002 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
7003 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
7004 New fields last_key and last_key_time.
7005 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
7006 extended key-esc into extended key-extended key.
7007
52f0f643
VS
70082012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 Avoid unnecessary memcpy of whole video buffer.
7011
7012 * grub-core/video/fb/video_fb.c (dirty): New struct.
7013 (framebuffer): Add members current_dirty and previous_dirty.
7014 (dirty): New function.
7015 (grub_video_fb_fill_rect): Update dirty.
7016 (common_blitter): Likewise.
7017 (grub_video_fb_scroll): Likewise.
7018 (doublebuf_blit_update_screen): Copy only dirty part.
7019 (doublebuf_pageflipping_update_screen): Likewise.
7020 (grub_video_fb_doublebuf_blit_init): Init dirty.
7021 (doublebuf_pageflipping_init): Likewise.
7022 (grub_video_fb_setup): Likewise.
7023
e169a180
VS
70242012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7025
7026 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
7027 poll rate.
7028
48556879
VS
70292012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7030
7031 Fix wildcard regexp dot and other special characters handling.
7032 Reported by: Robert Mabee.
7033
7034 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
7035 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
7036 (split_path): Trigger expansion on '?'.
7037 (unescape): New function.
7038 (wildcard_expand): Unescape parts copied without globbing.
7039 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
7040 (grub_script_arglist_to_argv): Don't unescape expansions.
7041
0494408e
VS
70422012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7043
7044 * include/grub/net.h (grub_net_card): New member txbufsize.
7045 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
7046 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7047 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
7048 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
7049 txbufsize.
7050 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
7051 compatible property to check for macs. Set
7052 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7053 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
7054 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
7055 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
7056 (send_card_buffer): Use txbuf.
7057 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
7058 nested function out of the parent while on it.
7059
cc35fe8f
VS
70602012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7061
7062 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
7063 presence check.
7064 (grub_ieee1275_net_config_real): Fix config pointer.
7065
970a0a09
VS
70662012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7067
7068 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
7069 filename parsing to non-block devices.
7070
3e19bf87
VS
70712012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7072
7073 * grub-core/kern/device.c (grub_device_open): Remove dead code.
7074
c62d1a0c
VS
70752012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7076
7077 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
7078 All users updated.
7079
ef76bec3
VS
70802012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7081
7082 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
7083 UUID search command even if hints probing failed.
7084
70852012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
7086
7087 * po/POTFILES.in: Regenerated.
7088
70aaf305
VS
70892012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7090
7091 Speed-up video on fuloong.
7092
7093 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
7094 New function.
7095 (grub_pci_device_unmap_range): Handle non-cached address.
7096 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
7097 add direct_ptr.
7098 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
7099 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
7100 (grub_video_sis315pro_set_active_render_target): Removed.
7101 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
7102 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7103 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
7104 sync caches.
7105 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
7106 New proto.
7107
10400f0b
VS
71082012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 * docs/grub.texi (Multi-boot manual config): New section.
7111
ba67e2c6
VS
71122012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 Avoid slow read-back from VRAM.
7115
7116 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
7117 Move from here ...
7118 * grub-core/video/fb/video_fb.c
7119 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
7120 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
7121 (front_target): Remove front_target. Add pages.
7122 (grub_video_fb_init): Skip setting front_pages.
7123 (grub_video_fb_fini): Likewise.
7124 (doublebuf_blit_update_screen): Use pages.
7125 (grub_video_fb_doublebuf_blit_init): Likewise.
7126 (doublebuf_pageflipping_init): Allocate offscreen buffer.
7127 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
7128 (grub_video_fb_setup): Prefer doublebuffing.
7129
377c98cb
VS
71302012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7131
7132 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
7133 gzio.
7134
eac49cff
VS
71352012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7136
7137 Add loongson tests.
7138
7139 * tests/util/grub-shell.in: Handle loongson.
7140 * tests/partmap_test.in: Add loongson to the list of platform using ATA
7141 drivers.
7142 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
7143 Reboot instead of shutdown if REBOOT is defined.
7144
0321415e
VS
71452012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7146
7147 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
7148 sized ports since unlike on real hardware qemu supports only 32-bit
7149 regs.
7150
3f2bdd8f
VS
71512012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7152
7153 * Makefile.util.def (grub-mkrescue): Enable on loongson.
7154 * util/grub-mkrescue.in: Handle loongson.
7155
29a049c9
VS
71562012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
7157
7158 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
7159 Set is_part appropriately.
7160 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
7161 names. Canonicalize partition without full disk.
7162
4abde346
VS
71632012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7164
7165 Revert usb-quiesce since it's wrong.
7166
7167 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
7168 (grub_ofdisk_init): Don't do quiesce.
7169
61f1d93b
VS
71702012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7171
7172 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
7173 PowerMac workaround to Xserves as well.
7174 Information supplied by: Benjamin Herrenschmidt.
7175
a09eb541
VS
71762012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 Don't assume that beginning address is also the entry point on ppc.
7179
7180 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
7181 (grub_linux_boot): Use linux_entry.
7182 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
7183 (grub_linux_load64): Likewise.
7184
505b3c9b
VS
71852012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7186
7187 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
7188
cbe0b4ef
VS
71892012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7190
7191 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
7192 needlessly lose the console.
7193
3006e981
VS
71942012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7195
7196 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
7197 space.
7198
4e5a96b0
VS
71992012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7200
7da036bb
VS
7201 Remove non-functional EFI grub_get_rtc. Put a better fatal message
7202 than current grub_get_rtc() not implemented when booted with
7203 coreboot without TSC.
7204
7205 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
7206 Add machine/time.h to kernel headers on loongson.
7207 * grub-core/Makefile.core.def (kernel): Remove
7208 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
7209 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
7210 (grub_get_rtc): Likewise.
7211 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
7212 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
7213 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
7214 * grub-core/kern/i386/tsc.c (grub_tsc_init)
7215 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
7216 rather than installing known non-working time source.
7217 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
7218 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
7219 * include/grub/time.h: Don't include machine/time.h.
7220 * include/grub/efi/time.h: Removed.
7221 * include/grub/i386/efi/time.h: Likewise.
7222 * include/grub/i386/ieee1275/time.h: Likewise.
7223 * include/grub/powerpc/ieee1275/time.h: Likewise.
7224 * include/grub/sparc64/ieee1275/time.h: Likewise.
7225 * include/grub/x86_64/efi/time.h: Likewise.
7226
72272012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7228
7229 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
7230
7231 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
7232 value.
7233 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
7234 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
7235 with dotless variants when any combining above is present.
7236
5561c22d
VS
72372012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7238
7239 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
7240 text and not binary.
7241
96f7e60e
VS
72422012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7243
7244 Stop polling as soon as we have the packet we were waiting for.
7245
7246 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
7247 All users updated.
7248 * grub-core/net/arp.c (have_pending): New var.
7249 (pending_req): Likewise.
7250 (grub_net_arp_send_request): Fill pending_req and use have_pending as
7251 stop indicator.
7252 (grub_net_arp_receive): Set have_pending.
7253 * grub-core/net/dns.c (recv_data): New field stop.
7254 (recv_hook): Set stop.
7255 (grub_net_dns_lookup): Init stop and use as stop condition.
7256 * grub-core/net/http.c (http_establish): Use headers_recv as stop
7257 condition.
7258 * grub-core/net/net.c (grub_net_poll_cards): New argument
7259 stop_condition. Stop when it goes true.
7260 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
7261 indicator.
7262 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
7263
3e747239
VS
72642012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 Keep TX and RX buffers on EFI rather than always allocate new ones.
7267
7268 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
7269 card. All users updated.
7270 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
7271 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
7272 (get_card_packet): Likewise.
7273 (grub_efinet_findcards): Init new fields.
7274
f695e99a
VS
72752012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7276
7277 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
7278 compilation error on sparc64.
7279
9e5e66d1
VS
72802012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7281
7282 Use ITC on IA64 rather than broken routine based on daytime.
7283
7284 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
7285 ia64.
7286 (grub_get_rtc) [__ia64__]: Likewise.
7287 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
7288 (get_itc): New function.
7289 (grub_rtc_get_time_ms): Likewise.
7290 (grub_machine_init): Calibrate ITC.
7291 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
7292 Keep only on non-ia64. Don't export since it's broken and used only
7293 if TSC is unavailable.
7294
a1767404
VS
72952012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7296
7297 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
7298 even if it's used.
7299 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
7300 Skip if parent is unused.
7301
34b2bced
VS
73022012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7303
7304 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
7305
5e619f40
VS
73062012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7307
7308 Fix wildcard escaping.
7309
7310 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
7311 * grub-core/script/execute.c (wildcard_escape): .. to here.
7312 Don't escape dot.
7313 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
7314 * grub-core/script/execute.c (wildcard_unescape): .. to here.
7315 Don't escape dot.
7316 * grub-core/script/execute.c (gettext_append): Always escape.
7317 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
7318 * grub-core/script/yylex.l: Don't cut away the escaping.
7319 * tests/grub_script_echo1.in: Add tests with wildcard.
7320
c8ca5855
VS
73212012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7322
7323 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
7324 (ftdi_hw_configure): Likewise.
7325 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
7326 define.
7327 (real_config): Handle 1.5 stop bits.
7328 (pl2303_hw_configure): Likewise.
7329
7183452c
VS
73302012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7331
7332 * Makefile.am: Add ppc linux bootcheck.
7333 * grub-core/tests/boot/linux-ppc.cfg: New file.
7334 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
7335
f57c84cd
VS
73362012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7337
7338 * tests/grub_script_expansion.in: Skip network protocols.
7339
ecfc6207
VS
73402012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7341
7342 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
7343
8d03d284
VS
73442012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7345
7346 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
7347 --rom-directory.
7348 Add -graft-points.
7349
61c42af0
VS
73502012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7351
7352 ESCC serial driver for conducting sautomated tests in qemu.
7353 Not tested on real hardware.
7354
7355 * include/grub/serial.h (grub_serial_port): New field escc_desc.
7356 * grub-core/term/ieee1275/escc.c: New file.
7357 * grub-core/Makefile.core.def (escc): New module.
7358
08fd1291
VS
73592012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7360
7361 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
7362 invalid on error.
7363 (serial_hw_fetch): Don't read invalid handle.
7364 (serial_hw_put): Don't write into invalid handle.
7365
08dafeea
VS
73662012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7367
7368 Add a 1.5 stop bits value.
7369
7370 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
7371 * include/grub/serial.h (grub_serial_stop_bits_t): Add
7372 GRUB_SERIAL_STOP_BITS_1_5.
7373
9068fdcf
VS
73742012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7375
7376 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
7377 value rather than let it uninited.
7378
f4d5820f
VS
73792012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7380
7381 * grub-core/commands/wildcard.c (+check_file): New function.
7382 (wildcard_expand): Don't expand to non-existing files, expand with
7383 suffix and not attempt to expand if not needed.
7384
3d2de9a7
VS
73852012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7386
7387 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
7388 out of partitions containing other partitions.
7389
c5c81ff9
VS
73902012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
7393 on some qemu versions with GRUB.
7394
7395 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
7396 define.
7397 (grub_openbsd_bootarg_pcibios): New struct.
7398 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
7399 Add PCIINFO.
7400
08a14e0b
VS
74012012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7402
7403 * tests/util/grub-shell.in: Trim firmware output on EFI.
7404
cede3ca3
VS
74052012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7406
7407 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
7408 and coreboot since it's already in kernel.
7409
558d3a60
VS
74102012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7411
7412 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
7413 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7414 to here. New return value start. All users updated.
7415 Recursively scan linear mappings.
7416 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
7417 proto.
7418 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7419 Use grub_util_get_dm_node_linear_info.
7420 * util/getroot.c (convert_system_partition_to_system_disk): Use
7421 grub_util_info rather than grub_dprintf.
7422 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
7423
60fde14d
VS
74242012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7425
7426 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
7427
7428 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
7429 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
7430
24bd8838
VS
74312012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7432
7433 * include/grub/types.h (grub_set_unaligned64): New function.
7434 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
7435 (setup): Likewise.
7436
7bc06a49
VS
74372012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
7440 (grub_ofdisk_fini): Quiesce USB devices.
7441
49cea015
VS
74422012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7443
7444 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
7445 caches.
7446
8dcbe03b
VS
74472012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7448
7449 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
7450
5b258735
VS
74512012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7452
7453 * grub-core/disk/pata.c (grub_pata_pio_read)
7454 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
7455 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7456
37ba07eb
VS
74572012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 Extend automated tests to qemu-mips.
7460
7461 * Makefile.am: reorganise tests and enable qemu-mips.
7462 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
7463 * grub-core/tests/boot/linux.init-mips.S: New file.
7464 * tests/partmap_test.in: Handle ata0 disks.
7465 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
7466 non-pc i386.
7467
070038f8
VS
74682012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7469
7470 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
7471 ia64.
7472 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
7473 quotes while on it.
7474
004be2cd
VS
74752012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7476
7477 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
7478 (grub_halt): Likewise.
7479 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
7480
b1622487
VS
74812012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7482
7483 * grub-core/term/serial.c (grub_serial_register)
7484 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
7485 the behaviour in line with x86 platforms.
7486
b7b4ab33
VS
74872012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7488
7489 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
7490 (grub_ata_strncpy): Likewise.
7491 (grub_ata_identify): Add missing byteswaps.
7492
5e3535ae
VS
74932012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7494
7495 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
7496 byte-swap.
7497 (screen_read_char): Likewise.
7498 (grub_vga_text_cls): Likewise.
7499
c21b17e6
VS
75002012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7501
7502 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
7503 filenames.
7504 (make_file_path): Likewise.
7505
bf293dec
VS
75062012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7507
7508 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
7509 machines.
7510 Tested by: Paulo Flabiano Smorigo.
7511 Crucial information about API supplied by: Coleen <Last name unknown>.
7512 Reviewed by: Coleen <Last name unknown>.
7513
81f6ef0e
VS
75142012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7515
7516 * util/grub-mkimage.c: Disable -Wcast-align.
7517
7284143a
VS
75182012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7519
7520 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
7521 as they are fatal.
7522
b99f3e00
VS
75232012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7524
7525 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
7526
944f752d
VS
75272012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 * util/grub-probe.c (escape_of_path): Fix double free.
7530
6cce6f38
VS
75312012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7532
7533 * grub-core/commands/videoinfo.c (hook): Show pitch.
7534
1e1eb50e
VS
75352012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7536
7537 * util/grub.d/20_linux_xen.in: Skip xen-syms.
7538
1c715b5a
VS
75392012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7540
7541 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
7542 (probe): Add ieee1275 to OFW devices.
7543
007ae52d
VS
75442012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7545
7546 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
7547
4557a36d
VS
75482012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7549
7550 Handle IBM OFW path.
7551
7552 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
7553 available.
7554 (of_path_of_scsi): Handle vdevice.
7555
efbeefe9
VS
75562012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7557
7558 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
7559 Allocate in multiples of 16 to avoid adding a few bytes free region the
7560 windows bugs upon.
7561
15a940bb
VS
75622012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7563
7564 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
7565 Allocate in multiples of 16 to avoid adding a few bytes free region the
7566 windows bugs upon.
7567 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
7568
6e5efd60
VS
75692012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7570
7571 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
7572 resolutions.
7573 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
7574 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
7575
0d3d137e
IS
75762012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
7577
7578 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
7579
45dbe300
VS
75802012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7581
7582 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
7583 resulted in \\ at the end of the line.
7584
6d8db947
VS
75852012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7586
7587 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
7588 (grub_parser_cmdline_state): Likewise.
7589 (grub_parser_split_cmdline): Likewise.
7590
de89d338
VS
75912012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
7594 /dev/root and /dev/dm-*.
7595
00d41dee
VS
75962012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
7599 fix partially stale display.
7600
f95d1f11
VS
76012012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7602
7603 * grub-core/normal/menu_entry.c (backward_char): Use right line for
7604 substraction.
7605
6297e197
VS
76062012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7607
7608 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
7609 Fix MBR remapping workaround.
7610 (grub_util_biosdisk_read) [__linux__]: Likewise.
7611
8a7ecad3
VS
76122012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
7613
7614 * util/grub-install.in: Check for ieee1275 and not ieee1276.
7615
2b34f944
VS
76162012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7617
7618 * configure.ac: Bump to beta6.
7619
684aef11
CW
76202012-05-31 Christer Weinigel <christer@weinigel.se>
7621
7622 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
7623
05b0bb91
VS
76242012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
7627 (grub_cmd_linux): Likewise.
7628
bda36bfa
CW
76292012-05-31 Christer Weinigel <christer@weinigel.se>
7630
7631 Fix EHCI low-speed.
7632
7633 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
7634 (GRUB_EHCI_MULT_TWO): Likewise.
7635 (GRUB_EHCI_MULT_THREE): Likewise.
7636 (GRUB_EHCI_CMASK_MASK): New enum value.
7637 (GRUB_EHCI_SMASK_MASK): Likewise.
7638 (GRUB_EHCI_CMASK_OFF): Likewise.
7639 (GRUB_EHCI_SMASK_OFF): Likewise.
7640 (grub_ehci_pci_iter): Enable periodic schedule.
7641 (grub_ehci_parse_notrun): Likewise.
7642 (grub_ehci_restore_hw): Likewise.
7643 (grub_ehci_setup_qh): Set flags for low speed transfers.
7644 (grub_ehci_find_qh): Use periodic list for low speed.
7645 (grub_ehci_setup_transfer): Check periodic queue as well.
7646 (grub_ehci_check_transfer): Likewise.
7647 (grub_ehci_cancel_transfer): Cancel periodic transfer.
7648
e12bcb1c
PFS
76492012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7650
7651 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
7652 parameter is used.
7653
bcc75fb3
PJ
76542012-05-31 Peter Jones <pjones@redhat.com>
7655
7656 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
7657 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
7658 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
7659
f19cb95e
VS
76602012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7661
7662 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
7663 uninited variable. Allocate at least setup_sects.
7664
a4e5ca80
VS
76652012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7666
7667 Fix handling of EFI with big memory maps.
7668
7669 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
7670 (real_mode_mem): Likewise.
7671 (real_mode_target): Likewise.
7672 (real_mode_pages): Likewise.
7673 (prot_mode_pages): Likewise.
7674 (linux_params): New var.
7675 (linux_cmdline): Likewise.
7676 (free_pages): Don't set real mode variables.
7677 (allocate_pages): Don't allocate real mode memory.
7678 (grub_e820_add_region): Remove the limit.
7679 (grub_linux_boot): Allocate and copy real mode memory.
7680 (grub_linux_unload): Free linux_cmdline.
7681 (grub_cmd_linux): Use temporary storage for parameters.
7682 (grub_cmd_initrd): Likewise.
7683 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
7684 (linux_kernel_params): Make it 1K big.
7685
ddb73558
VS
76862012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7687
7688 * Makefile.util.def: Remove -Wno-format.
7689 * grub-core/Makefile.core.def: Likewise.
7690
1c4afb60
VS
76912012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7692
7693 * tests/cmp_unit_test.c: Add missing failure message.
7694 * tests/example_unit_test.c: Likewise.
7695 * tests/printf_unit_test.c: Likewise.
7696
941e3a6d
VS
76972012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
7700 relaxation of protective MBR requirements.
7701
b105df76
VS
77022012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7703
7704 * configure.ac: Add condition for COND_HOST_XNU.
7705 * Makefile.util.def (10_xnu): New script.
7706 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
7707
84e1569e
VS
77082012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7709
7710 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
7711 objconv bug.
7712
130c0f77
VS
77132012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7714
7715 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
7716 Binary on other platforms stays identical.
7717
6fd0b143
VS
77182012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7719
7720 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
7721 Apple.
7722
0af1751d
VS
77232012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7724
7725 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
7726
176d5f7d
VS
77272012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
7730 rather than defining size_t ourselves to avoid conflict.
7731
7de5e20a
VS
77322012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7733
7734 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
7735 initialisation to avoid __bzero reference.
7736
f7143efe
VS
77372012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7738
7739 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
7740 version.
7741 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
7742 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
7743 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
7744 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
7745 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
7746
e6ad0555
VS
77472012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7748
7749 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
7750 * grub-core/kern/misc.c: Likewise.
7751 * grub-core/loader/i386/xnu.c: Likewise.
7752 * include/grub/i386/tsc.h: Likewise.
7753 * include/grub/symbol.h: Likewise.
7754
4a5a3c4a
VS
77552012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7756
7757 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
7758 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
7759 on older compiler.
7760
037f6d90
VS
77612012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7762
7763 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
7764 Implement Apple flavour.
7765 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
7766
f7194551
VS
77672012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7768
7769 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
7770 (memmove) [__APPLE__]: Likewise.
7771 (memcpy) [__APPLE__]: Likewise.
7772 (memset) [__APPLE__]: Likewise.
7773 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
7774 (memmove) [__APPLE__]: Likewise.
7775 (memcpy) [__APPLE__]: Likewise.
7776 (memset) [__APPLE__]: Likewise.
7777
85a730ca
VS
77782012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7779
7780 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
7781 dependency discard.
7782
40e80b94
VS
77832012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7784
7785 * grub-core/normal/main.c (read_config_file): Provide config_file and
7786 config_directory.
7787 * util/grub.d/41_custom.in: Use config_directoy when available.
7788
9da59c32
VS
77892012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7790
7791 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
7792 (grub_bfs_dir): Likewise.
7793
2787ae53
PJ
77942012-05-27 Peter Jones <pjones@redhat.com>
7795
7796 The old code gives arguments to a printf function which can't work
7797 correctly, and the compiler complains.
7798
7799 * grub-core/tests/example_functional_test.c (example_test): Add
7800 missing text.
7801 * grub-core/tests/lib/test.c (add_failure): Rewrite.
7802 * include/grub/test.h (grub_test_assert_helper): New declaration.
7803 (grub_test_assert): Use grub_test_assert_helper.
7804
526ef13d
VS
78052012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7806
7807 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
7808 (exfctest): ... this to avoid overlong filenames.
7809 All users updated.
7810
20dd511c
VS
78112012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7812
7813 Handle "." and ".." on squashfs.
7814
7815 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
7816 Make inode numbers into stack.
7817 (grub_squash_read_symlink): Use stack.
7818 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
7819 (make_root_node): Fill stack.
7820 (grub_squash_open): Use stack.
7821
1d80c62a
VS
78222012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7823
7824 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
7825 freeing.
7826
d336f652
VS
78272012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7828
7829 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
7830 stderr on test calls.
7831
8b43f587
VS
78322012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7833
7834 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
7835
80a3dc3f
VS
78362012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7837
7838 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
7839
47e297d4
VS
78402012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7841
7842 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
7843 "..".
7844
df042ccb
VS
78452012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
7848 (grub_hfsplus_iterate_dir): Add "." and "..".
7849
fc977f48
VS
78502012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7851
7852 * grub-core/fs/cpio.c (canonicalize): Handle "..".
7853 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
7854
f3250e5f
VS
78552012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7856
7857 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
7858 (find_path): Handle "." and "..".
7859
fd8ed4c5
VS
78602012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7861
7862 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
7863 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
7864 (grub_affs_iterate_dir): Handle hardlinks.
7865
4ce776d2
MG
78662012-05-26 Matthew Garrett <mjg@redhat.com>
7867
7868 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
7869 (grub_efi_console_fini): Likewise.
7870 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
7871 (grub_video_gop_fill_mode_info): Rename to ...
7872 (grub_video_gop_fill_real_mode_info): ... this.
7873 (grub_video_gop_fill_mode_info): New function.
7874 (grub_video_gop_setup): Setup double framebuffer.
7875 (grub_video_gop_get_info_and_fini): Use original framebuffer.
7876 Free offscreen.
7877 (grub_video_gop_swap_buffers): Copy framebuffer.
7878 (grub_video_gop_fini): Free offscreen buffer.
7879 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
7880 New enum.
7881 (grub_efi_gop_blt_pixel): New struct.
7882
683031ba
VS
78832012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7884
7885 * gentpl.py: Remove error disabling for objconv.
7886
c2deb798
VS
78872012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7888
7889 * configure.ac: Remove -Wunitialized as it's not available on older
7890 compilers.
7891
78922012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
7893
7894 Fix extent overflow comparator.
7895
7896 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
7897 (grub_hfsplus_read_block): Set type.
7898 (grub_hfsplus_cmp_extkey): Compare type.
7899
d6b1fd36
VS
79002012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
7901
7902 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
7903
0a9aa0f6
VS
79042012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
7907 than 0.
7908
8360e159
VS
79092012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
7912 (dejavu_bold_14.pf2): New target.
7913
501b9e4b
VS
79142012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7915
7916 * configure.ac: Fix djvu font detection.
7917
7026b0e2
VS
79182012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7919
7920 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
7921 ext* instead of ext2.
7922
c2a51ade
VS
79232012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7924
7925 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
7926 name with \0.
7927
8f803a5d
JU
79282012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
7929
7930 * docs/grub-dev.texi: Remove dot from .png.
7931
13c6353f
VS
79322012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7933
7934 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
7935 protective entry in any slot.
7936 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
7937 if protective entry is found in any slot.
7938
7939 Protective entry in non-first slot make no sense but is a widespread
7940 brain damage.
7941
4cf6be1b
VS
79422012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7943
7944 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
7945
937d1c44
VS
79462012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7947
7948 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
7949 with old reiserfs.
7950 (grub_reiserfs_open): Don't free root.
7951
021d90ec
VS
79522012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7953
7954 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
7955 after freeing for safety.
7956
967b2b64
VS
79572012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7958
7959 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
7960 Reported by: Jordan Uggla.
7961
34274d02
JU
79622012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
7963
967b2b64
VS
7964 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
7965 actual implementation. Specifically, clarify that the grub menu will
7966 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
7967 passed.
34274d02 7968
dcaaae9d
BH
79692012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
7970
7971 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
7972 of r0.
7973
7086ad52
VS
79742012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7975
7976 Remove unjustified hard dependency of normal.mod on gfxterm.
7977
7978 * include/grub/term.h (grub_term_output): New member fullscreen.
7979 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
7980 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
7981 (grub_gfxterm): Set .fullscreen.
7982 * grub-core/normal/menu.c (menu_init): Use fullscreen.
7983 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
7984
37ed2c9b
VS
79852012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7986
7987 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
7988 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 7989 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 7990
a4469c88
VS
79912012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7992
7993 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
7994
4e461486
VS
79952012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7996
7997 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
7998 a bad FS.
7999
aa78f5c4
VS
80002012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8001
8002 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
8003 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
8004
197626b5
VS
80052012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8006
8007 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
8008 (grub_jfs_mount): Fill caseins.
8009 (grub_jfs_find_file): Respect caseins.
8010
8ad3f28c
VS
80112012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8012
8013 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
8014 through UTF-16.
8015
0c6c324e
VS
80162012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8017
8018 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
8019 New argument origpath. All users updated.
8020
c6666ba6
VS
80212012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8022
8023 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
8024 (read_attr): Ensure that we read start of possibly compressed block.
8025
e28e5fe5
VS
80262012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8027
8028 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
8029 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
8030 All users updated.
8031
5fc23ab2
VS
80322012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8033
8034 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
8035 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
8036 (dejavu.pf2): Replace with ...
8037 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
8038 this.
8039
79dbc21c
VS
80402012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 * util/grub.d/20_linux_xen.in: Add missing line.
8043
d2fcfb0c
VS
80442012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8045
8046 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
8047 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
8048 (grub_utf16_to_utf8): Likewise.
8049
5560e9d6
VS
80502012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8051
8052 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
8053 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
8054 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8055 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
8056 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8057 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
8058
80592012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
8060
8061 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8062 a bad FS.
8063
5560e9d6 80642012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
8065
8066 * grub-core/fs/udf.c (read_string): Bail out on size=0.
8067 (grub_udf_read_symlink): Handle read_string failure.
8068
5eae3175
VS
80692012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8070
8071 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
8072 comment.
8073
c1ad82db
VS
80742012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8075
8076 Fix handling of UDF symlinks.
8077
8078 * grub-core/fs/udf.c (read_string): New argument outbuf.
8079 All users updated.
8080 (grub_ufs_read_symlink): Rename to ...
8081 (grub_udf_read_symlink): ... this. All users updated.
8082 Handle symlinks with more than one component.
8083
33eca6e0
VS
80842012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8085
8086 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
8087 symlinks. Replace leading colon with a slash.
8088
57f4a70b
VS
80892012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8090
8091 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
8092 filename.
8093
38c8ee20
VS
80942012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
8097 match in inner node.
8098
2e57f28f
VS
80992012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8100
8101 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
8102 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
8103 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
8104 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
8105 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
8106 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
8107 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
8108 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
8109 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
8110
fe8c2f11
VS
81112012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
8112
8113 Use grub-probe and not cmp to check that disk is empty.
8114
8115 * util/grub-install.in: Use grub-probe for zero-check.
8116 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
8117 (probe): Handle PRINT_ZERO_CHECK.
8118 (argp_parser): Handle -t zero_check.
8119
81202012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
8121
8122 Flush block cache on adding disk to device map.
8123
8124 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
8125 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
8126 adding.
8127 (read_device_map): Likewise.
8128 (open_device): Flush on opening.
8129
690434e8
VS
81302012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8131
8132 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
8133 (handle_symlink): Fix off-by-one error.
8134 Canonicalize the target.
8135 (grub_cpio_dir): Canonicalize the name.
8136 Fix memory leak.
8137 Set directory.
8138 (grub_cpio_open): Canonicalize the name.
8139
742d2be6
VS
81402012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8141
8142 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
8143 handling.
8144
3244fe96
VS
81452012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8146
8147 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
8148 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
8149
8aeb1837
VS
81502012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8151
8152 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
8153 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 8154 All users updated.
8aeb1837 8155
9133fd05
VS
81562012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8157
8158 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
8159 counterpart.
8160
6d521c5b
VS
81612012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8162
8163 Fix UFS1 big file support.
8164
8165 * grub-core/fs/ufs.c (INODE): Removed.
8166 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
8167 64-bit.
8168 (INODE_MODE): Simplify.
8169 (grub_ufs_inode): Use uint64_t for size and not int64_t.
8170 (grub_ufs_lookup_symlink): Don't use INODE.
8171
21b82e17
VS
81722012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8173
8174 Fix minixfs with non-power-of-two blocks since it's supported by minix.
8175
8176 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
8177 (grub_minix_data): Replace log_block_size with block_size.
8178 (grub_minix_read_file): Use block_size but avoid 64-bit division.
8179 (grub_minix_mount): Fill block_size.
8180
81812012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
8182
8183 * configure.ac: Bump to beta5.
8184
f417ed04
VS
81852012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8186
8187 Fix wrapped HFS+ handling.
8188
8189 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
8190 blocks_start. All users updated.
8191 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
8192 wrapping offset.
8193 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
8194
607d282b
VS
81952012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8196
8197 Fix long symlinks on reiserfs.
8198
8199 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
8200 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
8201 (grub_reiserfs_iterate_dir): Save size for non-directories.
8202 (grub_reiserfs_open): Don't reread stat block as we already know the
8203 size.
8204 (grub_reiserfs_read): Split into...
8205 (grub_reiserfs_read_real): ... and ...
8206 (grub_reiserfs_read): ...this.
8207
ae16024d
VS
82082012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8209
8210 Fix non-indexed JFS.
8211
8212 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
8213 (grub_jfs_data): New field namecomponentlen.
8214 (grub_jfs_mount): Fill namecomponentlen.
8215 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
8216
eea1e26e
VS
82172012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8218
8219 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
8220 * tests/grub_script_echo1.in: Add tests.
8221
df760f77
VS
82222012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 * util/grub-install.in: Ignore empty devicetree directory.
8225
5efb817d
B
82262012-05-08 Bean <bean123ch@gmail.com>
8227
8228 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
8229 All users updated.
8230 (free_rsm): Free header as well.
8231 (free_old_fragments): Fix memory leak.
8232 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
8233 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
8234 (destroy_pq): Likewise.
8235 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
8236
668ea6d2
VS
82372012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8238
8239 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
8240 resulting hash as a precaution.
8241
1739b1fe
VS
82422012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8243
8244 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
8245 '_' in variable names.
8246 * grub-core/net/net.c (grub_net_network_level_interface_register):
8247 Likewise.
8248
6ae485aa
VS
82492012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8250
8251 Fix AFFS with non-512B blocks.
8252
8253 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
8254 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
8255 (grub_affs_data): Replace blocksize with log_blocksize.
8256 (grub_affs_read_block): Fix non-512B blocks.
8257 (grub_affs_read_symlink): Likewise.
8258 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
8259 (grub_affs_read): Fix non-512B blocks.
8260 (grub_affs_label): Likewise.
8261 (grub_affs_mtime): Likewise.
8262 (grub_affs_mount): Fix block detection routine.
8263
d20fab84
VS
82642012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8265
8266 Add filesystem mtime to AFFS.
8267
8268 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
8269 (aftime2ctime): New function.
8270 (grub_affs_dir): Use aftime2ctime.
8271 (grub_affs_label): Fix return value.
8272 (grub_affs_mtime): New function.
8273 (grub_affs_fs): Add mtime.
8274
e87b10f5
VS
82752012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8276
8277 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
8278 UTF-8.
8279
7dceec9b
VS
82802012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8281
8282 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
8283 UTF-8.
8284
2f48221f
VS
82852012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8286
8287 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
8288
dacd85cf
VS
82892012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
8292 flags.
8293 (FLAGS_CASE_SENSITIVE): New enum value.
8294 (cache_entry): New struct.
8295 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
8296 cache_size and cache.
8297 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
8298 Add log_blocksize and fshelp_flags.
8299 (grub_sfs_read_extent): Handle non-512 blocks.
8300 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
8301 (grub_sfs_read_file): Handle non-512 blocks.
8302 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
8303 fshelp_flags.
8304 (grub_sfs_read_symlink): Handle non-512 blocks.
8305 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
8306 (grub_sfs_dir): Free cache.
8307 (grub_sfs_close): Likewise.
8308
24e9a854
VS
83092012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8310
8311 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
8312 filesystems.
8313
62ace64d
VS
83142012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8315
8316 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
8317
83b2e89c
VS
83182012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
8321
75ccaea3
VS
83222012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8323
8324 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
8325 (grub_sfs_read_extent): Likewise.
8326 (grub_sfs_read_block): Likewise.
8327 (grub_sfs_mount): Likewise.
8328 (grub_sfs_iterate_dir): Likewise.
8329 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
8330 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
8331
1b8463f2
VS
83322012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8333
8334 Fix errors on compressed NTFS with 512B clusters.
8335
8336 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
8337 types.
8338 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
8339 not 0.
8340 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
8341 Relax check for inline extents.
8342 (ntfscomp): Return correct -1 on error and not 0.
8343
4f8e368f
VS
83442012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8345
8346 * util/grub-install.in: Fix handling of prefix containing spaces.
8347
6f5d5ee8
VS
83482012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8349
8350 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
8351 (grub_squash_read_data): Fix offset byte-swapping.
8352
ce41ab7a
VS
83532012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
8356 per common usage and preffered in several parts of code.
8357 (grub_memcmp): Likewise.
8358 (grub_strncmp): Likewise.
8359 * include/grub/misc.h (grub_strcasecmp): Likewise.
8360 (grub_strncasecmp): Likewise.
8361 * Makefile.util.def (cmp_test): New test.
8362 (grub_script_strcmp): Likewise.
8363 * tests/cmp_unit_test.c: New file.
8364 * tests/grub_script_strcmp.in: Likewise.
8365 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
8366
49717bf4
VS
83672012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8368
8369 * include/grub/pci.h: Move enums into no-asm part.
8370
0a308f64
VS
83712012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
8374
1796965f
ST
83752012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
8376
8377 * util/getroot.c (find_hurd_root_device): Try to make error message
8378 and comments to translators clearer.
8379
4e9b2819
VS
83802012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8381
8382 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
8383
076aeb50
VS
83842012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8385
8386 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
8387 btrfs.
8388
19424d94
VS
83892012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8390
8391 * docs/grub.cfg: Update.
8392
ebb73076
VS
83932012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8394
8395 * docs/grub.texi (PXE): Remove not present variables.
8396
9a1b669c
VS
83972012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8398
8399 * grub-core/net/net.c (defserver_set_env): New function.
8400 (defserver_get_env): Likewise.
8401 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
8402
d38bf7d3
VS
84032012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8404
8405 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
8406 entries.
8407
84082012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
8409
8410 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
8411 * grub-core/kern/emu/hostdisk.c: Likewise.
8412
e5e4ca48
ST
84132012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8414
8415 Handle hurd userspace partitions.
8416
8417 * util/getroot.c (find_hurd_root_device): New function.
8418 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
8419
56bb5dd5
VS
84202012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8421
8422 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
8423 names.
8424 Reported by: Bastian Blank.
8425
9e8bc27a
VS
84262012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8427
8428 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
8429 crossing page boundary.
8430
aa01499d
VS
84312012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8432
8433 Fix B-tree search in BFS, especially in presence of non-ASCII
8434 characters.
8435
8436 * grub-core/fs/bfs.c (bfs_strcmp): New function.
8437 (find_in_b_tree): Use standard bsearch + btree algorithm.
8438
57006035
VS
84392012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
8442 and so on.
8443
9d34bb85
MG
84442012-05-03 Matthew Garrett <mjg@redhat.com>
84452012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8446
8447 Suspend broadcom cards in order to stop their DMA.
8448
8449 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
8450 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
8451 (pci): Don't build on x86 EFI.
8452 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
8453 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
8454 New function.
8455 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
8456 stop_broadcom if running on EFI.
8457 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
8458 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
8459 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
8460 (grub_pci_find_capability): New proto.
8461
01aab997
VS
84622012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8463
8464 * docs/grub.texi: Remove dot from the extension as it apparently
8465 doesn't work with some makeinfo versions.
8466
fbd8dca6
VS
84672012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8468
8469 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
8470 with GRUB expectance.
8471
dab797f4
VS
84722012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8473
8474 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
8475
1516bfb4
VS
84762012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8477
8478 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
8479 zero after directory block since last entry may be not 0-terminated if
8480 it ends on block boundary. Use continue instead of if spanning whole
8481 loop.
8482
a3a0eace
VS
84832012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8484
8485 Support 4K sectors UDF inline files.
8486
8487 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
8488 (grub_udf_extended_file_entry): Likewise.
8489 (grub_fshelp_node): Name the anonymous union. Put block at the end.
8490 All users updated.
8491 (get_fshelp_size): New function.
8492 (grub_udf_read_icb): Read whole block.
8493 (grub_udf_iterate_dir): Likewise.
8494 (grub_udf_dir): Likewise.
8495 (grub_udf_open): Likewise.
8496
c82f16c1
VS
84972012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8498
8499 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
8500
59fd2aac
VS
85012012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8502
8503 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
8504 inline symlinks in addition to workaround.
8505
3b4afb4d
VS
85062012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8507
8508 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
8509
f45c794a
VS
85102012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8511
8512 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
8513
f25cecbd
VS
85142012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8515
8516 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
8517
bb9a34e8
VS
85182012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8519
8520 Fix reiserfs big seek times.
8521
8522 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
8523 exact. All users updated.
8524 (grub_reiserfs_read): Use nearest btree search for seeking.
8525 Fix return value on error.
8526
dc478aea
VS
85272012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8528
8529 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
8530 entries.
8531 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
8532 * docs/grub.texi: Update menuentry description.
8533
8db10f47
VS
85342012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8535
8536 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
8537 crash when embedding onto filesystem.
8538
bcb288ed
VS
85392012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8540
8541 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
8542 name.
8543
a626fdd7
VS
85442012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8545
8546 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
8547
b2f68477
VS
85482012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8549
8550 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
8551 commit.
8552
ba15b2af
B
85532012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
85542012-05-01 Bean <bean123ch@gmail.com>
8555
8556 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
8557
a188012e
VS
85582012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8559
8560 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
8561 Special behaviour for len = 0 to read whole file isn't used anywhere and
8562 can cause buffer ovewrflows in several places.
8563
f0a53ed2
VS
85642012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8565
8566 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
8567
5ed554f0
VS
85682012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8569
8570 Handle RAIDZ on non-512B sectors.
8571
8572 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
8573 max_children_ashift.
8574 (fill_vdev_info_real): Fill max_children_ashift.
8575 (read_device): Use max_children_ashift.
8576
ddc58357
VS
85772012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8578
8579 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
8580
e3282399
VS
85812012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8582
8583 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
8584 disk names.
8585 * docs/grub.texi: Update device.map parts.
8586
ee618bd4
VS
85872012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 Don't scan into non-diskfilter devices having diskfilter names.
8590
8591 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
8592 (scan_disk): New argument accept_diskfilter. Fix recursion depth
8593 handling.
8594 (scan_disk_hook): New function.
8595
bdf88864
B
85962012-04-29 Bean <bean123ch@gmail.com>
8597
8598 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
8599 allocation.
8600
32745f51
MK
86012012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
8602
8603 * configure.ac: Detect starfield theme font path
8604 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
8605
bc95c8c0
VS
86062012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8607
8608 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
8609 geometry on serial consoles.
8610
147fbcab
VS
86112012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8612
8613 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
8614 because of network consoles.
8615
0f42c889
VS
86162012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8617
8618 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
8619 handling.
8620
4a3594c9
VS
86212012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8622
8623 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
8624 falls on Q syndrom.
8625
5cb53879
VS
86262012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8627
8628 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
8629 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
8630
b282dfe5
VS
86312012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8632
8633 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
8634 Allocate at lest 8192 for temporary buffer as required for lzo.
8635
daa59f47
VS
86362012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8637
8638 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
8639 to cluster_bits, since it's already added in.
8640 (grub_fat_read_data): Likewise.
8641
986748ce
VS
86422012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8643
8644 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
8645 as long as cluster size is multiple of 512 bytes.
8646
a20f6ad0
VS
86472012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8648
8649 * util/grub-mkrescue.in: Fix locale directory.
8650
385f9abb
VS
86512012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8652
8653 * grub-core/kern/emu/hostdisk.c (map): Make static.
8654
1c557d30
B
86552012-04-23 Bean <bean123ch@gmail.com>
8656
8657 * util/grub-fstest.c (fstest): Add missing break.
8658
524b5d3a
ST
86592012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
8660
8661 Fix hurd build.
8662
8663 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
8664 not define nr variable.
fe4824e9 8665 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
8666 find_root_devices_from_poolname, find_root_devices_from_libzfs,
8667 grub_find_device): Do not define.
524b5d3a 8668
9a06490c
VS
86692012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8670
8671 Fix kfreebsd compile and behaviour.
8672
8673 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
8674 format-security.
8675 * util/getroot.c: Fix wait.h include.
8676 (grub_guess_root_devices): Error if grub_find_device fails.
8677 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
8678 (grub_util_get_dev_abstraction): Likewise.
8679 (grub_util_pull_device): Likewise.
8680 (grub_util_get_grub_dev): Likewise.
8681 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
8682
48143d96
VS
86832012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8684
8685 Fix and unify wholedisk detection.
8686
8687 * util/getroot.c (convert_system_partition_to_system_disk): New argument
8688 is_part. All users updated.
8689 (device_is_wholedisk): Removed.
8690 (grub_util_biosdisk_get_grub_dev): Use is_part.
8691
ebbd24f3
VS
86922012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8693
8694 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
8695 mode.
8696
56f7aa1e
VS
86972012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8698
8699 * configure.ac: Bump to beta4.
8700
9c815e01
VS
87012012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8702
8703 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
8704 --fs-uuid --set UUID syntax.
8705
59e2651a
VS
87062012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8707
8708 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
8709 disunification.
8710
54e03cfc
VS
87112012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
8714
81092a75
MK
87152012-04-18 Mads Kiilerich <mads@kiilerich.com>
8716
8717 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
8718
f8315e14
MG
87192012-04-18 Mike Gilbert <floppym@gentoo.org>
8720
8721 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
8722
1501ac21
B
87232012-04-18 Bean <bean123ch@gmail.com>
8724
8725 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
8726 place.
8727
cb7f944e
VS
87282012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
8731 users updated.
8732 (grub_util_biosdisk_read): Handle Linux partitions not exactly
8733 corresponding to GRUB partitions.
8734 (grub_util_biosdisk_write): Likewise.
8735
b72d44a1
VS
87362012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8737
8738 Scan mdraid before LVM.
8739
8740 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
8741 (grub_diskfilter_register_front): ... this.
8742 (grub_diskfilter_register_back): New function.
8743 All users of grub_diskfilter_register updated.
8744
33d918b8
VS
87452012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 * util/grub-install.in: Fix an automatic target detection bug.
8748
c6ca973d
VS
87492012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8750
8751 * util/grub-install.in: New option --efi-directory.
8752
b41be562
VS
87532012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8754
8755 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
8756 boot services if we have no other choice.
8757
87582012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
8759
8760 * util/grub-mknetdir.in: Rename --override-directory to --directory and
8761 document it.
8762 * tests/util/grub-shell.in: Update to --directory.
8763
e0595a73
VS
87642012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8765
8766 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
8767
4ed80652
VS
87682012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8769
8770 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
8771 (grub_minix_read_file): Likewise.
8772 (grub_minix_read_inode): Likewise.
8773 (grub_minix_find_file): Likewise.
8774 (grub_minix_dir): Likewise.
8775
56008077
VS
87762012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8777
8778 * util/grub-setup.c (setup): Fix partition handling and blocklist
8779 check.
8780
ee520775
VS
87812012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8782
8783 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
8784 redundant buggy overlap check.
8785
16fc9293
VS
87862012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8787
8788 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
8789 and grub-mknetdir.
8790
9bab65c4
VS
87912012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8792
8793 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
8794 kh.loadflags on pre-2.00 kernels.
8795
3c491b47
VS
87962012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8797
8798 Terminate UNDI and PXE before launching the payload to avoid problems
8799 with DMA.
8800
8801 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
8802 (grub_loader_flags): ... this. All users updated.
8803 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
8804 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
8805 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
8806 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
8807 function.
8808 (grub_pxe_restore): Likewise.
8809 (fini_hnd): New var.
8810 (GRUB_MOD_INIT): Register shutdown hook.
8811 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
8812 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
8813 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
8814 (grub_loader_set): Rename second argument to flags.
8815
851ffada
VS
88162012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8817
8818 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
8819 written bytes.
8820 (grub_get_num_of_utf8_bytes): New function.
8821 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
8822 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
8823 executing it.
8824 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
8825 (grub_ucs4_to_utf8): Change return type.
8826
491c57a8
VS
88272012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
8830 warning.
851ffada
VS
8831 * grub-core/fs/bfs.c (hop_level): Likewise.
8832 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 8833
756773df
VS
88342012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8835
8836 * grub-core/lib/adler32.c: Recode due to license unclearness.
8837
fd556a96
VS
88382012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8839
8840 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
8841 (test_header): Likewise.
8842
9f9d3f69
VS
88432012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8844
8845 Fix --help formatting.
8846
8847 * util/grub-mkconfig_lib.in (print_option_help): New function.
8848 (grub_fmt): Likewise.
8849 * util/grub-install.in: Use print_option_help and grub_fmt.
8850 * util/grub-kbdcomp.in: Likewise.
8851 * util/grub-mkconfig.in: Likewise.
8852 * util/grub-mknetdir.in: Likewise.
8853 * util/grub-mkrescue.in: Likewise.
8854 * util/grub-mkstandalone.in: Likewise.
8855 * util/grub-reboot.in: Likewise.
8856 * util/grub-set-default.in: Likewise.
8857 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8858
561ec77e
VS
88592012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 * linguas.sh: Remove autogenerated *.po.
8862
7ec2b021
VS
88632012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 * po/README: Move language fetcing to ...
8866 * linguas.sh: ... here.
8867 * po/README: Point to linguas.sh.
8868
a88f3270
VS
88692012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8870
8871 * po/README: Exclude ko.po due to disclaimer problems.
8872
d61357ce
VS
88732012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8874
8875 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
8876 len = 0.
8877 (grub_gettext_translate_real): Handle 0th string.
8878 (grub_gettext_translate): Ensure that "" isn't translated.
8879
505e41dc
VS
88802012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8881
8882 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
8883 TRANSLATORS comment.
8884 (grub_diskfilter_print_partmap): Propagate changing of error into
8885 warning.
8886
e44092db
VS
88872012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8888
8889 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
8890 to uint64_t to prevent overflow.
8891 (grub_diskfilter_lv): Increase start_extent and extent_count
8892 to uint64_t to prevent overflow.
8893
9b83956a
VS
88942012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8895
8896 * configure.ac: Increase version.
8897
da0d5b3f
VS
88982012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8899
8900 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
8901
8902 * po/Rules-translit: New file.
8903 * po/arabic.sed: Likewise.
8904 * po/cyrillic.sed: Likewise.
8905 * po/greek.sed: Likewise.
8906 * po/hebrew.sed: Likewise.
8907 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
8908 * po/Makefile.in.in: Add extra_dist4.
8909
ac66b453
VS
89102012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8911
8912 Handle big-endian minixfs (fixes minixfs tests on bigendian).
8913
8914 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
8915 modify names. Introduce MODE_BIGENDIAN.
8916 * grub-core/fs/minix_be.c: New file.
8917 * grub-core/fs/minix2_be.c: Likewise
8918 * grub-core/fs/minix3_be.c: Likewise.
8919 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
8920 minix3_be.
8921 * grub-core/Makefile.core.def (minix_be): New module.
8922 (minix2_be): Likewise.
8923 (minix3_be): Likewise.
8924
89252012-04-01 Felix <email@hamburg.de>
8926
8927 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
8928 (devs): Add MBP 2011.
8929
0a2d5a82
VS
89302012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8931
8932 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
8933
d1625889
VS
89342012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8935
8936 * grub-core/normal/cmdline.c (print_completion): New field
8937 prompt_len.
8938 (grub_cmdline_get): Handle width properly.
8939
6d36a236
VS
89402012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8941
8942 * grub-core/commands/lsacpi.c (options): Add missing terminator.
8943
9576977e
VS
89442012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8945
8946 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 8947 after 29th of February.
9576977e 8948
d73ff15d
VS
89492012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8950
8951 Fix exfat endianness handling.
8952
8953 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
8954 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
8955 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
8956 Byte-swap utf16 when necessary.
8957 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
8958
bbb39a45
AB
89592012-03-31 Anton Blanchard <anton@samba.org>
89602012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8961
8962 Fix btrfs endianness handling.
8963
8964 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
8965 (lower_bound): Make root uint64_t. Use root in le.
8966 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
8967 (find_path): Fix template key init.
8968 (grub_btrfs_dir): Fix mtime byteswap.
8969 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
8970
354e0af7
VS
89712012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8972
8973 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
8974 recursion_depth. Break infinite resursions. All users updated.
8975
4e75f21c
VS
89762012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8977
8978 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
8979 after free.
8980 Reported by: Peter Jones.
8981
25581802
AB
89822012-03-31 Anton Blanchard <anton@samba.org>
8983
8984 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
8985 8 bit values.
8986
08fbf92e
VS
89872012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8988
8989 * util/grub-install.in: Fix nvram call for PreP.
8990
5d1182a6
VS
89912012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8992
8993 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
8994 the error when some elements are missing into a warning.
8995
3f8cdd90
VS
89962012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8997
8998 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
8999
51006716
CW
90002012-03-28 Colin Watson <cjwatson@ubuntu.com>
9001
9002 * docs/grub.texi (Invoking grub-probe): New section.
9003 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
9004
e1bd676b
VS
90052012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9006
9007 Fix tab and wide character handling in editor and menu.
9008
9009 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
9010 agglomerate control characters with combining marks.
9011 (bidi_line_wrap): Allow break on tab.
9012 (grub_unicode_get_comb_start): New function.
9013 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
9014 and tab correctly.
9015 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
9016 with a space.
9017 * grub-core/normal/term.c (print_ucs4_terminal): New argument
9018 fixed_tab_size. All users updated.
9019 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
9020 (grub_term_getcharwidth): Handle \t.
9021 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
9022 and copy.
9023
22e6a774
VS
90242012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9025
9026 Handle big-endian mdraid.
9027
9028 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
9029 * grub-core/Makefile.core.def (mdraid09_be): New module.
9030 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
9031 rather than grub_le_to_cpu* and grub_cpu_to_le*.
9032 * grub-core/disk/mdraid_linux_be.c: New file.
9033
3c0eae66
VS
90342012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9035
9036 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
9037
b6cf74c9
VS
90382012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9039
9040 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9041 missing quotes which caused confusion among translators.
9042
83c93b9c
VS
90432012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9044
9045 * util/grub-mkconfig_lib.in: Fix typo.
9046
ac6fd218
VS
90472012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9048
9049 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
9050 spaces.
9051 * tests/grub_script_leading_whitespace.in: New file.
9052 * Makefile.util.def (grub_script_leading_whitespace): New test.
9053
ba287dd8
VS
90542012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9055
9056 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
9057 to work.
9058
d2d58d0a
VS
90592012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9060
9061 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
9062 starts with control character.
9063
0382d9bb
VS
90642012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9065
9066 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
9067 overflow.
9068 (grub_gdb_outbuf): Likewise.
9069
d83ff9f9
VS
90702012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9071
9072 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
9073 zero terminator. Fixes a crash.
9074
2282da4a
VS
90752012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9076
9077 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
9078 beyond 4 GiB.
9079 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
9080 images independently of preffered adderss field.
9081
0ae4f0bd
VS
90822012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9083
9084 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
9085 * grub-core/commands/regexp.c: Likewise.
9086 * grub-core/loader/i386/linux.c: Likewise.
9087 * grub-core/partmap/msdos.c: Likewise.
9088 * grub-core/script/execute.c: Likewise.
9089 * grub-core/term/gfxterm.c: Likewise.
9090
546fbe9b
VS
90912012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9092
9093 Add variable parsing in $"..." and fix several mismatches with bash.
9094
9095 * Makefile.util.def (grub_script_gettext): New test.
9096 * grub-core/script/execute.c (parse_string): New function.
9097 (gettext_append): Likewise.
9098 (grub_script_arglist_to_argv): Use gettext_append.
9099 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
9100 * tests/grub_script_gettext.in: New file.
9101
9fdb2d7b
VS
91022012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9103
9104 Fix handling of leading spaces in scripts.
9105
9106 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
9107 spaces.
9108 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
9109 other than skipping \r. All users updated.
9110 * tests/grub_script_echo1.in: Add space-related tests.
9111 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
9112
1a1ac4f6
VS
91132012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9114
9115 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
9116
b63d89b6
VS
91172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9118
9119 * configure.ac: Bump up the version to beta2.
9120
17f38c0f
VS
91212012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9122
9123 Fix gettext reload bugs (e.g. inability to disable gettext
9124 once enabled).
9125
9126 * grub-core/gettext/gettext.c: Encapsulate all static variables in
9127 main_context and secondary_context. All functions updated.
9128 (grub_gettext_translate): Rename to ...
9129 (grub_gettext_translate_real): ... this. Return NULL on failed
9130 translate.
9131 (grub_gettext_translate): Handle secondary context.
9132 (grub_gettext_delete_list): Close file and zero-out the context.
9133 (grub_mofile_open): Don't call grub_gettext_delete_list.
9134 Don't close file.
9135 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
9136 if locale="" to avoid pointless error message.
9137 (grub_gettext_env_write_lang): Update lang even if load fails.
9138 Handle secondary context.
9139 (grub_gettext_reread_prefix): New function.
9140 (read_main): Likewise.
9141 (read_secondary): Likewise.
9142 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
9143 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
9144 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
9145 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
9146
8e56f870
VS
91472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9148
9149 * configure.ac: Decrease warning level to avoid spurious warnings and
9150 to be able to compile with GCC 4.2.
9151 * Makefile.util.def: Remove -Wno-error=logical-op.
9152
82f6d455
WB
91532012-03-10 William Bittner <william.bittner@gmail.com>
9154
9155 * util/import_unicode.py: Add missing brackets around string for
9156 python 3 support.
9157
1ecd61a4
VS
91582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9159
9160 Fix efi chainloader on network root.
9161
9162 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
9163 network devices.
9164 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
9165 New function.
9166
14361ee8
VS
91672012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9168
9169 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
9170 unused show_text member.
9171 * docs/grub.texi: Document "text" property.
9172
922aabf3
VS
91732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9174
9175 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
9176 in dprintf.
9177
ec316771
VS
91782012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9179
9180 Fix IMSM handling on Fedora.
9181
9182 * util/getroot.c (grub_util_is_imsm): New function.
9183 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
9184
0f021838
VS
91852012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9186
9187 * Makefile.am: Strip gold section.
9188 * conf/Makefile.common: Likewise.
9189 * gentpl.py: Likewise.
9190 * grub-core/Makefile.core.def: Likewise.
9191 * grub-core/genmod.sh.in: Likewise.
9192
1039c8eb
VS
91932012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9194
9195 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
9196 * util/grub.d/20_linux_xen.in: Likewise.
9197 Based on Debian patch.
9198
6dd412cd
VS
91992012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 * util/grub.d/10_linux.in: Fix syntax error resulting in
9202 Richard Laager's patch.
9203 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
9204
3fd8bae5
VS
92052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
9208 dependencies.
9209
7eea1671
RL
92102012-03-10 Richard Laager <rlaager@wiktel.com>
9211
9212 * util/grub.d/10_linux.in: Fix ZFS root passing.
9213
e8e0566b
VS
92142012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9215
9216 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9217 * grub-core/commands/xnu_uuid.c: Likewise.
9218 * grub-core/loader/efi/appleloader.c: Likewise.
9219 * grub-core/script/execute.c: Likewise.
9220 * grub-core/script/main.c: Likewise.
9221 * util/grub-mkfont.c: Likewise.
9222
1acc5b1f
VS
92232012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9224
9225 * util/grub-mkfont.c (options): Use more appropriate "select" that
9226 "set" for face index.
9227
35d70620
VS
92282012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9229
9230 * util/grub-editenv.c (options): Gettextize command summaries.
9231
c9eb96b5
VS
92322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9233
9234 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
9235 "out of memory" error messagge.
9236
1f493136
VS
92372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9238
9239 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
9240 of diskfilter for diskfilter on diskfilter support.
9241
6d790129
VS
92422012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9243
9244 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
9245
005f46c9
VS
92462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9247
9248 * util/grub-install.in: Check for themes/starfield/theme.txt and not
9249 themes/starfield.
9250
c8f778a0
VS
92512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9252
9253 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
9254
de1e64eb
VS
92552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9256
9257 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
9258
c6d54211
VS
92592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9260
9261 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
9262 of error message.
9263
dd390777
VS
92642012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9265
9266 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
9267
5fd1c522
VS
92682012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9269
9270 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
9271 message.
c6d54211 9272 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 9273
fae01f6c
VS
92742012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9275
9276 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
9277 Gettextize.
9278 * util/grub-mount.c (options): Likewise.
9279
292fdaff
VS
92802012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9281
9282 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
9283 gettextize.
9284 * grub-core/commands/search_wrap.c (options): Likewise.
9285
ecdbae77
VS
92862012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9287
9288 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
9289
52bfedfa
VS
92902012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
9293 size calculation.
9294 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
9295 none is known.
9296
55b20e58
VS
92972012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9298
9299 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
9300 "temporary" since it's used in identifier and is limited in space.
9301
fda9d101
VS
93022012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9303
9304 * po/POTFILES.in: Regenerate. Include *.h since they contain
9305 translatable strings as well.
9306
6a0295e2
VS
93072012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9308
9309 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9310 byte-swap on big-endian.
9311 Reported by: Lennart Sorensen
9312
807fb77c
VS
93132012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9314
9315 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
9316 (allocate_pages): Improve dprintf.
9317 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
9318 code32_start. Fill code32_start and kernel_alignment in params.
9319 (grub_cmd_initrd): Use prot_init_space.
9320
61ac50ba
VS
93212012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9322
9323 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
9324
abdd26dd
VS
93252012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9326
9327 * util/grub-install.in: Add missing dot at the end of sentence.
9328
6e69da9c
VS
93292012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9330
9331 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9332 * grub-core/commands/videotest.c: Likewise.
9333 * grub-core/loader/i386/linux.c: Likewise.
9334
4a929343
VS
93352012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9336
9337 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
9338 sentence.
9339 Reported by: Milo Casagrande.
9340
bb51c6c6
VS
93412012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9342
9343 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
9344 * grub-core/commands/gptsync.c: Likewise.
9345 * grub-core/commands/hashsum.c: Likewise.
9346 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9347 * grub-core/commands/legacycfg.c: Likewise.
9348 * grub-core/io/gzio.c: Likewise.
9349 * grub-core/net/net.c: Likewise.
9350 * grub-core/term/gfxterm.c: Likewise.
9351 * grub-core/term/terminfo.c: Likewise.
9352 * grub-core/tests/test_blockarg.c: Likewise.
9353 * grub-core/video/video.c: Likewise.
9354 * util/grub-install.in: Likewise.
9355 * util/grub-mkfont.c: Likewise.
9356
b2b149cb
VS
93572012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9358
9359 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
9360
c7c080ad
VS
93612012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 9364 Reported by: David Prévot.
c7c080ad 9365
f2e243c0
VS
93662012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9367
9368 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
9369 description.
9370
09963c76
VS
93712012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9372
9373 * util/grub-script-check.c (main): Fix a syntax error message which was
9374 unclear.
9375
a50514a8
VS
93762012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9377
9378 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
9379
4650daec
VS
93802012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9381
9382 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
9383 messages.
9384
93852012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
9386
9387 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
9388 without argument.
9389 * util/grub-mount.c (options): Likewise.
9390
bbc5a342
VS
93912012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9392
9393 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
9394
ef292a87
VS
93952012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 * grub-core/net/http.c: Add TRANSLATORS comments.
9398 * grub-core/normal/cmdline.c: Likewise.
9399 * grub-core/normal/misc.c: Likewise.
9400 * grub-core/partmap/msdos.c: Likewise.
9401 * grub-core/parttool/msdospart.c: Likewise.
9402 * grub-core/script/execute.c: Likewise.
9403 * grub-core/script/main.c: Likewise.
9404 * grub-core/term/terminfo.c: Likewise.
9405 * grub-core/video/bitmap.c: Likewise.
9406 * util/grub-install.in: Likewise.
9407 * util/grub-mkimage.c: Likewise.
9408 * util/grub-mklayout.c: Likewise.
9409 * util/grub-setup.c: Likewise.
9410
0fc19bd0
VS
94112012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9412
9413 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
9414 with similar messages in grub-fstest.
9415
d95862ef
VS
94162012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9417
9418 * util/grub-install.in: Unify "option requires an argument" message
9419 with similar messages in other files.
9420 * util/grub-mkconfig.in: Likewise.
9421
b7308f90
VS
94222012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9423
9424 * util/grub-set-default.in: Replace printf with gettext_printf (the
9425 string in in question is already translated from grub-reboot)
9426
559dc587
VS
94272012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9428
9429 * configure.ac: Bump up the version to beta1.
9430
1a11761f
VS
94312012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9432
9433 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
9434 case when min_align = 0.
9435
24539abd
VS
94362012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9437
9438 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
9439 and fix a case when line_start overflows.
9440
32bd735b
VS
94412012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9442
9443 * util/grub-reboot.in (usage): Mention id posibility.
9444 * util/grub-set-default.in (usage): Likewise.
9445
1a2fd1e6
VS
94462012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9447
9448 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
9449 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
9450 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9451 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9452 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9453 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9454 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9455
90eeab76
VS
94562012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9457
9458 * grub-core/commands/menuentry.c (options): Remove
9459 GRUB_ARG_OPTION_REPEATABLE.
9460 Reported by: Andreas Vogel
9461
5ad1be82
AV
94622012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
9463
9464 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
9465
cb055286
HE
94662012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
9467
9468 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
9469 error.
9470
93b1cd79
VS
94712012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9472
9473 Use sort -V by the idea of Georgi Georgiev.
9474
9475 * util/grub-mkconfig_lib.in (version_sort): New function.
9476 (version_test_numeric): Use version_sort.
9477
0cdc126c
VS
94782012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9479
9480 Use submenus in grub-mkconfig.
9481
9482 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
9483 * util/grub-mkconfig_lib.in (grub_quote): New function.
9484 (gettext_printf): Use gettext and not gettext_quoted to fix several
9485 messages.
9486 * util/grub.d/10_hurd.in: Use submenus.
9487 * util/grub.d/10_kfreebsd.in: Likewise.
9488 * util/grub.d/10_linux.in: Likewise.
9489 * util/grub.d/10_netbsd.in: Likewise.
9490 * util/grub.d/20_linux_xen.in: Likewise.
9491 * util/grub.d/30_os-prober.in: Likewise.
9492 * util/grub.d/10_illumos.in: Add missing quoting.
9493 * util/grub.d/10_windows.in: Likewise.
9494
d9bef9bc
VS
94952012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9496
9497 Fix menu title instability bug.
9498
9499 * grub-core/commands/menuentry.c (options): New option --id.
9500 (grub_normal_add_menu_entry): New argument id. All users updated.
9501 (grub_cmd_menuentry): Handle --id.
9502 (grub_menu_init): Accept unknown arguments.
9503 * grub-core/normal/main.c (features): Add feature_menuentry_id and
9504 feature_menuentry_options.
9505 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
9506 saved_entry.
9507 (get_entry_number): Match with id as well.
9508 * include/grub/menu.h (grub_menu_entry): New member id.
9509 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
9510 * util/grub.d/00_header.in: Define menuentry_id_option.
9511 * util/grub.d/10_hurd.in: Define id.
9512 * util/grub.d/10_illumos.in: Likewise.
9513 * util/grub.d/10_kfreebsd.in: Likewise.
9514 * util/grub.d/10_linux.in: Likewise.
9515 * util/grub.d/10_netbsd.in: Likewise.
9516 * util/grub.d/10_windows.in: Likewise.
9517 * util/grub.d/20_linux_xen.in: Likewise.
9518 * util/grub.d/30_os-prober.in: Likewise.
9519
95202012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
9521
9522 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
9523 "scope" with "body".
9524
7c8d0ce7
VS
95252012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9526
9527 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
9528 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
9529 prot_size and prot_file_size.
9530
49de079b
VS
95312012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9532
9533 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
9534 All users updated. If easily=1 require raid-5/-6 to be full.
9535 (is_node_readable): Likewise.
9536 (scan_devices): Scan incomplete but readable LVs at the end.
9537 (grub_diskfilter_memberlist): Pull missing devices.
9538 (insert_array): Skip scanning until device is complete or scan is
9539 done otherwise.
9540 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
9541 check.
9542 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
9543 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
9544
aff05d45
MG
95452012-03-03 Matthew Garrett <mjg@redhat.com>
95462012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9547
9548 Avoid EFI boot services when loading Linux.
9549
9550 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
9551 avoid_efi_bootservices. All users updated.
9552 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
9553 argument avoid_efi_bootservices. All users updated.
9554 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
9555 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
9556 align, min_align, relocatable, prefered_address. All users updated.
9557 Allocate avoiding boot services if kernel is relocatable.
9558 (grub_cmd_linux): Check if kernel is relocatable.
9559 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
9560 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
9561 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
9562 avoid_efi_boot_services.
9563 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
9564 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
9565 (linux_kernel_params): Likewise.
9566
3935dde2
MG
95672012-03-03 Matthew Garrett <mjg@redhat.com>
95682012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9569
9570 Use EDID on EFI.
9571
9572 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
9573 datasize_out.
9574 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
9575 modes. Set gop_handle.
9576 (grub_video_gop_get_edid): New function.
9577 (grub_gop_get_preferred_mode): Likewise.
9578 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
9579 (grub_video_efi_gop_adapter): Set .get_edid.
9580 * include/grub/efi/edid.h: New file.
9581 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
9582
32107ec0
VS
95832012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9584
9585 * util/grub-install.in: Load efivars unconditionally.
9586
e70a2c50
VS
95872012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9588
9589 * po/Rules-piglatin: Change suffix from .po-update-en to
9590 .po-update-en-piglatin.
9591
8f9cace1
VS
95922012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9593
9594 Add a pig farm.
9595
9596 * po/piglatin.sed: New file.
9597 * po/en@piglatin.header: Likewise.
9598 * po/Rules-piglatin: Likewise.
9599 * po/README: Add en@piglatin to autogenerated languages.
9600
8f95d002
VS
96012012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
9604 "Command for ...".
9605 * grub-core/commands/hdparm.c (options): Use "Display" rather than
9606 "Check" since we don't check anything.
9607 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
9608 is 64-bit one.
9609 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
9610 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
9611 (grub_md_sha512_real): Likewise.
9612
805a8dcc
VS
96132012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9614
9615 * grub-core/commands/gptsync.c: Fix typographic quoting.
9616 * grub-core/commands/ieee1275/suspend.c: Likewise.
9617 * grub-core/commands/parttool.c: Likewise.
9618 * grub-core/commands/search_wrap.c: Likewise.
9619 * grub-core/commands/videoinfo.c: Likewise.
9620 * grub-core/gfxmenu/gui_label.c: Likewise.
9621 * grub-core/hello/hello.c: Likewise.
9622 * grub-core/kern/emu/main.c: Likewise.
9623 * grub-core/net/net.c: Likewise.
9624 * grub-core/normal/menu.c: Likewise.
9625 * grub-core/normal/menu_text.c: Likewise.
9626 * grub-core/normal/misc.c: Likewise.
9627 * util/grub-editenv.c: Likewise.
9628 * util/grub-install.in: Likewise.
9629 * util/grub-kbdcomp.in: Likewise.
9630 * util/grub-mkconfig.in: Likewise.
9631 * util/grub-mknetdir.in: Likewise.
9632 * util/grub-mkrescue.in: Likewise.
9633 * util/grub-mkstandalone.in: Likewise.
9634 * util/grub-reboot.in: Likewise.
9635 * util/grub-set-default.in: Likewise.
9636 * util/grub-setup.c: Likewise.
9637 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9638
40211ab8
VS
96392012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9640
9641 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
9642 * grub-core/commands/keystatus.c: Likewise.
9643 * grub-core/commands/loadenv.c: Likewise.
9644 * grub-core/commands/probe.c: Likewise.
9645 * grub-core/commands/regexp.c: Likewise.
9646 * grub-core/commands/true.c: Likewise.
9647 * grub-core/commands/videoinfo.c: Likewise.
9648 * grub-core/disk/cryptodisk.c: Likewise.
9649 * grub-core/disk/ldm.c: Likewise.
9650 * grub-core/disk/loopback.c: Likewise.
9651 * grub-core/disk/luks.c: Likewise.
9652 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9653 * grub-core/kern/disk.c: Likewise.
9654 * grub-core/kern/emu/hostdisk.c: Likewise.
9655
0c7d99c7
VS
96562012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9657
9658 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
9659 * util/grub-install.in: Add missing quote in the comment.
9660
e7d2559b
VS
96612012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9662
9663 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
9664 * grub-core/commands/lsmmap.c: Likewise.
9665 * grub-core/commands/minicmd.c: Likewise.
9666 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
9667 * grub-core/commands/regexp.c: Likewise.
9668 * grub-core/gdb/gdb.c: Likewise.
9669 * grub-core/term/gfxterm.c: Likewise.
9670 * util/grub-mkconfig.in: Likewise.
9671 * util/grub-mkfont.c: Likewise.
9672 * util/grub-mklayout.c: Likewise.
9673 * util/grub-mknetdir.in: Likewise.
9674 * util/grub-mkrescue.in: Likewise.
9675 * util/grub.d/30_os-prober.in: Likewise.
9676
49ce9e50
VS
96772012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9678
9679 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
9680 with "Direct color" and "Packed" with "Packed pixel".
9681 (grub_cmd_videoinfo): Simplify legend.
9682
e4b791fa
VS
96832012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9684
9685 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9686 absolutely unclear error message.
9687
fd1265cb
VS
96882012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9689
9690 * util/grub-mkstandalone.in: Remove confusing leftover print.
9691
8822a8a0
VS
96922012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9693
9694 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
9695 comments.
9696 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
9697 (GRUB_MOD_INIT): Likewise.
9698 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
9699 VGA mode.
9700 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
9701 comments.
9702 * util/grub-install.in (usage): Likewise.
9703 Spell ID in whole letters.
9704 Add missing ending dot.
9705 Quote variables.
9706 * util/grub-reboot.in: Fix capitalisation.
9707 * util/grub-set-default.in: Likewise.
9708
937fd0cc
VS
97092012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9710
9711 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
9712 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
9713 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
9714 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
9715 Disable -Werror for -Wdeprecated-declarations.
9716 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
9717 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
9718 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
9719 (grub_util_get_grub_dev): Make luks handling dependent on
9720 HAVE_DEVICE_MAPPER and not __linux__.
9721 (get_win32_path): Fix format security.
9722 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
9723 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
9724 Don't try grub_find_zpool_from_dir.
9725 (grub_make_system_path_relative_to_its_root) [!__linux__]:
9726 #ifdef-out paresdir.
9727
1bab1ae3
VS
97282012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9729
9730 * util/grub-pe2elf.c (usage): Add missing noreturn.
9731 (write_section_data): Rename name to shname to avoid shadowing.
9732 (write_symbol_table): Rename name to symname to avoid shadowing.
9733 Fix write_reloc_section call.
9734
ef023e42
VS
97352012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9736
9737 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
9738 to ensure that it's after the last byte of .text.
9739
48afcb75
VS
97402012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 * util/ieee1275/ofpath.c (my_isdigit): New function.
9743 (trailing_digits): Use my_isdigit.
9744 (strip_trailing_digits): Likewise.
9745
88d51eff
VS
97462012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9747
9748 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
9749 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
9750
17edc2ba
VS
97512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9752
9753 * grub-core/kern/i386/pc/startup.S: Define __start.
9754
ad5518d7
VS
97552012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9756
9757 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
9758 strip already transforms he format.
9759
9e95e1bf
VS
97602012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9761
9762 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
9763
9cc3ee5c
VS
97642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9765
9766 * util/grub-install.in: Add missing gettext init.
9767 * util/grub-kbdcomp.in: Likewise.
9768 * util/grub-mkconfig.in: Likewise.
9769 * util/grub-mknetdir.in: Likewise.
9770 * util/grub-mkrescue.in: Likewise.
9771 * util/grub-mkstandalone.in: Likewise.
9772 * util/grub-reboot.in: Likewise.
9773 * util/grub-set-default.in: Likewise.
9774 * util/grub.d/00_header.in: Likewise.
9775 * util/grub.d/10_hurd.in: Likewise.
9776 * util/grub.d/10_windows.in: Likewise.
9777 * util/grub.d/30_os-prober.in: Likewise.
9778 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9779
49e08a06
VS
97802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9781
9782 * po/Rules-swiss: Fix header comment.
9783
3809cb41
AV
97842012-02-29 Andreas Vogel <anvoit>
9785
9786 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
9787 resulted in leak of arguments.
9788
fa6ec573
VS
97892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9790
9791 * grub-core/boot/i386/pc/startup_raw.S: Use separate
9792 reed_solomon_size const definition instead of computing it since
9793 Apple assembler doesn't support the later.
9794
22899b9c
VS
97952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9796
9797 * gentpl.py (kernel): Rewrite Apple part.
9798
a132afc3
VS
97992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9800
9801 * include/grub/kernel.h (FOR_MODULES): Check module magic.
9802
9d742bd4
VS
98032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9804
9805 * util/grub-mkimagexx.c (locate_sections): Support non-standard
9806 ELF section gap.
9807 (load_image): Likewise.
9808
f04a9a21
VS
98092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9810
9811 * configure.ac: Fix a typo in previous commit.
9812
46cf439c
VS
98132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9814
9815 Don't add -Wl,-N on Apple platform.
9816
9817 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
9818 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
9819
c4c48c54
VS
98202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9821
9822 * grub-core/Makefile.core.def (lzma_decompress): Use
9823 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
9824
31a12124
VS
98252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9826
9827 * grub-core/genmod.sh.in: Rewrite the Apple part.
9828
4f3aa1af
VS
98292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9830
9831 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
9832 comparison.
9833
7bd8b0c7
VS
98342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9835
9836 * acinclude.m4 (grub_CHECK_PIC): New test.
9837 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
9838
97304d7c
VS
98392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9840
9841 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
9842 to avoid the warning.
9843
fb883812
VS
98442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9845
9846 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
9847 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
9848 after. All users updated.
9849
a121c964
VS
98502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9851
9852 Use the common size routine in hostfs so we can read disks as well.
9853
9854 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
9855 (grub_util_get_fd_size): ... this. Return size in bytes.
9856 All users updated.
9857 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
9858 grub_util_get_fd_size.
9859
c66d6410
VS
98602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9861
9862 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
9863 Add blocksize retrieval.
9864
dfc8aeb0
VS
98652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9866
9867 * configure.ac: Restore CFLAGS after efiemu check.
9868
403e25a5
VS
98692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9870
9871 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
9872 Apple bug.
9873
382775d1
VS
98742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9875
9876 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
9877
6fd4e6e4
VS
98782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9879
9880 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
9881 (grub_cmd_halt): Likewise.
9882
bea359d6
VS
98832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9884
9885 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
9886 for local arithmetics.
9887 Break %sp init into 2 instructions.
9888 Add 0 byte at the end.
9889
32eb6ee1
VS
98902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9891
9892 * grub-core/disk/diskfilter.c (read_segment): Initialise err
9893 before loops.
9894
e8377389
VS
98952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9896
9897 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
9898 for context.
9899
8cb17de7
VS
99002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9901
9902 * grub-core/disk/ldm.c (make_vg): Init part.name.
9903 (grub_ldm_detect): Silence spurious warning.
9904 (grub_util_is_ldm): Likewise.
9905
595717e6
VS
99062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9907
9908 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
9909 sane value to avoid a spurious warning.
9910
c4b7e588
VS
99112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9912
9913 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
9914 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
9915
59824957
VS
99162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9917
9918 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
9919 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
9920
70115b99
VS
99212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9922
9923 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
9924 hardcoding the relevant info.
9925
56733740
VS
99262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9927
9928 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
9929 missing const qualifiers.
9930 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
9931
43481481
VS
99322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9933
9934 * util/getroot.c [__APPLE__]: Add missing includes.
9935 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
9936
3cb38f01
VS
99372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9938
9939 * util/grub-mkimage.c (generate_image): Silence spurious warning.
9940
d9dbf11e
VS
99412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9942
9943 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
9944 avoid conflicts.
9945
0c42a45d
VS
99462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9947
9948 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
9949
46c34eb0
VS
99502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9951
9952 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
9953 and grub_file_close call.
9954
99ce1597
VS
99552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9956
9957 Add LZSS Mach-O support (needed for new xnu kernelcache).
9958
9959 * grub-core/Makefile.core.def (xnu): Add file lzss.c
9960 * grub-core/loader/lzss.c: New file.
9961 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
9962 on Mach-O open failure.
9963 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
9964 Don't free cmdsXX in uncompressedXX is set.
9965 (grub_macho_file): Init new fields.
9966 New argument is_64bit. All users updated.
9967 Handle compressed. Error out if no suitable architecture is found.
9968 Don't close file.
9969 (grub_macho_open): New argument is_64bit. All users updated.
9970 * grub-core/loader/macho32.c: Add defines for new fields.
9971 * grub-core/loader/macho64.c: Likewise.
9972 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
9973 (grub_macho_parse): Handle compressed.
9974 Defer actual processing if compressed.
9975 (grub_macho_cmds_iterate): Decompress if compressed. New argument
9976 "filename". All users updated.
9977 (grub_macho_size): New argument "filename". All users updated.
9978 (grub_macho_get_entry_point): Likewise.
9979 (grub_macho_load): Handle compressed.
9980 * include/grub/macho.h (grub_macho_lzss_header): New struct.
9981 (GRUB_MACHO_LZSS_OFFSET): New define.
9982 (grub_decompress_lzss): New proto.
9983 * include/grub/machoload.h (grub_macho_file): New fields to handle
9984 compressed.
9985 (grub_macho_contains_macho64): Remove proto.
9986 (grub_macho_contains_macho32): Likewise.
9987 * util/grub.d/30_os-prober.in: Use kernel cache if available.
9988
ebd17d6f
VS
99892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9990
9991 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
9992
2702b4e4
VS
99932012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 Fix make dist.
9996
9997 * Makefile.am (starfield_theme_files): New var.
9998 (starfield_DATA): Use starfield_theme_files.
9999 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
10000 Add bootcheck-related files.
10001 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
10002 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
10003 and font_char_metrics.txt.
10004 * grub-core/Makefile.core.def (kernel): Update extra_dist.
10005 (setjmp): Add lib/ia64/longjmp.S.
10006 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
10007 * po/POTFILES.in: Regenerate.
10008 * po/Rules-swiss: use DISTFILES.common.extra2 and not
10009 DISTFILES.common.extra1.
10010 * util/devicemap.c: Removed.
10011 * grub-core/lib/i386/relocator_backward.S: Likewise.
10012 * util/import_gcry.py: Remove unused files. Add extra_dist for
10013 ChangeLog.
10014
cf1adfdf
VS
100152012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10016
10017 * grub-core/gettext/gettext.c (grub_mofile_open): Call
10018 grub_gettext_delete_list before changing grub_gettext_max to avoid
10019 running out of array bounds.
10020
100212012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
10022
10023 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
10024 grub_vga_text_init/grub_vga_text_fini.
10025
cf1adfdf 100262012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
10027
10028 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
10029
541d92e9
VS
100302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10031
10032 * configure.ac: Bump to 2.00~beta0.
10033
7931dddf
VS
100342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10035
10036 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
10037 missing initialisation.
10038
f1b16fa3
VS
100392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10040
10041 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
10042
83ddae23
VS
100432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10044
10045 Support v2 xnu boot arguments.
10046
10047 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
10048 New argument fsbfreq_out.
10049 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
10050 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
10051 be used.
10052 * grub-core/loader/machoXX.c (grub_macho_load): New argument
10053 darwin_version.
10054 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
10055 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
10056 (grub_xnu_boot_params): Rename to ...
10057 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
10058 (grub_xnu_boot_params_v2): New struct.
10059
dc693fe6
VS
100602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10061
10062 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
10063 zeroing of CRC field before computing CRC.
10064
5a6e39c2
VS
100652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10066
10067 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
10068 Change order of allocations to decrease fragmentation.
10069
6c21f5d7
VS
100702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10071
10072 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
10073
cfe456dc
CW
100742012-02-27 Colin Watson <cjwatson@ubuntu.com>
10075
10076 Use write-combining MTRR to speed up video with buggy BIOSes.
10077
10078 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
10079 (cpuid): New define.
10080 (rdmsr): Likewise.
10081 (wrmsr): Likewise.
10082 (mtrr_base): Likewise.
10083 (mtrr_mask): Likewise.
10084 (grub_vbe_enable_mtrr_entry): New function.
10085 (grub_vbe_enable_mtrr): Likewise.
10086 (grub_vbe_disable_mtrr): Likewise.
10087 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
10088 control off to BIOS.
10089 (grub_video_vbe_init): Fill mtrr.
10090 (grub_video_vbe_fini): Disable mtrr.
10091 (grub_video_vbe_get_info_and_fini): Likewise.
10092 (grub_video_vbe_setup): Enable mtrr.
10093
e3c78337
CW
100942012-02-27 Colin Watson <cjwatson@ubuntu.com>
10095
10096 * include/grub/partition.h (grub_partition_map): Change prototype of
10097 embed to take a maximum value for nsectors.
10098 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
10099 * include/grub/fs.h (grub_fs): Likewise.
10100 * grub-core/partmap/msdos.c (embed_signatures): New array.
10101 (pc_partition_map_embed): Check for and avoid sectors matching any
10102 of the signatures in embed_signatures, up to max_nsectors.
10103 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
10104 returned sector map to max_nsectors.
10105 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
10106 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
10107 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
10108 * util/grub-setup.c (setup): Allow for the embedding area being
10109 split into multiple blocklists. Tell dest_partmap->embed the
10110 maximum number of sectors we care about.
10111
101122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10113
10114 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
10115 Specify blocklist_install and reserver_first_sector for all fs.
10116 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
10117 blocklists.
10118
984b973f
VS
101192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10120
10121 * util/grub-install.in: Clarify strings.
10122 Fix source dir check.
10123
f122e0d6
RL
101242012-02-27 Richard Laager <rlaager@wiktel.com>
10125
10126 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
10127 "zfs" and "fuse.zfs" as synonyms.
10128
071114bb
VS
101292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10130
10131 * configure.ac: Put platform and target_cpu substitutions back since
10132 they are used for directories.
10133
817e6abc
RL
101342012-02-27 Richard Laager <rlaager@wiktel.com>
101352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10136
10137 * util/grub.d/10_linux.in: Add ZFS-related arguments.
10138 * util/grub.d/20_linux_xen.in: Likewise.
10139
897b7419
RL
101402012-02-27 Richard Laager <rlaager@wiktel.com>
10141
10142 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
10143 with full paths.
10144
a414bd15
RL
101452012-02-27 Richard Laager <rlaager@wiktel.com>
10146
10147 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
10148 unescape.
10149
30ac48c4
VS
101502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10151
10152 Don't use insecure popen in getroot.
10153
10154 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
10155 (exec_pipe): ... here.
10156 (find_root_devices_from_poolname): Use exec_pipe.
10157
53f13848
VS
101582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10159
10160 Remove platform and target_cpu replacement.
10161
10162 * configure.ac: Remove platform and target_cpu substitutions.
10163 * tests/util/grub-shell.in: Use modinfo.
10164 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
10165 explicitly.
10166
90cb2803
VS
101672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10168
10169 Autodetect platform in grub-install but allow override.
10170
10171 * util/grub-install.in: Autodetect platform. Support --target and
10172 --directory. Read platform from modinfo.sh.
10173
b9136427
VS
101742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10175
10176 Support btrfs multi-volume probe.
10177
10178 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
10179 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
10180 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
10181 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
10182 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
10183 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
10184 grub_find_root_devices_from_btrfs if on btrfs.
10185
c36e5cd1
VS
101862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10187
10188 Remove any awareness of *.c util files about target.
10189
10190 * Makefile.util.def (grub-setup): Split to ...
10191 (grub-bios-setup): ... and this.
10192 (grub-sparc64-setup): ... and this.
10193 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
10194 * docs/man/grub-setup.h2m: Split into ...
10195 * docs/man/grub-sparc64-setup.h2m: ... this.
10196 * docs/man/grub-bios-setup.h2m: ... and this.
10197 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
10198 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
10199 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
10200 (grub_target_addr_t): Remove.
10201 (grub_target_size_t): Remove.
10202 (grub_target_ssize_t): Remove.
10203 * util/grub-install.in: Use new grub-*-setup.
10204 * util/grub-mkimagexx.c (Elf_Word): New define.
10205 (Elf_Half): Likewise.
10206 (Elf_Section): Likewise.
10207 (ELF_ST_TYPE): Likewise.
10208 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
10209 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
10210
584b2f8a
VS
102112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10212
10213 Replace grub_target_addr with more appropriate types.
10214
10215 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
10216 grub_target_addr with grub_addr.
10217 * grub-core/commands/iorw.c (grub_cmd_read): Replace
10218 grub_target_addr with grub_port.
10219 (grub_cmd_write): Likewise.
10220 * grub-core/commands/memrw.c (grub_cmd_read): Replace
10221 grub_target_addr with grub_addr.
10222 (grub_cmd_write): Likewise.
10223 * grub-core/video/efi_uga.c (find_line_len): Likewise.
10224
5a0dc6fb
VS
102252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10226
10227 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
10228 const qualifier for vendor_guid.
10229
786aff6e
VS
102302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10231
10232 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
10233 const qualifier.
10234 (efiemu_memequal): Likewise.
10235 (find_variable): Likewise.
10236
49017b17
VS
102372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10238
10239 Fix missing console prototype on qemu-mips.
10240
10241 * include/grub/mips/qemu_mips/console.h: New file.
10242
c5988629
MG
102432012-02-27 Matthew Garrett <mjg@redhat.com>
102442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10245
10246 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
10247 * include/grub/efi/efi.h: Likewise.
10248 * include/grub/efi/api.h: Add guid for EFI-specified variables.
10249 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
10250 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
10251 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
10252 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
10253 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
10254
e33f8d69
MG
102552012-02-27 Matthew Garrett <mjg@redhat.com>
10256
10257 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
10258
fb312cd9
VS
102592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10260
10261 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
10262 error.
10263
7134247c
VS
102642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10265
10266 * configure.ac: Remove inappropriate use of program_transform_name
10267 on grubdir and bootdir but allow explicit specification of those
10268 variables.
10269
6a313124
VS
102702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10271
10272 * util/grub-mknetdir.in (grub_prefix): Removed.
10273 (subdir): Use @bootdirname@ and @grubdirname@.
10274
2311c5ca
VS
102752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10276
10277 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
10278
7d5d60f7
VS
102792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10280
10281 * po/POTFILES.in: Regenerated.
10282
8151bc82
VS
102832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10284
10285 Remove improper use of program_transform_name on pkglibrootdir.
10286
10287 * configure.ac (pkglibrootdir): Removed.
10288 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
10289 * util/grub-mkimage.c: Likewise.
10290
b4a6a533
VS
102912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10292
10293 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
10294 warning.
10295
668f304f
VS
102962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10297
10298 * util/grub-install.in: Use file identifier if no UUID is available
10299 or user explicitly prompted for it.
10300
665f2341
NP
103012012-02-27 Navdeep Parhar <nparhar@gmail.com>
10302
10303 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
10304 (freebsd_get_zfs): New function.
10305 (grub_freebsd_boot): Pass zfs UUID.
10306 (grub_cmd_freebsd): Set zfs UUID.
10307
8151bc82 103082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
10309
10310 * conf/Makefile.common (platformdir): Base on pkglibdir and not
10311 pkglibrootdir.
10312
e4c498a1
MG
103132012-02-27 Mike Gilbert <floppym@gentoo.org>
10314
10315 Add configure flag to control libzfs integration.
10316
10317 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
10318
1e9a9a3f
VS
103192012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
10322 device.
10323 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
10324 small devices.
10325
036985b8
VS
103262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10327
10328 Remove grub_{modname}_init and grub_{modname}_fini. They should never
10329 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
10330 be used on non-modules.
10331
10332 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
10333 Rename to grub_boot_init.
10334 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
10335 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
10336 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
10337 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
10338 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
10339 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
10340 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
10341 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
10342 includes.
10343 (grub_machine_init): Remove empty inits.
10344 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
10345 includes.
10346 (grub_machine_init): Remove empty inits.
10347 * grub-core/term/arc/console.c: Remove explicit proto.
10348 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
10349 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
10350 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10351 grub_at_keyboard_fini.
10352 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
10353 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
10354 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10355 grub_gfxterm_fini.
10356 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
10357 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
10358 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10359 grub_vgatext_fini.
10360 * grub-core/term/ieee1275/console.c: Remove explicit proto.
10361 * grub-core/term/serial.c (GRUB_MOD_INIT)
10362 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
10363 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10364 grub_serial_fini.
10365 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
10366 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
10367 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10368 grub_terminfo_fini.
10369 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
10370 (GRUB_MOD_FINI): Likewise.
10371 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
10372 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
10373 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10374 grub_video_radeon_fuloong2e_fini.
10375 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
10376 [LOONGSON]: Rename to grub_video_sis315pro_init.
10377 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10378 grub_video_sis315pro_fini.
10379 * grub-core/video/sm712.c (GRUB_MOD_INIT)
10380 [LOONGSON]: Rename to grub_video_sm712_init.
10381 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10382 grub_video_sm712_fini.
10383 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
10384 (grub_at_keyboard_fini): Likewise.
10385 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
10386 Don't declare grub_{modname}_init.
10387 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
10388 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
10389 New proto.
10390 (grub_keylayouts_fini) [!EMU]: Likewise.
10391 * include/grub/serial.h (grub_serial_init) [!EMU]:
10392 New proto.
10393 (grub_serial_fini) [!EMU]: Likewise.
10394 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
10395 New proto.
10396 (grub_terminfo_fini) [!EMU]: Likewise.
10397 * include/grub/video.h (grub_font_init) [!EMU]:
10398 New proto.
10399 (grub_font_fini) [!EMU]: Likewise.
10400 (grub_gfxterm_init) [!EMU]: Likewise.
10401 (grub_gfxterm_fini) [!EMU]: Likewise.
10402 (grub_video_sm712_init) [!EMU]: Likewise.
10403 (grub_video_sm712_fini) [!EMU]: Likewise.
10404 (grub_video_sis315pro_init) [!EMU]: Likewise.
10405 (grub_video_sis315pro_fini) [!EMU]: Likewise.
10406 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
10407 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
10408
d5534665
VS
104092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10410
10411 Make nand a prefix for nand devices.
10412
10413 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
10414
10133b5f
VS
104152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10416
10417 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
10418 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
10419
8e307a62
VS
104202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10421
10422 * include/grub/env.h (grub_env_find): Remove prototype.
10423 * grub-core/kern/env.c (grub_env_find): Make static.
10424 (grub_env_set): Remove useless set.
10425
a4c65f34
VS
104262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10427
10428 * grub-core/kern/i386/realmode.S: Remove useless align.
10429
d87893d5
VS
104302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10431
10432 * include/grub/dl.h (grub_dl_load_file): Don't export.
10433
50159add
VS
104342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10435
10436 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
10437 grub_dprintf.
10438
b2582b84
VS
104392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10440
10441 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
10442 grub_errors.
10443 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
10444 not reloading whole superblock but only the part which is really needed.
10445 Remove useless grub_errors.
10446 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
10447 grub_errors.
10448
e2a83395
VS
104492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10450
10451 Don't export grub_get_rtc.
10452
10453 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
10454 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
10455
e7d2a906
VS
104562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10457
10458 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
10459
6cf1363b
VS
104602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10461
10462 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 10463 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 10464
eece3349
VS
104652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10466
10467 Remove prio_list.
10468
10469 * include/grub/list.h (grub_prio_list): Removed.
10470 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
10471 GRUB_COMMAND_PRIO_MASK.
10472 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
10473 GRUB_COMMAND_FLAG_ACTIVE.
10474 (grub_prio_list_insert): Removed.
10475 (grub_prio_list_remove): Likewise.
10476 (GRUB_AS_PRIO_LIST): Likewise.
10477 (GRUB_AS_PRIO_LIST_P): Likewise.
10478 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
10479 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
10480 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
10481 * grub-core/kern/command.c (grub_register_command_prio): Inline
10482 the prio_list code.
10483 (grub_unregister_command): Likewise.
10484
94f064b4
VS
104852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10486
10487 Fix interrupt mixup from previous commit.
10488
10489 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
10490 (grub_realidt): New var.
10491 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
10492 Load idt.
10493 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
10494 New declaration.
10495 (grub_relocator16_boot): Set grub_relocator16_idt.
10496 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
10497 (LOCAL(realidt)): ... this.
10498 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
10499 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
10500 (grub_realidt): New variable.
10501
27317084
VS
105022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10503
10504 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
10505 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
10506 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
10507 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
10508 Gettextize.
10509 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
10510 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
10511 * po/POTFILES.in: Regenerate.
10512
47b40053
VS
105132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10514
10515 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
10516 errors.
10517
2b343101
VS
105182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10519
10520 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
10521 \0.
10522 (add_length): Likewise.
10523
ff27c3dd
LK
105242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
105252012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
10526
10527 GDB serial and backtrace support.
10528
10529 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
10530 (prot_to_real): Likewise.
10531 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
10532 * grub-core/Makefile.core.def (backtrace): New module.
10533 (gdb): Likewise.
10534 * grub-core/gdb/cstub.c: New file.
10535 * grub-core/gdb/gdb.c: Likewise.
10536 * grub-core/gdb/i386/idt.c: Likewise.
10537 * grub-core/gdb/i386/machdep.S: Likewise.
10538 * grub-core/gdb/i386/signal.c: Likewise.
10539 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 10540 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
10541 * include/grub/backtrace.h: Likewise.
10542 * include/grub/gdb.h: Likewise.
10543 * include/grub/i386/gdb.h: Likewise.
10544
105452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
10546
10547 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
10548 New function.
10549 (add_length): Likewise.
10550 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
10551 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
10552 proto.
10553 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
10554 __argp_get_display_len.
10555
ff27c3dd 105562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
10557
10558 $"..." support in scripts.
10559
10560 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
10561 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
10562 * grub-core/script/yylex.l: Likewise.
10563 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
10564 value.
10565
ff27c3dd 105662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
10567
10568 * gentpl.py: Remove obsolete pkglib_DATA handling.
10569
ff27c3dd 105702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
10571
10572 Don't transform PACKAGE_TARNAME following a discussion on autoconf
10573 mailing list.
10574
10575 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
10576 * util/grub-kbdcomp.in: Likewise.
10577 * util/grub-mkconfig.in: Likewise.
10578 * util/grub-mkconfig_lib.in: Likewise.
10579 * util/grub-mknetdir.in: Likewise.
10580 * util/grub-mkrescue.in: Likewise.
10581 * util/grub-mkstandalone.in: Likewise.
10582 * util/grub-reboot.in: Likewise.
10583 * util/grub-set-default.in: Likewise.
10584 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10585
ff27c3dd 105862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
10587
10588 Remove GRUB_PREFIX.
10589
10590 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
10591 * util/grub.d/00_header.in: Compute prefix in the only place it's still
10592 used for backward compatibility.
10593
ff27c3dd 105942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
10595
10596 Add new all_video module.
10597
10598 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
10599 * grub-core/Makefile.core.def (all_video): New module.
10600 * grub-core/genmoddep.awk: Generate dependency of all_video from
10601 video.lst.
10602 * grub-core/lib/fake_module.c: New file.
10603 * grub-core/normal/main.c (features): Add feature_all_video_module.
10604 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
10605 don't do explicit search again.
47454da5 10606 insmod all_video in load_video if available.
22c7ce85 10607
ff27c3dd 106082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
10609
10610 Another round of string clarification and adding TRANSLATORS comments.
10611
ff27c3dd 106122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
10613
10614 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
10615
ff27c3dd 106162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
10617
10618 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
10619 to grub_ssize_t.
10620 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
10621 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
10622
ff27c3dd 106232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
10624
10625 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
10626 trailing newline implicitly. All users updated.
10627
ff27c3dd 106282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
10629
10630 Implement serial on IEEE1275 and EFI.
10631
10632 * docs/grub.texi (Platform-specific limitations): Fix the columen video
10633 on emu. Mention arc and emu as the only platforms without serial
10634 support.
10635 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
10636 ieee1275 platforms.
10637 * grub-core/term/efi/serial.c: New file.
10638 * grub-core/term/ieee1275/serial.c: Likewise.
10639 * grub-core/term/serial.c (grub_serial_find): Disable direct port
10640 specification if no ns8250 driver is available.
10641 (grub_cmd_serial): Likewise.
10642 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
10643 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
10644 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
10645 (grub_efi_parity_type_t): New type.
10646 (grub_efi_stop_bits_t): Likewise.
10647 (grub_efi_serial_io_interface): New struct.
10648 * include/grub/serial.h (grub_serial_port): Make 'broken' field
10649 available for all interfaces.
10650 Add EFI and IEEE1275 fields.
10651 (grub_ofserial_init): New proto.
10652 (grub_efiserial_init): Likeiwse.
10653 * util/grub.d/00_header.in: Don't check for the presence of serial
10654 module.
10655
ff27c3dd 106562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
10657
10658 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
10659 name as if it was an alias.
10660
114076ef
VS
106612012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10662
10663 * grub-core/commands/lsacpi.c (options): Fix typo.
10664
6a656b0e
VS
106652012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10666
10667 Convert grub-emu to argp.
10668
10669 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
10670 emu.
10671 * util/argp_common.c: Rename to ...
10672 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
10673 Add missing includes.
10674 * grub-core/kern/emu/main.c: Convert to argp.
10675 * po/POTFILES.in: Regenerate.
10676 * util/grub-install.in (usage): Make first letter lowcase in messages
10677 for uniformity.
10678 * util/grub-setup.c (options): Likewise.
10679
1e3f8ae8
VS
106802012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10681
10682 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
10683 Put back accidently commented-out code.
10684
ed167a80
VS
106852012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10686
10687 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
10688 loop check using Brent algorithm.
10689 (grub_hfsplus_btree_search): Likewise.
10690
6753c0ec
VS
106912012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10692
10693 * util/grub-install.in: Fix usage of wrong device for PreP install.
10694
4e27343f
VS
106952012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10696
10697 * conf/Makefile.common (CFLAGS_GNULIB): Add
10698 -Wno-unsafe-loop-optimizations.
10699 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
10700 on tools.
10701 * grub-core/commands/legacycfg.c: Add pragma to skip
10702 -Wunsafe-loop-optimizations.
10703 (check_password_md5_real): Fix loop counter type.
10704 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
10705 reading.
10706 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
10707 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
10708 loop condition.
10709 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
10710 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
10711 * grub-core/net/net.c (grub_net_route_address): Add safety loop
10712 condition.
10713 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
10714 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
10715 avoid possible infinite loops.
10716 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
10717 and -Wunsafe-loop-optimizations.
10718 * grub-core/script/yylex.l: Likewise.
10719 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
10720 (print_glyphs): Avoid infinite loops.
10721 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
10722
697f18b0
GS
107232012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
10724
10725 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
10726 to avoid infinite loop.
10727 (disp_acpi_rsdt_table): Likewise.
10728
274416e8
VS
107292012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10730
10731 * grub-core/font/font.c (grub_font_load): Add support for default
10732 path for fonts ($prefix/fonts).
10733 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
10734 for checking if string is a path.
10735 * grub-core/normal/main.c (features): Add feature_default_font_path.
10736 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
10737 * util/grub.d/00_header.in: Use default directory if possible.
10738 * util/grub-install.in: Install unicode.pf2.
10739
b3e08622
VS
107402012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10741
10742 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
10743 * po/Rules-swiss: New file.
10744 * po/swiss.sed: Likewise.
10745
fe42ce09
VS
107462012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10747
10748 * grub-core/fs/btrfs.c (find_device): Fix typos.
10749 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
10750 * util/grub-mkrelpath.c (argp_parser): Likewise.
10751 Reported by: Yuri Chornoivan.
10752
72f1d065
DO
107532012-02-23 Dalet Omega <daletomega@gmail.com>
10754
10755 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
10756 for usual informative messages.
10757
c5884973
DO
107582012-02-23 Dalet Omega <daletomega@gmail.com>
10759
10760 Starfield theme.
10761
10762 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
10763 * conf/Makefile.common: Define starfielddir.
10764 * configure.ac: Configure starfield.
10765 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
10766 * themes/starfield/README: Likewise.
10767 * themes/starfield/blob_w.png: Likewise.
10768 * themes/starfield/boot_menu_c.png: Likewise.
10769 * themes/starfield/boot_menu_e.png: Likewise.
10770 * themes/starfield/boot_menu_n.png: Likewise.
10771 * themes/starfield/boot_menu_ne.png: Likewise.
10772 * themes/starfield/boot_menu_nw.png: Likewise.
10773 * themes/starfield/boot_menu_s.png: Likewise.
10774 * themes/starfield/boot_menu_se.png: Likewise.
10775 * themes/starfield/boot_menu_sw.png: Likewise.
10776 * themes/starfield/boot_menu_w.png: Likewise.
10777 * themes/starfield/slider_c.png: Likewise.
10778 * themes/starfield/slider_n.png: Likewise.
10779 * themes/starfield/slider_s.png: Likewise.
10780 * themes/starfield/src/blob_nw.xcf: Likewise.
10781 * themes/starfield/src/bootmenu/: Likewise.
10782 * themes/starfield/src/bootmenu/center.xcf: Likewise.
10783 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
10784 * themes/starfield/src/bootmenu/side.xcf: Likewise.
10785 * themes/starfield/src/slider_c.xcf: Likewise.
10786 * themes/starfield/src/slider_n.xcf: Likewise.
10787 * themes/starfield/src/slider_s.xcf: Likewise.
10788 * themes/starfield/src/terminalbox/: Likewise.
10789 * themes/starfield/src/terminalbox/center.xcf: Likewise.
10790 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
10791 * themes/starfield/src/terminalbox/side.xcf: Likewise.
10792 * themes/starfield/starfield.png: Likewise.
10793 * themes/starfield/terminal_box_c.png: Likewise.
10794 * themes/starfield/terminal_box_e.png: Likewise.
10795 * themes/starfield/terminal_box_n.png: Likewise.
10796 * themes/starfield/terminal_box_ne.png: Likewise.
10797 * themes/starfield/terminal_box_nw.png: Likewise.
10798 * themes/starfield/terminal_box_s.png: Likewise.
10799 * themes/starfield/terminal_box_se.png: Likewise.
10800 * themes/starfield/terminal_box_sw.png: Likewise.
10801 * themes/starfield/terminal_box_w.png: Likewise.
10802 * themes/starfield/theme.txt: Likewise.
10803
17d73325
VS
108042012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10805
10806 * util/grub.d/00_header.in: Add missing export theme.
10807
dbebaf92
VS
108082012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10809
10810 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
10811 already included.
10812 Reported by: Eren D.
10813
3d68bffb
VS
108142012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10815
10816 * conf/Makefile.common (grubdatadir): Removed.
10817 (Makefile.am): Move eveything grubdata to pkgdata.
10818
4b59234d
VS
108192012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10820
10821 * grub-core/commands/acpihalt.c (get_sleep_type):
10822 Remove unused variable.
10823
463dcadc
VS
108242012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10825
10826 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
10827 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
10828 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
10829 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
10830 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
10831 i18n with gettext no-op.
10832 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
10833 GRUB_ACPI_OPCODE_STRING_CONST.
10834 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
10835 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
10836
e5b90c82
VS
108372012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10838
10839 * po/POTFILES.in: Regenerate.
10840
2a704ca9
VS
108412012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10842
10843 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
10844 -Wno-error=missing-noreturn.
10845
84f9d341
VS
108462012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10847
10848 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
10849 condition to avoid possibly infinite loops.
10850 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
10851 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
10852
d46683f9
VS
108532012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10854
10855 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
10856 condition to avoid possibly infinite loops.
10857
c44866b2
VS
108582012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10859
10860 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
10861 on show_error.
10862
96790539
VS
108632012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10864
10865 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
10866
1ba7e295
VS
108672012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10868
10869 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
10870
21ffe8f1
VS
108712012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10872
10873 * util/bin2h.c (usage): Add missing attribute noreturn.
10874
0ccb6b3c
VS
108752012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10876
10877 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
10878 if the size isn't divisible by 512.
10879
b00d7fb6
VS
108802012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10881
10882 Make list_push and list_remove functions rather than inline functions
10883 to decrease size and avoid aliasing violations.
10884
10885 * include/grub/list.h (grub_list_push): Move to ...
10886 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
10887 * include/grub/list.h (grub_list_remove): Move to ...
10888 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
10889
9d369087
VS
108902012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10891
10892 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
10893 and -Wunused-result.
10894
af0250d9
VS
108952012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10896
10897 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
10898 Reported by: Seth Goldberg
10899
aad32b14
VS
109002012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10901
10902 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
10903
ac96441c
ST
109042012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
10905
10906 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
10907 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
10908 command line.
10909 * docs/grub.texi (Simple configuration): Document
10910 GRUB_CMDLINE_GNUMACH.
10911
109122012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
10913
10914 * conf/Makefile.common (platform_SCRIPTS): New variable.
10915 (platform_PROGRAMS): Likewise.
10916 * gentpl.py: Mark *,module and *.image for install.
10917 * grub-core/gdb_grub.in: Add a notice of expected environment.
10918 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
10919 (gmodule.pl): Likewise.
10920
ac96441c 109212012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
10922
10923 Replace grub_checkkey with grub_getkey_noblock.
10924
10925 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
10926 (grub_getkey_noblock): ... this. All users updated.
10927
ac96441c 109282012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
10929
10930 * grub-core/kern/emu/console.c: Move to ...
10931 * grub-core/term/emu/console.c: ...here.
10932 (grub_ncurses_getkey): Fix return value if no key is detected.
10933
e51b5666
VS
109342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10935
10936 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
10937 (grub_unit_test_fini): Likewise.
10938 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
10939
109402012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10941
10942 * include/grub/test.h (GRUB_UNIT_TEST)
10943
d9a62292
VS
109442012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10945
10946 * grub-core/script/execute.c (grub_script_break): Clarify logic.
10947 Better error handling.
10948 (grub_script_return): Likewise.
10949 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
10950
77c9182f
VS
109512012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10952
10953 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
10954 rimplicit redifinition.
10955
edb13cf9
VS
109562012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10957
10958 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
10959 GRUB.
10960
a9e9dc7c
VS
109612012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10962
10963 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
10964 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
10965 prompt here.
10966
b4ba8e02
VS
109672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10968
10969 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
10970 as GRUB_ERR_BUG. Don't malloc if no device is available.
10971
dded5540
VS
109722012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10973
10974 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
10975 Mark calling with invalid term as GRUB_ERR_BUG.
10976
0cf69874
VS
109772012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10978
10979 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
10980 packets rather than raising an error.
10981
59bfe502
VS
109822012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10983
10984 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
10985 in if.
10986
db5fc596
VS
109872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10988
10989 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
10990 diagnostic to dprintf.
10991 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10992
e4b7f404
VS
109932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10994
10995 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
10996 device name.
10997
e7b02f9e
VS
109982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10999
11000 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
11001 (grub_ntfs_iterate_dir): Likewise.
11002
0331e102
VS
110032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11004
11005 Efiemu stylistic fixes and gettext.
11006
11007 * grub-core/efiemu/i386/loadcore32.c
11008 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
11009 * grub-core/efiemu/i386/loadcore64.c
11010 (grub_arch_efiemu_relocate_symbols64): Likewise.
11011 * grub-core/efiemu/i386/pc/cfgtables.c
11012 (grub_machine_efiemu_init_tables): Likewise.
11013 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
11014 (grub_efiemu_loadcore_initXX): Add a filename argument.
11015 All users updated.
11016 Improved error message.
11017 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
11018 Add a filename argument.
11019 All users updated.
11020 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
11021 Reclassify double relocation as GRUB_ERR_BUG.
11022
306fc074
VS
110232012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11024
11025 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
11026 handling.
11027
794d8ef2
VS
110282012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11029
11030 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
11031 on partition.
11032
110332012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
11034
11035 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
11036
794d8ef2 110372012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
11038
11039 Improve string. Gettextize.
11040
78dde88e
VS
110412012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11042
11043 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
11044 utils.
11045 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
11046
4786a90f
VS
110472012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11048
11049 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
11050 [GRUB_UTIL]: New function.
11051 (insert_array) [GRUB_UTIL]: Store partmaps.
11052 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
11053 partmaps.
11054 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
11055 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
11056 (probe_abstraction): Print diskfilter and not raid.
11057 Reported by: Lennart Sorensen
11058
0b6225bd
VS
110592012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11060
11061 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
11062 * util/grub-mkimagexx.c (MASK3): New define.
11063 (add_value_to_slot_20b): Use MASK3.
11064 (add_value_to_slot_21): Likewise.
11065 (relocate_addresses): Fix format specification.
11066 (load_image): Explicitly init symtab_section.
11067
b055f8f6
VS
110682012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11069
11070 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
11071 (grub_util_biosdisk_get_grub_dev): Fix format specification.
11072
b77c2fb7
VS
110732012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11074
11075 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
11076 on powerpc.
11077 Reported by: Lennart Sorensen
11078
e3ec28ab
VS
110792012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11080
11081 * gentpl.py: Add missing license header.
11082 * docs/grub.texi: Update copyright year.
11083
c8d9ead6
GS
110842012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
11085
11086 Source grub-mkconfig_lib from the build directory at build time.
11087 Suggested by: Vladimir Serbinenko.
11088
11089 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
11090 * util/grub-install.in: Define pkgdatadir if not already set, and source
11091 grub-mkconfig_lib from there.
11092 * util/grub-kbdcomp.in: Likewise.
11093 * util/grub-mkconfig.in: Likewise.
11094 * util/grub-mknetdir.in: Likewise.
11095 * util/grub-mkrescue.in: Likewise.
11096 * util/grub-mkstandalone.in: Likewise.
11097 * util/grub-reboot.in: Likewise.
11098 * util/grub-set-default.in: Likewise.
11099 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11100
ebcecdf1
VS
111012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11102
11103 Increase warning level.
11104
11105 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
11106 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
11107 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
11108 (TARGET_CFLAGS): Likewise.
11109 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
11110 * grub-core/Makefile.core.def (decompressor_xz): Add
11111 -Wno-unreachable-code.
11112 (normal): Add -Wno-redundant-decls.
11113 (xzio): Add -Wno-unreachable-code.
11114 (lzopio): Add -Wno-redundant-decls -Wno-error.
11115 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
11116 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
11117 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
11118 * grub-core/kern/dl.c: Add exception to -Wcast-align.
11119 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
11120 * grub-core/kern/i386/coreboot/init.c: Add exception to
11121 -Wsuggest-attribute=noreturn.
11122 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
11123 * grub-core/kern/ia64/dl_helper.c: Likewise.
11124 * grub-core/kern/mips/dl.c: Likewise.
11125 * grub-core/kern/sparc64/dl.c: Likewise.
11126 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
11127 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
11128 (memcmp): Likewise.
11129 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
11130 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
11131 * grub-core/loader/mips/linux.c: Likewise.
11132 * grub-core/loader/multiboot_elfxx.c: Likewise.
11133 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
11134 * grub-core/video/sm712.c: Add exception to -Wcast-align.
11135 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
11136 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
11137 fixme.
11138 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
11139 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
11140 Fix prototype.
11141
37bb97fe
VS
111422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11143
11144 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
11145 address.
11146
29a3550b
VS
111472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11148
11149 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11150 Avoid improper use of strings.
11151 (grub_cmd_legacy_initrdnounzip): Likewise.
11152
dfdffd0d
VS
111532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11154
11155 * include/grub/emu/misc.h (grub_util_warn): Add missing format
11156 attribute.
11157 (grub_util_info): Likewise.
11158 (grub_util_error): Likewise.
11159
102fae4a
VS
111602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11161
11162 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
11163 * util/grub-fstest.c (fstest): Likewise.
11164
7e94d044
VS
111652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11166
11167 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
11168 (grub_md_sha512_real): Likewise.
11169 (grub_util_get_geli_uuid): Likewise.
11170 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
11171 (grub_util_biosdisk_open): Fix format specification.
11172 Respect format security.
11173 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
11174 (xrealloc): Likewise.
11175 (xasprintf): Likewise.
11176
5ebd9769
VS
111772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11178
11179 * util/import_gcry.py: Include grub/crypto.h in init.c.
11180
495fc8c1
VS
111812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11182
11183 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
11184 (generate_image): Make prefix a const char *.
11185 Fix format specifications. Respect format security.
11186 Avoid void * arithmetics.
11187 Avoid shadowing.
11188 (argp_parser): Remove unused variable. Respect format security.
11189 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
11190 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
11191 (count_funcs): Remove unused variable.
11192 (relocate_addresses): Fix format specification.
11193 Disable x86-64 with elf32. Remove unused variables.
11194 (add_fixup_entry): Avoid shadowing.
11195 (make_reloc_section): Fix format specification.
11196 Use assert.
11197 (locate_sections): Fix format specifications.
11198 (load_image): Avoid shadowing.
11199
043c2ea3
VS
112002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11201
11202 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
11203 Fix format specifications. Respect format security.
11204 Don't translate already translated grub_errmsg.
11205 (argp_parser): Remove unused variable
11206
3ec65a81
VS
112072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11208
11209 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
11210
a4d9fe4a
VS
112112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11212
11213 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
11214 (main): Likewise. Use xmalloc. Respect format security.
11215
15b81d49
VS
112162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11217
11218 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
11219 a const char *.
11220 (argp_parser): Remove unused variable.
11221
31731fc0
VS
112222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11223
11224 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
11225 (add_pixel): Make static.
11226 (add_font): Likewise.
11227 (write_string_section): Make name and str a const char *.
11228 (write_be16_section): Make name a const char *.
11229 (print_glyphs): Make static.
11230 (write_font_ascii_bitmap): Likewise.
11231 (write_font_width_spec): Likewise.
11232 (write_font_pf2): Likewise.
11233 (argp_parser): Remove unused variable.
11234 Respect format security.
11235 (main): Avoid shadowing. Respect format security.
11236
0809527b
VS
112372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11238
11239 * util/grub-editenv.c (argp_parser): Make static.
11240 (create_envblk_file): Use xmalloc.
11241 (open_envblk_file): Likewise.
11242 Resepect format security.
11243 (set_variables): Respect format security.
11244
45b0c8b7
VS
112452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11246
11247 * util/getroot.c (grub_find_device): Respect format security.
11248 (get_mdadm_uuid): Remove unused variable.
11249 (grub_util_pull_device): Dont call gettext on already translated
11250 grub_errmsg.
11251 (find_system_device): Remove unused variable.
11252 (grub_util_get_grub_dev): Likewise.
11253 (grub_make_system_path_relative_to_its_root): Respect format security.
11254
1b024b4e
VS
112552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 * util/grub-fstest.c (execute_command): Make first argument
11258 a const char *.
11259 (read_file): Avoid shadowing.
11260 Reuse underlying error message if device open fails.
11261 (cmd_cmp): Respect format security.
11262 (root): Make const char *.
11263 (fstest): Remove args argument and use global copy.
11264 Respect format security.
11265 (argp_parser): Make static.
11266 (main): Make default_root const char *.
11267
5d1d4e28
VS
112682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11269
11270 * util/grub-mount.c (root): Make const char *.
11271 (execute_command): Make first argument a const char *.
11272 (fuse_init): Respect format security.
11273 (argp_parser): Make static. Remove unused variable.
11274 (main): Make default_root a const char *.
11275 Respect format security.
11276
36eb7379
VS
112772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11278
11279 * util/grub-probe.c (probe): Don't call gettext on already translated
11280 grub_errmsg.
11281 Remove unused variables.
11282 (argp_parser): Remove unused variable.
11283
76fb2ea9
VS
112842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11285
11286 * util/grub-script-check.c (argp_parser): Remove unused variable.
11287 (main): Rename read to curread to avoid shadowing.
11288
56c98584
VS
112892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11290
11291 * util/misc.c (grub_util_write_image_at): Fix format specification.
11292 (grub_util_write_image): Likewise.
11293 (grub_script_execute_argument_to_string): Removed (unused).
11294 (grub_script_execute_menuentry): Likewise.
11295 (grub_putchar): Likewise.
11296
164ebb48
VS
112972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11298
11299 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
11300 (FUNCTION) [GRUB_UTIL]: Likewise.
11301 (VARIABLE) [GRUB_UTIL]: Likewise.
11302
44318d61
VS
113032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11304
11305 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
11306 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
11307
31a26002
VS
113082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11309
11310 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
11311 buffer.
11312
113132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11314
11315 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
11316 (LzmaEnc_SaveState): Removed (unused).
11317 (LzmaEnc_RestoreState): Likewise.
11318 (LzmaEnc_InitPriceTables): Made static.
11319 (LzmaEnc_Construct): Likewise.
11320 (LzmaEnc_FreeLits): Likewise.
11321 (LzmaEnc_Destruct): Likewise.
11322 (LzmaEnc_Init): Likewise.
11323 (LzmaEnc_InitPrices): Likewise.
11324 (LzmaEnc_Finish): Likewise.
11325 (LzmaEnc_PrepareForLzma2): Removed (unused).
11326 (LzmaEnc_MemPrepare): Likewise.
11327 (LzmaEnc_GetNumAvailableBytes): Likewise.
11328 (LzmaEnc_GetCurBuf): Likewise.
11329 (LzmaEnc_CodeOneMemBlock): Likewise.
11330
6fa67967
VS
113312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11332
11333 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
11334 (grub_util_ldm_embed): Likewise.
11335
9a7428e6
VS
113362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11337
11338 * util/grub-editenv.c (print_var): Rename name to varname to
11339 avoid shadowing.
11340 (main): Rename index to curindex to avoid shadowing.
31a26002 11341 Make filename a const char *.
9a7428e6 11342
4f96abd1
VS
113432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11344
11345 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
11346 to arg_getline to avoid shadowing.
11347
44d10dad
VS
113482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11349
11350 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
11351 disk_ to avoid shadowing.
11352
340ba63e
VS
113532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11354
11355 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
11356 curindex to avoid shadowing.
11357 Make static.
11358 (MatchFinder_GetNumAvailableBytes): Make static.
11359
22965bce
VS
113602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11361
11362 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
11363 avoid shadowing.
11364
7b5784d4
VS
113652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11366
11367 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
11368 argument from encrypt to do_encrypt to avoid shadowing.
11369
6f48ca01
VS
113702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11371
11372 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
11373 incorrect nesting of #if's.
11374
a4ea2dff
VS
113752012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11376
11377 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
11378 checks which are always false on some platforms.
11379 (grub_cmd_lsacpi): Likewise.
11380 * grub-core/kern/misc.c (grub_strtoul): Likewise.
11381 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
11382 Likewise.
11383
def9fc1b
VS
113842012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11385
11386 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
11387 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
11388
a67b2a04
VS
113892012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11390
11391 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
11392 re_dfa_t to avoid breaking alignment invariants.
11393 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
11394 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
11395
44c6828d
VS
113962012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11397
11398 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
11399 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
11400
bebe0dd0
VS
114012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11402
11403 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
11404 Fix declaration.
11405
a9cdb3cf
VS
114062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11407
11408 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
11409 conserve alignment invariants.
11410 (grub_ehci_ehcc_read16): Likewise.
11411 (grub_ehci_oper_read32): Likewise.
11412 (grub_ehci_oper_write32): Likewise.
11413 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11414 Conserve alignment invariants.
11415
ccc3b1b8
VS
114162012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11417
11418 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
11419 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
11420 declarations.
11421
987fbd95
VS
114222012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11423
11424 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
11425 Remove unused variable.
11426
0df363f3
VS
114272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11428
11429 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
11430 Remove set in if.
11431
b2c0c4a6
VS
114322012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11433
11434 * include/grub/net.h: Remove double declarations.
11435
690c531f
VS
114362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11437
11438 Remove "payload" command in ia64 Linux loader since I couldn't
11439 find any evidence of it being used for anything.
11440 Replace "relocate" command with an environment variable
11441
11442 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
11443 fields.
11444 (ia64_boot_payload): Removed.
11445 (last_payload): Likewise.
11446 (RELOCATE_OFF): Likewise.
11447 (RELOCATE_ON): Likewise.
11448 (RELOCATE_FORCE): Likewise.
11449 (relocate): Likewise.
11450 (free_pages): Don't free payloads.
11451 (grub_load_elf64): Use common error messages.
11452 Use "linux_relocate" variable.
11453 Increase the space after boot_params.
11454 (grub_cmd_payload): Removed.
11455 (grub_cmd_relocate): Likewise.
11456 (grub_cmd_fpswa): Improve messages.
11457 (cmd_payload): Removed.
11458 (cmd_relocate): Likewise.
11459 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
11460 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
11461
01783768
VS
114622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11463
11464 Convert UHCI to DMA framework.
11465
11466 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
11467 (grub_uhci_pci_iter): Fill new members
11468 (grub_alloc_td): Use P2V and V2P functions.
11469 (grub_free_queue): Likewise.
11470 (grub_alloc_qh): Likewise.
11471 (grub_uhci_setup_transfer): Likewise.
11472 (grub_uhci_check_transfer): Likewise.
11473
43206939
VS
114742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11475
11476 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
11477 Remove assignment in if while on it.
11478
571e140e
VS
114792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11480
11481 * util/grub-mkstandalone.in: Fix modules directory.
11482
a9d96eeb
VS
114832012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11484
11485 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
11486 on i386-pc target.
11487 (argp_parser): Accept "auto" as compression specification.
11488
e4e37e8d
VS
114892012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11490
11491 Fix `help' with unloaded modules.
11492
11493 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
11494 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
11495 (grub_dyncmd_dispatcher): Small stylistic fix.
11496 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
11497 explicit help is requested.
11498
e1ea3ade
VS
114992012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11500
11501 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
11502 Explicitly init restart while on it.
11503
27556881
VS
115042012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11505
11506 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
11507 uninited variable.
11508
d65f6b36
VS
115092012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11510
11511 * util/grub-mknetdir.in: Use . rather than source for POSIX
11512 compatibility.
11513
0a1e473c
VS
115142012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11515
11516 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
11517
ce6647c8
VS
115182012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11519
11520 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
11521 variable.
11522
66747894
VS
115232012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11524
11525 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
11526 without quotes.
11527
71645f6e
VS
115282012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11529
11530 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
11531
0e1c1f61
VS
115322012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11533
11534 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
11535 iteration of partitions.
11536
9c4b5c13
VS
115372012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11538
11539 Improve gettext support. Stylistic fixes and error handling fixes while
11540 on it.
11541
215c90cb
VS
115422012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11543
11544 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
11545 part. Instead setup the correct stack in RM.
11546 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
11547 for stack.
11548 * include/grub/i386/relocator_private.h: New file.
11549
b5c1f9bf
VS
115502012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11551
11552 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
11553 argument.
11554 * util/grub-fstest.c (options): Add missing DEVICE part.
11555
b525fd83
VS
115562012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11557
11558 Clarify and unify messages.
11559
11560 * grub-core/commands/hashsum.c (options): Unify messages.
11561 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
11562 literal-only message as translatable.
11563 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
11564 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
11565 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
11566 commands.
11567 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
11568 key, not the key used to unlock. Clarify what it's used for.
11569 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
11570 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
11571 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
11572 * util/grub-editenv.c (options): Unify "verbose" message.
11573 * util/grub-fstest.c (read_file): Unify error message.
11574 (fstest): Add quotes around commands.
11575 (options): Unify "verbose" message.
11576 * util/grub-install.in: Add quotes around variable name.
11577 * util/grub-kbdcomp.in: Unify error message.
11578 * util/grub-mkfont.c (main): Likewise.
11579 * util/grub-mkrescue.in: Likewise.
11580 * util/grub-mklayout.c (options): Unify "verbose" message.
11581 * util/grub-mkstandalone.in: Unify help and verbose messages.
11582 * util/grub-mount.c (options): Unify "verbose" message.
11583 * util/grub-probe.c (options): Likewise.
11584 * util/grub-script-check.c (options): Likewise.
11585 * util/grub-setup.c (setup): Unify no-terminator message.
11586 (options): Use DEVICE and not DEV.
11587 Unify "verbose" message.
11588 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
11589
0ae70393
VS
115902012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11591
11592 Improve and unify messages.
11593
11594 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
11595 name. All users updated.
11596 Print filename in error.
11597 (read_device_map): Print filename in error.
11598 * util/getroot.c (grub_guess_root_devices): Print filename in error.
11599 (grub_util_get_os_disk): Likewise.
11600 (grub_util_biosdisk_get_grub_dev): Likewise.
11601 (grub_util_check_block_device): Likewise.
11602 (grub_util_check_char_device): Likewise.
11603 (grub_make_system_path_relative_to_its_root): Likewise.
11604 * util/grub-editenv.c (create_envblk_file): Likewise.
11605 (open_envblk_file): Likewise.
11606 (write_envblk): Likewise.
11607 * util/grub-fstest.c (cmd_cp): Likewise.
11608 (cmd_cat): Likewise.
11609 (cmd_cmp): Likewise.
11610 * util/grub-menulst2cfg.c (main): Likewise.
11611 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
11612 (write_font_width_spec): Likewise.
11613 (write_font_pf2): Likewise.
11614 * util/grub-mkimage.c (generate_image): New argument outname.
11615 All users updated.
11616 Remove unreacheable message.
11617 (options): Unify messages.
11618 (help_filter): Likewise.
11619 * util/grub-mklayout.c (usage): Removed (unused).
11620 (main): Print filename in error.
11621 * util/grub-mkrescue.in: Fix wrong quoting.
11622 * util/grub-setup.c (setup): Print filename in error.
11623 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
11624 (check_sas): Likewise.
11625 * util/misc.c (grub_util_get_fp_size): Removed.
11626 (grub_util_get_image_size): Print filename in error.
11627 (grub_util_read_at): Removed.
11628 (grub_util_read_image): Print filename in error.
11629 (grub_util_load_image): Likewise.
11630 (grub_util_write_image_at): New argument filename. All users updated.
11631 Print filename in error.
11632 (grub_util_write_image): New argument filename. All users updated.
11633 Print filename in error.
11634 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
11635 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
11636
0a96117d
VS
116372012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11638
11639 * grub-core/Makefile.core.def (pxechain): New module.
11640 * grub-core/loader/i386/pc/pxechainloader.c: New file.
11641 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
11642 function.
11643 (grub_pc_net_config_real): Use grub_pxe_get_cached.
11644 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
11645
aca002f7
VS
116462012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11647
11648 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
11649 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
11650 * include/grub/err.h (grub_error_saved): New struct.
11651 (grub_errmsg): Make array size explicit.
11652 * include/grub/misc.h (grub_error_save): New function.
11653 (grub_error_load): Likewise.
11654 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
11655 (grub_error_push): Update `errno' member name.
11656 (grub_error_pop): Likewise
11657 * grub-core/net/tftp.c (tftp_data): New member save_err.
11658 (tftp_receive): Save error.
11659 (tftp_open): Restore error.
11660
a51dab13
VS
116612012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11662
11663 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
11664 to real mode down to execute A20-related code in protected mode as
11665 intended.
11666
eb6e6649
GS
116672012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
11668
11669 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
11670 NULL when the argument `level' has an unexpected value.
11671
92cd0f6e
VS
116722012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11673
11674 Move platform-dependent files from $prefix to $prefix/$platform.
11675
11676 * config.h.in (GRUB_TARGET_CPU): New definition.
11677 (GRUB_PLATFORM): Likewise.
11678 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
11679 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
11680 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11681 * grub-core/kern/dl.c (grub_dl_load): Likewise.
11682 * grub-core/normal/autofs.c (read_fs_list): Likewise.
11683 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
11684 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
11685 * grub-core/normal/term.c (read_terminal_list): Likewise.
11686 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
11687 $prefix/locale.
11688 (grub_gettext_init_ext): Likewise.
11689 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
11690 grub_platform.
11691 * util/grub-install.in: Update directories.
11692 * util/grub-mknetdir.in: Likewise.
11693 * util/grub-mkrescue.in: Likewise.
11694
db606889
VS
116952012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11696
11697 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
11698 grub_error framework. All users updated.
11699
c39992a4
VS
117002012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
11703 lists (by always binsearching), improve caching (cache strings
11704 used for binsearch, not only results), improve
11705 maintainability (by using more structured binary search) and correct
11706 error handling.
11707
1e5ec32f
VS
117082012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11709
11710 * grub-core/script/execute.c (grub_script_return): Fix warning.
11711
ac576cde
VS
117122012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11713
11714 * grub-core/script/execute.c (grub_script_return): Fix potential
11715 NULL-dereference.
11716 Reported by: Jim Meyering.
11717
498453f6
VS
117182012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11719
11720 * po/POTFILES.in: Regenerate.
11721 * util/grub-install.in: Gettextize the strings missed in first pass.
11722
8be63f2e
VS
117232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11724
11725 * Makefile.util.def (grub-mkdevicemap): Removed.
11726 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
11727 * include/grub/util/deviceiter.h: Removed.
11728 * util/deviceiter.c: Likewise.
11729 * util/getroot.c (grub_util_get_os_disk): New function.
11730 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
11731 replacement for EFI.
11732 * util/grub-mkdevicemap.c: Removed.
11733 * util/grub-probe.c (probe): Handle PRINT_DISK.
11734 (argp_parser): Handle -t disk.
11735
8e1e4e39
VS
117362012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11737
11738 * util/grub-mkfont.c: Migrate to argp.
11739 * util/grub-mklayout.c: Likewise.
11740 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11741 * util/grub-mkrelpath.c: Likewise.
11742 * util/grub-probe.c: Likewise.
11743 * util/grub-script-check.c: Likewise.
11744
4459819a
VS
117452012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11746
11747 * util/grub-reboot.in: Add missing datarootdir.
11748 Add missing newline.
11749 * util/grub-set-default.in: Add missing datarootdir.
11750 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
11751 * util/grub-mkrescue.in: Likewise.
11752
f65741c7
VS
117532012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11754
11755 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
11756
c1a33466
VS
117572012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11758
11759 * util/grub-kbdcomp.in: Add decent help and gettextize.
11760 * docs/man/grub-kbdcomp.h2m: New file.
11761
c76899a0
VS
117622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11763
11764 Migrate grub-mkimage.c to argp.
11765
11766 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
11767 (grub-setup): Likewise.
11768 * util/grub-setup.c (print_version): Move to ...
11769 * util/argp_common.c (print_version): ... here.
11770 * util/grub-setup.c (argp_program_version_hook): Move to ...
11771 * util/argp_common.c (argp_program_version_hook): ... here.
11772 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
11773 safety.
11774 * util/grub-mkimage.c (main): Migrate to argp.
11775
57db0757
VS
117762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11777
11778 * util/grub-mkrescue.in: Use same message as
11779 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
11780 for better translations.
11781
18534ad9
VS
117822012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11783
11784 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
11785 options with generic grub-mkrescue.in with the goal of future
11786 merge.
11787
c84ba308
VS
117882012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11789
11790 * grub-core/kern/mm.c: Add missing include of i18n.h
11791 * grub-core/lib/relocator.c: Likewise.
11792
347998c2
VS
117932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11794
11795 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
11796 error.
11797 (allocate_pages): Check return value.
11798 Replace fatal with error.
11799 (grub_linux_boot): Replace printf with dprintf.
11800 Check find_mmap_size return value.
11801 Replace fatal with error.
11802 Don't call grub_machine_fini.
11803 (grub_load_elf64): Replace printf with dprintf.
11804 (grub_cmd_linux): Likewise.
11805 (grub_cmd_initrd): Likewise.
11806 (grub_cmd_payload): Likewise.
11807
c779226e
VS
118082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11809
11810 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
11811 message.
11812 * grub-core/video/radeon_fuloong2e.c
11813 (grub_video_radeon_fuloong2e_setup): Likewise.
11814 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
11815 * grub-core/video/video.c (grub_video_set_mode): Don't override
11816 standard out of memory message.
11817
dc87d45a
GS
118182012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11819
11820 NetBSD disk wedge support.
11821
11822 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
11823 [__NetBSD__]: Handle NetBSD disk wedges.
11824 * util/getroot.c (convert_system_partition_to_system_disk)
11825 [__NetBSD__]: Likewise.
11826
055f856f
MW
118272012-02-03 Mark Wooding <mdw@distorted.org.uk>
11828
11829 * util/grub-mkconfig.in: Use umask rather than chmod to create
11830 grub.cfg.new to avoid insecure grub.cfg.
11831
4a9f8346
VS
118322012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11833
11834 * grub-core/commands/ls.c: Gettextize.
11835 * grub-core/commands/setpci.c: Likewise.
11836 * grub-core/commands/videotest.c: Likewise.
11837 * grub-core/disk/geli.c: Likewise.
11838 * grub-core/kern/mm.c: Likewise.
11839 * grub-core/lib/relocator.c: Likewise.
11840 * grub-core/loader/efi/appleloader.c: Likewise.
11841 * grub-core/loader/i386/xnu.c: Likewise.
11842 * grub-core/loader/ia64/efi/linux.c: Likewise.
11843 * grub-core/loader/xnu.c: Likewise.
11844 * grub-core/net/dns.c: Likewise.
11845 * grub-core/net/net.c: Likewise.
11846 * grub-core/script/lexer.c: Likewise.
11847 * grub-core/script/parser.y: Likewise.
11848 * grub-core/script/yylex.l: Likewise.
11849 * util/getroot.c: Likewise.
11850 * util/grub-setup.c: Likewise.
11851
a646a366
VS
118522012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11853
11854 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
11855 number.
11856
54e2be26
VS
118572012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11858
11859 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
11860
f7c71e68
VS
118612012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11862
11863 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
11864 macro.
11865 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
11866 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
11867
a32d5c71
VS
118682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11869
11870 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
11871 * util/grub-install.in: Gettextize.
11872 * util/grub-mkconfig.in: Likewise.
11873 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
11874 if not available.
11875 (grub_warn): Gettextize.
11876 * util/grub-mknetdir.in: Gettextize.
11877 * util/grub-mkrescue.in: Likewise.
11878 * util/grub-mkstandalone.in: Likewise.
11879 * util/grub-reboot.in: Likewise.
11880 * util/grub-set-default.in: Likewise.
11881 * util/grub.d/00_header.in: Likewise.
11882 * util/grub.d/10_hurd.in: Likewise.
11883 * util/grub.d/10_kfreebsd.in: Likewise.
11884 * util/grub.d/10_linux.in: Likewise.
11885 * util/grub.d/10_netbsd.in: Likewise.
11886 * util/grub.d/10_windows.in: Likewise.
11887 * util/grub.d/20_linux_xen.in: Likewise.
11888 * util/grub.d/30_os-prober.in: Likewise.
11889 * po/POTFILES-shell.in: Regenerate.
11890
69edd81a
RL
118912012-02-03 Richard Laager <rlaager@wiktel.com>
11892
11893 * util/grub-mkimage.c (main): Fix format-security warning.
11894 * util/grub-mkrelpath.c (main): Likewise.
11895 * util/grub-probe.c (main): Likewise.
11896
65f08dbf
RL
118972012-02-03 Richard Laager <rlaager@wiktel.com>
11898
11899 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
11900 failure.
11901 Put back lost PRINT_DRIVE.
11902
e9084abe
RL
119032012-02-03 Richard Laager <rlaager@wiktel.com>
11904
11905 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
11906 (grub_guess_root_devices): Replace strlen with sizeof.
11907 Avoid crash.
11908 (find_root_devices_from_poolname): Remove unused variable.
11909 Handle raidzN.
11910
cf5f7ee7
VS
119112012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11912
11913 Support install on multi-device filesystems.
11914
11915 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
11916 (grub_guess_root_devices): ...this. Return char **. All users updated.
11917 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
11918 Removed.
11919 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
11920 (find_root_devices_from_poolname): ... here.
11921 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
11922 Support zfs-fuse.
11923 (grub_guess_root_device): Rename to ...
11924 (grub_guess_root_devices): ... this. Return char **. All users updated.
11925 * util/grub-install.in: Handle multi-device filesystems.
11926 * util/grub-probe.c (probe). Make device_names a char **. Add delim
11927 argument. All users updated.
11928 Handle multi-device filesystems.
11929 Use 'delim' as separator.
11930 Remove device check to allow filesystems on file.
11931 (main): Support -0 argument. Handle multi-device.
11932 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
11933 Fix a cross-device check while on it.
11934 (arguments): Remove root_dev.
11935 (argp_parser): Remove -r.
11936 (main): Remove root_dev.
11937
2f53a9ed
VS
119382012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11939
11940 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
11941
17e1d934
VS
119422012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11943
11944 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
11945 symbol.
11946 Reported by: NODA, Kai <nodakai>.
11947
d3e3fab5
VS
119482012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11949
11950 Fix ehci on amd64.
11951
11952 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
11953 pointers.
11954 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
11955 (grub_ehci_setup_qh): Likewise.
11956 (grub_ehci_find_qh): Likewise.
11957 (grub_ehci_transaction): Likewise.
11958 (grub_ehci_setup_transfer): Likewise.
11959 (grub_ehci_check_transfer): Likewise.
11960 (grub_ehci_portstatus): Likewise.
11961 (grub_ehci_detect_dev): Likewise.
11962 (grub_ehci_transfer_controller_data): New field td_last_phys.
11963 (grub_ehci_setup_transfer): Fill td_last_phys.
11964 (grub_ehci_check_transfer): Use td_last_phys.
11965
3008675b
SG
119662012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
11967
11968 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
11969 if no submenu is present.
11970
fc9b5652
AN
119712012-02-01 Aleš Nesrsta <starous@volny.cz>
11972
11973 CBI support.
11974
11975 * include/grub/usb.h (grub_usbms_protocol_t): New values
11976 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
11977 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
11978 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
11979 (grub_usbms_dev): Add subclass, protocol and intrpt.
11980 Remove in_maxsz and out_maxsz.
11981 (grub_usbms_reset): Rename to ...
11982 (grub_usbms_bo_reset): .. this.
11983 (grub_usbms_cbi_cmd): New function.
11984 (grub_usbms_cbi_reset): Likewise.
11985 (grub_usbms_reset): Likewise.
11986 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
11987 (grub_usbms_transfer): Rename to ...
11988 (grub_usbms_transfer_bo): ... this.
11989 (grub_usbms_transfer_cbi): Likewise.
11990 (grub_usbms_transfer): Likewise.
11991
a2b81d53
AN
119922012-02-01 Aleš Nesrsta <starous@volny.cz>
119932012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11994
11995 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
11996 the support for the CS5536 modification thereos and few bugfixes.
11997
11998 * grub-core/Makefile.core.def (ehci): New module.
11999 * grub-core/bus/usb/ehci.c: New file.
12000 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
12001 port and hubaddr. All users updated.
12002 Save port and hubaddr into dev structure.
12003 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
12004 define.
12005 * include/grub/pci.h (grub_dma_phys2virt): New function.
12006 (grub_dma_virt2phys): Likewise.
12007 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
12008
b1d51f02
VS
120092012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12010
12011 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
12012 check as some mkfs implementations omit it.
12013
fc694106
VS
120142012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12015
12016 * docs/grub.texi (Unicode): Mention identifier and space limitations.
12017
6c0920e3
VS
120182012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12019
12020 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
12021 Add new member volname2.
12022 (grub_jfs_label): Use volname2 if available.
12023
d1a46f9a
VS
120242012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12025
12026 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
12027 over last_mounted as seen in image generated by mkfs.nilfs2.
12028 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
12029
dec8ed14
VS
120302012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12031
12032 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
12033 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
12034 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
12035
7397c69b
VS
120362012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12037
12038 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
12039 over the sector.
12040
b3fe42ad
VS
120412012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12042
12043 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
12044 subvolume name (by removing a bogus and useless check).
12045
10476bb0
VS
120462012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12047
12048 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
12049 sizeof while on it.
12050
9c08ad87
VS
120512012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12052
12053 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
12054 (grub_scsi_read_capacity10): ... this.
12055 (grub_scsi_read_capacity16): New function.
12056 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
12057 0xffffffff.
12058 Fix off-by-one error.
12059 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
12060 64-bit unsigned.
12061 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
12062 (grub_scsi_read_capacity10): ... this.
12063 (grub_scsi_read_capacity_data): Rename to ...
12064 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
12065 (grub_scsi_read_capacity16): New struct.
12066 (grub_scsi_read_capacity16_data): Likewise.
12067 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
12068 grub_scsi_cmd_read_capacity10.
12069 New command grub_scsi_cmd_read_capacity16.
12070
bc8d0f45
VS
120712012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12072
12073 SCSI >2TiB support.
12074
12075 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
12076 (grub_scsi_write16): Likewise.
12077 (grub_scsi_read): Use read16 when necessary.
12078 (grub_scsi_write): Likewise.
12079 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
12080 (grub_scsi_write16): Likewise.
12081 (grub_scsi_cmd_t): Add READ16 and WRITE16.
12082
cc774926
VS
120832012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12084
12085 SCSI write support (for usbms mainly).
12086
12087 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
12088 a const pointer.
12089 (grub_scsi_write): Implement.
12090 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
12091
67639fd7
VS
120922012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12093
12094 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
12095 variable.
12096
9079d3ed
VS
120972012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12098
12099 * grub-core/lib/posix_wrap/string.h (memchr): New function.
12100
c6a6f204
VS
121012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12102
12103 * po/POTFILES.in: Regenerate.
12104
ecbf8cd1
VS
121052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12106
12107 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
12108 with grub_printf to avoid unnecessary fatal failure.
12109
0b3b3b38
VS
121102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12111
12112 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
12113 (INT_MAX): Likewise.
12114 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
12115 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
12116 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
12117 (strcpy): Likewise.
12118 (strstr): Likewise.
12119 (strchr): Likewise.
12120 (strncpy): Likewise.
12121 (strcat): Likewise.
12122 (strncat): Likewise.
12123 (strcoll): Likewise.
12124 * include/grub/types.h (GRUB_SHRT_MAX): New define.
12125 (GRUB_INT_MAX): Likewise.
12126
db7337a3
VS
121272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12128
12129 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
12130 unexpected error.
12131 (optimize_utf8): Likewise.
12132 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
12133
f37c87e1
VS
121342012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12135
12136 * grub-core/boot/i386/pc/lnxboot.S: Use
12137 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
12138 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
12139 location.
12140 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
12141 definition.
12142 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
12143
63fe43f3
VS
121442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12145
12146 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
12147 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
12148 now to avoid double free.
12149 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
12150 hostdisk.
12151 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
12152 * util/grub-probe.c (escape_of_path): Always return a new copy.
12153 (print_full_name): Escape path.
12154 (probe): Don't call grub_util_devname_to_ofpath on NULL.
12155 Fix hints on abstractions.
12156
ebe2c961
VS
121572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12158
12159 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
12160 Don't add "root" line if no compatibility hont is available.
12161 Suggested by: Seth Goldberg.
12162
2b5336a2
VS
121632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12164
12165 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
12166 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
12167 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
12168 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
12169
74310bd8
VS
121702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12171
12172 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
12173
c30582ba
VS
121742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12175
12176 * util/grub-pe2elf.c (ehdr): Make static.
12177 (shdr): Likewise.
12178 (num_sections): Likewise.
12179 (offset): Likewise.
12180
5f47782c
VS
121812012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12182
12183 Eliminate ofpath limits and possible overflows.
12184
12185 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
12186 (OF_PATH_MAX): Removed.
12187 (MAX_DISK_CAT): New const.
12188 (find_obppath): Use allocated rather than preallocated buffer.
12189 Return result. Argument of_path removed. All users updated.
12190 Add missing fdstat.
12191 (xrealpath): New function.
12192 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
12193 Allocate rather than use preallocated buffer. All users updated.
12194 (__of_path_common): Use allocated rather than preallocatecd buffer.
12195 Return result. Argument of_path removed. All users updated.
12196 (vendor_is_ATA): Read only needed part form the file.
12197 (check_sas): Allocate depending on contents rather than fixed.
12198 (main) [STANDALONE]: Handle NULL result.
12199
f990cbf9
VS
122002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12201
12202 * grub-core/normal/completion.c (iterate_dev): Close the disk.
12203
9c6e84b8
VS
122042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12205
12206 Cryptodisk write support.
12207
12208 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
12209 (grub_cryptodisk_decrypt): Moved logic to ...
12210 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
12211 (grub_cryptodisk_write): Implement.
12212 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
12213 (grub_util_fd_write): ... this. Make global.
12214 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
12215
87cf9744
VS
122162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12217
12218 * include/grub/list.h (grub_list_remove): Don't crash if element is
12219 removed twice.
12220
ca8c0baf
VS
122212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12222
12223 Rename ofconsole to console.
12224
12225 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
12226 as sysnonym to console.
12227 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
12228 * grub-core/term/ieee1275/console.c: ... this. All users updated.
12229 Rename grub_ofconsole_ to grub_console_. All users updated
12230 (grub_console_term_output): Rename "ofconsole" to "console".
12231 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
12232 as "console".
12233
64c8b8f6
VS
122342012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12235
12236 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
12237 handling.
12238 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
12239 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
12240 GRUB_DISK_DEVICE_FILE_ID.
12241
f6c434d5
VS
122422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12243
12244 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
12245 and improve performance.
12246
5858b42d
VS
122472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12248
12249 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
12250 missing ieee1275/ prefix on whole disk.
12251
4ed3c26b
VS
122522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12253
12254 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
12255 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
12256
df71143e
VS
122572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12258
12259 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
12260
076e7c0f
VS
122612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12262
12263 Merge common RAID and LVM logic to an abstract diskfilter.
12264 Add LDM support using the same framework.
12265
12266 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
12267 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
12268 (libgrubmods): Remove grub-core/disk/raid.c and
12269 grub-core/partmap/gpt.c.
12270 * grub-core/Makefile.core.def (ldm): New module.
12271 (raid): Renamed to diskfilter. All users updated.
12272 * grub-core/disk/raid.c: Moved to ...
12273 * grub-core/disk/diskfilter.c: ... here.
12274 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
12275 (lv_num): New var.
12276 (find_array): Renamed to ...
12277 (find_lv): ... this. Support multi-LV. Skip nameless LVs
12278 (grub_is_array_readable): Renamed to ...
12279 (grub_is_lv_readable): ... this. Support multinode hierarchy.
12280 (insert_array): New argument id.
12281 (is_node_readable): New function.
12282 (scan_device): Rename to ...
12283 (scan_disk): .. this. Restrict to one disk.
12284 (scan_devices): New function.
12285 (grub_diskfilter_iterate): Support multi-LV.
12286 Skip invisible and nameless LVs.
12287 (grub_diskfilter_memberlist): Support multi-LV.
12288 (grub_diskfilter_read_node): New function.
12289 (grub_raid_read): Most of logic moved to ...
12290 (read_segment): ... here
12291 (read_lv): New function.
12292 (grub_diskfilter_get_vg_by_uuid): New function.
12293 (grub_diskfilter_make_raid): Likewise.
12294 * grub-core/disk/ldm.c: New file.
12295 * grub-core/disk/lvm.c (vg_list): Removed.
12296 (lv_count): Likewise.
12297 (scan_depth): Likewise.
12298 (is_lv_readable): Likewise.
12299 (grub_lvm_getvalue): Advance pointer past the number.
12300 (find_lv): Removed.
12301 (do_lvm_scan): Refactored into ...
12302 (grub_lvm_detect): ... this. Support raid.
12303 (grub_lvm_iterate): Removed.
12304 (grub_lvm_memberlist): Likewise.
12305 (grub_lvm_open): Likewise.
12306 (grub_lvm_close): Likewise.
12307 (read_lv): Likewise.
12308 (read_node): Likewise.
12309 (is_node_readable): Likewise.
12310 (is_lv_readable): Likewise.
12311 (grub_lvm_read): Likewise.
12312 (grub_lvm_write): Likewise.
12313 (grub_lvm_dev): Use diskfilter
12314 (GRUB_MOD_INIT): Likewise.
12315 (GRUB_MOD_FINI): Likewise.
12316 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
12317 new interface.
12318 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
12319 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12320 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
12321 grub_diskfilter_read_node.
12322 Fix a bug with xor.
12323 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
12324 grub_diskfilter_read_node.
12325 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
12326 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
12327 (grub_disk_dev_iterate): Move from here...
12328 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
12329 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
12330 Make global.
12331 (grub_hostdisk_find_partition_start): Likewise.
12332 (grub_hostdisk_os_dev_to_grub_drive): New function.
12333 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
12334 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
12335 * util/getroot.c (make_device_name): ... here.
12336 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
12337 Move to ...
12338 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
12339 * grub-core/kern/emu/hostdisk.c
12340 (convert_system_partition_to_system_disk): Move to ...
12341 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
12342 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
12343 * util/getroot.c (device_is_wholedisk): ... here.
12344 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
12345 * util/getroot.c (find_system_device): ... here.
12346 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
12347 Move to ...
12348 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
12349 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12350 Move to ...
12351 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
12352 Handle LDM.
12353 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12354 Move to ...
12355 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
12356 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
12357 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
12358 DISKFILTER.
12359 * include/grub/raid.h: Renamed to ...
12360 * include/grub/diskfilter.h: ... this.
12361 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
12362 (GRUB_RAID_LAYOUT_*): Make into array.
12363 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
12364 (grub_diskfilter_vg): New struct.
12365 (grub_diskfilter_pv_id): Likewise.
12366 (grub_raid_member): Removed.
12367 (grub_raid_array): Likewise.
12368 (grub_diskfilter_pv): New struct.
12369 (grub_diskfilter_lv): Likewise.
12370 (grub_diskfilter_segment): Likewise.
12371 (grub_diskfilter_node): Likewise.
12372 (grub_diskfilter_get_vg_by_uuid): New proto.
12373 (grub_raid_register): Inline.
12374 (grub_diskfilter_unregister): Likewise.
12375 (grub_diskfilter_make_raid): New proto.
12376 (grub_diskfilter_vg_register): Likewise.
12377 (grub_diskfilter_read_node): Likewise.
12378 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
12379 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
12380 (grub_util_is_ldm): Likewise.
12381 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
12382 (grub_hostdisk_find_partition_start): Likewise.
12383 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
12384 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
12385 New definition.
12386 (grub_gpt_partition_map_iterate): New proto.
12387 * include/grub/lvm.h (grub_lvm_vg): Removed.
12388 (grub_lvm_pv): Likewise.
12389 (grub_lvm_lv): Likewise.
12390 (grub_lvm_segment): Likewise.
12391 (grub_lvm_node): Likewise.
12392 * util/getroot.c [...]
12393 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
12394 (probe_abstraction): Likewise.
12395 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
12396 (main): Remove dead logic.
12397
8a7f9b9c
VS
123982012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
12399
12400 Simplify root device discover and don't fail when trying to open
12401 incorrect devices.
12402
12403 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
12404 function.
12405 (get_diskname_from_path): Likewise.
12406 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
12407 of iterating.
12408
30545b85
VS
124092012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12410
12411 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
12412
28ea58cf
VS
124132012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12414
12415 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
12416 pastthe end.
12417
692dabca
VS
124182012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12419
12420 * util/grub-install.in: Add missing \.
12421 Reported by: gentoofan
12422
f6e4ea70
VS
124232012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
12424
12425 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
12426 (direct_read): Use correct compressed size.
12427 (grub_squash_read_data): Likewise.
12428
124292012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
12430
12431 * docs/grub.texi (Platform limitations): New section.
12432 (Platform-specific operations): Likewise.
12433 * docs/grub-dev.texi (Porting): Likewise.
12434
76261110
VS
124352012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12436
12437 IEEE1275 disk write support.
12438
12439 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
12440 const void *.
12441 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
12442 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
12443 and seek loginc to ...
12444 (grub_ofdisk_prepare): ... here.
12445 (grub_ofdisk_write): Implement.
12446
fc36d603
VS
124472012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12448
12449 ARC disk write support.
12450
12451 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
12452 (reopen): New argument writable. All users updated.
12453 Handle required access mode.
12454 (grub_arcdisk_write): Implement.
12455 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
12456 (grub_arc_firmware_vector): Make buffer to write a const buffer.
12457
e06c2e7a
VS
124582012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12459
12460 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
12461 (read_sblock): Don't attempt to read superblocks outside the disk size.
12462
ff447958
VS
124632012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12464
12465 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
12466 first superblock to find the second one when possible.
12467
9e88df39
VS
124682012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12469
12470 * util/grub-install.in: Fix an ARC bug.
12471 Print a warning if no platform-specific setup is available.
12472
bb26e4ff
VS
124732012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12474
12475 Use static allocation rather than scratch pointer in reed_solomon.
12476 It decreases its size significantly and avoids a variable in .text.
12477
12478 * grub-core/lib/reed_solomon.c (scratch): Removed.
12479 (chosenstat): New const or static array.
12480 (sigma): Likewise.
12481 (errpot): Likewise.
12482 (errpos): Likewise.
12483 (sy): Likewise.
12484 (mstat): Likewise.
12485 (errvals): Likewise.
12486 (eqstat): Likewise.
12487 (pol_evaluate): Replace x with log_x argument. All users updated.
12488 (syndroms): Removed.
12489 (gauss_solve): Use statically allocated arrays.
12490 (rs_recover): Likewise.
12491 Calculate syndroms directly.
12492 (decode_block): Use statically allocated arrays.
12493 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
12494 (main) [TEST]: Allow -DTEST -DSTANDALONE.
12495
2e13ede5
VS
124962012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12497
12498 Eliminate fixed limit on reed solomon decoder length.
12499
12500 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
12501 rather than hardcoding the address.
12502 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
12503 no_reed_solomon_length.
12504 Move gate_a20 to no-reed-solomon part.
12505 Don't force a particular size of no reed-solomon part.
12506 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
12507 Removed.
12508 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
12509 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
12510
f8a9ab12
VS
125112012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12512
12513 * grub-core/commands/wildcard.c (match_files): Handle filenames
12514 without explicit device.
12515 (wildcard_expand): Don't add explicit device if not already present.
12516 * tests/grub_script_echo1.in: Add a new expansion test.
12517
87edb894
VS
125182012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12519
12520 Replace single-linked with double-linked lists. It results in more
12521 compact and more efficient code.
12522
12523 * grub-core/kern/list.c (grub_list_push): Moved from here ...
12524 * include/grub/list.h (grub_list_push): ... to here. Set prev.
12525 (grub_list_remove): Moved from here ...
12526 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
12527 (grub_prio_list_insert): Set prev.
12528 * include/grub/list.h (grub_list): Add prev. All users updated.
12529
48b391e9
VS
125302012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12531
12532 Handle newer autotools. Add some missing quotes while on it.
12533
12534 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
12535 (pkglib_DATA): Move grub-mkconfig_lib from here ...
12536 (pkgdata_DATA): ... here.
12537 * Makefile.util.def (update-grub_lib): Removed.
12538 * conf/Makefile.common (pkglib_DATA): Removed.
12539 (pkglib_SCRIPTS): Likewise.
12540 (pkgdata_DATA): New variable.
12541 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
12542 needed.
12543 Add missing quotes.
12544 Remove unused variable while on it.
12545 * tests/util/grub-shell.in: Likewise.
12546 * util/grub-install.in: Likewise.
12547 * util/grub-mkconfig.in: Likewise.
12548 * util/grub-mknetdir.in: Likewise.
12549 * util/grub-mkrescue.in: Likewise.
12550 * util/grub-mkstandalone.in: Likewise.
12551 * util/grub.d/00_header.in: Likewise.
12552 * util/grub.d/10_hurd.in: Likewise.
12553 * util/grub.d/10_illumos.in: Likewise.
12554 * util/grub.d/10_kfreebsd.in: Likewise.
12555 * util/grub.d/10_linux.in: Likewise.
12556 * util/grub.d/10_netbsd.in: Likewise.
12557 * util/grub.d/10_windows.in: Likewise.
12558 * util/grub.d/20_linux_xen.in: Likewise.
12559 * util/grub.d/30_os-prober.in: Likewise.
12560 * util/update-grub_lib.in: Removed.
12561
125622012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
12563
12564 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
12565 a workaround for intel problem.
12566
66832792
PRP
125672012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
125682012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
125692012-01-23 pfsmorigo
12570
12571 * util/grub-install.in: Support dd'in into PreP partition.
12572 * util/grub-probe.c (probe): Support discovering partition type.
12573 (main): Support -t msdos_parttype.
12574
7816a17e
VS
125752012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
12576
12577 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
12578 infinite recursion using counter.
12579 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
12580 init to skip it if the magic check fails.
12581 (dec_stream_header): Init s->crc32.
12582
8f9d3a8c
ZB
125832012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
125842012-01-22 Zachary Bedell <pendorbound@gmail.com>
125852012-01-22 Richard Laager <rlaager@wiktel.com>
12586
12587 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
12588 All users updated.
12589 (find_bestub): Determine correct size.
12590 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
12591 (scan_disk): Align the size down.
12592 Call check pool before find_bestub to have ashift.
12593
b055dd32
VS
125942012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12595
12596 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
12597 dprintf in no-malloc zone.
12598
d779e9bd
ML
125992012-01-22 Mario Limonciello <mario_limonciello@dell.com>
12600
12601 * configure.ac: Add back in test for limits.h.
12602
b508af69
VS
126032012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12604
12605 Support 4K-sector NTFS.
12606
12607 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
12608 (grub_ntfs_data): Remove blocksize.
12609 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
12610 Remove data argument. All users updated.
12611
dad9c8b5
VS
126122012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12613
12614 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
12615 being in .text to avoid dprel references.
12616 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
12617 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
12618 (grub_arch_highmemsize): Likewise.
12619 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
12620 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
12621 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
12622
d43a777e
VS
126232012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12624
12625 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
12626
12627 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
12628 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
12629
34e4208f
VS
126302012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12631
12632 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
12633 GRUB_UTIL.
12634 (grub_set_datetime_cmos): Likewise.
12635
3ec0fc1c
VS
126362012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12637
12638 Make XZ compression parameters dependent on target and not host CPU.
12639
12640 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
12641 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
12642
22489834
VS
126432012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12644
12645 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
12646 set but not used variable.
12647
8502fbca
VS
126482012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12649
12650 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
12651 created when no uuid support is compiled into mkfs.reiser.
12652
76df2068
VS
126532012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12654
12655 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
12656 (utf8_to_macroman): Do the opposite.
12657 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
12658
64e3f8f6
VS
126592012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12660
12661 * configure.ac: Refise build qemu_mips w/o unifont.
12662
9c271078
VS
126632012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12664
12665 Eliminate grub_min/grub_max prone to overflow usage.
12666
12667 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
12668 (poll_nonroot_hub): Likewise.
12669 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
12670 (grub_affs_label): Likewise.
12671 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
12672 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
12673 (grub_hfs_label): Likewise.
12674 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
12675 * grub-core/fs/zfs/zfs.c (MIN): Remove.
12676 (zap_leaf_array_equal): Use grub_size. Remove MIN.
12677 (zap_leaf_array_get): Likewise.
12678 (dnode_get_path): Likewise.
12679 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
12680 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
12681 * grub-core/script/execute.c (grub_script_break): Likewise.
12682 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
12683 grub_max.
12684 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
12685 * include/grub/misc.h (grub_min): Removed.
12686 (grub_max): Likewise.
12687
80662dbc
VS
126882012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12689
12690 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
12691 direct.inode = 0.
12692
e6da1467
VS
126932012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12694
12695 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
12696
b1ac4cb1
VS
126972012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12698
12699 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
12700
b4bf7c3b
VS
127012012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12702
12703 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
12704 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
12705
8ee1101a
VS
127062012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12707
12708 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
12709 rather than a hack for grub_strncasemap.
12710
127112012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12712
12713 Support multiple initrds
12714 Note: part of this was accidently committed in r3739.
12715
12716 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
12717 initrd.
12718 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
12719 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
12720 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12721 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12722 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12723
4d1e2bc9
VS
127242012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12725
12726 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
12727 disks with unknown size.
12728 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
12729
75b49ebe
VS
127302012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12731
12732 Remove defines pertaining to arbitrary limits not affecting GRUB
12733 anymore.
12734
12735 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
12736 (EXT2_MAX_SYMLINKCNT): Likewise.
12737 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
12738 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
12739 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
12740 (GRUB_PXE_MAX_BLKSIZE): Likewise.
12741 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
12742 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
12743 (DN_MAX_OBJECT_SHIFT): Likewise.
12744 (DN_MAX_OFFSET_SHIFT): Likewise.
12745 (DN_MAX_OBJECT): Likewise.
12746 (DNODES_PER_LEVEL_SHIFT): Likewise.
12747 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
12748 (SPA_MAXBLOCKSIZE): Likewise.
12749 (SPA_BLOCKSIZES): Likewise.
12750 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
12751 (MZAP_MAX_BLKSZ): Likewise.
12752
74a1dce7
VS
127532012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12754
12755 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
12756 handle NULL appropriately.
12757 Remove MIN.
12758
30c7d3ce
VS
127592012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12760
12761 Fix efiemu.
12762
12763 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
12764 cpu/types.h.
12765 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
12766 * configure.ac: Fix efiemu check.
12767
3c76ea0c
VS
127682012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12769
12770 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
12771 grub_probe.
12772 Reported by: adamwill
12773
7e532280
SG
127742012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
12775
12776 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
12777
30492374
VS
127782012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12779
12780 Fix handling of wide characters in gfxterm.
12781
12782 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
12783 (clear_char): Likewise.
12784 (paint_char): Skip code == NULL chars.
12785 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
12786
e70cb72f
VS
127872012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12788
12789 * grub-core/normal/charset.c: Move comment to right place.
12790
5c827cf9
VS
127912012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12792
12793 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
12794 (GRUB_AFFS_FLAG_FFS): Put back where it was.
12795 (grub_affs_mount): Revert the correct version checking.
12796
53603892
VS
127972012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12798
12799 * docs/grub.texi (Unicode): Mention several other unsupported features.
12800
ff094b9b
VS
128012011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12802
12803 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
12804 case statements as compile-time one.
12805 (direct_read): Prevent spurious warnings.
12806 (grub_squash_read_data): Likewise.
12807
c029da8a
VS
128082011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12809
12810 Various squash4 fixes and LZO and XZ support.
12811
12812 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
12813 Add xzembed source files.
12814 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
12815 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
12816 (grub_squash_inode): New subtype long_dir.
12817 (SQUASH_TYPE_LONG_DIR): New inode type.
12818 (COMPRESSION): New enum.
12819 (XZBUFSIZ): New const.
12820 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
12821 (read_chunk): Use data->decompress.
12822 (zlib_decompress): New function.
12823 (lzo_decompress): Likewise.
12824 (xz_decompress): Likewise.
12825 (squash_mount): Set new data fields.
12826 (grub_squash_iterate_dir): Handle long dir.
12827 (squash_unmount): Free xzdec and xzbuf.
12828 (grub_squash_open): Check ino type.
12829 (direct_read): Stylistic fixes. Use data->decompress.
12830 (grub_squash_read_data): Likewise.
12831 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
12832 (get_byte): Likewise.
12833 (grub_zlib_disk_read): Removed.
12834 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
12835 (GRUB_POSIX_BOOL_DEFINED): New define.
12836 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
12837 * grub-core/lib/xzembed/xz.h: Addmissing includes.
12838 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
12839 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
12840
7a45a539
VS
128412011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12842
12843 Don't override more informative errors.
12844
12845 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
12846 * grub-core/font/font.c (open_section): Likewise.
12847 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
12848 filename. Don't override errors.
12849 (grub_cmd_openbsd_ramdisk): Don't override errors.
12850 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
12851 (grub_cmd_initrd): Likewise.
12852 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12853 (grub_cmd_initrd): Likewise.
12854 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
12855 (grub_cmd_linux): Likewise.
12856 (grub_cmd_initrd): Likewise.
12857 (grub_cmd_payload): Likewise.
12858 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12859 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
12860 (grub_cmd_module): Likewise.
12861 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12862 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12863 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
12864 (grub_cmd_xnu_mkext): Likewise.
12865 (grub_cmd_xnu_ramdisk): Likewise.
12866 (grub_xnu_check_os_bundle_required): Likewise.
12867 (grub_xnu_load_kext_from_dir): Likewise.
12868 (grub_cmd_xnu_kextdir): Likewise.
12869 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
12870
b2d004db
VS
128712011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12872
12873 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
12874 as 1024 in block size field. Found on one of my test images.
12875 Small optimisation while on it.
12876
ec000eac
VS
128772011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12878
12879 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
12880 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
12881 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
12882 performance fixes while on it.
12883 (grub_sfs_close): Fix memory leak while on it.
12884 (grub_sfs_label): Convert Latin1 to UTF-8.
12885
f50e1165
VS
128862011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12887
12888 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
12889 space to avoid overflows.
12890 (grub_hfs_label): Convert from macroman to UTF-8.
12891
2ae254de
VS
128922011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12893
12894 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
12895
0108f491
VS
128962011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12897
12898 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
12899
f45f5f89
VS
129002011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12901
12902 * unicode: Import Unicode 6.0 data.
12903
4d8c4765
VS
129042011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12905
63fa8ef9
VS
12906 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
12907 outside of range.
12908
129092011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12910
12911 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
12912
12913 * include/grub/charset.h (grub_getend): New function.
12914 * grub-core/script/function.c (grub_script_function_find): Use
12915 grub_getend.
12916 * grub-core/normal/completion.c (add_completion): Likewise.
12917
f3cb4a4e
VS
129182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12919
12920 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
12921 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
12922 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
12923 (GRUB_UNICODE_TAG_END): Likewise.
12924 (GRUB_UNICODE_LAST_VALID): Likewise.
12925
5da8dbc5
VS
129262011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12927
12928 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
12929 len and make it smaller. All users updated.
12930 * util/import_unicode.py: Put length and not end character.
12931 Check length.
12932
8569f13d
VS
129332011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12934
12935 Make better Unicode-compliant and unify some UTF-8 code pathes.
12936
12937 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
12938 valid character.
12939 (grub_is_valid_utf8): Use grub_utf8_process.
12940 Check resulting code range.
12941 (grub_utf8_to_ucs4): Use grub_utf8_process.
12942 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
12943 valid character.
12944
cc4fddf5
VS
129452011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12946
12947 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
12948
bbc47747
VS
129492011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12950
12951 * docs/grub.texi (Filesystems): Mention AFS.
12952
f63d6bf4
VS
129532011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12954
12955 * docs/grub.texi (Filesystems): Clarify restrictions.
12956 (Regexp): Mention non-Unicode regexp behaviour.
12957 (Other): Mention non-Unicode matching behaviour.
12958
74bbf0db
VS
129592011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12960
f63d6bf4 12961 Make HFS implementation use MacRoman.
74bbf0db
VS
12962
12963 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
12964 (macroman): New const array.
12965 (macroman_to_utf8): New function.
12966 (utf8_to_macroman): Likewise.
12967 (grub_hfs_find_dir): Use utf8_to_macroman.
12968 (grub_hfs_dir): Use macroman_to_utf8.
12969 Set case_insensitive.
12970
4ea0316e
VS
129712011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12972
12973 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
12974
d3c13cbd
VS
129752011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12976
12977 Integrate hints into autogeneration scripts.
12978
12979 * docs/grub.texi (Filesystems): Add a hostdisk example.
12980 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
12981 (grub-probe): Add ofpath.
12982 * gentpl.py: Remove group nosparc64.
12983 * grub-core/commands/search.c (cache_entry): New struct.
12984 (cache): New var.
12985 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
12986 * grub-core/commands/search_wrap.c (options): Add platform-specific
12987 hint options.
12988 (grub_cmd_search): Handle platform-specific hints.
12989 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
12990 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
12991 (grub_util_biosdisk_data): Likewise.
12992 (grub_util_biosdisk_open): Set device_map.
12993 (read_device_map): Handle "" as indication of no map.
12994 Set device_map.
12995 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
12996 (grub_util_biosdisk_get_compatibility_hint): New function.
12997 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
12998 * include/grub/emu/hostdisk.h
12999 (grub_util_biosdisk_get_compatibility_hint): New proto.
13000 * util/grub-install.in: Don't call grub-mkdevicemap.
13001 Add platform-specific hint to load.cfg.
13002 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
13003 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13004 hints. Set root preliminary to compatibility hint, not to OS name.
13005 * util/grub-probe.c (PRINT_*): Add hints.
13006 (print): Make static.
13007 (escape_of_path): New function.
13008 (guess_bios_drive): Likewise.
13009 (guess_efi_drive): Likewise.
13010 (guess_baremetal_drive): Likewise.
13011 (print_full_name): Likewise.
13012 (probe): Handle hints.
13013 (main): Likewise.
13014 * util/ieee1275/devicemap.c: Removed.
13015 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
13016 updated.
13017 (grub_util_devname_to_ofpath): Return NULL on failure.
13018
13019 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
13020 resource leak.
13021 * util/getroot.c (grub_util_pull_device): Fix memory leak.
13022
13023 * po/POTFILES.in: Regenerated.
13024
13025 Allow purely long options
13026
13027 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
13028 (SHORT_ARG_USAGE): Likewise.
13029 (grub_arg_show_help): Compare opt with help_options.
13030 (parse_option): Receive opt as argument. If makes big simplificatons.
13031 All users updated
13032
00ce2df3
VS
130332011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13034
13035 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
13036 Restructure to avoid warning.
13037
e77e325f
VS
130382011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13039
13040 * util/grub-install.in: Account for possible escaped comma in device
13041 name.
13042
165099ea
VS
130432011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13044
13045 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
13046 channel.
13047
ce4a999d
VS
130482011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13049
13050 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
13051 allocation and zero-setting.
13052 (grub_ieee1275_get_devname): Check that alias is complete.
13053
379586ad
VS
130542011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13055
13056 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
13057 unaligned segments.
13058
9197b0ad
VS
130592011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13060
13061 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
13062 prefix.
13063 (grub_ofdisk_open): Check and discard ieee1275 prefix.
13064 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13065 Add ieee1275 prefix.
13066
edddb7f9
VS
130672011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13068
13069 * docs/grub.texi (Filesystems): Update.
13070
a1a8b1b9
VS
130712011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13072
13073 Support odc, newc and bigendian cpio formats.
13074
13075 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
13076 * grub-core/Makefile.core.def (newc): New module.
13077 (odc): Likewise.
13078 (cpio_be): Likewise.
13079 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
13080 (MAGIC): Likewise.
13081 (MAGIC2): Likewise.
13082 (head) [MODE_ODC]: Adapt for the format.
13083 (head) [MODE_NEWC]: Likewise.
13084 (head) [!MODE_*]: Write fields of interest as arrays.
13085 (MAGIC_USTAR): Removed.
13086 (read_number) [MODE_NEWC]: Change to hex.
13087 (read_number) [!MODE_*]: Parse binary arrays.
13088 (grub_cpio_find_file): Factor out the code for better structure and
13089 always use read_number.
13090 (grub_cpio_mount): Use MAGIC and MAGIC2.
13091 (grub_cpio_dir): Exit on first hook non-0 return.
13092 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
13093 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
13094 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
13095 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
13096 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
13097 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
13098 * grub-core/fs/newc.c: New file.
13099 * grub-core/fs/odc.c: Likewise.
13100 * grub-core/fs/cpio_be.c: Likewise.
13101
58eba9ee
VS
131022011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13103
13104 Fix handling of tar numbers occupying the whole field.
13105
13106 * grub-core/fs/cpio.c (read_number): New function.
13107 (grub_cpio_find_file): Use read_number instead of strtoull.
13108
a54a0e12
VS
131092011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13110
13111 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
13112 occupying the whole field size.
13113
a6120aca
LA
131142011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
13115
13116 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
13117
a93964ce
VS
131182011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13119
13120 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
13121
3ea1ca46
SG
131222011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
13123
13124 * grub-core/Makefile.core.def (lzma_decompress): Add missing
13125 TARGET_IMG_LDFLAGS.
13126
b87f7ef2
VS
131272011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13128
13129 * util/getroot.c (ESCAPED_PATH_MAX): New define.
13130 (mountinfo_entry): Increase the field size to take escaping into
13131 account.
13132 (find_root_device_from_libzfs): Add one byte to size of strings for
13133 security.
13134
62092395
VS
131352011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13136
13137 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
13138 an assert.
13139 * util/grub-setup.c (setup): Likewise.
13140
1f0b1a77
VS
131412011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13142
13143 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
13144 _LzmaDecodeA.
13145
8eba9997
VS
131462011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13147
13148 * docs/grub.texi (Internationalisation): New section.
13149
dd0c91e9
VS
131502011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13151
13152 * docs/grub.texi (Loopback booting): New section.
13153
131542011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
13155
13156 * util/grub-mkstandalone.in: Fix minor typo errors.
13157
198e150a
VS
131582011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13159
13160 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
13161
13162 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
13163 net/icmp.c and net/icmp6.c.
13164 (http): New module.
13165 (priority_queue): Likewise.
13166 * grub-core/io/bufio.c: Rewritten.
13167 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
13168 TYPE_WITH_CONFIGFILE_OPTION.
13169 (legacy_commands): Add bootp and dhcp.
13170 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
13171 (grub_legacy_parse): Likewise.
13172 * grub-core/lib/priority_queue.c: New file.
13173 * grub-core/net/arp.c: Add missing license header.
13174 (arp_find_entry): Removed.
13175 (arp_find_entry): Likewise.
13176 (grub_net_arp_resolve): Rename to ...
13177 (grub_net_arp_send_request): ...this.
13178 (grub_net_arp_receive): New card argument.
13179 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
13180 Set router and DNS server.
13181 (grub_net_configure_by_dhcp_ack): Handle routing information.
13182 (grub_cmd_bootp): Set checksum.
13183 (grub_bootp_init): Remove net_dhcp.
13184 * grub-core/net/dns.c: New file.
13185 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
13186 completion.
13187 (get_card_packet): Handle allocation.
13188 (grub_efinet_findcards): Set mtu.
13189 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
13190 (get_card_packet): Handle allocation.
13191 (emucard): Set mtu.
13192 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
13193 (GRUB_MOD_INIT): Set mtu.
13194 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
13195 mtu.
13196 (get_card_packet): Handle allocation.
13197 (grub_ofnet_findcards): Set mtu.
13198 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
13199 assert.
13200 (grub_net_recv_ethernet_packet): Handle IPv6.
13201 * grub-core/net/http.c: New file.
13202 * grub-core/net/icmp.c: Likewise.
13203 * grub-core/net/icmp6.c: Likewise.
13204 * grub-core/net/ip.c (ip6addr): New type.
13205 (ip6hdr): Likewise.
13206 (reassemble): Likewise.
13207 (cmp): New function.
13208 (reassembles): New variable.
13209 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
13210 (id): New variable.
13211 (send_fragmented): New function.
13212 (grub_net_send_ip_packet): Rename to ...
13213 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
13214 Handle non-UDP.
13215 (grub_net_recv_ip_packets): Rename to ...
13216 (handle_dgram): ... this. Check checksum. Handle non-UDP.
13217 (free_rsm): New function.
13218 (free_old_fragments): Likewise.
13219 (grub_net_recv_ip4_packets): New function.
13220 (grub_net_send_ip6_packet): Likewise.
13221 (grub_net_send_ip_packet): Likewise.
13222 (grub_net_recv_ip6_packets): Likewise.
13223 (grub_net_recv_ip_packets): Likewise.
13224 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
13225 (LINK_LAYER_CACHE_SIZE): New const.
13226 (link_layer_find_entry): New function.
13227 (grub_net_link_layer_add_address): Likewise.
13228 (grub_net_link_layer_resolve_check): Likewise.
13229 (grub_net_link_layer_resolve): Likewise.
13230 (grub_net_ipv6_get_slaac): Likewise.
13231 (grub_net_ipv6_get_link_local): Likewise.
13232 (grub_cmd_ipv6_autoconf): Likewise.
13233 (parse_ip): Handle one number representation.
13234 (parse_ip6): New functoion.
13235 (match_net): Handle IPv6.
13236 (grub_net_resolve_address): Handle IPv6 and DNS.
13237 (grub_net_resolve_net_address): Handle IPv6.
13238 (route_cmp): New function.
13239 (grub_net_route_address): Find best route.
13240 (grub_net_addr_to_str): Handle IPv6.
13241 (grub_net_addr_cmp): New function.
13242 (grub_net_add_addr): Register local route.
13243 (print_net_address): Handle net address.
13244 (grub_net_poll_cards): Retransmit TCP.
13245 (grub_net_poll_cards_idle_real): Likewise.
13246 (have_ahead): New function.
13247 (grub_net_seek_real): Use underlying seek.
13248 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
13249 * grub-core/net/tcp.c: New file.
13250 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
13251 (cmp): New function.
13252 (ack): Likewise.
13253 (tftp_receive): Handle unordered input.
13254 (destroy_pq): New function.
13255 (tftp_close): Close pq.
13256 * grub-core/net/udp.c: Put missing license header.
13257 (grub_net_udp_socket): New function.
13258 (udp_socket_register): Likewise.
13259 (grub_net_udp_close): Likewise.
13260 (grub_net_recv_udp_packet): Check checksum.
13261 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
13262 * include/grub/misc.h (grub_memchr): New function.
13263 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
13264 (grub_net_card_driver): Return buf in recv.
13265 (grub_net_slaac_mac_list): New struct.
13266 (grub_network_level_protocol_id): Add ipv6.
13267 (grub_net_network_level_addr): Likewise.
13268 (grub_net_network_level_net_addr): Likewise.
13269 (grub_net_app_protocol): Add seek.
13270 (grub_net_socket): Removed.
13271 (grub_net_sockets): Likewise.
13272 (grub_net_socket_register): Likewise.
13273 (grub_net_socket_unregister): Likewise.
13274 (FOR_NET_SOCKETS): Likewise.
13275 (grub_net_add_addr): Add const.
13276 (GRUB_NET_BOOTP_*): New enum.
13277 (grub_net_addr_cmp): New proto.
13278 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
13279 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
13280 (grub_net_hwaddr_to_str): NEw proto.
13281 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
13282 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
13283 (grub_dns_init): New proto.
13284 (grub_dns_fini): Likewise.
13285 (grub_net_tcp_retransmit): Likewise.
13286 (grub_net_link_layer_add_address): Likewise.
13287 (grub_net_link_layer_resolve_check): Likewise.
13288 (grub_net_link_layer_resolve): Likewise.
13289 (grub_net_dns_lookup): Likewise.
13290 (grub_net_add_dns_server): Likewise.
13291 (grub_net_remove_dns_server): Likewise.
13292 (GRUB_NET_TRIES): New const.
13293 (GRUB_NET_INTERVAL): Likewise.
13294 * include/grub/net/arp.h: Mostly rewritten.
13295 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
13296 * include/grub/net/ip.h: Mostly rewritten.
13297 * include/grub/net/netbuff.h: Indent.
13298 * include/grub/net/tcp.h: New file.
13299 * include/grub/net/udp.h: Mostly rewritten.
13300 * include/grub/priority_queue.h: New file.
13301 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
13302 (grub_swap_bytes64_compile_time): Likewise.
13303 (grub_cpu_to_be16_compile_time): Likewise.
13304 (grub_cpu_to_be32_compile_time): Likewise.
13305 (grub_cpu_to_be64_compile_time): Likewise.
13306 (grub_be_to_cpu64_compile_time): Likewise.
13307
215c1800
VS
133082011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13309
13310 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
13311 UINT_TO_PTR with cast.
13312
c17e546c
VS
133132011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13314
13315 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
13316 don't use them.
13317
ff6b18b6
VS
133182011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13319
13320 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
13321 already there.
13322
70ffcc93
VS
133232011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13324
13325 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
13326 confusing ipxe.
13327
e5f4d260
VS
133282011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13329
13330 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
13331 Add missing const attribute.
13332 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
13333 Likewise.
13334 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
13335 Likewise.
13336
8e54b4b7
VS
133372011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13338
13339 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
13340 misaligned access.
13341 (serpent_setkey): Likewise.
13342 (serpent_encrypt_internal): Likewise.
13343 (serpent_decrypt_internal): Likewise.
13344 (serpent_encrypt): Don't put an alignment-increasing cast.
13345 (serpent_decrypt): Likewise.
13346 (serpent_test): Likewise.
13347
813c0a2b
VS
133482011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13349
13350 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
13351
f2b60fbd
VS
133522011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13353
13354 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
13355
13356 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
13357 grub_addr_t casts.
13358 (PTR_TO_UINT64): Likewise.
13359 (PTR_TO_UINT32): Likewise.
13360
5ef5c511
VS
133612011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13362
13363 * util/grub-mkimage.c (generate_image): Decrease the higher limit
13364 because of stack.
13365 * util/grub-setup.c (setup): Don't add redundancy past the higher load
13366 limit.
13367
c476e6df
VS
133682011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13369
13370 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
13371 text_width > available width a bit more gracefully.
13372
384ad7cc
VS
133732011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13374
13375 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
13376 current address calculation.
13377
96f8caf8
VS
133782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13379
13380 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
13381 stack.
13382 (encode_block): Likewise.
13383
276b7a8b
VS
133842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13385
13386 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
13387 certainety.
13388
e3fd394a
VS
133892011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13390
13391 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
13392 non-RS part to avoid RS messing with GDT.
13393 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13394 Increase to suit in realmode routines.
13395
133962011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13397
13398 * grub-core/kern/i386/realmode.S: Increase alignment.
13399 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
13400
ee9c2e7a
VS
134012011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13402
13403 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
13404 be deterministic.
13405 (syndroms): Compute 0 syndrom.
13406 (rs_recover): Use 0 syndrom.
13407
7a7f7cc9
VS
134082011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13409
13410 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
13411
a14b16d1
VS
134122011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13413
13414 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
13415 brackets.
13416
9f59e9fc
VS
134172011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13418
ca1b552c
VS
13419 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
13420 account.
13421 (get_top_pad): Likewise.
13422 (get_right_pad): Likewise.
13423 (get_bottom_pad): Likewise.
13424
134252011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13426
13427 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 13428
e739d698
VS
134292011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13430
13431 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
13432 attribute as the structure isn't guaranteed to be properly aligned.
13433 (grub_efi_pci_device_path): Likewise.
13434 (grub_efi_pccard_device_path): Likewise.
13435 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
13436 specify the size of `memory_type'.
13437 (grub_efi_vendor_device_path): Likewise.
13438 (grub_efi_controller_device_path): Likewise.
13439 (grub_efi_acpi_device_path): Likewise.
13440 (grub_efi_expanded_acpi_device_path): Likewise.
13441 (grub_efi_atapi_device_path): Likewise.
13442 (grub_efi_scsi_device_path): Likewise.
13443 (grub_efi_fibre_channel_device_path): Likewise.
13444 (grub_efi_1394_device_path): Likewise.
13445 (grub_efi_usb_device_path): Likewise.
13446 (grub_efi_usb_class_device_path): Likewise.
13447 (grub_efi_i2o_device_path): Likewise.
13448 (grub_efi_mac_address_device_path): Likewise.
13449 (grub_efi_ipv4_device_path): Likewise.
13450 (grub_efi_ipv6_device_path): Likewise.
13451 (grub_efi_infiniband_device_path): Likewise.
13452 (grub_efi_uart_device_path): Likewise.
13453 (grub_efi_vendor_messaging_device_path): Likewise.
13454 (grub_efi_hard_drive_device_path): Likewise.
13455 (grub_efi_cdrom_device_path): Likewise.
13456 (grub_efi_vendor_media_device_path): Likewise.
13457 (grub_efi_file_path_device_path): Likewise.
13458 (grub_efi_protocol_device_path): Likewise.
13459 (grub_efi_piwg_device_path): Likewise.
13460 (grub_efi_bios_device_path): Likewise.
13461
cb8f88ea
VS
134622011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13463
13464 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
13465 (grub_ucs4_to_utf8_alloc): Likewise.
13466 (grub_ucs4_to_utf8): Likewise.
13467 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
13468 (grub_ucs4_to_utf8_alloc): Likewise.
13469
309e5352
VS
134702011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13471
13472 AFFS never uses unicode.
13473
13474 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
13475 (grub_latin1_to_utf8): New inline function.
13476 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
13477
e7987e1b
VS
134782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13479
13480 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
13481 overflow.
13482
efc2616e
VS
134832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13484
13485 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
13486 (grub_squash_dirent_header): Likewise.
13487 (read_chunk): Don't double swap.
13488 (grub_squash_iterate_dir): Fix swap sizes.
13489
3c349f5a
VS
134902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13491
13492 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
13493
b453412d
VS
134942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13495
13496 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
13497 (grub_hfs_iterate_dir): Likewise.
13498
12e9d4d1
VS
134992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13500
13501 Fix video on platforms where unaligned access is forbidden.
13502 Make several optimisations while on it.
13503
13504 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
13505 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13506 (grub_video_fbblit_replace_32bit_1bit): Likewise.
13507 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13508 Disable.
13509 (grub_video_fbblit_replace_16bit_1bit):
13510 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13511 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13512 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
13513 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
13514 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13515 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13516 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
13517 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
13518 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
13519 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
13520 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
13521 (grub_video_fbblit_replace_index_RGB888): Likewise.
13522 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
13523 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
13524 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
13525 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
13526 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
13527 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13528 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13529 Disable.
13530 (grub_video_fbblit_blend_XXX565_1bit):
13531 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13532 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
13533 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
13534 void *.
13535 * grub-core/video/fb/video_fb.c (common_blitter)
13536 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
13537 (grub_video_fb_create_render_target_from_pointer)
13538 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13539 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
13540 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
13541 definition.
13542 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
13543
ace96609
VS
135442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13545
13546 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
13547 HH22 and HM10 relocations.
13548
fd261d73
VS
135492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13550
13551 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
13552
e59b7857
VS
135532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13554
13555 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
13556 allocation succeeded.
13557
9b4baaa4
VS
135582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13559
13560 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
13561 argument a u8 pointer. All users updated.
13562 Handle unaligned buffers.
13563
dc713193
VS
135642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13565
13566 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
13567 add_part to workaround compiler bug.
13568
30dd48c2
VS
135692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13570
13571 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
13572
0c6087a8
VS
135732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13574
13575 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
13576 Reserve alignment invariants.
13577 (grub_multiboot_load): Likewise.
13578 (retrieve_video_parameters): Likewise.
13579 (grub_multiboot_make_mbi): Likewise.
13580
c2e77777
VS
135812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13582
13583 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
13584 incorrect pointer.
13585
b70b6d11
VS
135862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13587
13588 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
13589 (grub_pata_pio_write): Likewise.
13590
02a2bf83
VS
135912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13592
13593 Add noreturn attributes and remove unreachable code.
13594
13595 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
13596 code.
13597 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
13598 code. Mark as noreturn.
13599 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
13600 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
13601 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
13602 unreachable code.
13603 * grub-core/kern/main.c (grub_main): Mark as noreturn.
13604 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
13605 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
13606 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
13607 * include/grub/kernel.h (grub_main): Mark as noreturn.
13608 * include/grub/reader.h (grub_rescue_run): Likewise.
13609
2019d09e
VS
136102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13611
13612 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
13613 redundant declaration.
13614
d1c501ee
VS
136152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13616
13617 * include/grub/net.h (grub_net_network_level_interfaces): Remove
13618 redundant declaration.
13619 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
13620
61664420
VS
136212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13622
13623 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
13624 to ensure alignment.
13625 (grub_hdparm_print_identify): Make argument uint16 * to ensure
13626 alignment. Ensure tmp alignment.
13627 (grub_cmd_hdparm): Ensure buf alignment.
13628 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
13629 to ensure alignment.
13630 (grub_ata_dumpinfo): Ensure text alignment.
13631 (grub_atapi_identify): Preserve alignment invariant.
13632 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
13633
0d51ee20
VS
136342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13635
13636 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
13637 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
13638 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
13639 * include/grub/misc.h (grub_reboot)
13640 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
13641 (grub_halt) [__mips__]: Likewise.
13642
753ef8c1
VS
136432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13644
13645 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
13646 Remove redundant declaration.
13647 (grub_mmap_get_post64): Likewise.
13648 (grub_mmap_get_upper): Likewise.
13649 (grub_mmap_get_lower): Likewise.
13650
85c85365
VS
136512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13652
13653 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
13654 uint32_t * to ensure alignment.
13655 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
13656
a23f2cc4
VS
136572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13658
93018f64
VS
13659 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
13660 uint16_t * to ensure alignment.
13661 (sun_pc_partition_map_iterate): Make `block' a union to ensure
13662 alignment.
13663
136642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13665
13666 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
13667 to ensure alignment.
13668 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
13669
58acccd6
VS
136702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13671
13672 * grub-core/fs/ntfs.c (u16at): Make into inline function.
13673 Handle unaligned pointers.
13674 (u32at): Likewise.
13675 (u64at): Likewise.
13676 (fixup): Use byte access instead of v16at.
13677 (find_attr): Fix imporper usage of v32at.
13678 (read_data): Likewise.
13679 (list_file): Handle byte-swapping and unaligned strings.
13680 (grub_ntfs_label): Likewise.
13681
9b05cad7
VS
136822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13683
13684 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
13685 as it's not necessarily aligned.
13686
b3950b84
VS
136872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13688
13689 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
13690 redundant declaration.
13691 (grub_serial_init): Likewise.
13692 (grub_terminfo_init): Likewise.
13693
fcd232b7
VS
136942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13695
13696 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
13697 function.
13698 (ZAP_HASH_IDX): Likewise.
13699 (ZAP_LEAF_HASH_SHIFT): Likewise.
13700 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
13701 (LEAF_HASH): Likewise.
13702 (ZAP_LEAF_NUMCHUNKS): Likewise.
13703 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
13704 alignment invariants. Return pointer. All users updated.
13705 (ZAP_LEAF_ENTRY): Make into inline function.
13706 (NBBY): Removed.
13707 (xor): LIkewise.
13708 (xor_out): Use grub_crypto_xor.
13709 (dnode_get_path): Use grub_get_unaligned.
13710 (nvlist_find_value): Likewise.
13711 (grub_zfs_nvlist_lookup_uint64): Likewise.
13712 (grub_zfs_nvlist_lookup_string): Likewise.
13713 (get_nvlist_size): Likewise.
13714 (grub_zfs_open): Likewise.
13715 (fill_fs_info): Likewise.
13716 (grub_zfs_dir): Likewise.
13717 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
13718 alignment invariants.
13719 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
13720 necessarily aligned.
13721
f138623a
VS
137222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13723
13724 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
13725
564840dc
VS
137262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13727
13728 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
13729 arithmetic to conserve alignment invariants.
13730
9b40df20
VS
137312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13732
13733 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
13734 redundant declaration.
13735 (grub_efiemu_mm_obtain_request): Likewise.
13736 (grub_efiemu_prepare): Likewise.
13737
d1c930f9
VS
137382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13739
13740 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
13741 to match types.
13742
4c5f3056
VS
137432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13744
13745 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
13746 case of aunaligned recptr.
13747 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
13748 alignment.
13749 (grub_hfsplus_btree_search): Handle unaligned index.
13750
728cba91
VS
137512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13752
13753 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
13754 to get freetag and skip.
13755
eb561f31
VS
137562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13757
13758 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
13759 array.
13760 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
13761 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
13762
20993fbb
VS
137632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13764
13765 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
13766 name for checksum and fix allocation algorithm.
13767
1f313b94
VS
137682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13769
13770 * include/grub/types.h (grub_properly_aligned_t): New type.
13771 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
13772 (grub_get_unaligned16): Add explicit casts.
13773 (grub_get_unaligned32): Likewise.
13774 (grub_get_unaligned64): Likewise.
13775 (grub_set_unaligned16): New function.
13776 (grub_set_unaligned32): Likewise.
13777
47ae27ec
VS
137782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13779
13780 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
13781
78c2cd1c
VS
137822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13783
13784 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
13785 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
13786 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
13787
53072f9b
VS
137882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13789
13790 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
13791 conditionals.
13792
055dc239
VS
137932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13794
13795 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
13796 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
13797
496bd074
VS
137982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13799
13800 Unify and improve RAID and crypto xor.
13801
13802 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
13803 changed to grub_crypto_xor
13804 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
13805 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
13806 Use bigger types when possible.
13807
ef6e4335
VS
138082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13809
13810 * grub-core/disk/raid.c (scan_devices): Fix condition.
13811
5d048bf2
VS
138122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13813
13814 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
13815 Make name a const ptr.
13816
ee533335
VS
138172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13818
13819 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
13820 first argument a const pointer.
13821 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13822 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
13823 proto.
13824 (grub_children_iterate): Likewise.
13825 (grub_machine_mmap_iterate): Remove redundant declaration.
13826
cc8f3668
VS
138272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13828
13829 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
13830 (grub_cmd_acpi) [!x86]: Disable EBDA.
13831
c5fc563a
VS
138322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13833
13834 Enable UTF8 in gnulib regexp.
13835
13836 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
13837 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
13838 (isupper): Use grub_isupper.
13839 (isascii): New inline function.
13840 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
13841 * grub-core/lib/posix_wrap/wctype.h: Likewise.
13842 * grub-core/normal/charset.c (grub_utf8_process): New function.
13843 (grub_utf8_to_utf16): Use grub_utf8_process.
13844 (grub_encode_utf8_character): New function.
13845 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
13846 * include/grub/charset.h (grub_utf8_process): New declaration.
13847 (grub_encode_utf8_character): Likewise.
13848 * include/grub/misc.h (grub_islower): New inline function.
13849 (grub_isupper): Likewise.
13850 (grub_strchrsub): Moved down to fix the definitions.
13851
0af2346f
VS
138522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13853
13854 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
13855 specification.
13856
74dbd244
VS
138572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13858
13859 * include/grub/loader.h (grub_loader_register_preboot_hook):
13860 Use struct preboot * and not void * for handle. All users updated.
13861 (grub_loader_unregister_preboot_hook): Likewise.
13862
1bc8f60d
VS
138632011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13864
13865 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
13866 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
13867 UTF-16-BE. All users updated.
13868 (grub_hfsplus_cmp_catkey): Fix unicode handling.
13869 (grub_hfsplus_iterate_dir): Likewise.
13870 (grub_hfsplus_label): Likewise.
13871
48d6e456
VS
138722011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13873
13874 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
13875
bf3a3857
VS
138762011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
13877
13878 Add missing const qualifiers.
13879
13880 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
13881 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
13882 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
13883 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
13884 (grub_lvm_check_flag): Likewise.
13885 * grub-core/efiemu/i386/coredetect.c
13886 (grub_efiemu_get_default_core_name): Likewise
13887 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13888 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
13889 * grub-core/fs/ntfs.c (fixup): Likewise.
13890 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
13891 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
13892 (fzap_lookup): Likewise.
13893 (zap_lookup): Likewise.
13894 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
13895 * grub-core/lib/legacy_parse.c (check_option): Likewise.
13896 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
13897 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
13898 (grub_freebsd_add_meta_module): Likewise.
13899 (grub_cmd_freebsd_module): Likewise.
13900 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
13901 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
13902 (grub_xnu_writetree_get_size): Likewise.
13903 (grub_xnu_writetree_toheap_real): Likewise.
13904 (grub_xnu_find_key): Likewise.
13905 (grub_xnu_create_key): Likewise.
13906 (grub_xnu_create_value): Likewise.
13907 (grub_xnu_register_memory): Likewise.
13908 (grub_xnu_check_os_bundle_required): Likewise.
13909 (grub_xnu_scan_dir_for_kexts): Likewise.
13910 (grub_xnu_load_kext_from_dir): Likewise.
13911 * grub-core/normal/color.c (color_list): Likewise.
13912 * grub-core/normal/completion.c (current_word): Likewise.
13913 * grub-core/normal/menu_entry.c (insert_string): Likewise.
13914 * grub-core/term/serial.c (grub_serial_find): Likewise.
13915 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
13916 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
13917 Likewise.
13918 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
13919 (grub_freebsd_add_meta_module): Likewise.
13920 * include/grub/lib/arg.h (grub_arg_option): Likewise.
13921 * include/grub/net.h (grub_net_card_driver): Likewise.
13922 (grub_net_card): Likewise.
13923 (grub_net_app_protocol): Likewise.
13924 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
13925 * include/grub/serial.h (grub_serial_find): Likewise.
13926 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
13927 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
13928 (grub_xnu_create_value): Likewise.
13929 (grub_xnu_find_key): Likewise.
13930 (grub_xnu_scan_dir_for_kexts): Likewise.
13931 (grub_xnu_load_kext_from_dir): Likewise.
13932
13933 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
13934 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
13935 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
13936 Moved from here ...
13937 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
13938
112b4837
CW
139392011-11-28 Colin Watson <cjwatson@ubuntu.com>
13940
13941 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
13942
49e891ac
VS
139432011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
13944
13945 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
13946 (read_device): Fix size calculation.
13947
fd258e5c
RM
139482011-11-25 Robert Millan <rmh@gnu.org>
13949
13950 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
13951 (find_root_device_from_libzfs): Add zpool output parser to be used
13952 as fallback when libzfs isn't available.
13953
78845dc2
SG
139542011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
13955
13956 * po/Makefile.in.in: Add missing escape-continuation.
13957
adac5211
VS
139582011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
13959
13960 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
13961
10b64f1c
VS
139622011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13963
13964 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
13965
bb416954
VS
139662011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13967
13968 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
13969
bdfe9eeb
VS
139702011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13971
13972 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
13973
581ffa8a
VS
139742011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13975
13976 * grub-core/lib/adler32.c: Add missing license specification.
13977 * grub-core/lib/crc64.c: Likewise.
13978 * grub-core/loader/i386/pc/plan9.c: Likewise.
13979 * grub-core/partmap/plan.c: Likewise.
13980
2536cf64
LK
139812011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
13982
13983 Add facility to debug GRUB with gdb under qemu.
13984
13985 * grub-core/gdb_grub.in: New file.
13986 * grub-core/gmodule.pl.in: Likewise.
13987 * grub-core/Makefile.core.def (gmodule.pl): New script.
13988 (gdb_grub): Likewise.
13989
bc108a4a
VS
139902011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13991
13992 * util/grub-mount.c (argp_parser): Accept relative pathes.
13993 * util/grub-fstest.c (argp_parser): Likewise.
13994
111c1778
VS
139952011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13996
13997 Plan9 support.
13998
13999 * Makefile.util.def (libgrubmods): Add
14000 grub-core/partmap/plan.c.
14001 * docs/grub.texi: Notice Plan9 support.
14002 * grub-core/Makefile.core.def (plan9): New module.
14003 (part_plan): Likewise.
14004 * grub-core/loader/i386/pc/plan9.c: New file.
14005 * grub-core/partmap/plan.c: Likewise.
14006 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
14007 define.
14008 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
14009 * include/grub/mm.h (grub_extend_alloc): New inline function.
14010
c30be3b6
VS
140112011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14012
14013 Make Reed-Solomon faster by using power of generator representation of
14014 GF(256)*.
14015
14016 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
14017 (gf_double_t): Likewise.
14018 (gf_invert): Removed.
14019 (gf_powx): New array.
14020 (gf_powx_inv): Likewise.
14021 (scratch): Move higher.
14022 (gf_reduce): Removed.
14023 (gf_mul): Use powx.
14024 (gf_invert): Likewise.
14025 (init_inverts): Replaced with ...
14026 (init_powx): ...this. All users updated.
14027 (pol_evaluate): Replace multiplications with additions.
14028 (rs_encode): Likewise.
14029 (gauss_eliminate): Call gf_invert.
14030 (grub_reed_solomon_add_redundancy): Call init_powx.
14031 (grub_reed_solomon_recover): Call init_powx unconditionally.
14032
fa5aeffc
VS
140332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14034
14035 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
14036
a346b81c
VS
140372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14038
14039 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
14040 disk->partiton for safety.
14041
d89ee414
VS
140422011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14043
14044 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14045 Fix a memory leak.
14046 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
14047
91ee7b6d
VS
140482011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14049
14050 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
14051
91e5a33d
VS
140522011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14053
14054 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
14055
9edd7be2
VS
140562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14057
14058 Fix spaces handling in proc/self/mountinfo.
14059
14060 * util/getroot.c (unescape): New function.
14061 (grub_find_root_device_from_mountinfo): Use unescape.
14062
ba102053
VS
140632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14064
14065 Support ZFS embedding.
14066
14067 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
14068 (grub_zfs_fs): Register grub_zfs_embed.
14069
aa94b870
VS
140702011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14071
14072 Fix MIPS compilation.
14073
14074 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
14075 * include/grub/offsets.h: Rename decompressor fields from
14076 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
14077 * util/grub-mkimage.c (image_targets): Use new names.
14078
5fbdac14
VS
140792011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14080
14081 Defer multiboot device parsing until we're in compressed part.
14082
14083 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
14084 bsd_part. setdevice has fallen into disuse.
14085 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
14086 (bsd_part): Likewise.
14087 (boot_dev): New variable.
14088 (multiboot_trampoline): Don't parse multiboot device.
14089 Pass multiboot device in %edx.
14090 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
14091 grub_boot_device.
14092 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
14093 Likewise.
14094 * grub-core/kern/i386/pc/startup.S: Save edx.
14095 (grub_boot_drive): Removed.
14096 (grub_install_dos_part): Likewise.
14097 (grub_install_bsd_part): Likewise.
14098 (grub_boot_device): New variable.
14099 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
14100 (grub_install_bsd_part): Likewise.
14101 (grub_boot_drive): Likewise.
14102 (grub_boot_device): New variable.
14103 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
14104 Removed.
14105 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
14106 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
14107 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
14108 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
14109 * util/grub-install.in: Remove redundant condition.
14110
691cbb58
VS
141112011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14112
14113 Fix bug introduced by previous commit.
14114
14115 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
14116
60240b8b
VS
141172011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14118
14119 Use decompressors framework on i386-pc. It increases core size
14120 by 46 bytes but improves compatibility and maintainability.
14121
14122 * grub-core/Makefile.core.def (lzma_decompress): New image.
14123 (kernel): Add i386_pc_ldflags.
14124 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
14125 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
14126 to real_to_prot, prot_to_real and device info.
14127 * include/grub/offsets.h: Renamed decompressor offsets.
14128 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
14129 (image_target_desc): Remove raw_size and rename decompressor fields.
14130 (compress_kernel): Handle lzma.
14131 (generate_image): Handle decompressors on i386-pc.
14132
e9d3421c
VS
141332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14134
14135 * configure.ac: Add -fno-asynchronous-unwind-tables.
14136
2b23074a
VS
141372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14138
14139 Move assembly code to C by using intwrap. It increases core size
14140 by 88 bytes but improves compatibility and maintainability.
14141
14142 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
14143 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
14144 ... here. Translated to C.
14145 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
14146 * grub-core/term/i386/pc/console.c (grub_console_getkey):
14147 ... here. Translated to C.
14148 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
14149 * grub-core/term/i386/pc/console.c (grub_console_getxy):
14150 ... here. Translated to C.
14151 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
14152 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
14153 ... here. Translated to C.
14154 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
14155 * grub-core/term/i386/pc/console.c (grub_console_cls):
14156 ... here. Translated to C.
14157 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
14158 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
14159 ... here. Translated to C.
14160 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
14161 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
14162 Translated to C.
14163 * grub-core/term/i386/pc/console.c (int10_9): New function.
14164 (grub_console_putchar): Likewise.
14165 * include/grub/i386/pc/console.h: Removed the not anymore shared
14166 functions.
14167
678f4b67
VS
141682011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14169
14170 Move grub_chainloader_real_boot out of the kernel.
14171
14172 * grub-core/Makefile.am: Remove machine/loader.h.
14173 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14174 Removed.
14175 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
14176 variable.
14177 (grub_relocator16_keep_a20_enabled): Likewise.
14178 (grub_relocator16_boot): Fill new variables.
14179 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
14180 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
14181 relocator.
14182 (grub_chainloader_unload): Likewise.
14183 (grub_chainloader_cmd): Likewise.
14184 * include/grub/i386/pc/loader.h: Removed.
14185 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
14186 and esi. All initialisers updated.
14187
4626edf6
VS
141882011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
141892011-11-12 Colin Watson <cjwatson@ubuntu.com>
14190
14191 * Makefile.util.def (grub-mount): New util.
14192 * .bzrignore: Add grub-mount.
14193 * configure.ac: Check for fuse and enable grub-mount if available.
14194 * docs/man/grub-mount.h2m: New file.
14195 * util/grub-mount.c: Likewise.
14196
10f0117b
VS
141972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14198
14199 * grub-core/commands/efi/fixvideo.c: Gettextize.
14200 * grub-core/commands/hashsum.c: Likewise.
14201 * grub-core/commands/i386/cmostest.c: Likewise.
14202 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14203 * grub-core/commands/i386/pc/lsapm.c: Likewise.
14204 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14205 * grub-core/commands/lsmmap.c: Likewise.
14206 * grub-core/commands/menuentry.c: Likewise.
14207 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
14208 * grub-core/commands/setpci.c: Likewise.
14209 * grub-core/loader/i386/bsd.c: Likewise.
14210 * grub-core/loader/i386/linux.c: Likewise.
14211 * util/getroot.c: Likewise.
14212 * util/grub-editenv.c: Likewise.
14213 * util/grub-fstest.c: Likewise.
14214 * util/grub-mkfont.c: Likewise.
14215 * util/grub-mkimage.c: Likewise.
14216 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14217 * util/grub-pe2elf.c: Likewise.
14218 * util/grub-probe.c: Likewise.
14219 * util/grub-setup.c: Likewise.
14220 * util/ieee1275/ofpath.c: Likewise.
14221 * util/misc.c: Likewise.
14222 * util/raid.c: Likewise.
14223
566f779b
RM
142242011-11-11 Robert Millan <rmh@gnu.org>
14225
14226 * util/getroot.c (grub_util_get_geom_abstraction): Remove
14227 __attribute__((unused)) from `os_dev', which *is* being used.
14228
b50787de
VS
142292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14230
14231 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
14232 forgotten define.
14233 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
14234 GRUB_IA64_DL_GOT_ALIGN.
14235 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
14236 GRUB_IA64_DL_TRAMP_ALIGN.
14237
119d11c8
VS
142382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14239
14240 Replace grub_fatal with normal errors in i386 linux loader.
14241
14242 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
14243 (allocate_pages): Check find_efi_mmap_size return value.
14244 (grub_e820_add_region): Return error.
14245 (grub_linux_boot): Check mmap return value.
14246
6e0632e2
VS
142472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14248
14249 * grub-core/commands/acpihalt.c: Gettextized.
14250 * grub-core/commands/cacheinfo.c: Likewise.
14251 * grub-core/commands/cmp.c: Likewise.
14252 * grub-core/commands/efi/loadbios.c: Likewise.
14253 * grub-core/commands/gptsync.c: Likewise.
14254 * grub-core/commands/ieee1275/suspend.c: Likewise.
14255 * grub-core/commands/legacycfg.c: Likewise.
14256 * grub-core/commands/memrw.c: Likewise.
14257 * grub-core/commands/minicmd.c: Likewise.
14258 * grub-core/commands/parttool.c: Likewise.
14259 * grub-core/commands/time.c: Likewise.
14260 * grub-core/commands/videoinfo.c: Likewise.
14261 * grub-core/disk/geli.c: Likewise.
14262 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
14263 * grub-core/disk/luks.c: Likewise.
14264 * grub-core/disk/lvm.c: Likewise.
14265 * grub-core/font/font_cmd.c: Likewise.
14266 * grub-core/fs/zfs/zfscrypt.c: Likewise.
14267 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14268 * grub-core/gfxmenu/view.c: Likewise.
14269 * grub-core/kern/emu/hostdisk.c: Likewise.
14270 * grub-core/kern/emu/main.c: Likewise.
14271 * grub-core/kern/emu/misc.c: Likewise.
14272 * grub-core/kern/emu/mm.c: Likewise.
14273 * grub-core/kern/mips/arc/init.c: Likewise.
14274 * grub-core/kern/mips/loongson/init.c: Likewise.
14275 * grub-core/kern/partition.c: Likewise.
14276 * grub-core/lib/i386/halt.c: Likewise.
14277 * grub-core/lib/mips/arc/reboot.c: Likewise.
14278 * grub-core/lib/mips/loongson/reboot.c: Likewise.
14279 * grub-core/loader/i386/pc/chainloader.c: Likewise.
14280 * grub-core/loader/i386/xnu.c: Likewise.
14281 * grub-core/loader/multiboot.c: Likewise.
14282 * grub-core/net/bootp.c: Likewise.
14283 * grub-core/net/net.c: Likewise.
14284 * grub-core/normal/term.c: Likewise.
14285 * grub-core/partmap/bsdlabel.c: Likewise.
14286 * grub-core/parttool/msdospart.c: Likewise.
14287 * grub-core/term/gfxterm.c: Likewise.
14288 * grub-core/term/terminfo.c: Likewise.
14289 * grub-core/video/i386/pc/vbe.c: Likewise.
14290 * util/grub-menulst2cfg.c: Likewise.
14291 * util/grub-mkdevicemap.c: Likewise.
14292 * util/grub-mklayout.c: Likewise.
14293 * util/grub-mkrelpath.c: Likewise.
14294 * util/grub-script-check.c: Likewise.
14295 * util/ieee1275/grub-ofpathname.c: Likewise.
14296 * util/resolve.c: Likewise.
14297
073aa7a9
VS
142982011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14299
14300 Support %1$d syntax.
14301
14302 * tests/printf_unit_test.c: New file.
14303 * Makefile.util.def (printf_test): New test.
14304 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
14305
c76b5417
VS
143062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14307
14308 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
14309 fix.
14310
df067ad1
VS
143112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14312
14313 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
14314 dprintf.
14315 * grub-core/font/font.c (grub_font_load): Likewise.
14316
5b289bc5
VS
143172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14318
14319 * util/grub-macho2img.c: Add comment concerning gettext.
14320 * grub-core/lib/legacy_parse.c: Likewise.
14321
c1860f87
VS
143222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14323
14324 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
14325 (grub_xvasprintf): Likewise.
14326
d35d0d37
VS
143272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14328
14329 Add const keyword to grub_env_get and gettextize week days.
14330
14331 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
14332 (grub_read_hook_datetime): Return const char *.
14333 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
14334 updated.
14335 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14336 Mark for gettext.
14337 (grub_get_weekday_name): Return const char *. Call gettext.
14338 * grub-core/script/argv.c (grub_script_argv_append): Receive const
14339 char * and len as the argument. All users updated.
14340 (grub_script_argv_split_append): Receive const char *.
14341 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
14342 * include/grub/env.h (grub_env_get): Likewise.
14343 (grub_env_read_hook_t): Return const char *.
14344 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
14345 (grub_script_argv_split_append): Likewise.
14346
9aed8a71
VS
143472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14348
14349 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
14350
067fdf00
VS
143512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14352
14353 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
14354 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
14355
a8bd9d39
VS
143562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14357
14358 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
14359 Fix prototype.
14360
f7ce5baf
VS
143612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14362
14363 Fix mips compilation.
14364
14365 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
14366 normal decoder.
14367 (hashes): Use in embed decoder as well (for sizes).
14368 (dec_stream_header): Fix embed decompressor logic.
14369 (dec_stream_footer): Likewise.
14370
9bb182f3
VS
143712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14372
14373 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
14374 an error and not a fatal on unrecognised relocation types.
14375
63a9e6f6
VS
143762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14377
14378 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14379 Issue error rather than printf on unknown arguments.
14380
4c458569
VS
143812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14382
14383 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
14384 Make buf a const.
14385
e2d22baf
VS
143862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14387
14388 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
14389 Fix module name.
14390
53dc8590
VS
143912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14392
14393 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
14394 leftover debug printf.
14395
6c189294
VS
143962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14397
14398 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
14399
f7688369
VS
144002011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14401
14402 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
14403 A stylistic fix.
14404
11a775a3
VS
144052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14406
14407 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
14408
33f784e8
SL
144092011-11-10 Shea Levy <slevy@tieronedesign.com>
14410
14411 Allow all modules to perform serial IO
14412
14413 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
14414 * include/grub/serial.h (grub_serial_port_configure): New inline
14415 function.
14416 (grub_serial_port_fetch): Likewise.
14417 (grub_serial_port_put): Likewise.
14418 (grub_serial_port_fini): Likewise.
14419 (grub_serial_find): New proto.
14420
f6276525
VS
144212011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14422
14423 Put symlink at the end of the node and fix a potential
14424 memory corruption.
14425
14426 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
14427 Make symlink into an array.
14428 (set_rockridge): Set have_symlink and alloc_dirents.
14429 (grub_iso9660_read_symlink): Use new layout.
14430 (grub_iso9660_iterate_dir): Fix memory corruption.
14431 Use new layout.
14432 (grub_iso9660_dir): Set have_symlink.
14433 (grub_iso9660_open): Likewise.
14434
c3591189
VS
144352011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14436
14437 Remove local keyword.
14438
14439 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
14440 (version_test_gt): Likewise.
14441 (version_find_latest): Likewise.
14442 (gettext_printf): Likewise.
14443 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
14444
cb544caa
VS
144452011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14446
14447 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
14448
45bd824d
VS
144492011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14450
14451 Fix ZFS memory and resource leaks.
14452
14453 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
14454 All users updated.
14455 Free type on exit.
14456 (fill_vdev_info): New parameter inserted. All users updated.
14457 (check_pool_label): Likewise.
14458 (scan_disk): Likewise.
14459 (scan_devices): Close non-inserted disks.
14460 (fzap_iterate): Free l.
14461 (unmount_device): Free children descripto memory.
14462
ad9a2f44
VS
144632011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14464
14465 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
14466 argument (access out of bounds).
14467
6b68db81
VS
144682011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14469
14470 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
14471 >= 6 drives.
14472
28840fda
VS
144732011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14474
14475 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
14476 Fix declaration.
14477
8a5a3a5b
VS
144782011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14479
14480 Fix several memory leaks.
14481
14482 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
14483 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
14484 (grub_cpio_dir): Likewise.
14485 * grub-core/fs/fat.c (grub_fat_label): Likewise.
14486 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
14487 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
14488 (grub_romfs_label): Likewise.
14489 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
14490 (squash_unmount): New function.
14491 (grub_squash_dir): Fix memory leak.
14492 (grub_squash_open): Likewise.
14493 (grub_squash_read): Likewise.
14494 (grub_squash_mtime): Likewise.
14495 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
14496 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
14497 * util/grub-fstest.c (fstest): Likewise.
14498
57b01250
VS
144992011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14500
14501 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
14502 avoid accessing beyond the array.
14503
19e81ba7
VS
145042011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14505
14506 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
14507
52b656c0
VS
145082011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14509
14510 Several AFFS fixes.
14511
14512 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
14513 (GRUB_AFFS_FLAG_FFS): Removed.
14514 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
14515 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
14516 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
14517 (grub_fshelp_node): Make block 32-bit.
14518 Add block_cache and last_block_cache.
14519 (grub_affs_read_block): Fill and use block cache.
14520 (grub_affs_read_file): Removed.
14521 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
14522 boot block.
14523 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
14524 safety.
14525 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
14526 space.
14527 (grub_affs_close): Free block cache.
14528 (grub_affs_read): Use grub_fshelp_read_file directly.
14529
438a746a
VS
145302011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14531
14532 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
14533 with no error set.
14534
49a45021
VS
145352011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14536
14537 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
14538 used variable.
14539 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14540 Likewise.
14541
3ae17eb8
VS
145422011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14543
14544 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
14545
14546 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
14547 byteswap when needed.
14548
27610c38
VS
145492011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14550
14551 Fix FreeBSD compilation.
14552
14553 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
14554 to avoid circular dependency.
14555 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
14556 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
14557 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
14558
4a19b601
VS
145592011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14560
14561 Fix ZFS crypto error types.
14562
14563 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
14564 (grub_gcm_decrypt): Likewise.
14565 (grub_zfs_load_key_real): Fix error code type. Handle possible error
14566 from PBKDF2.
14567
958ee221
VS
145682011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14569
14570 Illumos support.
14571
14572 * Makefile.util.def (10_illumos): New script.
14573 * configure.ac: Set COND_HOST_ILLUMOS.
14574 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
14575 Support Illumos calls.
14576 (find_partition_start) [__sun__]: Likewise.
14577 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
14578 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
14579 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
14580 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
14581 device.
14582 * util/grub-probe.c (probe) [__sun__]: Do character check.
14583 * util/grub.d/10_illumos.in: New file.
14584
cac14fb6
VS
145852011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14586
14587 Support escaped commas in hostdisk.
14588
14589 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
14590 (find_grub_drive): Use unescape_cmp.
14591 (make_device_name): Escape commas.
14592
78e08dc3
VS
145932011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14594
14595 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
14596
9f421dd1
VS
145972011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14598
14599 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
14600 variable.
14601
ed64e9e2
VS
146022011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14603
14604 Support trampoline jumps on powerpc.
14605
14606 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
14607 __ia64__ path.
14608 (grub_dl_load_segments): Set mod->sz.
14609 (grub_dl_flush_cache): Flush whole space occupied by module, not just
14610 segments.
14611 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
14612 (jump): Likewise.
14613 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
14614 function.
14615 (trampoline): New struct.
14616 (trampoline_template): New const.
14617 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
14618 * include/grub/dl.h (grub_dl): Add sz element.
14619 [__powerpc__]: Follow __ia64__.
14620 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
14621 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
14622 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
14623 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
14624
3084ede4
VS
146252011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14626
14627 ZFS crypto support.
14628
14629 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
14630 * grub-core/Makefile.core.def (zfscrypt): New module.
14631 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
14632 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
14633 it. All users updated.
14634 (grub_zfs_decrypt): New var.
14635 (grub_zfs_load_key): Likewise.
14636 (zio_checksum_functions): Add SHA256+MAC.
14637 (zio_checksum_verify): Handle incomplete comparison due to MAC.
14638 (zio_read): Handle encrypted blocks.
14639 (zap_verify): Remove incorrect check.
14640 (fzap_iterate): Handle non-standard fzap.
14641 (zap_iterate): Likewise.
14642 (zap_iterate_u64): New function.
14643 (dnode_get_fullpath): Load keys.
14644 * grub-core/fs/zfs/zfscrypt.c: New file.
14645 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
14646 (grub_crypto_ecb_encrypt): Make input const.
14647 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
14648 (grub_crypto_ecb_encrypt): Make input const.
14649 (GRUB_CIPHER_AES): New macro.
14650 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
14651 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
14652 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
14653 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
14654 prefix. All users updated.
14655 (grub_zfs_add_key): New proto.
14656 (grub_zfs_decrypt): Likewise.
14657 (grub_zfs_load_key): Likewise.
14658 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
14659 * util/grub-fstest.c (options): Add -K option.
14660 (argp_parser): Likewise.
14661
b632b404
VS
146622011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14663
14664 Support zle compression on ZFS.
14665
14666 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
14667 (decomp_table): Add zle.
14668 * include/grub/zfs/zio.h (zio_compress): Add zle.
14669
c7ba4f69
VS
146702011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14671
14672 Support BtrFS embedding.
14673
14674 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
14675 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
14676 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
14677 * util/grub-setup.c (setup): Use fs embedding if available.
14678 Add additional sanity check.
14679
455377d9
VS
146802011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14681
14682 * util/grub-install.in: Fix condition for config_opt.
14683
c2fd16ca
VS
146842011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14685
14686 Support third redundancy strip on raidz3.
14687
14688 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
14689 Return error on singularity. All users updated.
14690 (read_device): Don't stop on 3rd failure on raidz3.
14691
8622923b
VS
146922011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14693
14694 Support case-insensitive ZFS subvolumes.
14695
14696 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
14697 All users updated.
14698 (zap_hash): Likewise.
14699 (name_cmp): New function.
14700 (zap_leaf_array_equal): New parameter case_insensitive.
14701 All users updated.
14702 (zap_leaf_lookup): Likewise.
14703 (fzap_lookup): Likewise.
14704 (zap_lookup): Likewise.
14705 (dnode_get_path): New parameter case_insensitive. Retrieve case
14706 sensitiviness of a volume. All users updated.
14707 (dnode_get_fullpath): New parameter case_insensitive.
14708 All users updated.
14709 (grub_zfs_dir): Set info.case_insensitiveness.
14710
95f2e860
VS
147112011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14712
14713 Support second redundancy strip on raidz(2,3).
14714
14715 * grub-core/fs/zfs/zfs.c (powx): New array.
14716 (powx_inv): Likewise.
14717 (poly): New const.
14718 (xor_out): New function.
14719 (gf_mul): Likewise.
14720 (recovery): Likewise.
14721 (read_device): Use second redundancy strip.
14722
11ee4389
VS
147232011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14724
14725 Use a power of generator representation of GF(256) multiplication group
14726 to save space time and complexity.
14727
14728 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
14729 (raid6_table2): Likewise.
14730 (powx): New array.
14731 (powx_inv): Likewise.
14732 (poly): New const.
14733 (grub_raid_block_mul): Replace with ...
14734 (grub_raid_block_mulx): ...this.
14735 (grub_raid6_init_table): Rewritten.
14736 (grub_raid6_recover): Use power of generator representation.
14737
09e2763f
VS
147382011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14739
14740 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
14741 for the right device.
14742
8bec9a28
VS
147432011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14744
14745 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
14746 expected by grub-mkimage and it's more clear since there is no implicit
14747 padding.
14748
dbd3a32e
VS
147492011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14750
14751 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
14752 disk.
14753 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14754
182c872a
PMH
147552011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
14756
14757 * util/grub-mkrescue.in: Fix handling xorriso option.
14758
1e51cabd
VS
147592011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14760
14761 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
14762 NULL.
14763
9cc3581d 147642011-11-03 crocket <crockabiscuit@gmail.com>
14765
14766 * util/grub.d/10_linux.in: Add Slackware initrd naming.
14767
158dc1ea
VS
147682011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14769
14770 XZ CRC64 and SHA256 support.
14771
14772 * Makefile.util.def (libgrubmods): Add crc64.c.
14773 * grub-core/Makefile.core.def (crc64): New module.
14774 * grub-core/lib/crc64.c: New file.
14775 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
14776 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
14777 Fix the type.
14778 (MAX_HASH_SIZE): New define.
14779 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
14780 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
14781 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14782 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14783 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
14784 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
14785 Handle non-crc32 hashes.
14786 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
14787 (dec_stream_header): Handle non-crc32 hashes.
14788 (dec_stream_footer): Likewise.
14789 (dec_block_header): Likewise.
14790 (dec_main): Likewise.
14791 (xz_dec_init): Likewise.
14792 (xz_dec_reset): Likewise.
14793 (xz_dec_end): Likewise.
14794 * util/import_gcry.py: Add CRC64 line.
14795
9d9b3d2f
VS
147962011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14797
14798 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
14799 as well.
14800
7d0ac931
VS
148012011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14802
14803 Make reiserfs label retrieval similar to other *_label functions.
14804
14805 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
14806 (REISERFS_MAX_LABEL_LENGTH): Removed.
14807 (REISERFS_LABEL_OFFSET): Likewise.
14808 (grub_reiserfs_label): Rewritten.
14809
148102011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14811
14812 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
14813 field.
14814
cf5ba824
VS
148152011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14816
14817 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
14818
17744004
VS
148192011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14820
14821 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
14822 drive failure on both raidz and raidz2.
14823
aca5aefc
VS
148242011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14825
14826 Fix RAIDZ(2) for >= 5 devices.
14827
14828 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
14829 asize argument. All users updated.
14830
ce8ca56e
VS
148312011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14832
14833 Fix RAIDZ(2).
14834
14835 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
14836 (fill_vdev_info_real): Set ashift.
14837 (read_device): Rewrite RAIDZ part based on reverse engineering.
14838
7c01e783
VS
148392011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14840
14841 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
14842 don't report potentially unavialiable fields in debug output.
14843 (find_path): Fix double-free and memory leak.
14844
ce109e84
VS
148452011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14846
14847 Read label on UFS1.
14848
14849 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
14850 (grub_ufs_fs): Always set .label.
14851
87661123
VS
148522011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14853
14854 Use shifts in UFS.
14855
14856 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
14857 (grub_ufs_data): New field log2_blksz.
14858 (grub_ufs_read_file): Use shifts.
14859 (grub_ufs_mount): Check block size and logarithm it.
14860
46bc1dc2
VS
148612011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14862
14863 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
14864 long symlinks.
14865
19ee2987
VS
148662011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14867
14868 Handle symlinks and long names on tar and cpio.
14869
14870 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
14871 (ATTR_FILE): Likewise.
14872 (ATTR_DIR): Likewise.
14873 (ATTR_LNK): Likewise.
14874 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
14875 (grub_cpio_find_file): Fill mode, handle linkname field as well as
14876 L and K entries.
14877 (grub_cpio_mount): Zero-fill data.
14878 (handle_symlink): New function.
46bc1dc2
VS
14879 (grub_cpio_dir): Handle symlinks.
14880 (grub_cpio_open): Likewise.
14881 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 14882
c83a08d8
VS
148832011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14884
14885 Fix iso9660 filename limitations and fix memory leaks.
14886
14887 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
14888 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
14889
45cdd3ea
VS
148902011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14891
14892 Fix JFS file name length limitations.
14893
14894 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
14895 (grub_jfs_diropen): Fix maximum filename length.
14896 (grub_jfs_getent): Fix filename length.
14897 (grub_jfs_lookup_symlink): Fix size checks.
14898
94ef05c2
VS
148992011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14900
14901 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
14902 string.
14903
785ab8c7
VS
149042011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14905
eb0b6b45
VS
14906 Leverage BFS implementation to read AFS.
14907
14908 * Makefile.util.def (libgrubmods): Add afs.c.
14909 * grub-core/Makefile.core.def (afs): New module
14910 * grub-core/fs/afs.c: New file.
14911 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
14912
149132011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14914
14915 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 14916
c4a1628f
VS
149172011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14918
14919 * grub-core/fs/bfs.c: Run indent.
14920
5825b379
VS
149212011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14922
14923 BFS implementation based on the specification.
14924
14925 * grub-core/fs/bfs.c: New file.
14926 * Makefile.util.def (libgrubmods): Add bfs.c.
14927 * grub-core/Makefile.core.def (bfs): New module.
14928
42b2a706
VS
149292011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14930
14931 * util/grub-fstest.c (cmd_cp): Clarify error message.
14932 (cmd_cmp): Likewise.
14933
61b99bfc
YB
149342011-10-30 Yves Blusseau <blusseau@zetam.org>
14935
14936 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
14937 and befs_be.
14938
faba3d16
VS
149392011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
14940
14941 Remove afs and befs because of copyright problem.
14942
14943 * grub-core/fs/afs.c: Removed.
14944 * grub-core/fs/afs_be.c: Removed.
14945 * grub-core/fs/befs.c: Removed.
14946 * grub-core/fs/befs_be.c: Removed.
14947 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
14948 * grub-core/Makefile.core.def (afs): Removed.
14949 (afs_be): Likewise.
14950 (befs): Likewise.
14951 (befs_be): Likewise.
14952
c39224b0
VS
149532011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14954
14955 Prefer rockridge over Joliet.
14956
14957 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
14958 to ...
14959 (set_rockridge): ... here.
14960 (grub_iso9660_mount): Check rockridge on the primary label when
14961 discovering. Ignore Joliet if Rockridge is present.
14962
e551115a
VS
149632011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14964
14965 Use shifts in nilfs2.
14966
14967 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
14968 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
14969 (grub_nilfs2_palloc_entries_per_group): Replace with ...
14970 (grub_nilfs2_log_palloc_entries_per_group): ... this.
14971 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
14972 (grub_nilfs2_entries_per_block): Replaced with ...
14973 (grub_nilfs2_log_entries_per_block_log): ... this.
14974 (grub_nilfs2_blocks_per_group): Replaced with ...
14975 (grub_nilfs2_blocks_per_group_log): ... this.
14976 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
14977 (grub_nilfs2_blocks_per_desc_block_log): ... this.
14978 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
14979 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
14980 (grub_nilfs2_palloc_entry_offset): Replaced ...
14981 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
14982 (grub_nilfs2_dat_translate): Use shifts.
14983 (grub_nilfs2_read_inode): Likewise.
14984 (GRUB_MOD_INIT): Ensure that logs are correct.
14985
564dd58c
VS
149862011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14987
14988 Use shifts in minix filesystem.
14989
14990 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
14991 (GRUB_MINIX_ZONE2SECT): Likewise.
14992 (grub_minix_data): Replace block_size with log_block_size.
14993 (grub_minix_read_file): Use shifts.
14994 (grub_minix_mount): Check block size and take a logarithm.
14995
ed9ba06d
VS
149962011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14997
14998 Use shifts in squash4.
14999
15000 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
15001 (squash_mount): Check block size and take logarithm.
15002 (direct_read): Use shifts.
15003
ad03fe76
VS
150042011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15005
15006 Correct befs block counting logic.
15007
15008 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
15009 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
15010 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
15011 (grub_afs_read_inode): Use block_shift.
15012 (RANGE_SHIFT): New definition.
15013 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
15014 unexpected conditions, use shifts and appropriate types.
15015 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
15016
6563f63d
VS
150172011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15018
15019 * grub-core/disk/raid.c (scan_devices): Check partition.
15020 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
15021
5b1ae25f
VS
150222011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15023
15024 Support BFS (befs) UUID.
15025
15026 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
15027 (grub_afs_small_data_element_header): New struct.
15028 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
15029 (grub_afs_read_attribute) [MODE_BFS]: New function.
15030 (grub_afs_iterate_dir): Allocate for complete inode.
15031 (grub_afs_mount): Likewise.
15032 (grub_afs_uuid) [MODE_BFS]: New function.
15033 (grub_afs_fs) [MODE_BFS]: Add .uuid.
15034
f8d82408
VS
150352011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15036
15037 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
15038 (zfs_unmount): Fix memory leak.
15039
5773fb64
VS
150402011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15041
15042 Support NTFS reparse points.
15043
15044 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
15045 (symlink_descriptor): New struct.
15046 (grub_ntfs_read_symlink): New function.
15047 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
15048 (grub_ntfs_open): Likewise.
15049
91c3fdde
VS
150502011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15051
15052 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
15053
3be82e10
VS
150542011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15055
15056 fstest xnu_uuid subcommand.
15057
15058 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
15059 grub-core/commands/xnu_uuid.c.
15060 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
15061 (fstest): Handle xnu_uuid.
15062 (options): Document xnu_uuid.
15063 (argp_parser): Parse xnu_uuid.
15064
8e32442e
VS
150652011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15066
15067 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
15068 -l argument. Add newline at the end if printing.
15069 (GRUB_MOD_INIT): Document -l.
15070
52a05075
VS
150712011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15072
15073 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
15074
1869edb5
VS
150752011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15076
15077 ZFS multi-device and version 33 support.
15078
15079 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
15080 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
15081 (grub_zfs_data): Add multidev-ice-related fields.
15082 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
15083 (dva_get_offset): Make dva const.
15084 (zfs_fetch_nvlist): New function.
15085 (fill_vdev_info_real): Likewise.
15086 (fill_vdev_info): Likewise.
15087 (check_pool_label): Likewise.
15088 (scan_disk): Likewise.
15089 (scan_devices): Likewise.
15090 (read_device): Likewise.
15091 (read_dva): Likewise.
15092 (zio_read_gang): Use read_dva.
15093 (zio_read_data): Likewise.
15094 (zap_leaf_lookup): Add missing endian conversion.
15095 (zap_verify): Add missing endian conversion. All users updated.
15096 (fzap_lookup): Likewise.
15097 (fzap_iterate): Likewise.
15098 (dnode_get_path): Handle SA bonus.
15099 (nvlist_find_value): Make input const. All users updated.
15100 (unmount_device): New function.
15101 (zfs_unmount): Use unmount_device.
15102 (zfs_mount): Use scan_disk.
15103 (zfs_mtime): New function.
15104 (grub_zfs_open): Handle system attributes.
15105 (fill_fs_info): Likewise.
15106 (grub_zfs_dir): Likewise.
15107 (grub_zfs_fs): Add mtime.
15108 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
15109 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
15110 (SA_MTIME_OFFSET): Likewise.
15111 (SA_SYMLINK_OFFSET): Likewise.
15112 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
15113 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
15114 (fstest): Support zfsinfo.
15115 (argp_parser): Likewise.
15116
186b4028
VS
151172011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15118
15119 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
15120 error.
15121
151222011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
15123
15124 ZFS fixes.
15125
15126 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
15127 sharing the same block. Iterate over correct number of indices.
15128 (dnode_get_path): Handle symlinks correctly.
15129
c0584900
VS
151302011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15131
15132 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
15133
67e2bd71
VS
151342011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15135
15136 Read label on HFS+.
15137
15138 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
15139 (grub_hfsplus_btree_search): Fix types.
15140 (grub_hfsplus_label): Implement.
15141
e9cc6b7b
VS
151422011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15143
15144 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
15145
19832ddb
VS
151462011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15147
15148 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
15149
66b40850
VS
151502011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15151
15152 Fix symlink handling on iso9660.
15153
15154 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
15155 All users updated.
15156 (grub_iso9660_susp_iterate): Accept zero-size iterate.
15157 (grub_iso9660_read_symlink): Moved most of code ...
15158 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
15159
db821363
VS
151602011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15161
15162 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15163 Use union to avoid breaking strict-aliasing rules.
15164
e1211949
VS
151652011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15166
15167 Support multi-extent iso files.
15168
15169 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
15170 Add node.
15171 (grub_fshelp_node): Revamp. All users updated.
15172 (FLAG_*): New enum.
15173 (read_node): New function.
15174 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
15175 All users updated.
15176 (grub_iso9660_mount): Don't attempt to read sua when there is none.
15177 (get_node_size): New function.
15178 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
15179 entries.
15180 Fix memory leak on . and ..
15181 (grub_iso9660_read): Use read_node.
15182 (grub_iso9660_close): Free node.
15183
d4888031
VS
151842011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15185
15186 Fix tar 4G limit and handle paths containing dot.
15187
15188 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
15189 (canonicalize): New function.
15190 (grub_cpio_find_file): Use canonicalize. Store offs in
15191 grub_disk_addr_t.
15192 (grub_cpio_dir): Use grub_disk_addr_t.
15193 (grub_cpio_open): Likewise.
15194
9f12e664
VS
151952011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15196
15197 Fix handling of uncompressed blocks on squashfs and break 4G limit.
15198
15199 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
15200 unused flags.
15201 (grub_squash_inode): Add long_file and block_size.
15202 (grub_squash_cache_inode): New struct.
15203 (grub_squash_dirent): Make types into enum.
15204 (SQUASH_TYPE_LONG_REGULAR): New type.
15205 (grub_squash_frag_desc): Add field size.
15206 (SQUASH_BLOCK_FLAGS): New enum.
15207 (grub_squash_data): Use grub_squash_cache_inode.
15208 (grub_fshelp_node): Make ino_chunk 64-bit.
15209 (read_chunk): Minor argument change. All users updated.
15210 (squash_mount): Use correct le_to_cpu.
15211 (grub_squash_open): Handle LONG_REGULAR.
15212 (direct_read): New function.
15213 (grub_squash_read_data): Handle blocks correctly.
15214
9f326fba
VS
152152011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15216
15217 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
15218
f4d9b64b
VS
152192011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15220
15221 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
15222
5bbd28b8
VS
152232011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15224
15225 Fix 2G limit on ZFS.
15226
15227 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
15228 types.
15229 (uberblock_verify): Likewise.
15230 (dmu_read): Likewise.
15231 (grub_zfs_read): Likewise. Remove invalid cast.
15232
68c72069
VS
152332011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15234
15235 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
15236 (grub_jfs_blkno): Fix incorrect shift.
15237 (grub_jfs_read_file): Use more appropriate types.
15238
6e536dc8
VS
152392011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15240
15241 Support triple indirect on minix2 and minix3.
15242
15243 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
15244 Declare triple_indir_zone.
15245 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
15246 indirect.
15247
e0864e7a
VS
152482011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15249
15250 Minix FS fixes.
15251
15252 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
15253 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
15254 Rename ctime to mtime. All users updated.
15255 (grub_minix_get_file_block): Fix types and double indirect computations.
15256
89481cab
VS
152572011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15258
15259 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
15260 if no label is found.
15261 (grub_fat_iterate_dir): Fix file size type.
15262 (grub_fat_iterate_dir): Likewise.
15263
f646e143
VS
152642011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15265
15266 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
15267 save some space.
15268 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15269 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15270
534d769e
VS
152712011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15272
15273 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
15274
e084ba18
VS
152752011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15276
15277 * util/import_gcry.py: Accept space between # and include.
15278
3471ecdf
VS
152792011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15280
15281 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
15282
124df5f6
VS
152832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15284
15285 Fine grainely disable warnings on lexer. Remove Wno-error on it.
15286
15287 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
15288 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
15289 yylex_strncpy.
15290 * grub-core/script/yylex.l: Add fine-grained #pragma.
15291
4defb8d5
VS
152922011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15293
15294 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
15295 New inline function.
15296 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
15297 Likewise.
15298 (memset) [GRUB_UTIL]: Likewise.
15299 (memcmp) [GRUB_UTIL]: Likewise.
15300
4e94ae65
VS
153012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15302
15303 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
15304 inline function rather than a define.
15305
18c575e5
VS
153062011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15307
15308 * util/grub-setup.c: Add missing include.
15309
f8bc22a8
VS
153102011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15311
15312 * util/ieee1275/grub-ofpathname.c: Add missing include.
15313
3ce69fc9
VS
153142011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15315
15316 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
15317 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
15318 Likewise.
15319
d1e293bb
VS
153202011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15321
15322 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
15323 grub_memcmp usage.
15324
7a5c54a4
VS
153252011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15326
15327 * util/grub-install.in: Add datarootdir as per automake manual
15328 suggestion.
15329 * util/grub-mknetdir.in: Likewise.
15330
153312011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
15332
15333 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
15334 suggestion.
15335 * util/grub.d/10_kfreebsd.in: Likewise.
15336 * util/grub.d/10_linux.in: Likewise.
15337 * util/grub.d/10_netbsd.in: Likewise.
15338 * util/grub.d/10_windows.in: Likewise.
15339 * util/grub.d/20_linux_xen.in: Likewise.
15340
766f7d08
VS
153412011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
15342
15343 Remove redundant grub_kernel_image_size.
15344
15345 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
15346 _edata and _start.
15347 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
15348 the small code. It moves it only by few bytes but simplifies the code.
15349 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
15350 _start.
15351 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
15352 (grub_kernel_image_size): Removed.
15353 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
15354 (grub_kernel_image_size): Removed.
15355 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
15356 compiled with Apple toolchain.
15357 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
15358 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
15359 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
15360 (grub_total_module_size): Likewise.
15361 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
15362 Removed.
15363 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
15364 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
15365 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15366 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
15367 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
15368 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
15369 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
15370 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
15371 Removed.
15372 (grub_total_module_size): Removed.
15373 * util/grub-mkimage.c (image_target_desc): Remove image_size.
15374 (image_targets): Likewise.
15375 Set .compressed_size to no field on sparc.
15376 (generate_image): Remove kernel_image_size handling.
15377
fcf1d672
SJ
153782011-10-19 Szymon Janc <szymon@janc.net.pl>
15379
15380 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
15381 NULL pointer dereference.
15382
de9c615e
VS
153832011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15384
15385 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
15386 done with a dedicated section.
15387
15388 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
15389 Ensure the correct position of boot_path.
15390 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
15391 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
15392 other fields.
15393 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
15394 * include/grub/boot.h: Removed. All references removed.
15395 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
15396 Removed.
15397 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
15398
e55599dc
VS
153992011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15400
15401 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
15402 name.
15403
36dd20ad
VS
154042011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15405
15406 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
15407
f8f72eb8
VS
154082011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15409
15410 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15411 Don't add the bogus brackets.
15412
a374751b
VS
154132011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15414
15415 ExFAT support.
15416
15417 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
15418 * grub-core/Makefile.core.def (exfat): New module.
15419 * grub-core/fs/exfat.c: New file.
15420 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
15421 (GRUB_FAT_ATTR_*): Make into an enum.
15422 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
15423 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
15424 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
15425 (GRUB_FAT_MAXFILE): Removed.
15426 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
15427 (grub_current_fat_bpb_t): New type.
15428 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
15429 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
15430 (grub_fat_dir_node_t): New type.
15431 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
15432 (fat_log2) [MODE_EXFAT]: Removed.
15433 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
15434 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
15435 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
15436 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
15437 (grub_fat_label) [MODE_EXFAT]: New function.
15438 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
15439 reserved_first_sector to 0.
15440
544c2487
VS
154412011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15442
15443 Move grub_reboot out of the kernel.
15444
15445 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
15446 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
15447 * grub-core/lib/efi/reboot.c: ... here.
15448 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
15449 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15450 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
15451 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
15452 * grub-core/lib/i386/reboot_trampoline.S: ... here.
15453 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
15454 * grub-core/lib/ieee1275/reboot.c: ... here.
15455 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
15456 * grub-core/lib/mips/arc/reboot.c: ... here.
15457 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
15458 * grub-core/lib/mips/loongson/reboot.c: ...here.
15459 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
15460 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
15461 * include/grub/emu/misc.h (grub_reboot): New function declaration.
15462 * include/grub/i386/reboot.h: New file.
15463 * include/grub/mips/loongson/ec.h: Fix includes.
15464 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
15465 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
15466 * grub-core/lib/i386/reboot.c: New file.
15467
a97501d2
VS
154682011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
15469
15470 Make grub_prefix into module to fix the arbitrary limit and save
15471 some space.
15472
15473 * grub-core/kern/emu/main.c (grub_prefix): Removed.
15474 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
15475 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
15476 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
15477 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
15478 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
15479 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
15480 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
15481 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15482 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
15483 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
15484 * include/grub/ia64/efi/kernel.h: Removed.
15485 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
15486 (grub_prefix): Removed.
15487 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
15488 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
15489 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
15490 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
15491 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
15492 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
15493 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
15494 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
15495 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
15496 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
15497 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15498 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15499 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15500 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15501 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
15502 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
15503 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
15504 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15505 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
15506 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
15507 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
15508 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
15509 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
15510 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
15511 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
15512 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
15513 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
15514 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
15515 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
15516 from module.
15517 * util/grub-mkimage.c (image_target_desc): Removed prefix and
15518 prefix_end.
15519 (image_targets): Likewise.
15520 (generate_image): Put prefix as a module.
15521
39705fad
VS
155222011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15523
15524 Replace grub_module_iterate with FOR_MODULES.
15525
15526 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
15527 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
15528 (grub_efi_modules_addr): ...this.
15529 * grub-core/kern/efi/init.c (grub_modbase): New variable.
15530 (grub_efi_init): Set grub_modbase.
15531 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
15532 (grub_modbase): New variable.
15533 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
15534 (grub_modbase): New variable.
15535 (grub_machine_init): Set grub_modbase.
15536 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
15537 (grub_modbase): New variable.
15538 (grub_machine_init): Set grub_modbase.
15539 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
15540 (grub_modbase): New variable.
15541 (grub_machine_init): Set grub_modbase.
15542 * grub-core/kern/main.c (grub_module_iterate): Remove.
15543 (grub_modules_get_end): Use grub_modbase.
15544 (grub_load_modules): Use FOR_MODULES.
15545 (grub_load_config): Likewise.
15546 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
15547 (grub_modbase): New variable.
15548 (grub_machine_init): Set grub_modbase.
15549 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
15550 (grub_modbase): New variable.
15551 (grub_machine_init): Set grub_modbase.
15552 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
15553 Removed.
15554 (grub_modbase): New variable.
15555 (grub_machine_init): Set grub_modbase.
15556 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
15557 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
15558 (grub_module_iterate): Likewise.
15559 (grub_modbase): New variable declaration.
15560 (FOR_MODULES): New macro.
15561
2afb7f6c
VS
155622011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15563
15564 * configure.ac: Check for __ctzdi2 and __ctzsi2.
15565 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
15566
366e34fa
VS
155672011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15568
15569 Fix few obvious type discrepancies.
15570
15571 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
15572 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
15573 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
15574 variable.
15575 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
15576 and connected types.
15577 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
15578 offset.
15579 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
15580 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
15581 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
15582 and connected types.
15583
177b960e
VS
155842011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15585
15586 Fix python 3.x incompatibilities.
15587
15588 * gentpl.py: Put brackets around print strings.
15589 * util/import_gcry.py: Open explicitly as utf-8.
15590 Use in instead of has_key.
15591
3b619ae1
VS
155922011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15593
15594 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
15595 (GRUB_XFS_INO_AGBITS): Make into inline function.
15596 (GRUB_XFS_INO_INOINAG): Likewise.
15597 (GRUB_XFS_INO_AG): Likewise.
15598 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15599 (GRUB_XFS_EXTENT_OFFSET): Likewise.
15600 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15601 (GRUB_XFS_EXTENT_SIZE): Likewise.
15602 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
15603 (GRUB_XFS_NEXT_DIRENT): Likewise.
15604 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
15605 (grub_xfs_read_file): Fix offset type.
15606
8bcebcb8
RM
156072011-10-15 Robert Millan <rmh@gnu.org>
15608
15609 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
15610
0017e5ef
RM
156112011-10-15 Robert Millan <rmh@gnu.org>
15612
15613 Fix build problem on FreeBSD and GNU/kFreeBSD.
15614
15615 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
15616
d8919552
VS
156172011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15618
15619 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
15620
15621 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
15622 types.
15623 (grub_hfsplus_btree_recoffset): Likewise.
15624 (grub_hfsplus_btree_recptr): Likewise.
15625 (grub_hfsplus_find_block): Likewise.
15626 (grub_hfsplus_btree_search): Likewise.
15627 (grub_hfsplus_read_block): Likewise.
15628 (grub_hfsplus_read_file): Likewise.
15629 (grub_hfsplus_mount): Likewise.
15630 (grub_hfsplus_btree_iterate_node): Likewise.
15631 (grub_hfsplus_btree_search): Likewise.
15632 (grub_hfsplus_iterate_dir): Likewise.
15633 (grub_hfsplus_read): A small code simplification.
15634
c81296b6
VS
156352011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15636
15637 * grub-core/kern/emu/hostdisk.c
15638 (convert_system_partition_to_system_disk): Don't assume that children
15639 of mapper nodes are mapper nodes.
15640
0eb8ffb1
VS
156412011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15642
15643 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
15644 * include/grub/misc.h (grub_isxdigit): New function.
15645 * grub-core/video/colors.c (my_isxdigit): Removed. All users
15646 switched to grub_isxdigit.
15647 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
15648 number starting with a letter.
15649
a98f4a08
RM
156502011-10-09 Robert Millan <rmh@gnu.org>
15651
15652 LVM support for FreeBSD and GNU/kFreeBSD.
15653
15654 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
15655 GNU/kFreeBSD.
15656 (LVM_DEV_MAPPER_STRING): Move from here ...
15657 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
15658 * util/getroot.c: Include `<grub/util/lvm.h>'.
15659 (grub_util_get_dev_abstraction): Enable
15660 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
15661 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
15662 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
15663 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
15664 support it.
15665 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
15666 GNU/kFreeBSD.
15667 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
15668 when LVM abstraction is required for ${GRUB_DEVICE}.
15669
050e8e90
SJ
156702011-10-06 Szymon Janc <szymon@janc.net.pl>
15671
15672 Add support for LZO compression in GRUB:
15673 - import of minilzo library,
15674 - LZO decompression for btrfs,
15675 - lzop files decompression.
15676
15677 * grub-core/io/lzopio.c: New file.
15678 * grub-core/lib/adler32.c: Likewise.
15679 * grub-core/lib/minilzo/lzoconf.h: Likewise.
15680 * grub-core/lib/minilzo/lzodefs.h: Likewise.
15681 * grub-core/lib/minilzo/minilzo.c: Likewise.
15682 * grub-core/lib/minilzo/minilzo.h: Likewise.
15683 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
15684 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
15685 grub-core/lib/minilzo/minilzo.c to common.
15686 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
15687 cflags in cppflags.
15688 * grub-core/Makefile.core.def (btrfs): Likewise.
15689 * grub-core/Makefile.core.def (lzopio): New module.
15690 (adler32): Likewise.
15691 * grub-core/fs/btrfs.c: Include minilzo.h.
15692 (GRUB_BTRFS_COMPRESSION_LZO): New define.
15693 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
15694 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
15695 (grub_btrfs_lzo_decompress): New function.
15696 (grub_btrfs_extent_read): Add support for LZO compression type.
15697 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
15698 (GRUB_USHRT_MAX): Likewise.
15699 (GRUB_UINT_MAX): Likewise.
15700 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
15701 (UINT_MAX): Likewise.
15702 (CHAR_BIT): Likewise.
15703 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
15704 grub-core/lib/posix_wrap/limits.h
15705 (UCHAR_MAX): Likewise.
15706 * include/grub/file.h (grub_file_filter_id): New compression filter
15707 GRUB_FILE_FILTER_LZOPIO.
15708 * include/grub/file.h (grub_file_filter_id): Set
15709 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
15710 * include/grub/types.h (grub_get_unaligned16): New function.
15711 (grub_get_unaligned32): Likewise.
15712 (grub_get_unaligned64): Likewise.
15713 * util/import_gcry.py (cryptolist): Add adler32.
15714
0eb8ffb1
VS
157152011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
15716
15717 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
15718 in perspective decreases the complexity of build system and fixes
15719 compilation right now.
15720
ce79cc99 157212011-10-01 Ales Nesrsta <starous@volny.cz>
15722
15723 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
15724 (fixed problem related to using UHCI with coreboot).
15725
8667a314
BC
157262011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15727
15728 * gentpl.py: Use Autogen macros so that the output template file
15729 (Makefile.tpl) size is reduced.
15730
fc5efcc0
MK
157312011-09-29 Mads Kiilerich <mads@kiilerich.com>
15732
15733 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
15734 extra_dist.
15735
d1ab689d
ML
157362011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15737
15738 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
15739 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
15740
c05de032
ML
157412011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15742
15743 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
15744 _fullpath.
15745
cca7ccd8
ML
157462011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15747
15748 Remove extra declaration of sleep for mingw32.
15749
15750 * util/misc.c (sleep) [__MINGW32__]: Removed.
15751 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
15752
e0b0dc83
GS
157532011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
15754
15755 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
15756 type and packname.
15757 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
15758 Resurrected.
15759 (NETBSD_BTINFO_BOOTWEDGE): New definition.
15760 (grub_netbsd_btinfo_bootwedge): New struct.
15761 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15762 New function.
15763 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
15764
91a1a164
TH
157652011-09-28 Thomas Haller <thomas.haller@fen-net.de>
15766
15767 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
15768 loader.
15769
2ded951e
AB
157702011-09-28 Andreas Born <futur.andy@googlemail.com>
15771
15772 Fix incorrect identifiers in bash-completion.
15773
15774 * util/bash-completion.d/grub-completion.bash.in
15775 (_grub_mkpasswd-pbkdf2): Rename to ...
15776 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
15777 (_grub_script-check): Rename to ...
15778 (_grub_script_check): ... this. All users updated.
15779
69915030
VS
157802011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
15781
15782 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
15783 Return 0 if disk isn't biosdisk.
15784
20fd15f9
GS
157852011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15786
15787 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
15788 on NetBSD.
15789 * Makefile.util.def (grub-fstest): Likewise.
15790
1a7d7db9
GS
157912011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15792
15793 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
15794 Get sector size from disk label.
15795
2221ab6c
CW
157962011-09-05 Colin Watson <cjwatson@ubuntu.com>
15797
15798 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
15799 */README* as well as README*.
15800 Reported by: Axel Beckert.
15801
ca51c4a0
VS
158022011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15803
15804 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
15805 case of less than 256 MiB of RAM.
15806
ab80f326
VS
158072011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15808
15809 * grub-core/commands/wildcard.c (make_regex): Handle @.
15810
4155e697
VS
158112011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15812
15813 * util/grub-install.in: Move cryptodisk logic to appropriate place.
15814
ab178c08
SJ
158152011-08-21 Szymon Janc <szymon@janc.net.pl>
15816
15817 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
15818 AC_LANG_CONFTEST macros.
15819
7dc3c686
SJ
158202011-08-20 Szymon Janc <szymon@janc.net.pl>
15821
15822 Add grub-fstest option to uncompress data for commands.
15823
15824 * util/grub-fstest.c (uncompress): New var.
15825 (options): New option -u.
15826
fe8d4a7b
SJ
158272011-08-20 Szymon Janc <szymon@janc.net.pl>
15828
15829 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
15830 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
15831
a5219af1
SJ
158322011-08-20 Szymon Janc <szymon@janc.net.pl>
15833
15834 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
15835 file type was not recognized correctly (not gzip or corrupted).
15836
f87abff5
VS
158372011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15838
15839 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
15840 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
15841
d94497ea
VS
158422011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15843
15844 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
15845 loongson.
15846 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15847 video_radeon_fuloong2e.
15848 * grub-core/video/radeon_fuloong2e.c: New file.
15849 * include/grub/video.h (grub_video_id_t): Add new ID
15850 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
15851
0d1fd011
VS
158522011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15853
15854 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
15855 define.
15856 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
15857 that PRID matches the detected subplatform and reset the subplatform
15858 if it doesn't.
15859
84beb0ee
VS
158602011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15861
15862 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
15863
1227c133
VS
158642011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15865
15866 Fix PCI iterating on functions >= 4.
15867
15868 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
15869 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
15870 Removed.
15871 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
15872 (grub_pci_read): Fix bitmask.
15873 (grub_pci_read_word): Likewise.
15874 (grub_pci_read_byte): Likewise.
15875 (grub_pci_write): Likewise.
15876 (grub_pci_write_word): Likewise.
15877 (grub_pci_write_byte): Likewise.
15878
9594c689
VS
158792011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15880
15881 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
15882 can still be specified in TARGET_CFLAGS)
15883
14a2562c
VS
158842011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15885
15886 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
15887
15888 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
15889 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
15890 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
15891 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
15892 (FULOONG): Rename to ...
15893 (FULOONG2F): ... this. All users updated.
15894 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
15895 (machtype_fuloong2f_str): ... this.
15896 (machtype_fuloong2e_str): New string.
15897 Check for machtype_fuloong2e_str.
15898 * grub-core/loader/mips/linux.c (loongson_machtypes)
15899 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
15900 * grub-core/term/serial.c (loongson_defserial)
15901 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
15902 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
15903 loongson_defserial.
15904 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
15905 Rename to ...
15906 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
15907 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
15908 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
15909 to IMAGE_FULOONG2F_FLASH. All users updated.
15910 (image_targets): Rename images.
15911 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
15912
b526cbb6
SJ
159132011-08-19 Szymon Janc <szymon@janc.net.pl>
15914
15915 Make enable of disk cache statistics code configurable.
15916
15917 * configure.ac: --enable-cache-stats added.
15918 * config.h.in (DISK_CACHE_STATS): New define.
15919 * grub-core/Makefile.core.def (cacheinfo): New command.
15920 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
15921 * grub-core/commands/cacheinfo.c: New file.
15922 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
15923 moved to cacheinfo.c.
15924 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
15925 debug code.
15926 * include/grub/disk.h: Likewise.
15927
fb739ccd
SJ
159282011-08-19 Szymon Janc <szymon@janc.net.pl>
15929
15930 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
15931 * grub-core/Makefile.am: Likewise.
15932
2bba8cfd
VS
159332011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15934
15935 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
15936 non-zero pull.
15937
43526629
VS
159382011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15939
15940 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
15941 All users updated.
15942 (grub_jfs_lookup_symlink): Use correct starting inode.
15943
5c144cc8
VS
159442011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15945
15946 * util/grub-setup.c (main): Add missing gcry initialisation.
15947
b1257f65
VS
159482011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15949
15950 Don't accept text modes on EFI when booting Linux.
15951
15952 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
15953 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
15954
828bc390
ML
159552011-08-15 Mario Limonciello <mario_limonciello@dell.com>
159562011-08-15 Colin Watson <cjwatson@ubuntu.com>
15957
15958 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
15959 use of "/path/.." as in grub-install for EFI as well as handling
15960 symlinks correctly.
15961 Fixes Debian bug #637768.
15962
5f60ccac
CW
159632011-08-15 Colin Watson <cjwatson@ubuntu.com>
15964
15965 * util/grub-probe.c: Remove duplicate #include.
15966
6dc212f9
RM
159672011-08-10 Robert Millan <rmh@gnu.org>
15968
15969 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
15970
15971 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
15972 function.
15973 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
15974 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
15975
66816d85
RM
159762011-08-03 Robert Millan <rmh@gnu.org>
15977
15978 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
15979 la_array as packed.
15980 Reported by: Zachary Bedell
15981
20168fca
CW
159822011-07-26 Colin Watson <cjwatson@ubuntu.com>
15983
15984 * configure.ac: The Loongson port requires grub-mkfont due to its
15985 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
15986 be built.
15987
303b6246
CW
159882011-07-26 Colin Watson <cjwatson@ubuntu.com>
15989
15990 * util/grub-install.in: Don't source grub-mkconfig_lib until after
15991 processing arguments (otherwise help2man fails when GRUB has not yet
15992 been installed).
15993
6795300e
VS
159942011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15995
41aa28ea
VS
15996 New script grub-mkstandalone.
15997
15998 * Makefile.util.def (grub-mkstandalone): New script.
15999 * docs/man/grub-mkstandalone.h2m: New file.
16000 * util/grub-mkstandalone.in: Likewise.
16001
160022011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16003
16004 Support ATA disks with 4K sectors.
6795300e
VS
16005
16006 * include/grub/ata.h (grub_ata): New member log_sector_size.
16007 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
16008 (grub_ata_identify): Read sector size.
16009 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
16010
92227597
VS
160112011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16012
16013 * util/grub-install.in: Don't use uhci outside of x86.
16014
c77069f5
VS
160152011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16016
16017 * util/grub-mkrescue.in: Add missing quotes.
16018
160192011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
16020
16021 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
16022 dereference.
16023
583168a2
VS
160242011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16025
16026 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
16027
6be1c01f
VS
160282011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16029
16030 * include/grub/video.h: add missing EXPORT_FUND on
16031 grub_video_edid_checksum and grub_video_edid_preferred_mode.
16032
a1167439
VS
160332011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16034
16035 * include/grub/mips/kernel.h: Fix define conflict.
16036
bf66054f
VS
160372011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16038
16039 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
16040 all four ways.
16041
8fc4fa45
CW
160422011-07-21 Colin Watson <cjwatson@ubuntu.com>
16043
16044 Preferred resolution detection for VBE.
16045
16046 * grub-core/video/video.c (grub_video_edid_checksum): New function.
16047 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
16048 the Flat Panel extension, in line with the X.org VESA driver.
16049 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
16050 New function.
16051 (grub_vbe_bios_get_ddc_capabilities): Likewise.
16052 (grub_vbe_bios_read_edid): Likewise.
16053 (grub_vbe_get_preferred_mode): Likewise.
16054 (grub_video_vbe_setup): When the mode is "auto", try to get the
16055 preferred mode from VBE, and use the largest mode that is no larger
16056 than the preferred mode (some BIOSes expose a preferred mode that is
16057 not in their mode list!). If this fails, fall back to 640x480 as a
16058 safe conservative choice.
16059 (grub_video_vbe_get_edid): New function.
16060 (grub_video_vbe_adapter): Add get_edid.
16061 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
16062 (struct grub_video_adapter): Add get_edid.
16063 (grub_video_edid_checksum): Add prototype.
16064 (grub_video_edid_preferred_mode): Likewise.
16065 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
16066 structure.
16067
16068 * grub-core/commands/videoinfo.c (print_edid): New function.
16069 (grub_cmd_videoinfo): Print EDID if available.
16070
16071 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
16072 is more appropriate on a wider range of platforms than 640x480.
16073 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
16074 documentation.
16075
ca5572a9
VS
160762011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16077
16078 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
16079
e4bcf625
VS
160802011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16081
16082 * po/POTFILES.in: Regenerate.
16083
c4edd548
VS
160842011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16085
16086 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
16087 incorrect memory usage.
16088
16a2bab0
VS
160892011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16090
16091 * util/grub-install.in: Source grub-mkconfig_lib.
16092
2e418de6
VS
160932011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16094
16095 Remove getroot.c from core on emu platform.
16096
16097 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
16098 kern/emu/raid.c.
16099 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
16100 useless.
16101 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
16102 * util/getroot.c (get_win32_path): ... here.
16103 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
16104 * util/getroot.c (fini_libzfs): ... here.
16105 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
16106 * util/getroot.c (grub_get_libzfs_handle): ... here.
16107 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
16108 Moved from here...
16109 * util/getroot.c (grub_find_zpool_from_dir): ... here.
16110 * grub-core/kern/emu/misc.c
16111 (grub_make_system_path_relative_to_its_root): Moved from here...
16112 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
16113 * grub-core/kern/emu/getroot.c: Moved from here ...
16114 * util/getroot.c: ... here. All users updated.
16115 * grub-core/kern/emu/raid.c: Moved from here ...
16116 * util/raid.c: ... here. All users updated.
16117
def9832a
VS
161182011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16119
16120 * po/POTFILES.in: Regenerate.
16121
cd8fe79a
VS
161222011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16123
16124 Fix compilation on GNU/Linux.
16125
16126 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
16127 Disable geli.
16128 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
16129 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
16130 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
16131
a251b719
VS
161322011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
161332011-07-07 Michael Gorven <michael@gorven.za.net>
161342011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
16135
16136 LUKS and GELI support.
16137
16138 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
16139 grub-core/disk/luks.c, grub-core/disk/geli.c,
16140 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
16141 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
16142 grub-core/lib/arg.c.
16143 (libgrubmods.a): Remove gcrypts cflags and cppflags.
16144 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
16145 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
16146 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
16147 (grub-bin2h): Add libgcry.a.
16148 (grub-mkimage): Likewise.
16149 (grub-mkrelpath): Likewise.
16150 (grub-script-check): Likewise.
16151 (grub-editenv): Likewise.
16152 (grub-mkpasswd-pbkdf2): Likewise.
16153 (grub-pe2elf): Likewise.
16154 (grub-fstest): Likewise.
16155 (grub-mkfont): Likewise.
16156 (grub-mkdevicemap): Likewise.
16157 (grub-probe): Likewise.
16158 (grub-ofpath): Likewise.
16159 (grub-mklayout): Likewise.
16160 (example_unit_test): Likewise.
16161 (grub-menulst2cfg): Likewise.
16162 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
16163 * grub-core/Makefile.core.def (cryptodisk): New module.
16164 (luks): Likewise.
16165 (geli): Likewise.
16166 * grub-core/disk/AFSplitter.c: New file.
16167 * grub-core/disk/cryptodisk.c: Likewise.
16168 * grub-core/disk/geli.c: Likewise.
16169 * grub-core/disk/luks.c: Likewise.
16170 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
16171 grub_util_is_lvm.
16172 (grub_util_get_dm_abstraction): New function.
16173 (grub_util_follow_gpart_up): Likewise.
16174 (grub_util_get_geom_abstraction): Likewise.
16175 (grub_util_get_dev_abstraction): Use new functions.
16176 (grub_util_pull_device): Pull GELI and LUKS.
16177 (grub_util_get_grub_dev): Handle LUKS and GELI.
16178 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
16179 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
16180 (follow_geom_up): Removed.
16181 (grub_util_fd_seek): New function.
16182 (open_device): Use grub_util_fd_seek.
16183 (nread): Rename to ..
16184 (grub_util_fd_read): ... this. All users updated.
16185 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
16186 (grub_crypto_cbc_decrypt): Likewise.
16187 (grub_crypto_hmac_write): Likewise.
16188 (grub_crypto_hmac_buffer): Likewise.
16189 (grub_password_get): Extend to util.
16190 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
16191 New member modname.
16192 (gcry_md_spec) [GRUB_UTIL]: Likewise.
16193 * include/grub/cryptodisk.h: New file.
16194 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
16195 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
16196 LUKS and GELI.
16197 (grub_util_follow_gpart_up): New proto.
16198 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
16199 (grub_util_fd_read): Likewise.
16200 (grub_cryptodisk_cheat_mount): Likewise.
16201 (grub_util_cryptodisk_print_uuid): Likewise.
16202 (grub_util_get_fd_sectors): Likewise.
16203 * util/grub-fstest.c (mount_crypt): New var.
16204 (fstest): Mount crypto if requested.
16205 (options): New option -C.
16206 (argp_parser): Parse -C.
16207 (main): Init and fini gcry.
16208 * util/grub-install.in: Support cryptodisk install.
16209 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
16210 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
16211 cryptodisk.
16212 (prepare_grub_to_access_device): Likewise.
16213 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
16214 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
16215 (probe_cryptodisk_uuid): New function.
16216 (probe_abstraction): Likewise.
16217 (probe): Use new functions.
16218 * util/import_gcry.py: Create Makefile.utilgcry.def.
16219 Add modname member.
16220
9bfdcbbc
VS
162212011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16222
16223 Lazy device scanning.
16224
16225 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
16226 (grub-setup): Remove util/raid.c.
16227 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
16228 * grub-core/disk/lvm.c (scan_depth): New variable.
16229 (grub_lvm_iterate): Rescan if necessary.
16230 (find_lv): New function based on grub_lvm_open.
16231 (grub_lvm_open): Use find_lv. Rescan on error.
16232 (is_node_readable): New function.
16233 (is_lv_readable): Likewise.
16234 (grub_lvm_scan_device): Skip already found disks.
16235 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
16236 Stop if searched device is found and readable.
16237 * grub-core/disk/raid.c (inscnt): New variable.
16238 (scan_depth): Likewise.
16239 (scan_devices): New function based on grub_raid_register. Abort if
16240 looked for device is found.
16241 (grub_raid_iterate): Rescan if needed.
16242 (find_array): NEw function based on -grub_raid_open.
16243 (grub_raid_open): Use find_array and rescan.
16244 (insert_array): Set became_readable_at.
16245 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
16246 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
16247 New function.
16248 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
16249 (grub_util_pull_device): New function.
16250 (grub_util_get_grub_dev): Call grub_util_pull_device.
16251 * util/raid.c: Moved to ..
16252 * grub-core/kern/emu/raid.c: ... here.
16253 (grub_util_raid_getmembers): New parameter "bootable".
16254 All users updated. Support 1.x.
16255 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
16256 All users updated.
16257 * include/grub/disk.h (grub_disk_pull_t): New enum.
16258 (grub_disk_dev): Change iterate prototype.
16259 All users updated.
16260 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
16261 New proto.
16262 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
16263 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
16264 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
16265 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
16266 All users updated.
16267 * include/grub/util/raid.h: Removed.
16268
1c358e59
VS
162692011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16270
16271 * po/POTFILES.in: Regenerate.
16272
abee94ed
VS
162732011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16274
16275 Unify sparc init with other ieee1275.
16276
16277 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
16278 instead of kern/sparc64/ieee1275/init.c.
16279 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
16280 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
16281 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
16282 grub/machine/kernel.h.
16283 (grub_ieee1275_original_stack) [__sparc__]: New variable.
16284 (grub_claim_heap) [__sparc__]: Use sparc version.
16285 (grub_machine_init): Moved args parsing to
16286 (grub_parse_cmdline): ...this.
16287 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
16288 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
16289 New definition.
16290 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
16291
16292 Move BOOTP to separate file.
16293
16294 * grub-core/Makefile.core.def (net): Add net/bootp.c.
16295 * grub-core/net/net.c: Move all BOOTP functions to
16296 * grub-core/net/bootp.c: ... here.
16297
16298 Use frame interface on PXE.
16299
16300 * grub-core/Makefile.core.def (pxecmd): Removed.
16301 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
16302 * grub-core/commands/i386/pc/pxecmd.c: Removed.
16303 * grub-core/i386/pc/pxe.c: Moved from here ...
16304 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
16305 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
16306 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
16307
16308 EFI network support.
16309
16310 * grub-core/Makefile.core.def (efinet): New module.
16311 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
16312 here...
16313 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
16314 All users updated.
16315 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
16316 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
16317 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
16318 * grub-core/net/drivers/efi/efinet.c: New file.
16319 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
16320 (grub_efi_net_config): New extern var.
16321
16322 Various cleanups and bugfixes.
16323
16324 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
16325 error.
16326 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
16327 disk declared as partition.
16328 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
16329 leak on failure.
16330 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
16331 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
16332 (grub_debug_zalloc): Likewise.
16333 (grub_debug_realloc): Likewise.
16334 (grub_debug_memalign): Likewise.
16335 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
16336 Check that target is IPv4.
16337 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
16338 local-mac-address as fallback.
16339 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
16340 memory leak.
16341 * grub-core/net/ip.c (ipchksum): Rename to ...
16342 (grub_net_ip_chksum): ... this. All users updated.
16343 (grub_net_recv_ip_packets): Special handling for DHCP.
16344 * util/grub-mkimage.c (generate_image): Zero-out aout header.
16345
16346 Unify prefix handling
16347
16348 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
16349 (grub_machine_get_bootlocation): ... this.
16350 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
16351 (grub_machine_get_bootlocation): ... this.
16352 (grub_prefix): New variable.
16353 (prefix): Removed.
16354 (root_dev): New variable.
16355 (dir): Likewise.
16356 (main): Use new variables.
16357 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
16358 Revamped into ...
16359 (grub_machine_get_bootlocation): ... this.
16360 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
16361 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
16362 (grub_machine_get_bootlocation): ... this.
16363 (grub_machine_set_prefix): Removed.
16364 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
16365 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
16366 Revamped into ...
16367 (grub_machine_get_bootlocation): ... this.
16368 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
16369 (grub_set_prefix_and_root): ... this. All users updated.
16370 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
16371 Revamped into ...
16372 (grub_machine_get_bootlocation): ... this.
16373 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
16374 (grub_machine_get_bootlocation): New proto.
16375 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
16376
16377 Less intrusive and more reliable seek on network implementation.
16378
16379 * grub-core/kern/file.c (grub_file_net_seek): Removed.
16380 (grub_file_seek): Don't call grub_file_net_seek.
16381 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
16382 (grub_net_fs_read_real): .. this.
16383 (grub_net_seek_real): Use net->offset.
16384 (grub_net_fs_read): Seek if necessary.
16385
16386 Unify IEEE1275 netwotk config with the other platforms.
16387
16388 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
16389 New variable.
16390 (grub_machine_get_bootlocation): Support network.
16391 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16392 Support type and device parsing.
16393 (grub_ieee1275_get_device_type): New function.
16394 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
16395 into ...
16396 (grub_ieee1275_net_config_real): ... this.
16397 (grub_ofnet_probecards): Removed.
16398 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
16399 * include/grub/ieee1275/ofnet.h: Removed.
16400 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
16401 extern var.
16402 (grub_ieee1275_get_device_type): New function.
16403
16404 Unify network device closing across platforms and make more robust.
16405
16406 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
16407 grub_grubnet_fini.
16408 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
16409 already.
16410 * grub-core/net/net.c (grub_net_network_level_interface_register):
16411 Update num_ifaces.
16412 (grub_net_card_unregister): Close all interfaces.
16413 (receive_packets): Don't poll if no iterfaces are registered.
16414 Open if necessary.
16415 (grub_net_fini_hw): New function.
16416 (grub_net_restore_hw): Likewise.
16417 (fini_hnd): New variable.
16418 (GRUB_MOD_INIT): Register preboot hook.
16419 (GRUB_MOD_FINI): Run and unregister preboot hook.
16420
16421 Poll network cards when idle.
16422
16423 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
16424 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
16425 * grub-core/net/net.c (receive_packets): Save last poll time.
16426 (grub_net_poll_cards_idle_real): New function.
16427 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
16428 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
16429 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
16430
16431 Rename ofnet interfaces.
16432
16433 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
16434 (grub_ofnet_findcards): Use ofnet_%s names.
16435
16436 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
16437
16438 Cleanup socket opening.
16439
16440 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
16441 (grub_net_fs_close): Likewise.
16442 (grub_net_fs_read_real): Use eof member.
16443 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
16444 (+grub_net_udp_close): New inline function.
16445
16446 * include/grub/net/tftp.h: Moved to the top of ...
16447 * grub-core/net/tftp.c: ... here.
16448 * include/grub/net/ip.h: Moved mostly to the top of ...
16449 * grub-core/net/ip.c: ... here.
16450 * include/grub/net/ethernet.h: Moved mostly to the top of ...
16451 * grub-core/net/ethernet.c: ... here.
16452
16453 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
16454
16455 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
16456 FS name.
16457
16458 * include/grub/net/ip.h (ipv4_ini): Removed.
16459 (ipv4_fini): Likewise.
16460
16461 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
16462 (grub_net_send_ip_packets): Likewise.
16463
cf1337aa
VS
164642011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16465
16466 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
16467 grub_read_cmos prototype.
16468
93c06ff9
VS
164692011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16470
16471 VGA text support in qemu-mips
16472
16473 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
16474 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
16475 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
16476 text.
16477 * grub-core/kern/i386/qemu/init.c: Renamed to ...
16478 * grub-core/kern/vga_init.c: ... this.
16479 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
16480 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
16481 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
16482 Adjust.
16483 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
16484 GRUB_MACHINE_PCI_IO_BASE.
16485
748ccabe
VS
164862011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16487
16488 MIPS qemu flash support.
16489
16490 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
16491 magic.
16492 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
16493 (grub_machine_init): Probe memory if its size isn't known.
16494 * util/grub-mkimage.c (image_targets): Add flash targets.
16495 (generate_image): Handle flash targets.
16496
d7345994
VS
164972011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16498
16499 MIPS qemu at_keyboard support.
16500
16501 * gentpl.py (videoinkernel): Add qemu-mips.
16502 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
16503 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
16504 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
16505 modules.
16506 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
16507 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
16508 * grub-core/term/serial.c (grub_serial_register)
16509 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
16510
a07a81b3
VS
165112011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16512
16513 CMOS support on sparc.
16514
16515 * gentpl.py (cmos): Add powerpc and sparc.
16516 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
16517 powerpc and sparc.
16518 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
16519 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
16520 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
16521 grub_set_datetime_cmos.
16522 * grub-core/lib/ieee1275/cmos.c: New file.
16523 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
16524 (find_rtc): Set no_ieee1275_rtc on error.
16525 (grub_get_datetime): Call grub_get_datetime_cmos on error.
16526 (grub_set_datetime): Call grub_set_datetime_cmos on error.
16527 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
16528 fail. Move value to argument. All users updated
16529 (grub_cmos_write): Likewise.
16530 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
16531 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
16532 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
16533 grub_get_datetime_cmos and grub_set_datetime_cmos.
16534
77546584
GS
165352011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16536
16537 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
16538 sourcing grub-mkconfig_lib.
16539 * util/update-grub_lib.in: Likewise.
16540 * util/grub.d/00_header.in: Likewise.
16541 * util/grub.d/10_hurd.in: Likewise.
16542 * util/grub.d/10_kfreebsd.in: Likewise.
16543 * util/grub.d/10_linux.in: Likewise.
16544 * util/grub.d/10_netbsd.in: Likewise.
16545 * util/grub.d/10_windows.in: Likewise.
16546 * util/grub.d/20_linux_xen.in: Likewise.
16547 * util/grub.d/30_os-prober.in: Likewise.
16548
54894791
CW
165492011-06-28 Colin Watson <cjwatson@ubuntu.com>
16550
16551 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
16552 default_bg_color rather than black.
16553 (grub_gfxterm_fullscreen): Likewise.
16554 (grub_gfxterm_background_color_cmd): Save new background color in
16555 default_bg_color.
16556
8d5d8444
VS
165572011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16558
16559 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
16560
5afeb5bd
VS
165612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16562
16563 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
16564 mismerge.
16565
ba7df45e
VS
165662011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16567
16568 Chainloading on coreboot support.
16569
16570 * grub-core/Makefile.core.def (chain): Add coreboot.
16571 * grub-core/loader/i386/coreboot/chainloader.c: New file.
16572
d0b526b2
VS
165732011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16574
16575 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
16576 if it happens.
16577
5ff1d945
VS
165782011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16579
16580 Implement time command.
16581
16582 * grub-core/Makefile.core.def (time): New module.
16583 * grub-core/commands/time.c: New file.
16584 * grub-core/script/parser.y: Remove "time" keyword.
16585 * grub-core/script/yylex.l: Likewise.
16586
5ebaad7e
VS
165872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16588
16589 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
16590
bdea3798
VS
165912011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16592
16593 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
16594 when handling leftovers.
16595
b28c5655
VS
165962011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16597
16598 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
16599 so that help2man doesn't fail.
16600
b6f945dc
VS
166012011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16602
16603 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
16604 type in pointers on sparc64.
16605 (get_card_packet): Likewise.
16606
f9b75e8a
CW
166072011-06-27 Colin Watson <cjwatson@ubuntu.com>
16608
16609 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
16610 with `*'.
16611 (grub_cmd_videoinfo): Fetch current video mode.
16612
1e3d9b86
VS
166132011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16614
16615 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
16616 because of underlying system restrictions.
16617
efff4b1c
VS
166182011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16619
16620 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
16621 necessary.
16622
9fc9ce37
VS
166232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16624
16625 Coreboot video support.
16626
16627 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
16628 (vbe): Likewise.
16629 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
16630 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
16631 here ...
16632 * grub-core/kern/i386/int.S: ... here.
16633 * grub-core/video/i386/pc/vbe.c: Updated includes.
16634 * grub-core/video/i386/pc/vga.c: Likewise.
16635 * include/grub/i386/coreboot/memory.h
16636 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
16637 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
16638 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
16639 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
16640 Disable interrupts.
16641 * include/grub/i386/pc/vga.h: Removed. All users updated.
16642
41bec7fe
VS
166432011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16644
16645 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
16646 definitions for dprintf.
16647 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
16648
ca80309d
VS
166492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16650
16651 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
16652 prototype.
16653 (get_card_packet): Likewise.
16654
9e322ce8
YB
166552011-06-26 Yves Blusseau <blusseau@zetam.org>
16656
16657 Display the path of the file when file is not found
16658
16659 * grub-core/fs/fat.c: Display the filename when file is not found.
16660 * grub-core/fs/fshelp.c: Likewise.
16661 * grub-core/fs/hfs.c: Likewise.
16662 * grub-core/fs/jfs.c: Likewise.
16663 * grub-core/fs/minix.c: Likewise.
16664 * grub-core/fs/ufs.c: Likewise.
16665 * grub-core/fs/btrfs.c: Likewise.
16666 * grub-core/commands/i386/pc/play.c: Likewise.
16667
cbf597af
SJ
166682011-06-26 Szymon Janc <szymon@janc.net.pl>
16669
16670 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
16671 pointer checks before calling grub_free().
16672 * grub-core/commands/wildcard.c (match_devices): Likewise.
16673 * grub-core/commands/wildcard.c (match_files): Likewise.
16674 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
16675 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
16676 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
16677 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
16678 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
16679 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
16680 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
16681 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16682 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
16683
6295b32f
P
166842011-06-25 Patrick <p55@mailinator.com>
16685
16686 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
16687
77c0840b
VS
166882011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
16689
16690 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
16691 (grub_pxe_send): Likewise.
16692 (GRUB_MOD_INIT): Fix types.
16693
40ea05de
SJ
166942011-06-24 Szymon Janc <szymon@janc.net.pl>
16695
16696 * grub-core/io/xzio.c: Fix code style issues
16697
90162423
MRA
166982011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
166992011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
16700
16701 Network infrastructure.
16702 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
16703
16704 * include/grub/net/arp.h: New file.
90162423
MRA
16705 * include/grub/net/device.h: Likewise.
16706 * include/grub/net/ethernet.h: Likewise.
16707 * include/grub/net/ip.h: Likewise.
16708 * include/grub/net/netbuff.h: Likewise.
16709 * include/grub/net/tftp.h: Likewise.
16710 * include/grub/net/udp.h: Likewise.
16711 * include/grub/ieee1275/ofnet.h: Likewise.
16712 * include/grub/emu/export.h: Likewise.
16713 * include/grub/net.h: Likewise.
16714 * grub-core/net/arp.c: Likewise.
16715 * grub-core/net/ethernet.c: Likewise.
16716 * grub-core/net/ip.c: Likewise.
16717 * grub-core/net/udp.c: Likewise.
16718 * grub-core/net/tftp.c: Likewise.
16719 * grub-core/net/netbuff.c: Likewise.
16720 * grub-core/net/net.c: Likewise.
16721 * grub-core/net/drivers/emu/emunet.c: Likewise.
16722 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
16723 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
16724 export.h.
16725 * grub-core/Makefile.core.def (net): New module.
16726 (tftp): Likewise.
16727 (ofnet): Likewise.
16728 (emunet): Likewise.
16729 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
16730 network protocols.
16731 * grub-core/kern/device.c (grub_net_open) : New variable.
16732 (grub_device_open): Handle network device.
16733 (grub_device_close): Likewise.
16734 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
16735 (grub_grubnet_fini): Likewise.
16736 (grub_file_seek): Seek in network device.
16737 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
16738 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
16739 network root.
16740 (grub_machine_fini): Call grub_grubnet_fini.
16741 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
16742 network.
16743 (grub_ieee1275_get_aliasdevname): New function.
16744 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16745 Add unofficial Solaris network info.
16746 (grub_multiboot_make_mbi): Likewise.
16747 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
16748 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
16749 * include/grub/device.h (grub_fs): Removed.
16750 * include/grub/err.h (grub_err_t): Add network-related values.
16751 * include/grub/i386/pc/pxe.h: Removed bootp parts.
16752 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
16753 (grub_ieee1275_get_aliasdevname): New proto.
16754 * include/grub/net.h: Rewritten.
423a1849 16755
031f22a0
VS
167562011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16757
16758 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
16759 names.
16760
4388ca72
VS
167612011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16762
16763 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
16764 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
16765 it truncates the output.
16766 Reported by: Ximin Luo.
16767
98e2f506
VS
167682011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16769
16770 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
16771
2a5e94d8
VS
167722011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16773
16774 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
16775 partmap before abstraction.
16776
535c1910
AK
167772011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
16778
16779 * util/grub-mkconfig_lib.in: Add missing quotes.
16780
bc09e1a2
VS
167812011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16782
16783 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
16784 old method if mountinfo would return /dev/root and /dev/root doesn't
16785 exist.
16786
290766fb
VS
167872011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16788
16789 ZFS zlib support
16790
16791 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
16792 (decomp_table): Add zlib entries.
16793 (zio_read): USe 8 bits for compression function rather than 3.
16794 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
16795
167962011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16797
16798 * grub-core/disk/ahci.c: Add missing license statements.
16799 * grub-core/fs/romfs.c: Likewise.
16800 * grub-core/lib/ia64/setjmp.S: Likewise.
16801 * grub-core/loader/i386/pc/freedos.c: Likewise.
16802 * grub-core/loader/ia64/efi/linux.c: Likewise.
16803 * grub-core/video/colors.c: Likewise.
16804 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
16805
5ab3f48a
VS
168062011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16807
16808 AHCI support.
16809
16810 * grub-core/Makefile.core.def (ata_pthru): Removed.
16811 (ahci): New module.
16812 (pata): Likewise.
16813 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
16814 on unload.
16815 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
16816 readwrite.
16817 (grub_hdparm_do_check_powermode_cmd): Likewise.
16818 (grub_hdparm_do_smart_cmd): Likewise.
16819 (grub_hdparm_set_val_cmd): Likewise.
16820 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
16821 * grub-core/disk/ahci.c: New file.
16822 * grub-core/disk/ata.c: Factor out the low-level part into ...
16823 * grub-core/disk/pata.c: ... here.
16824 * grub-core/disk/ata_pthru.c: Contents moved to ...
16825 * grub-core/disk/pata.c: ... here.
16826 * grub-core/disk/scsi.c (grub_scsi_names): New array.
16827 (grub_scsi_iterate): Use grub_scsi_names.
16828 (grub_scsi_open): Likewise.
16829 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
16830 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
16831 (grub_ata_regs_t): New struct.
16832 (grub_disk_ata_pass_through_parms): Likewise.
16833 (grub_ata_device): Renamed to ...
16834 (grub_ata): ... this.
16835 (grub_ata_dev): New struct.
16836 Removed all low-level inline functions.
16837 * include/grub/scsi.h: Add PATA and AHCI subsystems.
16838 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
16839 iterate hooks and open. All users updated.
16840 * util/grub-install.in: Handle AHCI disk module.
16841
c31dc5f5
SJ
168422011-06-23 Szymon Janc <szymon@janc.net.pl>
16843
16844 Add support for DRI and RSTn markers in JPEG files.
16845
16846 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
16847 (JPEG_MARKER_RST0): Likewise.
16848 (JPEG_MARKER_RST1): Likewise.
16849 (JPEG_MARKER_RST2): Likewise.
16850 (JPEG_MARKER_RST3): Likewise.
16851 (JPEG_MARKER_RST4): Likewise.
16852 (JPEG_MARKER_RST5): Likewise.
16853 (JPEG_MARKER_RST6): Likewise.
16854 (JPEG_MARKER_RST7): Likewise.
16855 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
16856 (grub_jpeg_decode_dri): New function.
16857 (grub_jpeg_decode_sos): Move image data related part into
16858 grub_jpeg_decode_data function.
16859 (grub_jpeg_decode_data): New function.
16860 (grub_jpeg_reset): New function.
16861 (grub_jpeg_decode_jpeg): Handle new markers.
16862
fe12fd5b
VS
168632011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16864
16865 * util/ieee1275/ofpath.c (check_sas): Close fd.
16866 (main): Free of_path.
16867 Reported by: David Volgyes <dvolgyes>.
16868
03147f46
VS
168692011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16870
16871 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
16872 Reported by: David Volgyes <dvolgyes>.
16873
cad3237f
VS
168742011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16875
16876 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
16877 file after stat.
16878 Reported by: David Volgyes <dvolgyes>.
16879
13548d26
VS
168802011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16881
16882 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
16883
16884 Reported by: David Volgyes <dvolgyes>.
16885
e061a1b5
VS
168862011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16887
16888 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
16889 Prevent memory leak.
16890
1abe47dc
VS
168912011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16892
16893 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
16894 (main): Close file.
e061a1b5 16895 Reported by: David Volgyes <dvolgyes>.
1abe47dc 16896
fbc62666
VS
168972011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16898
16899 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
16900 to continue if allocation is failed.
16901
16902 Reported by: David Volgyes <dvolgyes>.
16903
e98c83e9
DV
169042011-06-23 David Volgyes <dvolgyes>
16905
16906 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
16907 dereference.
16908
a199a8cd
VS
169092011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16910
16911 Fix spurious warning.
16912
16913 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
16914 (acorn_partition_map_find): Use .bin member.
16915
e2d1dba0
VS
169162011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16917
16918 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
16919 /dev/root as a valid device.
16920
8a5d6919
JM
169212011-06-23 Jim Meyering <meyering@redhat.com>
16922
e2d1dba0
VS
16923 Avoid NULL deref in grub_device_open.
16924
8a5d6919
JM
16925 * grub-core/kern/device.c (grub_device_open): Don't dereference
16926 a NULL pointer upon failed grub_env_get.
16927
f7db6f4a
VS
169282011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16929
16930 Support non-512B sectors and agglomerate reads.
16931
16932 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
16933 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
16934 (disk_io_guid): Removed.
16935 (make_devices): Locate solely by BlockIO.
16936 (grub_efidisk_open): Fill log_sector_size and total_sectors.
16937 (grub_efidisk_read): Use read_blocks.
16938 (grub_efidisk_write): Use write_blocks.
16939 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
16940 log_sector_size.
16941 (get_safe_sectors): Handle non-512B sectors.
16942 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
16943 sectors.
16944 (grub_biosdisk_write): Handle non-512B sectors.
16945 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
16946 (grub_scsi_read): Remove special non-512B block handling (now handled
16947 one level up).
16948 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
16949 and do sanity checks.
16950 (grub_disk_adjust_range): Handle non-512B sectors.
16951 (transform_sector): New function.
16952 (grub_disk_read_small): Likewise.
16953 (grub_disk_read): Rewritten.
16954 (grub_disk_write): Handle non-512B sectors.
16955 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
16956 log_sector_size.
16957 (open_device): Use log_sector_size.
16958 (grub_util_biosdisk_read): Likewise.
16959 (grub_util_biosdisk_write): Likewise.
16960 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
16961 non-512B sectors.
16962 (pc_partition_map_embed): Likewise.
16963 * include/grub/disk.h (grub_disk): New field log_sector_size.
16964 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
16965 (GRUB_DISK_CACHE_BITS): Increased to 6.
16966 * util/grub-fstest.c (fstest): New command testload.
16967 (argp_parser): Likewise.
16968
881ac815
RM
169692011-06-16 Robert Millan <rmh@gnu.org>
16970
16971 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
16972 `ata' driver on kernel of FreeBSD 9.
16973
16974 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
16975 (get_ataraid_disk_name): New functions.
16976 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
16977 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
16978 get_ataraid_disk_name() and get_ada_disk_name().
16979
1e9aef7d
CW
169802011-06-13 Colin Watson <cjwatson@ubuntu.com>
16981
16982 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
16983 input format.
16984
351c7c8a
CW
169852011-05-29 Colin Watson <cjwatson@ubuntu.com>
16986
16987 * docs/grub.texi (Obtaining and Building GRUB): Substitute
16988 `ftp.gnu.org' for `alpha.gnu.org'.
16989
6b4e6430
CW
169902011-05-27 Colin Watson <cjwatson@ubuntu.com>
16991
16992 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
16993 partitions under /dev/disk/by-id/.
16994
c64db050
CW
169952011-05-27 Colin Watson <cjwatson@ubuntu.com>
16996
16997 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
16998 after ten consecutive open failures. Scanning all the way up to
16999 10000 is excessive and can cause serious performance problems in
17000 some configurations.
17001 Fixes Ubuntu bug #787461.
17002
245f4aba
VS
170032011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17004
17005 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
17006 opening new one.
17007
f767c929
VS
170082011-05-21 Colin Watson <cjwatson@ubuntu.com>
170092011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17010
17011 Don't stat devices unless we have to.
17012
17013 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
17014 dir == /dev/mapper.
17015 (grub_guess_root_device): Use already known os_dev if possible.
17016 * grub-core/kern/emu/hostdisk.c
17017 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
17018 if device is known to be a dm one.
17019
f35fa3a6
CW
170202011-05-20 Colin Watson <cjwatson@ubuntu.com>
17021
17022 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
17023 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
17024 Reported by: Pawel Tecza.
17025
9a79fcf2
VS
170262011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
17027
17028 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
17029 (lsefisystab): Likewise.
17030 (lssal): Likewise.
17031 (lsefimmap): Likewise.
17032 (hdparm): Enable on qemu-mips.
17033 (setjmp): Add ia64 nodist.
17034 (serial): Simplify tags.
17035
63e3eea9
CW
170362011-05-18 Colin Watson <cjwatson@ubuntu.com>
17037
17038 * Makefile.util.def (grub-ofpathname): Install manual page.
17039
09728256
CW
170402011-05-18 Colin Watson <cjwatson@ubuntu.com>
17041
17042 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
17043
8b63a142
CW
170442011-05-18 Colin Watson <cjwatson@ubuntu.com>
17045
17046 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
17047
e775d8ed
VS
170482011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17049
17050 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
17051 into dprintf.
17052
bf947d36
VS
170532011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17054
17055 Use full 64-bit division.
17056
17057 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
17058 (grub_divmod64): ... this.
17059 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
17060 version.
17061
b84f26c5
CW
170622011-05-18 Colin Watson <cjwatson@ubuntu.com>
17063
17064 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
17065 `source'.
17066
5626056f
CW
170672011-05-18 Colin Watson <cjwatson@ubuntu.com>
17068
17069 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
17070 to avoid accidents when debugging with 'sh -x'.
17071 * grub-core/gensyminfo.sh.in: Likewise.
17072 * tests/example_scripted_test.in: Likewise.
17073 * tests/grub_cmd_regexp.in: Likewise.
17074 * tests/grub_script_blanklines.in: Likewise.
17075 * tests/grub_script_dollar.in: Likewise.
17076 * tests/grub_script_expansion.in: Likewise.
17077 * tests/grub_script_final_semicolon.in: Likewise.
17078 * tests/partmap_test.in: Likewise.
17079 * tests/util/grub-shell-tester.in: Likewise.
17080 * tests/util/grub-shell.in: Likewise.
17081
e2965f4a
CW
170822011-05-18 Colin Watson <cjwatson@ubuntu.com>
17083
17084 Move gfxmenu color handling to video, so that gfxterm can use it
17085 too.
17086
17087 * grub-core/gfxmenu/named_colors.c: Move to ...
17088 * grub-core/video/colors.c: ... here. Rename
17089 grub_gui_get_named_color to grub_video_get_named_color.
17090 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
17091 * grub-core/video/colors.c (my_isxdigit): ... here.
17092 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
17093 Move to ...
17094 * grub-core/video/colors.c (parse_hex_color_component): ... here.
17095 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
17096 to ...
17097 * grub-core/video/colors.c (grub_video_parse_color): ... here.
17098
17099 * include/grub/gui.h (grub_gui_color_t): Move to ...
17100 * include/grub/video.h (grub_video_rgba_color_t): ... here.
17101 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
17102 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
17103 * include/grub/gui.h (grub_gui_map_color): Move to ...
17104 * include/grub/video.h (grub_video_map_rgba_color): ... here.
17105 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
17106 to ...
17107 * include/grub/video.h (grub_video_get_named_color): ... here.
17108 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
17109 * include/grub/video.h (grub_video_parse_color): ... here.
17110
17111 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
17112 video/colors.c.
17113 (gfxmenu): Remove gfxmenu/named_colors.c.
17114 (video) [videomodules]: Add video/colors.c.
17115
17116 Add a background_color command.
17117
17118 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
17119 function.
17120 (GRUB_MOD_INIT): Register background_color command.
17121 (GRUB_MOD_FINI): Unregister background_color command.
17122 (redraw_screen_rect): Allow blend/replace of text layer to be
17123 controlled independently from whether there is a background bitmap.
17124 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
17125 changing bitmap.
17126
1e4b4390
VS
171272011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17128
26618ff0
VS
17129 Patch BPB in ntldr and chainloader --bpb.
17130
1e4b4390
VS
17131 * grub-core/fs/fat.c: Include grub/fat.h.
17132 (grub_fat_bpb): Moved to ...
17133 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
17134 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
17135 grub/ntfs.h.
17136 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
17137 Moved from here...
17138 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
17139 here.
17140 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
17141 New function.
17142 (grub_chainloader_cmd): Patch BPB if --bpb is given.
17143 (GRUB_MOD_INIT): Show --bpb.
17144 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
17145 * grub-core/normal/main.c (features): New variable.
17146 (GRUB_MOD_INIT): Set feature_* variables.
17147 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
17148 proto.
17149 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
17150
cf02731e
VS
171512011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17152
17153 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
17154 for cleanness.
17155
e3a1073f
VS
171562011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17157
17158 FreeDOS direct loading support.
17159
17160 * docs/grub.texi (Supported OS): Add FreeDOS.
17161 * grub-core/Makefile.core.def (freedos): New module.
17162 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
17163 variable.
17164 (grub_relocator16_boot): Handle %ebx.
17165 * grub-core/lib/i386/relocator16.S: Likewise.
17166 * grub-core/loader/i386/pc/freedos.c: New file.
17167
05caa461
VS
171682011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17169
17170 Long Linux command line support.
17171
17172 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17173 (maximal_cmdline_size): New variable.
17174 (allocate_pages): Use maximal_cmdline_size.
17175 (grub_cmd_linux): Set and use maximal_cmdline_size.
17176 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17177 (allocate_pages): Use maximal_cmdline_size.
17178 (grub_cmd_linux): Set and use maximal_cmdline_size.
17179 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
17180 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
17181 and cmdline_size.
17182
a2491e23
VS
171832011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
171842011-05-18 Colin Watson <cjwatson@ubuntu.com>
17185
17186 Improve devmapper support
17187
17188 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
17189 (grub_util_is_lvm): New function.
17190 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
17191 than lvm if not dmraid.
17192 Handle mapped md nodes.
17193 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
17194 (grub_util_device_is_mapped): ... this. Make always available. All users
17195 updated.
17196 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
17197 (convert_system_partition_to_system_disk): Handle lvm, mpath and
17198 dmraid nodes.
17199 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
17200
6ad6223e
VS
172012011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17202
17203 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
17204
17205 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
17206 * grub-core/modinfo.sh.in: New file.
17207 * grub-core/Makefile.core.def (modinfo.sh): New script.
17208 * util/grub-mknetdir.in: Use modinfo.sh.
17209 * util/grub-mkrescue.in: Likewise.
17210
543a8f6e
VS
172112011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17212
17213 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
17214 Fix potential usage of Elf32 instead of Elf64 when compiling on
17215 32-bit architecture. Add endianness macros while on it.
17216
4959e111
VS
172172011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17218
17219 Use mipsel- rather than mips- in directories involving mipsel ports to
17220 allow both endiannesses coexist.
17221
17222 * configure.ac: proparate target_cpu=mipsel rather than resetting to
17223 mips. All conditions adjusted.
17224 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
17225 variable.
17226 * util/grub-install.in: Adjust conditions to take renaming into account.
17227 * util/grub-mkimage.c (image_targets): Likewise. New target
17228 mips-qemu_mips-elf for bigendian mips.
17229
35341bbc
VS
172302011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17231
17232 Avoid unnecessary copying on MIPS.
17233
17234 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
17235 early if src == dest.
17236 * util/grub-mkimage.c (generate_image): Arange for src == dest if
17237 compression is none.
17238
b772baed
VS
172392011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17240
17241 Reduce memory footprint on SGI by putting modules before the kernel
17242 as opposed to after.
17243
17244 * grub-core/Makefile.core.def (kernel): Increase linking address.
17245 (none_decompress): Likewise.
17246 (xz_decompress): Likewise.
17247 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
17248 address.
17249 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
17250 layout change.
17251 (grub_arch_modules_addr): New function.
17252 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
17253 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
17254 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
17255 here.
17256 * grub-core/kern/mips/startup.S (total_size): Rename to ...
17257 (grub_total_modules_size): ... this. Make global.
17258 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
17259 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
17260 New definition.
17261 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
17262 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
17263 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
17264 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
17265 * util/grub-mkimage.c (image_target_desc): New flag
17266 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
17267 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
17268 (generate_image): Handle images with modules before kernel.
17269
566a1917
VS
172702011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17271
17272 Prevent potential loss of memory map by overwrite on qemu-mips.
17273
17274 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17275 Save ram size in $s4.
17276 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
17277 All users changed to grub_arch_memsize.
17278 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
17279 Loongson.
17280 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
17281 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
17282 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
17283 external variable.
17284
5d420cd9
CW
172852011-05-17 Colin Watson <cjwatson@ubuntu.com>
17286
17287 * .bzrignore: Remove grub-dumpbios.
17288
d064b830
CW
172892011-05-17 Colin Watson <cjwatson@ubuntu.com>
17290
17291 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
17292 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
17293 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
17294 existing options which append).
17295 * docs/grub.texi (Simple configuration): Document new options.
17296 Reported by: Ian Jackson. Fixes Debian bug #617538.
17297
3ca2b466
CW
172982011-05-17 Colin Watson <cjwatson@ubuntu.com>
17299
17300 * util/grub-fstest.c (cmd_cat): New function.
17301 (fstest): Handle CMD_CAT.
17302 (options): Add cat.
17303 (argp_parser): Handle cat.
17304
24c9143a
CW
173052011-05-17 Colin Watson <cjwatson@ubuntu.com>
17306
17307 * Makefile.util.def (grub-bin2h): Don't install.
17308 * docs/man/grub-bin2h.h2m: Remove.
17309
90f7ac19
VS
173102011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17311
17312 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
17313 place.
17314
8d4a5178
VS
173152011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17316
17317 Reenable qemu-mips port.
17318
17319 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
17320 Fix small arc bug while on it.
17321 * gentpl.py: Handle qemu_mips.
17322 * grub-core/Makefile.am: Likewise.
17323 * grub-core/Makefile.core.def: Likewise.
17324 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
17325 inappropriate includes.
17326 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
17327 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
17328 * grub-core/kern/main.c (grub_modules_get_end)
17329 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
17330 * grub-core/kern/mips/qemu-mips: Moved to ..
17331 * grub-core/kern/mips/qemu_mips: ... this.
17332 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
17333 (grub_machine_init): Call terminfo_init and serial_init.
17334 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
17335 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17336 New variable.
17337 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
17338 parameter passing.
17339 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
17340 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
17341 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
17342 * include/grub/mips/qemu_mips/cmos.h: New file.
17343 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
17344 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
17345 Removed.
17346 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
17347 Use correct mips-style address.
17348 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
17349 (GRUB_TICKS_PER_SECOND): Removed.
17350 (grub_get_rtc): Likewise.
17351 (grub_cpu_idle): Likewise.
17352 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
17353 New definition.
17354 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
17355 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
17356 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
17357 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
17358 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17359 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17360 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
17361 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
17362
400b9371
VS
173632011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17364
17365 SGI ARCS port.
17366
17367 * Makefile.util.def (libgrubmods.a): Add dvh.c.
17368 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
17369 platforms.
17370 * configure.ac: New target mips-arc.
17371 * gentpl.py: Likewise.
17372 * grub-core/Makefile.am: Likewise.
17373 * grub-core/Makefile.core.def: Likewise.
17374 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
17375 (none_decompress): Likewise.
17376 (lsdev): New module.
17377 (datetime): Use lib/arc/datetime.c on ARC.
17378 (part_dvh): New module.
17379 * grub-core/commands/arc/lsdev.c: New file.
17380 * grub-core/disk/arc/arcdisk.c: Likewise.
17381 * grub-core/kern/mips/arc/init.c: Likewise.
17382 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
17383 aligned addresses.
17384 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
17385 support.
17386 (grub_arch_dl_relocate_symbols): Likewise.
17387 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
17388 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
17389 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
17390 platforms.
17391 * grub-core/lib/arc/datetime.c: New file.
17392 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
17393 pci.h on non-loongson.
17394 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
17395 (grub_linux_boot): Set unused registers to 0.
17396 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
17397 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
17398 * grub-core/mmap/mips/uppermem.c: ...here.
17399 * grub-core/partmap/dvh.c: New file.
17400 * grub-core/term/arc/console.c: Likewise.
17401 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
17402 (grub_terminfo_set_current): Add terminal "arc".
17403 (grub_terminfo_readkey): Support ARC sequences.
17404 * include/grub/arc/arc.h: New file.
17405 * include/grub/arc/console.h: Likewise.
17406 * include/grub/disk.h (grub_disk_dev_id): Add
17407 GRUB_DISK_DEVICE_ARCDISK_ID.
17408 * include/grub/mips/arc/kernel.h: New file.
17409 * include/grub/mips/arc/memory.h: Likewise.
17410 * include/grub/mips/arc/time.h: Likewise.
17411 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
17412 * include/grub/mips/kernel.h (grub_halt): ... here.
17413 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
17414 here...
17415 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
17416 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
17417 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
17418 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
17419 proto.
17420 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
17421 from here ...
17422 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
17423 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
17424 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
17425 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
17426 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
17427 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
17428 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
17429 (grub_phys_addr_t): Moved from here ...
17430 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
17431 (grub_vtop): Moved from here ...
17432 * include/grub/mips/memory.h (grub_vtop): ... here.
17433 (grub_map_memory): Moved from here ...
17434 * include/grub/mips/memory.h (grub_map_memory): ... here.
17435 (grub_unmap_memory): Moved from here ...
17436 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
17437 (grub_machine_mmap_iterate): Moved from here ...
17438 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
17439 (grub_mmap_get_lower): Moved from here ...
17440 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
17441 (grub_mmap_get_upper): Moved from here ...
17442 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
17443 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17444 here ...
17445 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17446 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
17447 here ...
17448 * include/grub/mips/time.h (grub_get_rtc): ... here.
17449 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17450 here ...
17451 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17452 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
17453 here ...
17454 * include/grub/mips/time.h (grub_cpu_idle): ... here.
17455 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
17456 definition.
17457 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
17458 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
17459 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
17460 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
17461 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17462 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17463 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
17464 (GRUB_MACHINE_LINK_ADDR): Likewise.
17465 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
17466 to 6.
17467 * util/grub-install.in: Run dvhtool on ARC.
17468 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 17469 (generate_image): Handle ECOFF output for mips-arc.
400b9371 17470
c8ecc840
VS
174712011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17472
17473 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
17474 blocks.
17475
153a4b55
VS
174762011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17477
17478 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
17479 after enabling port.
17480
ff44d107
VS
174812011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17482
17483 Skip incorrect USB devices.
17484
17485 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
17486 configcnt == 0.
17487 * include/grub/usb.h (grub_usb_err_t): New enum value
17488 GRUB_USB_ERR_BADDEVICE.
17489
638dbe4f
VS
174902011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17491
17492 Fuloong video init support.
17493
17494 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
17495 well.
17496 (grub_vga_read_arx): New function.
17497 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
17498 definition.
17499 (framebuffer): New members io, mmioptr and mmiobase.
17500 (read_sis_cmd): New function.
17501 (write_sis_cmd): Likewise.
17502 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
17503 rather than 640x400.
17504 * grub-core/video/sis315_init.c: New file.
17505
c3fc520c
VS
175062011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17507
17508 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
17509 non-loongson.
17510 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
17511 to grub_dl_register_symbol.
17512
67b1e5c9
VS
175132011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17514
17515 Fix compilation errors.
17516
17517 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
17518 potentially unused.
17519 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
17520 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
17521 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
17522 to loongson machines.
17523
b756f75f
VS
175242011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17525
17526 Several FS mtime support.
17527
17528 * grub-core/fs/affs.c (grub_affs_time): New struct.
17529 (grub_affs_file): New field mtime.
17530 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
17531 type. Removed 'size'. New field 'di'. All users updated.
17532 (grub_affs_mount): Simplify checsum checking.
17533 (grub_affs_iterate_dir): New helper grub_affs_create_node.
17534 (grub_affs_dir): Handle mtime.
17535 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
17536 (grub_cpio_dir): Likewise.
17537 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
17538 (grub_hfs_filerec): New field mtime.
17539 (grub_hfs_dir): Handle mtime.
17540 (grub_hfs_mtime): New function.
17541 (grub_hfs_fs): Register grub_hfs_mtime.
17542 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
17543 (grub_iso9660_dir): New field mtime.
17544 (grub_fshelp_node): New field dirent.
17545 (iso9660_to_unixtime): New function.
17546 (iso9660_to_unixtime2): Likewise.
17547 (grub_iso9660_read_symlink): Use node->dirent.
17548 (grub_iso9660_iterate_dir): Likewise.
17549 (grub_iso9660_dir): Set mtime.
17550 (grub_iso9660_mtime): New function.
17551 (grub_iso9660_fs): Register grub_iso9660_mtime.
17552 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
17553 (grub_jfs_inode): New fields atime, ctime and mtime.
17554 (grub_jfs_dir): Set mtime.
17555 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17556 * grub-core/fs/ntfs.c (list_file): Set mtime.
17557 (grub_ntfs_dir): Likewise.
17558 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
17559 (grub_reiserfs_iterate_dir): Set mtime.
17560 (grub_reiserfs_dir): Likewise.
17561 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
17562 (grub_fshelp_node): Likewise.
17563 (grub_sfs_iterate_dir): Set mtime.
17564 (grub_sfs_dir): Likewise.
17565 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
17566 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
17567 (grub_xfs_inode): New fields atime, mtime, ctime.
17568 (grub_xfs_dir): Set mtime.
17569 * include/grub/datetime.h (grub_datetime2unixtime): New function.
17570 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
17571 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
17572
17573 Support UDF symlinks.
17574
17575 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
17576 (grub_ufs_read_symlink): New function. All users updated.
17577
17578 Check amiga partmap checksum.
17579
17580 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
17581 (grub_amiga_partition): Likewise.
17582 (amiga_partition_map_checksum): New function.
17583 (amiga_partition_map_iterate): Check checksum.
17584
5470225d
VS
175852011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17586
17587 ROMFS support.
17588
17589 * Makefile.util.def (libgrubmods.a): Add romfs.
17590 * grub-core/Makefile.core.def (romfs): New module.
17591 * grub-core/fs/romfs.c: New file.
17592
d4680a35
VS
175932011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17594
17595 Squashfs v4 support.
17596
17597 * Makefile.util.def (libgrubmods.a): Add squash4.
17598 * grub-core/Makefile.core.def (squash4): New module.
17599 * grub-core/fs/squash4.c: New file.
17600 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
17601 disk_input_start, disk_input.
17602 (get_byte): Handle disk_input.
17603 (grub_zlib_disk_read): New function.
17604 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
17605
bcb18e74
FZ
176062011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
176072011-05-15 Feiran Zheng <famcool@gmail.com>
17608
17609 * Makefile.util.def (libgrubmods.a): Add minix3.
17610 * grub-core/Makefile.core.def (minix3): New module.
17611 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
17612 (GRUB_MINIX_BSIZE): Removed.
17613 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
17614 (grub_minix_ino_t): New type.
17615 (grub_minix_le_to_cpu_ino): New macro.
17616 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
17617 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
17618 (grub_minix_data): New field block_size.
17619 (grub_minix_read_file): Handle 64-bit correctly.
17620 * grub-core/fs/minix3.c: New file.
17621
32297d5f
TG
176222011-05-15 Tristan Gingold <gingold@free.fr>
176232011-05-15 Robert Millan <rmh.grub@aybabtu.com>
176242011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17625
17626 IA64 support.
17627
17628 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
17629 * configure.ac: Add ia64-efi target.
17630 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
17631 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
17632 * gentpl.py: Add ia64_efi platform.
17633 Rename x86_efi to efi and Add ia64-efi. All users updated.
17634 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
17635 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
17636 Remove kern/generic/rtc_get_time_ms.c on EFI.
17637 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
17638 kern/ia64/dl_helper.c on ia64-efi.
17639 Add kern/emu/cache.c on emu.
17640 (linux): Use on loader/ia64/efi/linux.c on ia64.
17641 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
17642 whether symbol is a function.
17643 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
17644 (grub_symbol): New field 'isfunc'.
17645 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
17646 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
17647 (grub_dl_load_segments): Place all sections into the same region.
17648 [__ia64__]: Create trampolines and got.
17649 [GRUB_MACHINE_EMU]: Call mprotect.
17650 (grub_dl_resolve_symbols): Resolve symbol type as well.
17651 [__ia64__]: Create function descriptors.
17652 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
17653 (grub_rtc_get_time_ms): ... this. Expressions simplified.
17654 (grub_get_rtc): New function.
17655 * grub-core/kern/emu/cache.c [__ia64__]: New file.
17656 * grub-core/kern/emu/cache.S: Renamed to ...
17657 * grub-core/kern/emu/cache_s.S: ... this.
17658 [__ia64__]: Add a nop.
17659 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
17660 [__ia64__]: New function.
17661 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
17662 * grub-core/kern/ia64/dl.c: New file.
17663 * grub-core/kern/ia64/dl_helper.c: Likewise.
17664 * grub-core/kern/ia64/efi/init.c: New file.
17665 * grub-core/kern/ia64/efi/startup.S: Likewise.
17666 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
17667 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
17668 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
17669 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
17670 * grub-core/loader/ia64/efi/linux.c: New file.
17671 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
17672 (GRUB_MOD_DEP): Likewise.
17673 (grub_dl) [__ia64__]: New fields got and tramp.
17674 (grub_dl): New field 'base'.
17675 (grub_dl_register_symbol): New argument isfunc. All users updated.
17676 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
17677 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
17678 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
17679 (grub_ia64_dl_get_tramp_got_size): New proto.
17680 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
17681 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
17682 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
17683 * include/grub/efi/api.h: Skip call wrappers on ia64.
17684 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
17685 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
17686 * include/grub/elf.h (ELF_ST_INFO): New definition.
17687 * include/grub/ia64/efi/kernel.h: New file.
17688 * include/grub/ia64/efi/memory.h: Likewise.
17689 * include/grub/ia64/efi/time.h: Likewise.
17690 * include/grub/ia64/kernel.h: Likewise.
17691 * include/grub/ia64/setjmp.h: Likewise (from glibc).
17692 * include/grub/ia64/time.h: New file.
17693 * include/grub/ia64/types.h: Likewise.
17694 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
17695 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
17696 New protos.
17697 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
17698 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17699 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
17700 * util/grub-mkimage.c (image_target_desc): New field pe_target.
17701 All users updated.
17702 (EFI64_HEADER_SIZE): New definition. All users updated.
17703 (image_targets): Add ia64-efi.
17704 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
17705 jumpers_addr. All users updated.
17706 Create function descriptors.
17707 (count_funcs): New function.
17708 (unaligned_uint32): New struct.
17709 (MASK20): New definition.
17710 (MASK19): Likewise.
17711 (MASKF21): Likewise.
17712 (add_value_to_slot_20b): New function.
17713 (add_value_to_slot_21_real): Likewise.
17714 (add_value_to_slot_21): Likewise.
17715 (ia64_kernel_trampoline): New struct.
17716 (nopm): New variable.
17717 (jump): Likewise.
17718 (make_trampoline): New function.
17719 (relocate_addresses): Handle ia64.
17720 (make_reloc_section): Likewise.
17721 (load_image): Likewise.
17722
983b414d
VS
177232011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17724
17725 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
17726 warning. Move variables before code while on it.
17727
5d063cdc
VS
177282011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17729
17730 Fuloong support.
17731
17732 * configure.ac: Rename yeeloong platform to loongson. All users updated.
17733 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
17734 * grub-core/boot/mips/loongson/fuloong.S: New file.
17735 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
17736 Explicitly init CS5536.
17737 [FULOONG]: Don't use serial until CS5536 is available.
17738 Set GPIO based on dumps.
17739 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
17740 [FULOONG]: Handle GPIO and memory controller differences.
17741 Parse machine type in $a2.
17742 * grub-core/boot/mips/startup_raw.S: Determine and save the
17743 architecture.
17744 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
17745 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
17746 init on architecture type.
17747 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17748 SIS315E. Don't init at_keyboard on fuloong.
17749 (grub_halt): Support Fuloong.
17750 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
17751 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
17752 (loongson_machtypes): New array.
17753 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
17754 type.
17755 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
17756 config. All users updated. Handle CS5536 serial.
17757 * grub-core/term/serial.c (grub_serial_register): Conditionalise
17758 default port on machine type. Register serial as inactive.
17759 * grub-core/video/sis315pro.c: New file.
17760 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
17761 definition.
17762 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
17763 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
17764 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
17765 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
17766 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
17767 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
17768 to ...
17769 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
17770 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
17771 definition.
17772 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
17773 (grub_arch_machine): New extern var.
17774 * include/grub/mips/loongson/serial.h
17775 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
17776 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
17777 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
17778 (GRUB_MACHINE_SERIAL_PORT0): ... this.
17779 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
17780 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
17781 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
17782 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
17783 * include/grub/term.h (grub_term_register_input_inactive): New inline
17784 function.
17785 (grub_term_register_output_inactive): Likewise.
17786 * include/grub/video.h (grub_video_driver_id): New value
17787 GRUB_VIDEO_DRIVER_SIS315PRO.
17788 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
17789 New field "names". All users updated.
17790 New field value IMAGE_FULOONG_FLASH.
17791 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
17792
6ada82d1
JU
177932011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
17794
17795 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
17796 and add some clarification.
17797
90c571a4
VS
177982011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17799
17800 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
17801 platforms if kernel is compressed.
17802
de04eecf
VS
178032011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17804
17805 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
17806 unused modules since currently referrence counter isn't reliable and
17807 there isn't much memory to recover there anyway.
17808
57688121
VS
178092011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17810
17811 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
17812 rather than resetting it to allow modules to reference themselves
17813 in init.
17814
3d2c7e35
VS
178152011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17816
17817 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
17818 counter on dependencies since grub_dl_unref already handles this.
17819
b25db218
VS
178202011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17821
17822 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
17823 on error if not already done.
17824
25a45338
VS
178252011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17826
17827 Fix few potential memory misusage.
17828
17829 * grub-core/font/font.c (load_font_index): Don't free char_index to
17830 avoid double free.
b25db218
VS
17831 (grub_font_load): Zero-fill font at alloc for safety.
17832 Close file on error.
17833 (free_font): Free bmp_idx.
25a45338 17834
0cac83df
VS
178352011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17836
17837 * docs/grub.texi (Installation): Fix several outdated claims.
17838
2217a143
VS
178392011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17840
17841 Handle module_license on windows.
17842
17843 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
17844 sections shifted.
17845 (insert_string): Make argument const char * instead of char *.
17846 (write_section_data): Handle long section names.
17847 Handle module_license.
17848
d4de6b01
VS
178492011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17850
17851 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
17852 handle class-free menuentries.
17853 (grub_normal_add_menu_entry): Add a check to be sure.
17854
4c2a3b43
VS
178552011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17856
17857 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
17858 PgUp and PgDown.
17859
85c6210f
VS
178602011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17861
17862 * configure.ac: Bump version to 1.99.
17863
36084912
VS
178642011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17865
17866 Give ATA device a bit more time on first try in order to allow disks
17867 to spin up.
17868
17869 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
17870 if dev->present is 1. Reset dev->present on failure.
17871 (grub_ata_device_initialize): Set dev->present to 1.
17872 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
17873 (grub_ata_device): New member 'present'.
17874
bda0e219
VS
178752011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17876
17877 * util/grub-mkimage.c (generate_image): Update hash.
17878
19e1c41b
VS
178792011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17880
17881 Flush caches on DMA memory.
17882
17883 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
17884 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
17885 (grub_dma_free): Likewise.
17886 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
17887
91bbcc0c
VS
178882011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17889
17890 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
17891 to avoid asm treating ld and sd as macros.
17892
60ddfad3
VS
178932011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17894
17895 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
17896 decompressor.
17897
a298aa04
VS
178982011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17899
17900 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
17901 grub_decompress_core since later would fail if grub_decompress_core
17902 is too far.
17903
9b44feca
VS
179042011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17905
17906 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
17907 R_MIPS_JALR since it's used by newer compiler.
17908
56dbe7b4
VS
179092011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
17910
17911 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
17912
52856af2
VS
179132011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17914
17915 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
17916 file_path to 0 for surety.
17917 (grub_chainloader_boot): Set exit_data to NULL.
17918 Unset the loader once done.
17919 (grub_cmd_chainloader): Fix confusing error message if file is empty.
17920
9c9bfc6d
VS
179212011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17922
17923 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
17924 unknown key into a dprintf.
17925
dd94a3df
VS
179262011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17927
17928 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
17929 on first non-existant partition.
17930
fa68d99c
VS
179312011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17932
17933 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
17934 openning fails.
17935 Reported by: Mark Korenberg.
17936
157effb7
VS
179372011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17938
17939 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
17940 overflow.
17941
ea75312f
VS
179422011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17943
17944 * util/grub-mkimage.c (main): Explicitely flush and sync the output
17945 before closing to ensure that it will be readable by grub-setup.
17946
072b5d31
VS
179472011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17948
17949 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
17950 (devpath_1): Use MAKE_PIWG_PATH.
17951 (devpath_2): Likewise.
17952 (devpath_3): Likewise.
17953 (devpath_4): Likewise.
17954 (devpath_5): Likewise.
17955 (devpath_6): Likewise.
17956
17957 The appleldr.mod was checked that to be binary identical to previous
17958 version.
17959
7fae0051
Z
179602011-05-05 Zach <mikezackles>
17961
17962 Support 2010 Macbooks.
17963
17964 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
17965 (devs): Add devpath_6.
17966
7c515bee
VS
179672011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17968
17969 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
17970 /dev/random. /dev/urandom is good enough for our purposes (salting).
17971
ed660bd8
VS
179722011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17973
17974 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
17975
ee5614b7
VS
179762011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17977
17978 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
17979 hexadecimal.
17980
664889a6
VS
179812011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17982
17983 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
17984 and not 0 on failure.
17985
bd405bbc
CW
179862011-05-03 Colin Watson <cjwatson@ubuntu.com>
17987
17988 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
17989 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
17990 disk; otherwise grub_fs_probe will not fall back to the next
17991 filesystem.
17992 (grub_pxefs_open): Likewise, for consistency.
17993 Reported and tested by: Ezekiel Grave.
17994
4ebff753
CW
179952011-05-03 Colin Watson <cjwatson@ubuntu.com>
17996
17997 * tests/partmap_test.in: Don't hardcode path to parted.
17998 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
17999
8f942553
CW
180002011-05-01 Colin Watson <cjwatson@ubuntu.com>
18001
18002 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
18003 of `ls' to find out which devices are available.
18004
3c62402d
VS
180052011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18006
18007 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
18008 than source address for efi mmap buffer.
18009
723f63f2
VS
180102011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18011
18012 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
18013 wrong action on non-detecting the magic.
18014
68797f92
VS
180152011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18016
18017 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
18018 already supplied by another part of the module (fixes compilation on
18019 FreeBSD).
18020
6be8715d
VS
180212011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18022
18023 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
18024 match the one used by mdadm.
18025
e91dba5b
CW
180262011-04-21 Colin Watson <cjwatson@ubuntu.com>
18027
18028 * po/README: Add instructions for creating po/LINGUAS.
18029
c85140b3
CW
180302011-04-21 Colin Watson <cjwatson@ubuntu.com>
18031
18032 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
18033 #551428.
18034
18035 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
18036 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
18037 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
18038 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
18039 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
18040 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
18041 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
18042 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
18043 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
18044 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
18045 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
18046 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
18047 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
18048 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
18049 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
18050 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
18051 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
18052 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
18053 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
18054 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
18055 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
18056 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
18057
92051871
CW
180582011-04-21 Colin Watson <cjwatson@ubuntu.com>
18059
18060 * grub-core/kern/emu/getroot.c
18061 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
18062 test that was incorrectly reintroduced in r3214.
18063 Reported by: Ian Dall. Fixes Savannah bug #33133.
18064
b13f79a4
CW
180652011-04-21 Colin Watson <cjwatson@ubuntu.com>
18066
18067 Fix stack pointer handling in 16-bit relocator.
18068
18069 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
18070 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
18071 Fixes Ubuntu bug #683904.
18072
9b710a88
VS
180732011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18074
18075 * configure.ac: Bump version to 1.99~rc2.
18076
d97e7b59
VS
180772011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18078
18079 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
18080 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
18081 * grub-core/lib/x86_64/setjmp.S: Likewise.
18082 * grub-core/lib/mips/setjmp.S: Likewise.
18083 * grub-core/lib/powerpc/setjmp.S: Likewise.
18084 * grub-core/lib/sparc64/setjmp.S: Likewise.
18085
0624551c
VS
180862011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18087
18088 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
18089 * grub-core/lib/efi/datetime.c: Likewise.
18090
e8f28d4c
VS
180912011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18092
18093 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
18094 New function.
18095 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
18096 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
18097 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
18098
bba79a15
VS
180992011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18100
18101 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
18102 bitmap.
18103 (grub_gfxterm_term_init): Likewise.
18104
abc474ef
VS
181052011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18106
18107 Take into account the decorations the computing menu entry width.
18108
18109 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
18110 (grub_gfxmenu_create_box): Register get_border_width.
18111 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
18112 if available.
18113 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
18114 get_border_width.
18115
e74b3947
EP
181162011-04-18 Endres Puschner <code@e7p.de>
18117
18118 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
18119 Don't skip first class.
18120
34faa595
VS
181212011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18122
18123 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
18124 chunks.
18125 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
18126
93a777e3
VS
181272011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18128
18129 Complete 64-bit division support.
18130
18131 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
18132 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
18133 * include/grub/misc.h (grub_divmod64): Rename to ...
18134 (grub_divmod64_full): ... this.
18135 (grub_divmod64): New inline function.
18136
a5102d94
VS
181372011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18138
18139 * util/grub-mkimage.c (generate_image): Add forgotten comma.
18140
f3fb7b36
VS
181412011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18142
18143 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
18144 performing the necessary test.
18145
9ac718b0
VS
181462011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18147
18148 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
18149 (kfreebsd.elf): Likewise.
18150 (pc-chainloader.elf): Likewise.
18151 (ntldr.elf): Likewise.
18152
50d2cc5a
VS
181532011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18154
18155 Identify RAID by its UUID rather than (guessed) name.
18156
18157 * grub-core/disk/raid.c (ascii2hex): New function.
18158 (grub_raid_open): Accept mduuid/%s specification.
18159 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
18160 (get_mdadm_uuid): ... this.
18161 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
18162
e03f7bea
VS
181632011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
18164
18165 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
18166 to negative size.
18167
e74c3112
CW
181682011-04-13 Colin Watson <cjwatson@ubuntu.com>
18169
18170 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
18171 btrfs subvolume.
18172 * util/grub.d/20_linux_xen.in: Likewise.
18173
78fa584f
CW
181742011-04-13 Colin Watson <cjwatson@ubuntu.com>
18175
18176 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
18177 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
18178
18179 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
18180 Build a list of relevant visible mounts using the mnt_id and
18181 parent_mnt_id fields, and then scan that list at the end.
18182
9d5f8162
CW
181832011-04-12 Colin Watson <cjwatson@ubuntu.com>
18184
18185 * docs/grub.texi (normal): New section.
18186 (normal_exit): New section.
18187 (Embedded configuration): Add reference to normal.
18188 (GRUB only offers a rescue shell): Likewise.
18189 * docs/grub-dev.texi (Error Handling): Fix typo.
18190
09a9d66f
CW
181912011-04-12 Colin Watson <cjwatson@ubuntu.com>
18192
18193 * NEWS: Drop obsolete entry about probe-only btrfs support.
18194
0c676933
CW
181952011-04-12 Colin Watson <cjwatson@ubuntu.com>
18196
18197 * util/import_gcry.py: Fix typo.
18198
ec9f5e0d
VS
181992011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18200
18201 * NEWS: Add btrfs support.
18202
fe6b2cba
VS
182032011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
182042011-04-11 Colin Watson <cjwatson@ubuntu.com>
18205
18206 BtrFS support. Written by me (Vladimir) with important bugfixes and
18207 even more important testing by Colin.
18208
18209 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
18210 * grub-core/Makefile.core.def (btrfs): Add crc.c.
18211 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
18212 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
18213 mem_input_off and mem_input. All users updated to accept in-RAM input.
18214 (gzio_seek): New function.
18215 (test_zlib_header): Likewise.
18216 (grub_gzio_read): Likewise.
18217 (grub_zlib_decompress): Likewise.
18218 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
18219 Accept partial and non-virtual mounts.
18220 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
18221 avoid receiving /dev/dm-X as device.
18222 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
18223 Handle bind and partial mounts.
18224 * grub-core/lib/crc.c: New file.
18225 * include/grub/deflate.h: Likewise.
18226 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
18227 proto.
18228 * include/grub/lib/crc.h: New file.
18229
e745cf0c
VS
182302011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18231
18232 Implement automatic module license checking according to new GNU
18233 guidelines.
18234
18235 * grub-core/kern/dl.c (grub_dl_check_license): New function.
18236 (grub_dl_load_core): Use grub_dl_check_license.
18237 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
18238 (GRUB_MOD_LICENSE): Likewise.
18239 (GRUB_MOD_DUAL_LICENSE): Likewise.
18240 All modules updated.
18241
2a9bc016
CW
182422011-04-11 Colin Watson <cjwatson@ubuntu.com>
18243
18244 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
18245 reserved_first_sector to 1. btrfs reserves plenty of space for boot
18246 loaders.
18247 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
18248
8a3bc88e
VS
182492011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18250
18251 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
18252
af869a4a
VS
182532011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18254
18255 * util/grub-fstest.c (read_file): Report GRUB error if file opening
18256 failed.
18257
9ee8d94f
VS
182582011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18259
18260 * grub-core/kern/file.c (grub_file_open): Don't take into account the
18261 parenthesis in the middle of the filename.
18262
b01abe3e
VS
182632011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18264
18265 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
18266 rather than trying to put initrd way too high.
18267 Reported by: Ryan Lortie <desrt@desrt.ca>
18268
335bda1e
VS
182692011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18270
18271 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
18272 improperly removed string.
18273
5ca1a64d
VS
182742011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18275
18276 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
18277 is_disk.
18278 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
18279 (open_device) Likewise.
18280 (grub_util_biosdisk_close): Likewise.
d8ce9995 18281 Reported by: Mark Korenberg.
5ca1a64d 18282
cbac5b1e
AK
182832011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
18284
18285 * util/grub-mkconfig_lib.in: Add missing quotes.
18286
088cdb65
CW
182872011-04-10 Colin Watson <cjwatson@ubuntu.com>
18288
18289 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
18290 is NULL.
18291
8b8a81fa
VS
182922011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18293
18294 Dynamically count the number of lines for the lower banner.
18295
18296 * grub-core/normal/menu_entry.c (per_term_screen): New member
18297 num_entries.
18298 (print_down): Use num_entries.
18299 (update_screen): Likewise.
18300 (grub_menu_entry_run): Set num_entries.
18301 * grub-core/normal/menu_text.c (menu_viewer_data): New member
18302 num_entries.
18303 (grub_print_message_indented): Move real part to ...
18304 (grub_print_message_indented_real): ... here. Additional argument
18305 dry_run.
18306 (draw_border): Additional argument num_entries.
18307 (print_message): Additional argument dry_run.
18308 (print_entries): Receive menu viewer data.
18309 (grub_menu_init_page): New argment num_entries.
18310 (menu_text_set_chosen_entry): Use num_entries.
18311 (grub_menu_try_text): Likewise.
18312 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
18313 All users updated.
18314 (grub_ucs4_count_lines): New function.
18315 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
18316 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
18317 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
18318 (grub_term_border_height): Likewise.
18319 (grub_term_num_entries): Likewise.
18320
277f955b
VS
183212011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18322
18323 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
18324 Remove now unused string.
18325
536ce85a
CW
183262011-04-09 Colin Watson <cjwatson@ubuntu.com>
18327
18328 * docs/grub-dev.texi (Finding your way around): Update for 1.99
18329 build system.
18330 (Getting started): GRUB is developed in Bazaar now, not Subversion.
18331
18332 (Comment): Fix typo.
18333 (Getting started): General copy-editing.
18334 (Typical Development Experience): Likewise.
18335 (Error Handling): Likewise.
18336 (Video API): Likewise.
18337
2cf09e32
CW
183382011-04-09 Colin Watson <cjwatson@ubuntu.com>
18339
18340 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
18341 throughout.
18342
1ec652f4
VS
183432011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18344
18345 * util/grub-mkimage.c (main): Handle special naming of yeeloong
18346 directory.
18347
2c583728
CW
183482011-04-08 Colin Watson <cjwatson@ubuntu.com>
18349
18350 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
18351 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
18352 "development".
18353
d7a565e9
VS
183542011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18355
18356 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
18357 grub_strcpy since the lines aren't necessarily 0-terminated.
18358
7c2e4909
VS
183592011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18360
18361 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
18362 root on legacy.
18363
34c09785
VS
183642011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18365
18366 * grub-core/commands/probe.c (options): Argument to set isn't optional.
18367 (GRUB_MOD_INIT): DEVICE isn't optional.
18368
6a6f8058
VS
183692011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18370
18371 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
18372 word on new line if it's too long anyway. Fixes a hang.
18373
2e335e90
VS
183742011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18375
18376 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
18377 const.
18378 * util/grub-setup.c (main): Reuse md device name if available.
18379 * util/raid.c (grub_util_raid_getmembers): Receive device name and
18380 not GRUB name as argument.
18381 Based on patch by: Florian Wagner <fwagner>.
18382
10a7a867
VS
183832011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18384
18385 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18386 Place mbi on low memory for better compatibility.
18387
7a3d6cd9
VS
183882011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18389
18390 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
18391
18dd6b47
VS
183922011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
183932011-04-08 Colin Watson <cjwatson@ubuntu.com>
18394
18395 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 18396 * conf/Makefile.common: Likewise.
18dd6b47 18397
3c0e3f14
VS
183982011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18399
f7148863
VS
18400 * grub-core/normal/menu.c: Add missing include.
18401
184022011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18403
18404 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 18405
6d1fa41f
MZ
184062011-04-08 Martin Zuther <mzuther@mzuther.de>
18407
18408 * util/grub-mkconfig.in: Ignore emacsen backup.
18409
478182a8
VS
184102011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18411
18412 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
18413 on open.
18414 (grub_util_biosdisk_close): Likewise.
18415
72a89a54
VS
184162011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18417
18418 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
18419 const attribute and use grub_isdigit.
18420
b5ebecfa
A
184212011-04-06 Andrey <dev_null@ukr.net>
18422
18423 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
18424 gcc warning.
18425
7755f66e
VS
184262011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18427
18428 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
18429 useful grub_dprintf's.
18430
461121ff
VS
184312011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18432
18433 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
18434
2a961775
VS
184352011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18436
18437 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
18438
adf594cc
VS
184392011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18440
18441 Output errors if theme loading failed.
18442
18443 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
18444 grub_gfxterm_fullscreen on error paths to ...
18445 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
18446 theme loading error.
18447
665900a3
VS
184482011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18449
18450 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
18451 space for older compilers.
18452 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18453
a562b479
VS
184542011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18455
18456 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
18457 and report them as not RAID members since they are useless for GRUB.
18458 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18459
850e9373
VS
184602011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18461
18462 Increase LVM implementation robustness in order not to crash on
18463 configurations like pvmove. Previously code assumed that in some places
18464 only lvs or only pvs are used whereas it seems that they are used
18465 interchangeably.
18466
18467 * grub-core/disk/lvm.c (read_node): New function.
18468 (read_lv): Use read_node.
18469 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
18470 Match volumes only at the end when all lvs are found. Take both
18471 pvs (first) and lvs (second) into account.
18472 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
18473 mirror_* into node_*. All users updated.
18474 (grub_lvm_stripe): Merge this ...
18475 (grub_lvm_mirror): ... and this ...
18476 (grub_lvm_node): ... into this. All users updated.
18477
6f332153
VS
184782011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18479
18480 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
18481 of function to allow further scanning for LVMs.
18482
829ea451
VS
184832011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18484
18485 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
18486 on failed seek as it breaks open fd reusage.
18487
09ceb9a5
VS
184882011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18489
18490 * util/grub-install.in: Add a recommendation to use --recheck before
18491 reporting bugs.
18492
67e11623
VS
184932011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18494
18495 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
18496 are obtained.
18497
caee5efd
VS
184982011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18499
18500 GRUB developper manual based on existing Internals section and
18501 contributions by the various authors with active copyright assignment.
18502
18503 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
18504 * docs/font_char_metrics.png: New file.
18505 * docs/font_char_metrics.txt: Likewise.
18506 * docs/grub-dev.texi: Likewise.
18507 * docs/grub.texi (Internals): Move from here ...
18508 * docs/grub-dev.texi: ... here.
18509
2cccc747
CW
185102011-04-01 Colin Watson <cjwatson@ubuntu.com>
18511
18512 Store the loopback device as data on loopback grub_disk structures,
18513 rather than the file it points to. This fixes use of freed memory
18514 if an existing loopback device is replaced.
18515
18516 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
18517 disk->data, not dev->file.
18518 (grub_loopback_read): Adjust file assignment to match.
18519 Fixes Ubuntu bug #742967.
18520
186ae367
CW
185212011-04-01 Colin Watson <cjwatson@ubuntu.com>
18522
18523 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
18524 when replacing an existing device.
18525
cfed2ad0
VS
185262011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
18527
18528 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
18529 memory corruptions.
18530
18531 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
18532 unsigned.
18533 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
18534 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
18535 (grub_jfs_read_inode): Likewise.
18536 (grub_jfs_opendir): Likewise. Remove now useless casts.
18537 (grub_jfs_getent): Likewise.
18538 Make ino a grub_uint32_t rather than int.
18539 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
18540 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
18541 division and module with bit operations.
18542 (grub_jfs_find_file): Make ino a grub_uint32_t.
18543 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
18544
05d2ed32
CW
185452011-04-01 Colin Watson <cjwatson@ubuntu.com>
18546
18547 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
18548 warning. (This was in fact always initialised before use, but GCC
18549 wasn't smart enough to prove that.)
18550 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
18551
91dc6073
VS
185522011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18553
18554 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
18555 stack alignment.
18556 (efi_wrap_1): Likewise.
18557 (efi_wrap_2): Likewise.
18558 (efi_wrap_3): Likewise.
18559 (efi_wrap_4): Likewise.
18560 (efi_wrap_5): Likewise.
18561 (efi_wrap_6): Likewise.
18562 (efi_wrap_10): Likewise.
18563 Based on information by: Red Hat/Peter Jones.
18564
a8afc1d1
CW
185652011-03-31 Colin Watson <cjwatson@ubuntu.com>
18566
18567 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
18568 set-but-not-used variable.
18569
a826cc7d
CW
185702011-03-31 Colin Watson <cjwatson@ubuntu.com>
18571
18572 * docs/grub.texi (Simple configuration): Be more explicit about
18573 GRUB_DEFAULT, and add an example.
18574 Reported by: Leslie Rhorer.
18575
875b67ba
CW
185762011-03-30 Colin Watson <cjwatson@ubuntu.com>
18577
18578 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
18579 shell".
18580
fd7cd914
AS
185812011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18582
18583 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
18584 * util/grub.d/20_linux_xen.in: Likewise.
18585
090b1b6a
VS
185862011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18587
18588 * util/grub.d/10_linux.in: Try alternative config filenames where
18589 we parse config file.
18590 * util/grub.d/20_linux_xen.in: Likewise.
18591
baad885c
AS
185922011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18593
18594 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
18595 * util/grub.d/20_linux_xen.in: Likewise.
18596
241e41f5
VS
185972011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18598
18599 * grub-core/disk/raid.c (insert_array): Add few potentially
18600 useful grub_util_info.
18601 (grub_raid_register): Likewise.
18602
56445fb2
VS
186032011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18604
18605 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
18606 Preserve partition number in mdadm code path.
18607
c871b1c6
VS
186082011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18609
18610 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
18611 few potentially useful grub_util_info.
18612
5e631b4f
CW
186132011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18614
18615 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
18616
2d5d0333
CW
186172011-03-30 Colin Watson <cjwatson@ubuntu.com>
18618
18619 * docs/grub.texi (default): Use @example rather than nested
18620 itemized lists to avoid breaking gendocs.
18621
3d7ed04e
CW
186222011-03-30 Colin Watson <cjwatson@ubuntu.com>
18623
18624 * docs/grub.texi (Future): Update.
18625
abf04200 186262011-03-30 Colin Watson <cjwatson@ubuntu.com>
18627
18628 * docs/grub.texi (Environment): New chapter.
18629 (Changes from GRUB Legacy): Link to "Environment block" section for
18630 details of limitations.
18631 (Simple configuration): Likewise. Link to documentation of gfxmode
18632 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
18633 respectively.
18634 (Shell-like scripting): Note that normal variables are stored in the
18635 environment.
18636 (gettext): Link to documentation of lang and locale_dir.
18637 (list_env): New section.
18638 (load_env): New section.
18639 (save_env): New section.
18640
18641 (Reporting bugs): Fix typo.
18642
e1ad0edd
VS
186432011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18644
18645 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
18646 the example.
18647
5d803174
VS
186482011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18649
18650 * grub-core/term/at_keyboard.c (set_scancodes)
18651 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
18652
2a2da1d0
CW
186532011-03-30 Colin Watson <cjwatson@ubuntu.com>
18654
18655 * docs/grub.texi (Menu-specific commands): Remove some semantics
18656 that were true in GRUB Legacy but not in GRUB 2.
18657 (submenu): New section.
18658 (false): New section.
18659 (read): New section.
18660 (true): New section.
18661
a7527639
CW
186622011-03-30 Colin Watson <cjwatson@ubuntu.com>
18663
18664 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
18665
186662011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
18667
18668 * docs/grub.texi (Simple configuration): Explain some of the
18669 current limitations of grub-mkconfig.
8a748df2 18670 Reported by: Leslie Rhorer.
e30af029 18671
fc858482
VS
186722011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18673
18674 Old macs search for boot.efi rather than for bootia32.efi.
18675
18676 * util/grub-install.in: Copy bootia32.efi to boot.efi.
18677 * util/grub-mkrescue.in: Likewise.
18678 Suggested by: Peter Jones.
18679
e1eb511d
VS
186802011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18681
18682 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
18683
70e75364
VS
186842011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18685
18686 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
18687 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
18688 (grub_lvm_mirror): New struct.
18689 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
18690 (grub_lvm_iterate): Iterate only visible volumes.
18691 (grub_lvm_read): Factor out to ..
18692 (read_lv): ... this. Support mirrors.
18693 (grub_lvm_read): New wrapper function.
18694 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
18695 stripped or mirrored.
18696
fc18f6a3
VS
186972011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18698
18699 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
18700
5c650f4c
CW
187012011-03-29 Colin Watson <cjwatson@ubuntu.com>
18702
18703 * docs/grub.texi (loopback): New section.
18704
61d7156b
CW
187052011-03-29 Colin Watson <cjwatson@ubuntu.com>
18706
18707 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
18708 removed -p option.
18709
994b8264
CW
187102011-03-29 Colin Watson <cjwatson@ubuntu.com>
18711
18712 * docs/grub.texi (BIOS installation): New section, partly based on
18713 previous text in other sections.
18714 (Installing GRUB using grub-install): Replace BIOS discussion with a
18715 cross-reference.
18716 (Images): Likewise.
18717
9e4d19e0
VS
187182011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18719
18720 * grub-core/kern/emu/hostdisk.c (find_partition_start)
18721 [HAVE_DIOCGDINFO]: Add safety checks.
18722
a307c0b2
VS
187232011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18724
18725 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
18726 per default compiled in kernel and prior to 8.0 isn't shipped at all.
18727
b4db4f39
CW
187282011-03-29 Colin Watson <cjwatson@ubuntu.com>
18729
18730 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
18731 real_sb->size is zero (e.g. RAID-0), get the disk size from
18732 real_sb->data_size instead.
18733 Fixes Ubuntu bug #743136.
18734
35e5f84c
VS
187352011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18736
18737 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
18738 printf clauses for printing size and start.
18739
d2e29d81
VS
187402011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18741
18742 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
18743 Reported and tested by: Timothy Nikkel.
18744
ed5587af
VS
187452011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18746
18747 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
18748 (dirty_region_add_real): ... this.
18749 (dirty_region_add): Don't discard margin refresh when performing
18750 scheduled repaint.
18751
a1dc717c
VS
187522011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18753
18754 * grub-core/lib/relocator.c (allocate_regstart)
18755 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
18756 terminals are capabple of malloc-free operation.
18757 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18758 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18759
9f3677d3
VS
187602011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
18761
18762 * util/grub-setup.c: Copy the partition table zone if floppy support
18763 is disabled, even if no partition table is found.
18764
18765 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
18766 during POST if an invalid partition table is contained in the PBR
18767 of the active partition when GRUB is installed to a partition.
18768
24148725
CW
187692011-03-28 Colin Watson <cjwatson@debian.org>
18770
18771 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
18772 comment.
18773
f329eda7
CW
187742011-03-28 Colin Watson <cjwatson@debian.org>
18775
18776 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
18777 to be specific about what kind of RAID device we're scanning for.
18778
c482ad98
SG
187792011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
18780
18781 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
18782 return freed string.
18783
5ee04984
VS
187842011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18785
18786 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
18787
f4727da9
VS
187882011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18789
18790 Use libgeom on FreeBSD to detect partitions.
18791
18792 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
18793 (grub-mkrelpath): Likewise.
18794 (grub-script-check): Likewise.
18795 (grub-editenv): Likewise.
18796 (grub-mkpasswd-pbkdf2): Likewise.
18797 (grub-fstest): Likewise.
18798 (grub-mkfont): Likewise.
18799 (grub-mkdevicemap): Likewise.
18800 (grub-probe): Likewise.
18801 (grub-setup): Likewise.
18802 (grub-ofpathname): Likewise.
18803 (grub-mklayout): Likewise.
18804 (example_unit_test): Likewise.
18805 (grub-menulst2cfg): Likewise.
18806 * grub-core/Makefile.core.def (grub-emu): Likewise.
18807 (grub-emu-lite): Likewise.
18808 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
18809 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
18810 define HAVE_DIOCGDINFO.
18811 (follow_geom_up) [FreeBSD]: New function.
18812 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
18813 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
18814 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
18815 unconditionally of HAVE_DIOCGDINFO.
18816
82fe6c75
VS
188172011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18818
18819 Fix FreeBSD compilation problem.
18820
18821 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
18822 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
18823
4c6c9431
CW
188242011-03-24 Colin Watson <cjwatson@ubuntu.com>
18825
18826 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
18827 Switch back to page zero before loading a kernel, since some kernel
18828 drivers expect that.
18829 Thanks to: Felix Kuehling.
18830
c7064d94
VS
188312011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18832
18833 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
18834 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
18835 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
18836
3f71cded
VS
188372011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18838
18839 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
18840 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
18841
ef6de21a
VS
188422011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18843
18844 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
18845 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
18846 malloc is disabled.
18847
8bc66a2c
VS
188482011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18849
18850 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
18851 for modules headers when counting the needed allocation size.
18852
5657722c
VS
188532011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18854
18855 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
18856 if no ASCII character is found to prevent crash.
18857
41a85f55
AK
188582011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
18859
18860 * grub-core/video/bitmap.c (match_extension): Ignore case.
18861
59e1e5f1
VS
188622011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18863
18864 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
18865
bd4d051a
VS
188662011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18867
18868 * grub-core/script/parser.y: Declare "time" as valid argument.
18869
bae7fcc1
PJ
188702011-03-23 Peter Jones <pjones@redhat.com>
18871
18872 Fix incorrect assert failure reporting.
18873
18874 * grub-core/tests/example_functional_test.c (example_test): Add
18875 a failure comment.
18876 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
18877 (failure_start): ...this. Check that malloc succeeded.
18878 Don't call xvasprintf. Return failure struct.
18879 (failure_append_vtext): New function.
18880 (failure_append_text): Likewise.
18881 (add_failure): Likewise.
18882 (grub_test_assert_helper): Likewise.
18883 * include/grub/test.h (grub_test_assert_helper): New declaration.
18884 (grub_test_assert): Macro rewritten.
18885
537dc9be
VS
188862011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18887
18888 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
18889
fa3e01bf
VS
188902011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18891
18892 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
18893
b1d28404
VS
188942011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18895
18896 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
18897 into GRUB-style one.
18898
2e3e2e09
VS
188992011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18900
18901 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
18902 error and not grub_errno.
18903 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
18904
ed57e557
VS
189052011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18906
18907 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
18908 GRUB_USB_SPEED_NONE in case of failure and not the error code.
18909
d1611f01
VS
189102011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18911
18912 * grub-core/efiemu/i386/pc/cfgtables.c
18913 (grub_machine_efiemu_init_tables): Make declaration a prototype.
18914 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
18915 (grub_xnu_unlock): Likewise.
18916 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
18917
7d4e39d6
VS
189182011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18919
18920 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
18921 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
18922 * grub-core/commands/hashsum.c (aliases): Likewise.
18923 * grub-core/commands/setpci.c (pci_registers): Likewise.
18924 * grub-core/disk/usbms.c (attach_hook): Likewise.
18925 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
18926 (zio_checksum_table): Likewise.
18927 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
18928 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
18929 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
18930 * grub-core/lib/relocator.c (leftovers): Likewise.
18931 (extra_blocks): Likewise.
18932 * grub-core/loader/i386/bsd.c (relocator): Likewise.
18933 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
18934 (modules_last): Likewise.
18935 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
18936 (devices): Likewise.
18937 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
18938 (modules_last): Likewise.
18939 * grub-core/normal/auth.c (users): Likewise.
18940 * grub-core/normal/context.c (initial_menu): Likewise.
18941 (current_menu): Likewise.
18942 * grub-core/normal/crypto.c (crypto_specs): Likewise.
18943 * grub-core/term/serial.c (grub_serial_ports): Likewise.
18944 (grub_serial_terminfo_input_template): Likewise.
18945 (grub_serial_terminfo_output_template): Likewise.
18946 (grub_serial_terminfo_input): Likewise.
18947 (grub_serial_terminfo_output): Likewise.
18948 (registered): Likewise.
18949 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
18950
40fc4659
VS
189512011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18952
18953 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
18954 grub_video_mode_type_t.
18955 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
18956 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
18957 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
18958
2da48d28
VS
189592011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18960
18961 * util/grub-install.in: Correct the x86-64 name as x86_64.
18962
9b43bf39
CW
189632011-03-11 Colin Watson <cjwatson@ubuntu.com>
18964
18965 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
18966 initial chunk read from the kernel always includes GRUB's multiboot
18967 header, which is now outside the first sector.
18968
be1a7ce0
CW
189692011-03-09 Colin Watson <cjwatson@ubuntu.com>
18970
18971 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
18972 cached mmap_size, so that this works correctly when called multiple
18973 times.
18974 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
18975
83a3c48d
CW
189762011-03-09 Colin Watson <cjwatson@ubuntu.com>
18977
18978 * docs/grub.texi (Simple configuration): Tidy up formatting.
18979
57d75699
SJ
189802011-03-07 Szymon Janc <szymon@janc.net.pl>
18981
18982 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
18983 Set-but-not-used variable removed.
18984
028501a0
VS
189852011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18986
18987 Workaround yet another IEEE1275 bug.
18988
18989 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
18990 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
18991 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
18992 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
18993 is set.
18994 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18995 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
18996
d998657d
VS
189972011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18998
18999 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
19000 error.
19001
fee7cdd4
CW
190022011-02-11 Colin Watson <cjwatson@ubuntu.com>
19003
19004 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
19005 empty, since in that case we can only generate either nothing or a
19006 syntactically invalid configuration file.
19007 Reported by: Michal Suchanek. Fixes Debian bug #612898.
19008
97286eb5
CW
190092011-02-09 Colin Watson <cjwatson@ubuntu.com>
19010
19011 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
19012 (Making a GRUB bootable CD-ROM): Likewise.
19013 (Invoking grub-mkrescue): New section.
19014 Reported by: Yann Dirson. Fixes Debian bug #612585.
19015
22b28eb3
CW
190162011-02-09 Colin Watson <cjwatson@ubuntu.com>
19017
19018 * util/grub-install.in: Remove unnecessary brackets from tr
19019 arguments.
19020 * util/grub.d/10_hurd.in: Likewise.
19021 * util/grub.d/10_kfreebsd.in: Likewise.
19022 * util/grub.d/10_linux.in: Likewise.
19023 * util/grub.d/20_linux_xen.in: Likewise.
19024 Reported by: Jamie Heilman. Fixes Debian bug #612564.
19025
7e735e43
CW
190262011-02-08 Colin Watson <cjwatson@ubuntu.com>
19027
19028 * include/grub/file.h (not_easly_seekable): Rename to ...
19029 (not_easily_seekable): ... this. Update all users.
19030
800f1881
CW
190312011-01-28 Colin Watson <cjwatson@ubuntu.com>
19032
19033 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
19034 grub-mkrescue.
19035
3281d3d6
VS
190362011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
19037
19038 * util/grub-mkimage.c (generate_image): Refuse to create the images
19039 bigger than the actual flash (512K) in Loongson machines. 512K is also
19040 the biggest chip supported by them.
19041
3533413c
VS
190422011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19043
19044 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
19045
73ae4f4f
VS
190462011-01-22 Anthony DeRobertis <anthony@derobert.net>
19047
19048 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
19049 super_offset field.
19050
37f4f608
VS
190512011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19052
19053 * util/grub-install.in: Ignore install device on platforms
19054 where it doesn't make sense. Always use UUIDs except on pc, efi and
19055 sparc64.
19056 Reported by: Daniel Kahn Gillmor.
19057
03a4ccb5
VS
190582011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19059
19060 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
19061
ffc8f4d8
VS
190622011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19063
19064 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
19065 (iterate_real): Don't rely on partition being non-NULL.
19066
80f23be7
VS
190672011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19068
19069 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
19070 supported platforms. Put a compile time assert for this rather than
19071 generate a warning with 32-bit shift.
19072
5d4f4dd5
VS
190732011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19074
19075 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
19076 logical expression more readable.
19077
e489601a
VS
190782011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19079
19080 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
19081 even if some elements have a name.
19082 Reported by: Alexander GQ Gerasiov.
19083
96e0a6ea
CW
190842011-01-22 Colin Watson <cjwatson@ubuntu.com>
19085
19086 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
19087 path unreadable if `grub-probe -t abstraction' fails, for example if
19088 memberlist fails on an LVM volume group.
19089 Reported by: Darius Jahandarie.
19090
81431e2b
CW
190912011-01-22 Colin Watson <cjwatson@ubuntu.com>
19092
19093 * docs/grub.texi (Simple configuration): Document
19094 GRUB_PRELOAD_MODULES.
19095
5e79d66a
CW
190962011-01-17 Colin Watson <cjwatson@ubuntu.com>
19097
19098 * .bzrignore: Remove nonexistent grub-pbkdf2.
19099
646ada34
VS
191002011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
19101
19102 * configure.ac: Bump version to 1.99~rc1.
19103
04360337
VS
191042011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19105
19106 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
19107 for safety.
19108
46c9db88
VS
191092011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19110
19111 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
19112 module.
19113
191142011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
19115
19116 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
19117
4fbf1852
VS
191182011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19119
19120 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
19121 diskdevid.
19122
f1632d4d
VS
191232011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19124
19125 Fix compilation on cygwin.
19126
19127 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
19128 -R .drectve on cygwin.
19129 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
19130 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
19131 (COND_CYGWIN): New condition.
19132 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
19133 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
19134 not @TARGET_OBJ2ELF@.
19135 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
19136 type to determine whether aux is to be used.
19137
0b5e127b
VS
191382011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19139
19140 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
19141 realpath'ed device string.
19142 Handle floppy (somewhat).
19143 Issue error in unknown case rather than garbage.
19144 Reported by: Axel Beckert.
19145
173b71e9
VS
191462011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19147
19148 * util/grub.d/00_header.in (load_video): Handle the case when no video
19149 drivers available.
19150 Thanks to: Axel Beckert.
19151
f8f479db
VS
191522011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19153
19154 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
19155 variable. Fixes problem on big endian platforms.
19156
8fc0a245
VS
191572011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19158
19159 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
19160 It doesn't work well there.
19161
b8494fbe
VS
191622011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19163
19164 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
19165 warning.
19166 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
19167 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
19168 counter.
19169
b44a558c
VS
191702011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19171
19172 Use alias->path rather than buggy "canon".
19173
19174 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
19175 (ofdisk_hash_add): New argument curcan. All users updated.
19176
51fa856c
CW
191772011-01-11 Colin Watson <cjwatson@ubuntu.com>
19178
19179 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
19180
9da068a5
VS
191812011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19182
19183 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
19184 loadmask before doing any calculations. Use correct type for offset.
19185 (grub_linux_load64): Likewise.
19186
86205c94
CW
191872011-01-11 Colin Watson <cjwatson@ubuntu.com>
19188
19189 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
19190 with NULL.
19191 (console_grub_equivalences_unshift): Likewise.
19192 Reported by: Daniel Dehennin.
19193
4531a206
VS
191942011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19195
19196 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
19197 (set_env_limn_ro): Likewise.
19198 (GRUB_MOD_INIT): Likewise.
19199 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
19200 ARRAY_SIZE while on it.
19201 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
19202 * grub-core/normal/context.c (grub_env_export): Move from here ...
19203 * grub-core/kern/env.c (grub_env_export): ... here.
19204 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
19205 prefix.
19206 * grub-core/kern/main.c (grub_main): Export root and prefix.
19207 * include/grub/env.h (grub_env_export): Export.
19208 Reported by: Seth Goldberg.
19209
45146057
VS
192102011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19211
19212 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19213 Take into account space used by ELF sections and multiboot palette.
19214 Reported by: Grégoire Sutre.
19215
f093110b
VS
192162011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19217
19218 * BUGS: New file.
19219
3395fe52
VS
192202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19221
19222 Pass more appropriate video id to Linux.
19223
19224 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
19225 grub_video_get_driver_id and variable gfxpayloadforcelfb to
19226 fill have_vga.
19227 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
19228 shift params->lfb_size.
19229 * include/grub/i386/linux.h: Make an enume out of have_vga values.
19230
c2fa6cbb
VS
192312011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19232
19233 * util/grub-menulst2cfg.c: Add missing include of misc.h.
19234
b3ff6ff0
VS
192352011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19236
19237 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
19238 separator and pass bootpath/devid even if only one of them is available.
19239 Reported by: Seth Goldberg.
19240
ae67942e
VS
192412011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19242
19243 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
19244 implementations bug on them.
19245
19246 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
19247 memory.
19248 (filter_memory_map): Likewise.
19249
d570097a
VS
192502011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19251
19252 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
19253 Reported by: nebuchadnezzar.
19254
a508e776
VS
192552011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19256
19257 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
19258 Reported by: nebuchadnezzar.
19259
dcb883b1
VS
192602011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19261
19262 Submenu default support.
19263
19264 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
19265 auto_boot. All users updated.
19266 Declared static.
19267 Handle chosen and default with submenus.
19268 (grub_menu_execute_with_fallback): Declared static.
19269 Don't notify failure if autobooted. Upper level does it.
19270 (menuentry_eq): New function.
19271 (get_entry_number): Use menuentry_eq.
19272 (show_menu): New parameter "autobooted". All users updated.
19273 (grub_show_menu): Likewise.
19274 * include/grub/normal.h (grub_show_menu): Likewise.
19275 * include/grub/menu.h (grub_menu_execute_entry): Removed.
19276 (grub_menu_execute_with_fallback): Likewise.
19277
6fef99b4
VS
192782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19279
19280 * util/grub-mklayout.c (usage): Update help text.
19281
47a77af5
VS
192822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19283
19284 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
19285
ce6bb3ee
VS
192862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19287
19288 * util/grub-menulst2cfg.c (main): Trim the line.
19289
db87be2a
VS
192902011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19291
19292 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
19293 (grub_machine_init): Don't check amount of low memory as reportedly
19294 INT 12h can be broken and if low memory is too low we wouldn't have
19295 gotten into grub_machine_init anyway.
19296
c49849cc
VS
192972011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19298
19299 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
19300 (grub_machine_mmap_iterate): Take low memory into account
19301
b1969b30
VS
193022011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19303
19304 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
19305 badfs.
19306 Reported by: TiCPU.
19307
cf0eaf13
VS
193082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19309
19310 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
19311 members errors.
19312
1f060f39
GS
193132011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19314
19315 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
19316 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
19317
a21e5672
GS
193182011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19319
19320 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
19321 openbsd and netbsd types being in part_bsd module.
19322
c88172fa
VS
193232011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19324
19325 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
19326 (_FILE_OFFSET_BITS): Likewise.
19327 Reported by: Seth Goldberg.
19328
53798c4b
GS
193292011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19330
19331 * configure.ac: Check for libdevmapper header.
19332
e7121b69
VS
193332011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19334
19335 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
19336 avoid aliasing.
19337 (fzap_lookup): Likewise.
19338 (dnode_get): Likewise.
19339 (make_mdn): Likewise.
19340 (zfs_mount): Likewise.
19341 (fzap_iterate): Use temporary pointer to avoid aliasing.
19342 (grub_zfs_read): Likewise.
19343 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
19344 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
19345 pointers to avoid aliasing.
19346 (grub_cmd_xnu_kernel64): Likewise.
19347 (grub_xnu_load_driver): Likewise.
19348
fc836af9
VS
193492011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19350
19351 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
19352 aliasing warning.
19353 (grub_cmd_terminal_output): Likewise.
19354 Reported and tested by: Grégoire Sutre.
19355
f9f37648
VS
193562011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19357
19358 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
19359 warning.
19360 Reported and tested by: Grégoire Sutre.
19361
ec1dfd63
VS
193622011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19363
19364 * configure.ac: Do CPU substitution even if it's specified explicitly.
19365 Reported and tested by: Alain Greppin.
19366
9462775a
VS
193672011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19368
19369 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
19370 Reported and tested by: Alain Greppin.
19371
0fd48e35
VS
193722011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19373
19374 Satisfy some bison versions need for inttypes.h.
19375
19376 * grub-core/lib/posix_wrap/inttypes.h: New file.
19377 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
19378 (int16_t): Likewise.
19379 (int32_t): Likewise.
19380 (int64_t): Likewise.
19381 Reported and tested by: Alain Greppin.
19382
43f1bc83
VS
193832011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19384
19385 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
19386 Silence spurious warning.
19387 Reported and tested by: Alain Greppin.
19388
64d1f041
SJ
193892011-01-07 Szymon Janc <szymon@janc.net.pl>
19390
19391 * docs/grub.texi (Support automatic decompression): Update with xz
19392 decompression support.
19393
25953e10
SJ
193942011-01-07 Szymon Janc <szymon@janc.net.pl>
19395
19396 Improve loaders' kernel command line handling.
19397
19398 * grub-core/lib/cmdline.c: New file.
19399 * include/grub/lib/cmdline.h: Likewise.
19400 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
19401 grub_create_loader_cmdline to create kernel command line.
19402 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19403 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
19404 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
19405 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
19406 (linux): Add lib/cmdline.c on common.
19407
e72d259f
VS
194082011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19409
19410 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
19411 inopos might be unaligned.
19412
c0cf26da
VS
194132011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19414
19415 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
19416 endian transformations.
19417 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19418 Based on report by: Doug Nazar.
19419
0ca09e6c
DN
194202011-01-07 Doug Nazar <nazard.michi@gmail.com>
19421
19422 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
19423 array->members[i].start_sector.
19424 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
19425
014b6806
VS
194262011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19427
19428 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
19429 Reported and tested by: Grégoire Sutre.
19430
415502c2
CW
194312011-01-06 Colin Watson <cjwatson@ubuntu.com>
19432
19433 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
19434 avoid causing test failures by clearing the screen.
19435
71b6a2b7
CW
194362011-01-06 Colin Watson <cjwatson@ubuntu.com>
19437
19438 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19439 Fix prefix check to handle the case where dir ends with a slash
19440 (most significantly, "/" itself).
19441 Reported by: Michael Vogt.
19442
b3f8d28a
VS
194432011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19444
19445 Run terminfo_cls on initing terminfo output to clear the screen and
19446 move the cursor to (0,0).
19447
19448 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
19449 Call grub_terminfo_output_init.
19450 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
19451 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
19452 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
19453
4c3e4f37
VS
194542011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19455
19456 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
19457 only when needed.
19458
488f71f1
VS
194592011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19460
19461 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
19462 CTRL.
19463
18a38098
VS
194642011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19465
19466 The E820 type 5 is BADRAM, not EXEC_CODE.
19467
19468 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19469 (GRUB_E820_BADRAM): New define.
19470 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
19471 into reserved. Propagate BADRAM.
19472 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19473 (GRUB_E820_BADRAM): New define.
19474
9eae2084
VS
194752011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19476
19477 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
19478 Ignore the memory post-4G.
19479 (grub_relocator_firmware_alloc_region): Additional debug statement.
19480
ebc71d28
VS
194812011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19482
19483 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
19484 names.
19485 Reported by: David Pravec.
19486
446fa400
VS
194872011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19488
19489 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
19490 BIOSes.
19491
a0159f37
VS
194922011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19493
19494 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
19495 Prevent overflow.
19496 (grub_reed_solomon_recover): Likewise.
19497
e5146ca1
VS
194982011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19499
19500 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
19501
195022011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
19503
19504 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
19505 variable.
19506
5b1bdf12
CW
195072011-01-04 Colin Watson <cjwatson@ubuntu.com>
19508
19509 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
19510 descriptions of extract_legacy_entries_source and
19511 extract_legacy_entries_configfile.
19512 Reported by: Seung Soo, Ha.
19513
99d925aa
CW
195142011-01-03 Colin Watson <cjwatson@ubuntu.com>
19515
19516 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
19517 on devices that do not implement function 0.
19518
4af0504b
DV
195192011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
19520
19521 * grub-core/fs/hfsplus.c: Make parent unsigned.
19522 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
19523 overflows.
19524 (grub_hfsplus_cmp_extkey): Likewise
19525
469ee10a
VS
195262011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19527
19528 * util/grub-install.in: Correctly use bootloader_id and not
19529 GRUB_DISTRIBUTOR on efibootmgr line.
19530
323a8e9c
VS
195312011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19532
19533 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
19534
1b394975
IC
195352010-12-31 Ian Campbell <ijc@hellion.org.uk>
19536
19537 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
19538 Xen and reorder menu item wording to make it clearer that this entry
19539 will launch Xen. Print separate messages when loading Xen and
19540 Linux.
19541
275bff5f
VS
195422010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19543
19544 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
19545 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
19546 loop in case of incorrect amiga partmap.
19547
307806cb
VS
195482010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19549
19550 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
19551 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
19552 Reported by:EHeM.
19553
b12b923e
VS
195542010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19555
19556 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
19557 spurious warning.
19558 Reported by: crocket
19559
14b48a19
VS
195602010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19561
19562 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
19563 Preload EFIemu.
19564 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
19565
693db2df
VS
195662010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19567
19568 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
19569 is loaded
19570 (grub_cmd_xnu_kextdir): Likewise.
19571 (grub_cmd_xnu_splash): Likewise.
19572
c7638645
VS
195732010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19574
19575 Avoid using Reed-Solomon with 0 redundancy.
19576
19577 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
19578 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
19579 or 0 redundancy.
19580 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
19581 (grub_reed_solomon_recover): Likewise.
19582
25dd4780
VS
195832010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19584
19585 Don't use disk subsystem in freebsd_boot.
19586
19587 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
19588 (freebsd_biosdev): Likewise.
19589 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
19590 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
19591
0b2db943
VS
195922010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
19593
19594 Handling of files of unknown size is currently limited. They can't be
19595 used e.g. for initrd or modules. Moreover gzip handling of not
19596 easily seekable files is buggy. Disable unknown file size for now. May
19597 be inefficient but works.
19598
19599 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
19600 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
19601
5c408d0f
MP
196022010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
19603
19604 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
19605 floppy probe.
19606
190a011a
JD
196072010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
19608
19609 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
19610
022d01b8
SL
196112010-12-25 Shea Levy <shlevy>
19612
19613 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
19614
c4855fdc
VS
196152010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19616
19617 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
19618 Windows Server 2008.
19619 Reported by: Devin Giddings.
19620
0354b867
VS
196212010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19622
19623 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
19624 writing an error message because of async power management.
19625 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
19626 (grub_reboot): Likewise.
19627
ab66c69f
JU
196282010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
19629
19630 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
19631 keep unit tests from failing when they shouldn't.
19632
1426ef35
CW
196332010-12-21 Colin Watson <cjwatson@ubuntu.com>
19634
19635 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
19636 previous patch increased the size of the RS code by 20 bytes (at
19637 least with gcc-4.4), so increase this by 20 bytes to match.
19638 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19639
20641b6b
CW
196402010-12-21 Colin Watson <cjwatson@ubuntu.com>
19641
19642 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
19643 scratch area. Make sure to initialise chosen in standalone mode as
19644 well as non-standalone.
19645 Reported by: Robert Hooker and Andy Whitcroft.
19646 Tested by: Andy Whitcroft.
19647
d060ad60
CW
196482010-12-21 Colin Watson <cjwatson@ubuntu.com>
19649
19650 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
19651 constructing a new unescaped string and passing it to grub_xputs in
19652 one go, rather than passing characters to grub_printf one at a time.
19653
b889cfad
CW
196542010-12-21 Colin Watson <cjwatson@ubuntu.com>
19655
19656 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
19657 initialising utf16.
19658
4e01b6c8
CW
196592010-12-21 Colin Watson <cjwatson@ubuntu.com>
19660
19661 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
19662 comment. Add an extra layer of quotation, requiring the output of
19663 this function to be used in a printf format string.
19664 (gettext_printf): New function.
19665 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
19666 Extract translatable strings from here-documents and use a temporary
19667 variable instead, so that xgettext can find them.
19668 * util/grub.d/10_kfreebsd.in: Likewise.
19669 * util/grub.d/10_linux.in: Likewise.
19670 * util/grub.d/20_linux_xen.in: Likewise.
19671
19672 * po/grub.d.sed: New file.
19673 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
19674 arguments. Set c-format flags on all strings extracted from
19675 util/grub.d/ (xgettext refuses to include these itself for strings
19676 it extracted from a shell file, but these really are c-format).
19677
5318fe98
VS
196782010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19679
19680 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
19681 Avoid next pointing to nowhere.
19682
6c85b743
VS
196832010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19684
19685 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
19686 rather than assuming than rootblock is exactly in the middle.
19687 (grub_affs_label): Likewise.
19688
a2a08a35
VS
196892010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19690
19691 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
19692 reserved_first_sector to 0.
19693 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
19694 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
19695 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
19696
7059d1ec
VS
196972010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19698
19699 Fix handling of UTF-16 UDF labels.
19700
19701 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
19702 (read_string): .. here.
19703 (grub_udf_label): Use read_string.
19704
30aff4cb
BC
197052010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
19706
19707 * grub-core/normal/menu_entry.c (run): Execute commands from menu
19708 editor under argument scope.
19709 Reported by: Jordan Uggla
19710
5cf86f4b
VS
197112010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19712
19713 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
19714
32570200
CW
197152010-12-18 Colin Watson <cjwatson@ubuntu.com>
19716
19717 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
19718 line, and other keys scroll an entire page (previous handling was
19719 for \r and \n to scroll a page and other keys to scroll two lines).
19720
e1dffcf2
VS
197212010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19722
19723 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19724 Set ptrdest to correct get_physical_target_address rather than
19725 incorrect get_virtual_current_address.
19726
b04298cf 197272010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
19728
19729 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
19730 correct cat to grub_uint8_t * rather than grub_uint32_t *.
19731
5367ecd3
CW
197322010-12-10 Colin Watson <cjwatson@ubuntu.com>
19733
19734 * .bzrignore: Ignore grub-core/rs_decoder.S.
19735
1fb430f8
CW
197362010-12-10 Colin Watson <cjwatson@ubuntu.com>
19737
19738 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
19739 .mo/.mo.gz opening sequence to ...
19740 (grub_mofile_open_lang): ... here.
19741 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
19742 * util/grub.d/00_header.in (grub_lang): Include country part of
19743 locale.
19744 Reported by: Mario Limonciello.
19745
a94a6671
RM
197462010-12-09 Robert Millan <rmh@gnu.org>
19747
19748 * NEWS: Document addition of ZFS support.
19749
24b7938b
CW
197502010-12-04 Colin Watson <cjwatson@ubuntu.com>
19751
19752 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
19753 rather than `/ 2', as the latter requires -Wa,--divide which would
19754 require bumping our minimum binutils version.
19755
bddc3ef6
BC
197562010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
19757
19758 * util/grub-script-check.c (main): Print script line number on
19759 error.
19760
bf78d5b2
RM
197612010-12-01 Robert Millan <rmh@gnu.org>
19762
19763 * grub-core/fs/zfs/zfs.c: New file.
19764 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
19765 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
19766 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
19767 * grub-core/fs/zfs/zfsinfo.c: Likewise.
19768
19769 * include/grub/zfs/dmu.h: Likewise.
19770 * include/grub/zfs/dmu_objset.h: Likewise.
19771 * include/grub/zfs/dnode.h: Likewise.
19772 * include/grub/zfs/dsl_dataset.h: Likewise.
19773 * include/grub/zfs/dsl_dir.h: Likewise.
19774 * include/grub/zfs/sa_impl.h: Likewise.
19775 * include/grub/zfs/spa.h: Likewise.
19776 * include/grub/zfs/uberblock_impl.h: Likewise.
19777 * include/grub/zfs/vdev_impl.h: Likewise.
19778 * include/grub/zfs/zap_impl.h: Likewise.
19779 * include/grub/zfs/zap_leaf.h: Likewise.
19780 * include/grub/zfs/zfs.h: Likewise.
19781 * include/grub/zfs/zfs_acl.h: Likewise.
19782 * include/grub/zfs/zfs_znode.h: Likewise.
19783 * include/grub/zfs/zil.h: Likewise.
19784 * include/grub/zfs/zio.h: Likewise.
19785 * include/grub/zfs/zio_checksum.h: Likewise.
19786
19787 * Makefile.util.def: Build ZFS into libgrubmods.
19788 * grub-core/Makefile.core.def: Build zfs.mod.
19789
3f0f3831
SJ
197902010-11-30 Szymon Janc <szymon@janc.net.pl>
19791
19792 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
19793 variable.
19794 * grub-core/commands/wildcard.c (match_files): Likewise.
19795
3a4253b2
RM
197962010-11-30 Robert Millan <rmh@gnu.org>
19797
19798 * grub-core/loader/i386/bsd.c
19799 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
19800 whether kernel is loaded using grub_loader_is_loaded(), rather
19801 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
19802 certain error conditions.
19803
8c317b27
RM
198042010-11-30 Robert Millan <rmh@gnu.org>
19805
c5c9cd3e
RM
19806 * grub-core/commands/echo.c: Include `<grub/term.h>'.
19807 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 19808
49d3ab46
VS
198092010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19810
19811 Avoid using tricks for initialising endian variables.
19812
19813 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
19814 Make const.
19815 (GRUB_MOD_INIT): Don't byte-swap.
19816 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19817 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
19818 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
19819 (grub_swap_bytes32_compile_time): Likewise.
19820 (grub_cpu_to_le32_compile_time): Likewise.
19821 (grub_cpu_to_le16_compile_time): Likewise.
19822
f420a804
VS
198232010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19824
19825 * util/grub-setup.c (setup): Stop recommending --force. People who
19826 understand the dangers of blocklists are able to find this option
19827 anyway and the ones who don't shouldn't use it anyway.
19828
4e7db17b
RM
198292010-11-26 Robert Millan <rmh@gnu.org>
19830
19831 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
19832 Update all users.
19833
9be57a0d
CW
198342010-11-26 Colin Watson <cjwatson@ubuntu.com>
19835
19836 Fix LVM-on-RAID probing.
19837
19838 * util/grub-probe.c (probe): Remember which disk was detected as
19839 RAID (perhaps an LVM physical volume). Use that disk's raidname
19840 rather than that of the top-level disk.
19841
2c7859b3 198422010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 19843
d7647bb6
BC
19844 Fix cmdline argument quotes for setparams command of menuentry
19845 definitions.
7e623b0d
BC
19846
19847 * grub-core/commands/menuentry.c (setparams_prefix): Use single
19848 quotes for arguments.
f866fe80 19849 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 19850 grub_strchrsub function instead.
f866fe80 19851
7955bea0 19852 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 19853
74f72a64
CW
198542010-11-24 Colin Watson <cjwatson@ubuntu.com>
19855
19856 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
19857 effort by skipping "." and ".." entries up-front.
19858 Suggested by: Michael Lazarev.
19859
5a407278
CW
198602010-11-24 Colin Watson <cjwatson@ubuntu.com>
19861
19862 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
19863 ldflags to ldadd, to fix link line ordering.
19864 (none_decompress): Likewise.
19865
3030d8ec
CW
198662010-11-24 Colin Watson <cjwatson@ubuntu.com>
19867
19868 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
19869 platforms.
19870 (grub-emu-lite): Remove kern/emu/cache.S.
19871
b7fbac12
CW
198722010-11-23 Colin Watson <cjwatson@ubuntu.com>
19873
19874 * util/deviceiter.c (compare_devices): If the by-id link for a
19875 device couldn't be resolved, fall back to sorting by the by-id link
19876 rather than segfaulting.
19877 Reported and tested by: Daniel Mierswa.
19878
5225f328
CW
198792010-11-23 Colin Watson <cjwatson@ubuntu.com>
19880
19881 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
19882 ldflags, to fix link line ordering.
19883
038b3ce8
CW
198842010-11-23 Colin Watson <cjwatson@ubuntu.com>
19885
19886 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
19887 linkers are picky about this.
19888
bf16e98e
CW
198892010-11-23 Colin Watson <cjwatson@ubuntu.com>
19890
19891 * grub-core/Makefile.am (command.lst): Adjust sed expression
19892 ordering so that extended and priority commands aren't treated as
19893 ordinary commands.
19894
7242bab6
CW
198952010-11-23 Colin Watson <cjwatson@ubuntu.com>
19896
19897 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19898 Remove byte-swapping function calls, which are not valid in
19899 structure initialisers.
19900 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
19901 non-const.
19902 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
19903 grub_gpt_partition_type_bios_boot.
19904
14e8b279
CW
199052010-11-22 Colin Watson <cjwatson@ubuntu.com>
19906
19907 Fix test program build on GNU/kFreeBSD.
19908
19909 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
19910 $(LIBNVPAIR)' library dependencies.
19911
e6f63338 199122010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
19913
19914 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
19915
cf8ffc38
CW
199162010-11-22 Colin Watson <cjwatson@ubuntu.com>
19917
19918 * util/grub-install.in: Remove excessive quoting that broke
19919 installations to RAID devices.
19920
7f8b0fd7
VS
199212010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19922
19923 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
19924 bootloader version instead of 0.
19925
dfd240b1
VS
199262010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19927
19928 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
19929 warning.
19930
7b61e609
VS
199312010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19932
19933 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
19934 retrieve the metadat sector if size isn't known.
19935 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19936
9dfe92d0
RM
199372010-11-18 Robert Millan <rmh@gnu.org>
19938
19939 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
19940 with grub_memcmp().
19941
41cc919e
VS
199422010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
19943
19944 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
19945 arrow.
19946 Reported by: Jordan Uggla.
19947
1afcc914
VS
199482010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19949
19950 Make better UTF compliant.
19951
19952 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
19953 sequences as incorrect.
19954 (grub_is_valid_utf8): Likewise.
19955 (grub_utf8_to_ucs4): Likewise.
19956 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
19957 (grub_ucs4_to_utf8_alloc): Likewise.
19958 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
19959
f1808884
VS
199602010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19961
19962 Make legacy_source behave like source.
19963
19964 * grub-core/commands/legacycfg.c (legacy_file): Don't call
19965 grub_show_menu.
19966 (grub_cmd_legacy_source): Call grub_show_menu if needed.
19967
24ec575b
CW
199682010-11-16 Colin Watson <cjwatson@debian.org>
19969
19970 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
19971 (-Wunused implies -Wunused-parameter, but not vice versa).
19972
72b7c7aa
CW
199732010-11-16 Colin Watson <cjwatson@ubuntu.com>
19974
19975 * configure.ac: Make error messages less confusing by testing for
19976 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
19977 accepted, but produces a diagnostic if something else is wrong).
19978
e98937aa
VS
199792010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
19980
19981 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
19982 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
19983 (now unused).
19984 (grub_keyboard_controller_init)
19985 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
19986 read the initial state since controller isn't inited yet.
19987
f6bbabc3
VS
199882010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
19989
19990 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
19991 allocate_regbeg may need to create new chunk header.
19992
22e7dbb2
VS
199932010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19994
19995 Fix quoting in legacy parser.
19996
19997 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
19998 single quotes.
19999 (grub_legacy_parse): Likewise.
20000 Reported by: Jordan Uggla.
20001 Tested by: Jordan Uggla.
20002
03f80960
VS
200032010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20004
20005 Don't add -lgcc on i386 and x86_64.
20006
20007 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
20008 * conf/Makefile.common (LDADD_KERNEL): Likewise.
20009 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
20010
779dc15b
VS
200112010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20012
20013 * configure.ac: Add -Wno-trampolines when supported.
20014
d20a3b37
MV
200152010-11-14 Modestas Vainius <modax@debian.org>
20016
20017 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
20018 fakeraid.
20019
e5360933
GC
200202010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20021
20022 Add generic logical block size support for UDF.
20023
20024 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
20025 (GRUB_UDF_BLKSZ): Removed.
20026 (struct grub_udf_data): New field "lbshift" to hold the logical block
20027 size of the file system in log2 format. All users updated.
20028 (sblocklist): Change type to unsigned.
20029 (grub_udf_mount): Change type of "sblklist" to unsigned.
20030 Move AVDP search before VRS recognition, because the latter requires
20031 knowledge of the logical block size, which is detected during the
20032 former.
20033 Detect and validate logical block size during AVDP search, adding
20034 support for block sizes 512, 1024 and 4096.
20035 Make VRS recognition independent of block size.
20036
cb0229c5
GC
200372010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20038
20039 Properly handle deleted files on UDF.
20040
20041 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
20042 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
20043 set.
20044
406858a8
GC
200452010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20046
20047 Support reading files larger than 2 GiB.
20048
20049 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
20050 "offset" to grub_off_t.
20051 (grub_udf_read_file): Likewise for parameter "pos".
20052
130da6a7
VS
200532010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20054
20055 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
20056 unavailable.
20057 (Simple configuration): Refer to Changes from GRUB Legacy about
20058 save_env availability.
20059
65e93f6b
VS
200602010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20061
20062 * util/grub-install.in: Ignore empty partition table detection
20063 instead of trying to include part_ module.
20064
1fd08bf1
VS
200652010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20066
20067 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
20068 LVM on RAID support.
20069
de1a024f
VS
200702010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20071
20072 Properly define WORDS_BIGENDIAN in wrapped environments.
20073
20074 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
20075 definition.
20076 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
20077
20078 Reported by: Manoel Rebelo Abranches.
20079 Tested by: Manoel Rebelo Abranches.
20080
bc5dd0b9
VS
200812010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20082
20083 * util/grub-mkconfig.in: Fix quoting.
20084
58c184be
VS
200852010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20086
20087 Support big ext2 files.
20088
20089 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
20090 (grub_ext2_read_block): Support triple indirect blocks.
20091 (grub_ext2_read_file): Use 64-bit types and read size_high.
20092 (grub_ext2_open): Read size_high.
20093 Reported by: Ximin Luo.
20094 Tested by: Manoel Rebelo Abranches.
20095
5f0c02b3
VS
200962010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20097
20098 * util/grub-install.in: Handle filenames containing spaces.
20099 Reported by: Jordan Uggla.
20100 Tested by: Jordan Uggla.
20101
4417aae6
VS
201022010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20103
20104 * util/grub-mkconfig.in (grub_script_check): New variable.
20105 Use grub_script_check instead of grub-script-check.
20106 Reported by: Barry Jackson.
20107
7625a68e
VS
201082010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20109
20110 * docs/grub.texi (menu): Correct the order.
20111 Reported by: D. Hugh Redelmeier.
20112
10001ac5
VS
201132010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
20114
20115 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
20116 jump.
20117
9c4cf53b
MRA
201182010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
20119
10001ac5
VS
20120 * include/grub/elfload.h (grub_elf32_size): New parameter.
20121 All users updated.
9c4cf53b
MRA
20122 Return maximum segments alignment.
20123 (grub_elf64_size): Likewise.
20124 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
20125 Return maximum segments alignment.
20126 (grub_elf64_size): Likewise.
20127 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
20128 (grub_linux_claimmap_iterate): New function. Uses the
20129 "available" property in the "memory" node for memory allocation
20130 for kernel in the PowerPC loader.
9c4cf53b
MRA
20131 (grub_linux_load32): Correctly find linux entry point offset.
20132 (grub_linux_load64): Likewise.
20133
d2bf06bf
RM
201342010-11-07 Robert Millan <rmh@gnu.org>
20135
20136 On mips-yeeloong, build with -march=loongson2f when this flag is
20137 available (GCC >= 4.4).
20138 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
20139 `-march=mips3'.
20140 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
20141 or otherwise add -march=mips3.
20142
898c99a2
BC
201432010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
20144
87220a68
BC
20145 Suppress shell expansion on echo '*' and echo "*" like cases.
20146 Reported by: Jordan Uggla.
898c99a2
BC
20147
20148 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
20149 string arguments before shell expansion.
20150 * tests/grub_cmd_echo.in: New testcases.
20151
4f9b406a
RM
201522010-11-07 Robert Millan <rmh@gnu.org>
20153
20154 * conf/mips-qemu-mips.rmk: Remove stale file from previous
20155 transition.
20156
80c6d25e
VS
201572010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
20158
20159 * grub-core/kern/emu/hostdisk.c
20160 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
20161
4a1a0153
VS
201622010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20163
20164 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
20165 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
20166 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
20167
34706ddc
VS
201682010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20169
20170 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
20171
6972dea9
VS
201722010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20173
20174 * util/grub-install.in: Replace useless recomendation to pass
20175 --modules with a recomendation to report a bug.
20176
9c693bd6
VS
201772010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20178
20179 Properly register serial terminfo.
20180 Reported by: Jordan Uggla
20181
20182 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
20183 const.
20184 (grub_serial_terminfo_output_template): Likewise.
20185 (grub_cmd_serial): Register "serial" with terminfo.
20186 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
20187 grub_serial_terminfo_output.
20188
6c9e4c0c
RM
201892010-11-05 Robert Millan <rmh@gnu.org>
20190
20191 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
20192 needed).
20193
b9b3839f
RM
201942010-11-05 Robert Millan <rmh@gnu.org>
20195
20196 On Yeeloong, pass machine type information to Linux.
20197
20198 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
20199 (LOONGSON_MACHTYPE): New macro, set to
20200 "machtype=lemote-yeeloong-2f-8.9inches".
20201 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
20202 additional argument to Linux.
20203
1a3aaff4
RM
202042010-11-04 Robert Millan <rmh@gnu.org>
20205
20206 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
20207 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
20208 (its SATA disks are detected as slaveless IDE master drives on
20209 kFreeBSD).
20210 Reported by Carsten Aulbert.
20211
a75f4f62
CW
202122010-11-02 Colin Watson <cjwatson@ubuntu.com>
20213
20214 * util/bin2h.c (main): Fix spelling error in generated output.
20215
33b4b0c6
GS
202162010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
20217
20218 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
20219
2b36fbf4
VS
202202010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20221
20222 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
20223 vga= option is supplied.
20224
74aaf558
VS
202252010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20226
20227 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
20228 * util/grub.d/10_kfreebsd.in: Likewise.
20229 * util/grub.d/10_linux.in: Likewise.
20230 * util/grub.d/20_linux_xen.in: Likewise.
20231
6428dec3
VS
202322010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20233
20234 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
20235 argument as an argument to no-argument option.
20236
f8729d98
VS
202372010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20238
20239 * util/grub.d/10_linux.in: Add missing load_video with explicit
20240 GRUB_GFXPAYLOAD_LINUX.
20241
89d68fa6
VS
202422010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20243
20244 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
20245
3a1197cd
VS
202462010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20247
20248 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
20249 elements with invlid index.
20250 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20251 * grub-core/disk/raid.c (insert_array): Automatically reallocate
20252 members.
20253 * include/grub/raid.h (grub_raid_member): New struct.
20254 (grub_raid_array): Transform devices and start_sector into usage of
20255 grub_raid_member. All users updated
20256 (allocated_devs): New member.
20257
71574288
VS
202582010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20259
20260 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
20261 is modified
20262
8d40ec65
BC
202632010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
20264
20265 NetBSD build fix for getline function conflict from gnulib.
20266
20267 * Makefile.util.def (libgrubkern.a): New library for grub kernel
20268 components that depend on gnulib headers.
20269 (libgrubmods.a): Renamed from earlier libgrub.a.
20270 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
20271
95b9257e
VS
202722010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20273
20274 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
20275 install rather than creating a broken install.
20276
26c53dc6
VS
202772010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20278
20279 * util/grub-setup.c (argp): Remove misleading example of installing to
20280 a partition.
20281
4171b3c5
VS
202822010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20283
20284 * util/grub-setup.c (setup): Clarify the error message.
20285
18568d18
VS
202862010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20287
20288 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
20289
4f6a2e21
VS
202902010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
20291
20292 * grub-core/kern/emu/misc.c
20293 (grub_make_system_path_relative_to_its_root)
20294 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
20295
202962010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
20297
20298 * grub-core/kern/emu/misc.c
20299 (grub_make_system_path_relative_to_its_root): Revert r2882.
20300
e138c458
VS
203012010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
20302
20303 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
20304 useless field head. All users updated.
20305 (free_subchunk): Correct handling of IN_REGION subchunk.
20306
0cbcdf0e
CW
203072010-10-22 Colin Watson <cjwatson@ubuntu.com>
20308
20309 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
20310 (Supported kernels): Likewise.
20311
b65ea155
GS
203122010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20313
20314 Make mktemp invocations portable.
20315
20316 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
20317 exit if mktemp fails.
20318 * tests/grub_script_blockarg.in: Likewise.
20319 * tests/partmap_test.in: Likewise.
20320 * tests/util/grub-shell-tester.in: Likewise.
20321 * tests/util/grub-shell.in: Likewise.
20322 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20323 * Makefile.am: Likewise, and chain shell commands with `&&'
20324 instead of ';'.
20325 * util/grub-mkrescue.in: Use the same explicit template as above, and
20326 exit if mktemp fails.
20327
05f43cdd
BC
203282010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
20329
20330 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
20331 Linux kernel, reported by Dennis Schridde.
20332
800e6a9b
SJ
203332010-10-17 Szymon Janc <szymon@janc.net.pl>
20334
20335 * grub-core/normal/auth.c (grub_auth_check_authentication):
20336 Set-but-not-used variable removed.
20337
d82df574
VS
203382010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20339
20340 * docs/grub.texi (GNU/Linux): Document APM unavailability with
20341 32-bit linux protocol.
20342
7bced458
VS
203432010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20344
20345 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
20346 cursor shape for sanity.
20347
5b027690
VS
203482010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20349
20350 * docs/grub.texi (Installation): Document buggy BIOS install.
20351
ba5f65cf
VS
203522010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20353
20354 * docs/grub.texi (Installation): Indent.
20355
fdf2ec9c
VS
203562010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20357
20358 * util/grub-setup.c (setup): New parameter allow_floppy.
20359 (arguments): New member allow_floppy.
20360 (argp_parser): Handle --allow-floppy.
20361 (main): Pass allow_floppy.
20362 * util/grub-install.in: New option --allow-floppy passed though to
20363 grub-setup.
20364
861dfd4c
VS
203652010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20366
20367 * util/grub-install.in: Handle partitionless disks.
20368
f77a8c24
VS
203692010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20370
20371 * util/grub-setup.c (setup): Don't clean blocklists before readability
20372 verfification.
20373
27d9ee32
VS
203742010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20375
20376 * docs/grub.texi (Installation): Document embedding zone. Remove
20377 obsolete grub-install example.
20378
6bdda8f8
SJ
203792010-10-16 Szymon Janc <szymon@janc.net.pl>
20380
20381 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
20382 Set-but-not-used variable ifdef'ed.
20383 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
20384 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
20385 variable removed.
20386 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
20387 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
20388 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
20389 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
20390 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
20391 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
20392 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
20393 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
20394 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
20395 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
20396 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
20397 Likewise.
20398
e19b016b
VS
203992010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20400
20401 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
20402 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
20403 enum value.
20404
6c8d3002
VS
204052010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20406
20407 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
20408 synonym to _S5_. Needed for some DSDTs.
20409
c32b51c9
VS
204102010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20411
20412 Userspace ACPI parser debugging.
20413
20414 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
20415 headers and add relevant defines. Don't include standard headers.
20416 (main) [GRUB_DSDT_TEST]: New function.
20417 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
20418 Don't declare functions.
20419
fbfbeb39
VS
204202010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20421
20422 Remove dead grub_efi_mm_fini.
20423
20424 * grub-core/kern/efi/mm.c (allocated_page): Removed.
20425 (ALLOCATED_PAGES_SIZE): Likewise.
20426 (MAX_ALLOCATED_PAGES): Likewise.
20427 (allocated_pages): Likewise.
20428 (grub_efi_allocate_pages): Don't record allocated pages.
20429 (grub_efi_free_pages): Likewise.
20430 (grub_efi_mm_init): Likewise.
20431 (grub_efi_mm_fini): Removed.
20432
65f7ed7c
VS
204332010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20434
20435 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
20436 (grub_efi_mm_init): Take into account the memory map size increase.
20437
24977b44
VS
204382010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20439
20440 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
20441 (serial_hw_put): Wait based on real time rather than port reads. Don't
20442 roken ports.
20443 * include/grub/serial.h (grub_serial_port): New field broken.
20444
1eb01cd2
RM
204452010-10-16 Robert Millan <rmh@gnu.org>
20446
20447 * grub-core/kern/emu/misc.c
20448 (grub_make_system_path_relative_to_its_root): Fix premature return
20449 when processing non-root ZFS filesystems.
5f8b440b 20450 Reported by Sergio Talens-Oliag.
1eb01cd2 20451
2d5fed60
RM
204522010-10-15 Robert Millan <rmh@gnu.org>
20453
20454 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
20455 guarantee compressed ones are processed first.
20456
d0f4c1ea
VS
204572010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20458
20459 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
20460 grub_efiemu_autocore.
20461
d87c681f
VS
204622010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20463
20464 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
20465 rather than 0x1b.
20466 (grub_console_getkey): Use correct jae opcode rather than ja.
20467
219b3564
RM
204682010-10-12 Robert Millan <rmh@gnu.org>
20469
20470 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
20471 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
20472 variable. All references updated.
20473
20474 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
20475
20c6bb7e
VS
204762010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
20477
20478 Correctly distinguish mdraid flavours.
20479
20480 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
20481 (insert_array): New argument raid.
20482 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
20483 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
20484 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
20485
74baff84
VS
204862010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
20487
20488 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
20489 handling of special keys.
20490
3ef068df 204912010-10-02 Aleš Nesrsta <starous@volny.cz>
20492
c7980ad9
VS
20493 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
20494 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 20495
a9455194 204962010-10-02 Aleš Nesrsta <starous@volny.cz>
20497
c7980ad9
VS
20498 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
20499 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
20500 users updated.
a9455194 20501 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 20502 Use right endpoint when querying descriptor.
a9455194 20503
441cfe65
VS
205042010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20505
20506 Clear out 0x80 color bit on EFI.
20507 Tested by: decoder
20508 Reported by: decoder and meta tech.
20509
20510 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
20511 (grub_console_setcolorstate): Clear out 0x80 bit.
20512 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
20513 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
20514 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
20515
bf26bcc4
VS
205162010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20517
20518 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
20519 Set to "auto".
20520
6e3c515d
VS
205212010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20522
20523 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
20524 mo_file after freeing.
20525
e6d983ba
VS
205262010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20527
20528 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
20529
74ccb5b5
VS
205302010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20531
20532 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
20533 flags.
20534
17821956
VS
205352010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20536
20537 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
20538 usage.
20539
ee74fa48
VS
205402010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20541
20542 Put terminfo into core on ieee1275 and yeeloong (needed for console).
20543
20544 * gentpl.py: New groups terminfoinkernel and terminfomodule.
20545 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
20546 and terminfo.h when needed.
20547 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
20548 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
20549 (terminfo): Enable only on terminfokernel.
20550 (extcmd): Likewise.
20551 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
20552 * include/grub/lib/arg.h: Likewise.
20553 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
20554 incorrect usage of ->.
20555
aa438e68
VS
205562010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20557
20558 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
20559 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
20560
57994012
VS
205612010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20562
20563 Fix coreboot compilation.
20564
20565 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
20566 Take VBE info into account even if only text is supported.
20567 (fill_vbe_info): Take into account the case when only VGA text
20568 is supported.
20569 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
20570 on coreboot, multiboot and qemu.
20571
2a406611
VS
205722010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20573
20574 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
20575 debug messages.
20576 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
20577
d33613fc
VS
205782010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20579
20580 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
20581 parameters.
20582
44a1b432
VS
205832010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20584
20585 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
20586 if they were BSD-style.
20587
edde54e6
VS
205882010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20589
20590 * grub-core/boot/i386/pc/lnxboot.S: Replace
20591 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
20592 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
20593
b65830fa
VS
205942010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20595
20596 Write embedding zone using Reed-Solomon.
20597
20598 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
20599 * grub-core/Makefile.am (rs_decoder.S): New target.
20600 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
20601 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
20602 (multiboot): Move to RS part.
20603 (post_reed_solomon): New label.
20604 (grub_boot_drive): Move to non-RS part since it's modified in memory
20605 on boot.
20606 Include rs_decoder.S.
20607 * grub-core/lib/reed_solomon.c: New file.
20608 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
20609 New definition.
20610 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
20611 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
20612 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
20613 * include/grub/partition.h (grub_partition_map): Change prototype of
20614 embed to allow returning additional sectors.
20615 * include/grub/reed_solomon.h: New file.
20616 * util/grub-setup.c (setup): Handle Reed-Solomon.
20617
0b4b227f
CW
206182010-09-28 Colin Watson <cjwatson@ubuntu.com>
20619
20620 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20621 i386 and x86-64 definedness tests.
20622
f772623b
YB
206232010-09-27 Yves Blusseau <blusseau@zetam.org>
20624
20625 Fix generation of kernel_syms.lst
20626
20627 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
20628 ASM_PREFIX
20629
8e57a6ca
RM
206302010-09-26 Robert Millan <rmh@gnu.org>
20631
20632 Support degraded ZFS arrays in "grub-probe -t device" resolution.
20633
20634 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
20635 the pool is an array of devices, iterate through it and return the
20636 first device that passes a stat() test (instead of blindly returning
20637 the first one).
20638
f9130836
RM
206392010-09-26 Robert Millan <rmh@gnu.org>
20640
20641 Build fixes for GNU/kFreeBSD.
20642
20643 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
20644 to programs that require ZFS conversion.
20645 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
20646 kernels that don't have FLOPPY_MAJOR.
20647
96510faf
BC
206482010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20649
20650 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
20651
449333eb
BC
206522010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20653
20654 Fix grub-emu build.
20655
20656 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
20657 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
20658 mdraid09 and mdraid1x.
20659
e1fd1939
CW
206602010-09-24 Colin Watson <cjwatson@ubuntu.com>
20661
20662 Re-enable grub-extras.
20663
20664 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
20665 avoid confusing Automake. Run autogen only twice, once for the top
20666 level and once for grub-core. Add Makefile.util.def and
20667 Makefile.core.def from extra modules to the appropriate autogen
20668 invocations. If Makefile.common exists in an extra module, include
20669 it in both Makefile.util.am and grub-core/Makefile.core.am;
20670 similarly, include any Makefile.util.common file in Makefile.util.am
20671 and any Makefile.core.common file in grub-core/Makefile.core.am.
20672 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
20673 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
20674 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
20675 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
20676
20677 * gentpl.py (gvar_add): Turn GVARS into a set.
20678 (global_variable_initializers): Sort global variables on output.
20679 (vars_init): New function.
20680 (first_time): Likewise.
20681 (library): Ensure that non-global variable initialisations are
20682 emitted before the first time we emit code for a library block.
20683 Append to variables rather than setting them. Only emit
20684 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
20685 each conditional path.
20686 (program): installdir() emits an Autogen macro, so must be passed to
20687 var_add rather than gvar_add.
20688 (data): Likewise.
20689 (script): Likewise.
20690 (rules): New function, centralising handling for different target
20691 types. Set up Guile association lists for first_time and vars_init,
20692 and send most output to a diversion so that variable initialisations
20693 can be emitted first.
20694 (module_rules): Use new rules function.
20695 (kernel_rules): Likewise.
20696 (image_rules): Likewise.
20697 (library_rules): Likewise.
20698 (program_rules): Likewise.
20699 (script_rules): Likewise.
20700 (data_rules): Likewise.
20701
20702 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
20703
20704 * .bzrignore: Add contrib and grub-core/contrib. Remove
20705 grub-core/Makefile.gcry.am.
20706
1d12cf29
YB
207072010-09-24 Yves Blusseau <blusseau@zetam.org>
20708
20709 * grub-core/lib/LzFind.c: Add missing include.
20710 * grub-core/lib/LzmaEnc.c: Likewise.
20711 * grub-core/script/lexer.c: Likewise.
20712 * grub-core/script/yylex.l: Likewise.
20713 * util/grub-macho2img.c: Likewise.
20714 * util/grub-menulst2cfg.c: Likewise.
20715 * util/grub-mklayout.c: Likewise.
20716 * util/grub-mkpasswd-pbkdf2.c
20717 * util/grub-mkrelpath.c: Likewise.
20718 * util/resolve.c: Likewise.
20719
dd363028
BC
207202010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
20721
20722 * Makefile.util.def (example_unit_test): Add
20723 grub-core/gnulib/libgnu.a.
20724
f5a109e2
GS
207252010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
20726
20727 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
20728
6d0fa83c
VS
207292010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
20730
20731 Support xz compression on yeeloong.
20732
20733 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
20734 * configure.ac: Check for LZMA.
20735 * grub-core/Makefile.core.def (xz_decompress): New target.
20736 (none_decompress): Likewise.
20737 * grub-core/boot/decompressor/minilib.c: New file.
20738 * grub-core/boot/decompressor/none.c: Likewise.
20739 * grub-core/boot/decompressor/xz.c: Likewise.
20740 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
20741 * grub-core/kern/mips/cache_flush.S: Likewise.
20742 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
20743 * grub-core/kern/mips/startup.S: Move first stage to ...
20744 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
20745 nomacro.
20746 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
20747 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
20748 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
20749 Allocate statically.
20750 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
20751 Allocate statically or use scratch. Don't check CRC32.
20752 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
20753 Allocate statically. Don't check CRC32.
20754 * include/grub/decompressor.h: New file.
20755 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
20756 Removed.
20757 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
20758 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
20759 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
20760 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
20761 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
20762 * util/grub-mkimage.c (grub_compression_t): New type.
20763 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
20764 (image_target_desc): New field default_compression.
20765 (image_targets): Adjust yeeloong targets.
20766 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
20767 (compress_kernel): New parameter comp.
20768 (generate_image): Likewise. Handle new compression case.
20769 (options): New option --compression
20770 (help): Likewise.
20771 (main): Handle new option.
20772
1b655af6
GS
207732010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
20774
20775 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
20776
8f03f0b5
CW
207772010-09-22 Colin Watson <cjwatson@ubuntu.com>
20778
20779 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20780 typo in __i386__ conditional.
20781
7835dfd3
VS
207822010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20783
20784 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
20785 include.
20786
e255597e
VS
207872010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20788
6d0fa83c 20789 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
20790
20791 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
20792 new tags as supported.
20793 (acpiv2_size): New function.
20794 (grub_multiboot_get_mbi_size): Take new tags into account.
20795 (grub_multiboot_make_mbi): Add new tags.
20796 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 20797
6cc14051 207982010-09-21 Aleš Nesrsta <starous@volny.cz>
20799
20800 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
20801 Added missing configuration of USB device.
20802
df7769d8
CW
208032010-09-21 Colin Watson <cjwatson@ubuntu.com>
20804
20805 * grub-core/normal/menu_entry.c (run): Make sure we always return
20806 a value.
20807
b031012d
CW
208082010-09-21 Colin Watson <cjwatson@ubuntu.com>
20809
20810 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
20811 NumberOfPages is UINT64 according to the UEFI specification, not
20812 UINTN. Fix printf format.
20813
174de8f3
CW
208142010-09-21 Colin Watson <cjwatson@ubuntu.com>
20815
20816 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
20817 `err' to grub_usb_err_t.
20818 Reported and tested by: KESHAV P.R.
20819
d7dbe923
CW
208202010-09-21 Colin Watson <cjwatson@ubuntu.com>
20821
20822 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
20823 tpart non-const, so that we can assign to it. (Since this is a
20824 typedef, the constness refers to the pointer rather than what it
20825 points to.)
20826
8d5e2af3
CW
208272010-09-21 Colin Watson <cjwatson@ubuntu.com>
20828
20829 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
20830 $(top_srcdir)/grub-core/gnulib as well as
20831 $(top_builddir)/grub-core/gnulib.
20832 Reported by: KESHAV P.R.
20833
5c527783
CW
208342010-09-21 Colin Watson <cjwatson@ubuntu.com>
20835
20836 * util/grub-install.in: Fix the bootloader ID option to be
20837 consistently --bootloader-id, not --bootloader_id.
20838 Reported by: KESHAV P.R.
20839
d309a16e
CW
208402010-09-21 Colin Watson <cjwatson@ubuntu.com>
20841
20842 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
20843 check hash checksum." consistently translatable.
20844
b830cd16
YB
208452010-09-21 Yves Blusseau <blusseau@zetam.org>
20846
20847 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
20848 $(top_builddir).
20849
c4fe27a8
CW
208502010-09-21 Colin Watson <cjwatson@ubuntu.com>
20851
20852 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
20853 (GRUB_MOD_INIT): Register sha1sum command.
20854 (GRUB_MOD_FINI): Unregister sha1sum command.
20855
a4c1d277
YB
208562010-09-21 Yves Blusseau <blusseau@zetam.org>
20857
20858 Keep boot and grub directory names in sync with utils scripts
20859
20860 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
20861 * config.h.in: Add previous macros.
20862 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
20863 * util/grub-install.in: Use $bootdir and $grubdir variables.
20864
4eff79d2
CW
208652010-09-21 Colin Watson <cjwatson@ubuntu.com>
20866
20867 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
20868 convert partition names to disk names if the new `convert' parameter
20869 is set.
20870 (grub_util_biosdisk_get_grub_dev): If opening the disk device
20871 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
20872 disk in its own right. This can happen with Xen disk images.
20873
934d7e44
YB
208742010-09-21 Yves Blusseau <blusseau@zetam.org>
20875
20876 * util/grub-editenv.c: Update strings to avoid warnings when generating
20877 grub.pot file.
20878 * util/grub-setup.c: Likewise.
934d7e44 20879
df3367cc
VS
208802010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20881
20882 * configure.ac: Change version to 1.99~beta0.
20883
77a94e98
VS
208842010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20885
20886 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
20887 Add BADRAM.
20888 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
20889 Likewise.
20890 * include/multiboot.h: Resynced with specification.
20891 * include/multiboot2.h: Likewise.
20892
269004c1
CW
208932010-09-21 Colin Watson <cjwatson@ubuntu.com>
20894
20895 Fix po directory handling.
20896
20897 * configure.ac: Create po/Makefile.in rather than po/Makefile.
20898 * grub-core/gnulib/Makefile.am: Import gettext module.
20899 * m4/gnulib-cache.m4: Likewise.
20900 * m4/gnulib-comp.m4: Likewise.
20901 * m4/gettext.m4: New file, from gnulib.
20902 * m4/glibc2.m4: Likewise.
20903 * m4/iconv.m4: Likewise.
20904 * m4/intdiv0.m4: Likewise.
20905 * m4/intl.m4: Likewise.
20906 * m4/intldir.m4: Likewise.
20907 * m4/intlmacosx.m4: Likewise.
20908 * m4/intmax.m4: Likewise.
20909 * m4/inttypes-pri.m4: Likewise.
20910 * m4/lcmessage.m4: Likewise.
20911 * m4/lib-ld.m4: Likewise.
20912 * m4/lib-link.m4: Likewise.
20913 * m4/lib-prefix.m4: Likewise.
20914 * m4/lock.m4: Likewise.
20915 * m4/nls.m4: Likewise.
20916 * m4/po.m4: Likewise.
20917 * m4/printf-posix.m4: Likewise.
20918 * m4/progtest.m4: Likewise.
20919 * m4/threadlib.m4: Likewise.
20920 * m4/uintmax_t.m4: Likewise.
20921 * m4/visibility.m4: Likewise.
20922 * po/Makefile.am: Remove.
20923 * po/Makefile.in.in: New file, from gettext.
20924 ($(DOMAIN).pot-update): Support POTFILES-shell.
20925 * po/Makevars: New file.
20926 * po/POTFILES-shell: Rename to ...
20927 * po/POTFILES-shell.in: ... this. Update.
20928 * po/POTFILES: Rename to ...
20929 * po/POTFILES.in: ... this. Update.
20930 * po/Rules-quot: New file, from gettext.
20931 * po/boldquot.sed: Likewise.
20932 * po/en@boldquot.header: Likewise.
20933 * po/en@quot.header: Likewise.
20934 * po/insert-header.sin: Likewise.
20935 * po/quot.sed: Likewise.
20936 * po/remove-potcdate.sin: Likewise.
20937
3e0fa5d0
VS
209382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20939
20940 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
20941
ade9bd66
VS
209422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20943
20944 * util/grub.d/20_linux_xen.in: Use submenus.
20945
fc55cc4c
VS
209462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20947
20948 Support submenus.
20949
20950 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
20951 parameter submenu. All users updated.
20952 * grub-core/normal/main.c (free_menu): Rename to ...
20953 (grub_normal_free_menu): ... this. Made global.
20954 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
20955 if requested.
20956 * grub-core/normal/menu_entry.c (screen): New field submenu.
20957 (make_screen): Set submenu.
20958 (run): Open new context if requested.
20959 * include/grub/menu.h (grub_menu_entry): New field submenu.
20960 * include/grub/normal.h (grub_normal_free_menu): New proto.
20961
600cedf7
VS
209622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20963
20964 Menu entries extractor.
20965
20966 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
20967 variants.
20968 (GRUB_MOD_INIT): Register new variants.
20969 (GRUB_MOD_FINI): Unregister new variants.
20970 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
20971 into grub_cmd_legacy_source.
20972 (grub_cmd_legacy_source): Implement extractor variants.
20973 (GRUB_MOD_INIT): Register new variants.
20974 (GRUB_MOD_FINI): Unregister new variants.
20975 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
20976 as an extractor.
20977 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
20978 search as an extractor.
20979 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
20980 test as an extractor.
20981 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
20982 as an extractor.
20983 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
20984 (grub_env_new_context): New function.
20985 (grub_env_context_open): Likewise.
20986 (grub_env_extractor_open): Likewise.
20987 (grub_env_extractor_close): Likewise.
20988 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20989 grub_extractor_level.
20990 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
20991 * include/grub/env.h (grub_env_extractor_open): New proto.
20992 (grub_env_extractor_close): Likewise.
20993 * include/grub/normal.h (grub_extractor_level): New external variable.
20994
7bda3a87
VS
209952010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20996
20997 Make cutmem accept a region specification.
20998 Suggested by: Samuel Thibault
20999
21000 * grub-core/mmap/mmap.c (parsemem): New function.
21001 (grub_cmd_cutmem): Handle new arguments.
21002
2ea57f88
VS
210032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21004
21005 New command cutmem.
21006
21007 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
21008 (GRUB_MOD_INIT): Register new command.
21009 (GRUB_MOD_FINI): Unregister new command.
21010
74342e31
VS
210112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21012
21013 Support some annoying BSD and Minix subpartitions.
21014
21015 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
21016 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
21017 Properly handle concatenation.
21018 * grub-core/kern/device.c (grub_device_iterate): Likewise.
21019 * grub-core/normal/completion.c (iterate_partition): Likewise.
21020 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
21021 contain partition. All users updated.
21022 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
21023 struct.
21024 (grub_openbsdlabel_partition_map): Likewise.
21025 (bsdlabel_partition_map_iterate): Rename to ..
21026 (iterate_real): ... this. New arguments sector, freebsd and pmap.
21027 (bsdlabel_partition_map_iterate): New function.
21028 (netopenbsdlabel_partition_map_iterate): Likewise.
21029 (netbsdlabel_partition_map_iterate): Likewise.
21030 (openbsdlabel_partition_map_iterate): Likewise.
21031 (GRUB_MOD_INIT): Register new partmaps.
21032 (GRUB_MOD_FINI): Unregister new partmaps.
21033 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
21034 (grub_partition_msdos_iterate): ... this. All users updated.
21035 Don't support embedding other than in a minix partition.
21036 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
21037 proto.
21038 * include/grub/partition.h (grub_partition): New field msdostype.
21039 * util/grub-install.in: Handle openbsd and netbsd types being in
21040 part_bsd module.
21041
1e8d555b
VS
210422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21043
21044 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
21045
21046 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
21047 * grub-core/Makefile.core.def (mdraid): Renamed to ...
21048 (mdraid09): ... this.
21049 (mdraid1x): New module.
21050 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
21051 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
21052
899d8af4
VS
210532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21054
21055 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
21056 vsprintf.
21057
40901acd
CW
210582010-09-20 Colin Watson <cjwatson@ubuntu.com>
21059
21060 * grub-core/commands/efi/lsefimmap.c: Correct header.
21061 * NEWS: Update.
21062
dfe3b247
CW
210632010-09-20 Colin Watson <cjwatson@ubuntu.com>
21064
21065 * util/grub-editenv.c (argp_parser): Don't pass translated strings
21066 as printf format strings; the translations might contain '%' which
21067 could cause a crash.
21068 (main): Likewise.
21069 * util/grub-fstest.c (argp_parser): Likewise.
21070 * util/grub-setup.c (argp_parser): Likewise.
21071 (main): Likewise.
21072
3286a4b4
VS
210732010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21074
21075 Use argp in grub-fstest.
21076
21077 * util/grub-fstest.c: Don't include getopt.h.
21078 Include argp.h.
21079 (root): New variable.
21080 (args_count): Likewise.
21081 (nparm): Likewise.
21082 (num_disks): Likewise.
21083 (images): Likewise.
21084 (cmd): Likewise.
21085 (debug_str): Likewise.
21086 (args): Likewise.
21087 (options): Transformed to argp.
21088 (usage): Removed.
21089 (main): Split argument parsing into ...
21090 (argp_parser): ... this. Changed to argp format.
21091 (argp): New variable.
21092 (main): Use argp_parse.
21093
3dccbe4b
TG
210942010-09-20 Tristan Gingold <gingold@free.fr>
210952010-09-20 Robert Millan <rmh.grub@aybabtu.com>
210962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21097
21098 * grub-core/commands/efi/lsefimmap.c: New file.
21099 * grub-core/Makefile.core.def (lsefimmap): New module.
21100 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
21101
38c259a7
VS
211022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21103
21104 Pause the execution (10s max) if any errors are displayed so the user
21105 has a chance to see them.
21106
21107 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
21108 (grub_print_error): Increment grub_err_printed_errors.
21109 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
21110 execution if any errors were displayed.
21111 (show_menu): Remove old code for pause.
21112 * grub-core/normal/menu_entry.c (run): Likewise.
21113 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
21114 users updated.
21115 (grub_normal_get_char_counter): Likewise.
21116 * include/grub/err.h (grub_err_printed_errors): New external variable.
21117 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
21118
f218b09c
VS
211192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21120
21121 Support multiboot VBE info.
21122
21123 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21124 Take VBE info into account.
21125 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
21126 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21127 Call fill_vbe_info when appropriate.
21128 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
21129 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
21130 as supported.
21131 (grub_multiboot_get_mbi_size): Take new tags into account.
21132 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
21133 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21134 Call fill_vbe_tag when appropriate.
21135 (grub_multiboot_make_mbi): Properly align tags.
21136 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
21137 function.
21138 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
21139 proto.
21140 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
21141
a9cc5438
VS
211422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21143
21144 Suport manual terminal geometry specification.
21145
21146 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
21147 Save state in grub_ofconsole_terminfo_output.
21148 (grub_ofconsole_term): Use grub_terminfo_getwh.
21149 (grub_ofconsole_getwh): Removed.
21150 * grub-core/term/serial.c (grub_serial_getwh): Removed.
21151 (grub_serial_term): Use grub_terminfo_getwh.
21152 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
21153 (options): New struct.
21154 (OPTION_*): New enum.
21155 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
21156 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
21157 width and height.
21158 (grub_terminfo_getwh): New proto.
21159 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
21160
1a8fed20
VS
211612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21162
21163 Handle legacy "terminal" command.
21164
21165 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
21166 and FLAG_TERMINAL.
21167 (legacy_commands): Add terminal and title.
21168 (grub_legacy_parse): Handle terminal. Simplify title handling.
21169
41e9c57d
VS
211702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21171
21172 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
21173 parameters overflow.
21174
61c874c5
CW
211752010-09-20 Colin Watson <cjwatson@ubuntu.com>
21176
21177 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
21178 widthspec.h.
21179
21180 * docs/grub.texi (Shell-like scripting): Document `!'.
21181 (Network): Simplify using new i386-pc-pxe format. Mention
21182 grub-mknetdir.
21183
21184 * NEWS: Update.
21185
943682b4
CW
211862010-09-20 Colin Watson <cjwatson@ubuntu.com>
21187
21188 * Makefile.am (SUBDIRS): Restore "."; it's important to force
21189 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
21190 when needed.
21191
6d3d698d
CW
211922010-09-20 Colin Watson <cjwatson@ubuntu.com>
21193
21194 * grub-core/commands/efi/lsefisystab.c: Correct header.
21195 * grub-core/commands/efi/lssal.c: Likewise.
21196 * grub-core/commands/testload.c: Likewise.
21197
c982589f
CW
211982010-09-20 Colin Watson <cjwatson@ubuntu.com>
21199
21200 * util/grub-mkrescue.in: Add explicit root argument to --set to
21201 prevent the UUID being interpreted as an argument to --set (matches
21202 previous change to prepare_grub_to_access_device).
21203
a63c31b6
CW
212042010-09-20 Colin Watson <cjwatson@ubuntu.com>
21205
21206 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
21207 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
21208 the verbosity of later #ifs.
21209 (find_partition_start): Define this function on FreeBSD too.
21210 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
21211 function.
21212 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
21213 on FreeBSD.
21214
6439b8ee
YB
212152010-09-20 Yves Blusseau <blusseau@zetam.org>
21216
21217 * util/grub-editenv.c: Use argp instead of getopt.
21218
c5930ec8
YB
212192010-09-20 Yves Blusseau <blusseau@zetam.org>
21220
21221 * util/grub-setup.c: Use argp instead of getopt.
21222
15c69261
YB
212232010-09-20 Yves Blusseau <blusseau@zetam.org>
21224
21225 Use gnulib-tool to create gnulib source files.
21226
21227 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
21228 grub-core/gnulib directories
21229 * .bzignore: Add **/.deps and autogenerated gnulib files
21230 * configure.ac: Assign auxiliary directory to build-aux, add invocation
21231 of gnulib macros, add grub-core/gnulib/Makefile
21232 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
21233 include m4 directory to aclocal.
21234 * Makefile.util.def: Remove direct compilation of gnulib source files
21235 and use the new grub-core/gnulib/libgnu.a.
21236 * build-aux/config.rpath: move config.rpath from top directory to
21237 build-aux
21238 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
21239 in gnulib headers
21240 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
21241 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
21242 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
21243 header.
21244 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
21245 string.
21246
e511c9f5
YB
212472010-09-20 Yves Blusseau <blusseau@zetam.org>
21248
21249 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
21250 grub-core/genmod.sh and grub-core/gensyminfo.sh
21251
c2dede05
BC
212522010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
21253
21254 Add a test for echo command options.
21255
21256 * tests/grub_cmd_echo.in: New test.
21257 * Makefile.util.def: Rules for new test.
21258
c55f5018
SJ
212592010-09-20 Szymon Janc <szymon@janc.net.pl>
21260
21261 Remove crc.mod and move crc command to hashsum.mod.
21262 Remove lib/crc.c - users updated to use gcrypt implementation.
21263
21264 * grub-core/commands/crc.c: Removed.
21265 * grub-core/Makefile.core.def (crc): Module removed.
21266 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
21267 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
21268 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
21269 * grub-core/lib/crc.c: Removed.
21270 * include/grub/lib/crc.h: Removed.
21271 * Makefile.util.def (crc): Remove lib/crc.c
21272 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
21273 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
21274 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
21275 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
21276 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
21277 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
21278
e0337366
VS
212792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21280
21281 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
21282
742f9232
VS
212832010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21284
21285 Split config.h for util and core.
21286
21287 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
21288 (ADDR32): Likewise.
21289 (DATA32): Likewise.
21290 (BSS_START_SYMBOL): Likewise.
21291 (END_SYMBOL): Likewise.
21292 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
21293 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
21294 * config.h.in: New file.
21295 * configure.ac: Use config-util.h as config define file.
21296 Rename MACHINE into GRUB_MACHINE. All users updated.
21297 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
21298 updated.
21299 (NESTED_FUNC_ATTR): Likewise.
21300 Substitue new variables.
21301 (COND_HAVE_ASM_USCORE): New conditional.
21302 * grub-core/Makefile.am (ASM_PREFIX): New variable.
21303 (kernel_syms.lst): Use ASM_PREFIX.
21304 * grub-core/kern/emu/console.c: Include config-util.h.
21305 * grub-core/kern/emu/misc.c: Likewise.
21306 * grub-core/kern/emu/mm.c: Likewise.
21307 * include/grub/emu/misc.h: Likewise.
21308 * include/grub/libgcc.h: Likewise.
21309
39feb0e8
VS
213102010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21311
21312 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
21313 constants usage.
21314 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
21315 Fix GRUB_TERM_KEY_* constants usage.
21316 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
21317
9af6dac3
VS
213182010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21319
21320 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
21321 print pointer.
21322 * grub-core/bus/usb/uhci.c: Remove empty define.
21323 (grub_uhci_check_transfer): Add missing cast.
21324 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
21325 print pointer.
21326 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
21327 PRIuGRUB_SIZE.
21328 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
21329
d6d94820
VS
213302010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21331
21332 * grub-core/Makefile.core.def (legacycfg): Add
21333 lib/i386/pc/vesa_modes_table.c on emu.
21334
3572f2b6
BC
213352010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21336
21337 Reduce number of temporary files generated by build system.
21338
21339 * grub-core/gencmdlist.sh: Removed.
21340 * grub-core/genfslist.sh: Removed.
21341 * grub-core/genhandlerlist.sh: Removed.
21342 * grub-core/genmodsrc.sh: Removed.
21343 * grub-core/genpartmaplist.sh: Removed.
21344 * grub-core/genparttoollist.sh: Removed.
21345 * grub-core/gentermiinallist.sh: Removed.
21346 * grub-core/genvideolist.sh: Removed.
21347
21348 * grub-core/genmod.sh.in: New file.
21349 * grub-core/gensyminfo.sh.in: New file.
21350
21351 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
21352 * conf/Makefile.extra-dist: Update with new files.
21353 * gentpl.py: Remove rules related to unnecessary temporary files.
21354 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
21355 and und-* files.
21356 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
21357 genmod.sh scripts.
21358 * grub-core/bus/usb/uhci.c: Remove empty #define.
21359 * grub-core/genmoddep.awk: Updated with new syminfo format.
21360 * util/bash-completion.d/Makefile.am: Add config.log to
21361 CLEANFILES.
21362
c836b030
YB
213632010-09-19 Yves Blusseau <blusseau@zetam.org>
21364
21365 * Makefile.util.def: Add forgotten $(LIBINTL) library.
21366
2f4e8053
BC
213672010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21368
21369 * util/grub-mkconfig.in: Check the config script for syntax errors
21370 before saving.
21371
75831c34
CW
213722010-09-19 Colin Watson <cjwatson@ubuntu.com>
213732010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21374
21375 * Makefile.util.def (grub-install): Use util/grub-install.in on all
21376 platforms.
21377 * util/grub-install.in: Add EFI and IEEE1275 support.
21378 * util/i386/efi/grub-install.in: Removed.
21379 * util/ieee1275/grub-install.in: Likewise.
21380
eaf41b25
VS
213812010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21382
21383 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
21384 (grub_cmd_cmosclean): Likewise.
21385 (GRUB_MOD_INIT): Register command cmosclean.
21386 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
21387 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
21388
1a9130dd
CPE
213892010-09-18 Carles Pina i Estany <carles@pina.cat>
213902010-09-18 Aleš Nesrsta <starous@volny.cz>
213912010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21392
21393 Add keyboard layouts support.
21394
21395 * Makefile.util.def (grub-mklayout): New file.
21396 (grub-kbdcomp): New script.
21397 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
21398 Add keyboard_layouts.h.
21399 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
21400 commands/boot.c on yeeloong.
21401 (keylayouts): New module.
21402 * grub-core/bus/usb/ohci.c
21403 * grub-core/bus/usb/uhci.c
21404 * grub-core/bus/usb/usbhub.c (rescan): New variable.
21405 (grub_usb_add_hub): Poll interrupt pipe for device handling.
21406 (attach_root_port): Likewise.
21407 (poll_nonroot_hub): Likewise.
21408 (grub_usb_poll_devices): Likewise.
21409 (detach_device): Close transfer.
21410 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
21411 function.
21412 (grub_usb_bulk_setup_readwrite): Likewise.
21413 (grub_usb_bulk_finish_readwrite): Likewise.
21414 * grub-core/commands/keylayouts.c: New file.
21415 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
21416 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
21417 aliases.
21418 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
21419 support scancode 2.
21420 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
21421 * include/grub/keyboard_layouts.h: New file.
21422 * util/grub-mklayout.c: New file.
21423 * util/grub-kbdcomp.in: Likewise.
21424
a1d84a5e
VS
214252010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21426
21427 Unify memory types.
21428
21429 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
21430 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
21431 types.
21432 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
21433 (grub_upper_mem): Likewise.
21434 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
21435 * include/grub/memory.h (grub_memory_type_t): New enum.
21436 All users updated.
21437
9696382e
VS
214382010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21439
21440 * grub-core/Makefile.core.def (lsapm): New module.
21441 * grub-core/commands/i386/pc/lsapm.c: New file.
21442 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
21443 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
21444 Likewise.
21445 * include/grub/i386/pc/apm.h: New file.
21446 * include/multiboot.h (multiboot_apm_info): New struct.
21447
214482010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21449
21450 GRUB-legacy configuration file support.
21451
21452 * Makefile.util.def (grub-menulst2cfg): New util.
21453 * docs/man/grub-menulst2cfg.h2m: New file.
21454 * grub-core/Makefile.core.def (legacycfg): New module.
21455 * grub-core/commands/legacycfg.c: New file.
21456 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
21457 (grub_normal_add_menu_entry): ... this.
21458 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
21459 (grub_normal_set_password): ...this.
21460 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
21461 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
21462 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
21463 * grub-core/lib/legacy_parse.c: New file.
21464 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
21465 * include/grub/i386/pc/vesa_modes_table.h: New file.
21466 * include/grub/legacy_parse.h: Likewise.
21467 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
21468 * util/grub-menulst2cfg.c: New file.
21469
bf8d1338
CW
214702010-09-17 Colin Watson <cjwatson@ubuntu.com>
21471
21472 * grub-core/kern/emu/hostdisk.c
21473 (convert_system_partition_to_system_disk): Initialise node.
21474
9c0bad2e
CW
214752010-09-17 Colin Watson <cjwatson@ubuntu.com>
21476
21477 * grub-core/kern/emu/hostdisk.c
21478 (convert_system_partition_to_system_disk): Fix devmapper memory pool
21479 leak.
21480 Reported and based on patch by: Modestas Vainius.
21481
a939d135
CW
214822010-09-17 Colin Watson <cjwatson@ubuntu.com>
21483
21484 Fix DM-RAID probing with recent versions of device-mapper udev
21485 rules.
21486
21487 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
21488 canonicalise device paths under /dev/mapper/.
21489 (convert_system_partition_to_system_disk): Compare the
21490 uncanonicalised path to /dev/mapper/ rather than the canonicalised
21491 path, since device nodes under /dev/mapper/ are often symlinks.
21492
0f7ee3c9
YB
214932010-09-17 Yves Blusseau <blusseau@zetam.org>
21494
21495 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
21496
10854d0d
YB
214972010-09-16 Yves Blusseau <blusseau@zetam.org>
21498
21499 * configure.ac: Avoid some annoying error messages if freetype-config
21500 program is not found.
21501
108538d8
CW
215022010-09-16 Colin Watson <cjwatson@ubuntu.com>
21503
21504 Support RAID on virtio devices, and others.
21505
21506 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
21507 Rename to ...
21508 [__MINGW32__] (grub_find_device): ... this.
21509 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
21510 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
21511 reasonable default if dir is NULL.
21512 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
21513 ...
21514 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
21515 (grub_guess_root_device): Update callers.
21516 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
21517
21518 * util/raid.c (grub_util_getdiskname): Remove.
21519 (grub_util_raid_getmembers): Use grub_find_device rather than
21520 grub_util_getdiskname.
21521
e5bfc130
CW
215222010-09-16 Colin Watson <cjwatson@ubuntu.com>
21523
21524 * docs/grub.texi (serial): Remove obsolete comment about GRUB
21525 needing to be compiled with serial support.
21526 (ls): Indicate that multiple files are accepted.
21527 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
21528 indicate that multiple files are accepted.
21529
be458ae2
CW
215302010-09-16 Colin Watson <cjwatson@ubuntu.com>
21531
21532 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
21533 libgrub_a_init.c, and util/bash-completion.d/grub.
21534
cb731b5e
VS
215352010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21536
21537 * util/grub-setup.c (setup): Fix incorrect container semantics.
21538
35139e8a
VS
215392010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21540
21541 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
21542 misusage.
21543 Reported by: J. Nick Terry
21544
e50fca4a
VS
215452010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21546
21547 Move embedding routines to partmap sources files.
21548
21549 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
21550 [GRUB_UTIL]: New variable.
21551 (gpt_partition_map_iterate): Set part.parent.
21552 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
21553 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
21554 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
21555 New function.
21556 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
21557 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
21558 (grub_partition_map) [GRUB_UTIL]: New field embed.
21559 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
21560 (setup): Use ->embed.
21561
f00478b7
VS
215622010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21563
21564 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
21565 function.
21566 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
21567 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
21568
2b94e3ff
YB
215692010-09-15 Yves Blusseau <blusseau@zetam.org>
21570
21571 Add function to get completions from usage.
21572
21573 * util/bash-completion.d/grub-completion.bash.in: Add function to get
21574 completions from usage. Use LC_ALL=C to get options properly.
21575
2e04a006
VS
215762010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21577
21578 * grub-core/gnulib/basename-lgpl.c: Imported.
21579 * grub-core/gnulib/basename.c: Likewise.
21580 * grub-core/gnulib/dirname-lgpl.c: Likewise.
21581 * grub-core/gnulib/dirname.c: Likewise.
21582 * grub-core/gnulib/dirname.h: Likewise.
21583 * grub-core/gnulib/stripslash.c: Likewise.
21584
5dcdf93a
VS
215852010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21586
21587 * grub-core/gnulib/error.c: Resynced.
21588 * grub-core/gnulib/getopt.c: Likewise.
21589 * grub-core/gnulib/getopt_int.h: Likewise.
21590 * grub-core/gnulib/regex.h: Likewise.
21591 * grub-core/gnulib/regex_internal.c: Likewise.
21592 * grub-core/gnulib/regex_internal.h: Likewise.
21593
014f47b7
SJ
215942010-09-15 Szymon Janc <szymon@janc.net.pl>
21595
21596 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
21597 CRC calculations and validity checks.
21598 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
21599 calculations.
21600
dd521a4a
SJ
216012010-09-15 Szymon Janc <szymon@janc.net.pl>
21602
21603 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
21604
79c4eeb9
VS
216052010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21606
21607 Fix incorrect echo options handling.
21608 Reported by: Yves Blusseau.
21609
21610 * include/grub/command.h (grub_command_flags_t): New flags
21611 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
21612 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
21613 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
21614
ed80f7d5
VS
216152010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21616
21617 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
21618 users updated.
21619 (GRUB_COMMAND_FLAG_MENU): Likewise.
21620 (GRUB_COMMAND_FLAG_BOTH): Likewise.
21621 (GRUB_COMMAND_FLAG_TITLE): Removed.
21622 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
21623 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
21624 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
21625 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
21626 (grub_command_flags_t): New enum. All users updated.
21627
5fe7620a
SG
216282010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
21629
21630 Fix solaris compilation.
21631
21632 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
21633 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
21634 (grub-emu-list): Likewise.
21635
545b752f
VS
216362010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21637
21638 Remove deprecated root command.
21639
21640 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
21641 updated.
21642
6c1a338c
VS
216432010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21644
21645 * util/i386/pc/grub-setup.c: Merge this ...
21646 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
21647 * util/grub-setup.c: ... into this.
21648 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
21649 New struct.
21650
216512010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21652
21653 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
21654 possible.
21655
d2ea4551
VS
216562010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21657
21658 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
21659 allocate p.
21660
3c3b5040
VS
216612010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21662
21663 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
21664 explicit root argument to set to prevent UUID to be interpreted as
21665 argument to set.
21666
b71c3fae
VS
216672010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21668
21669 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
21670
275433e6
VS
216712010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21672
21673 Don't export grub_gate_a20.
21674
21675 * grub-core/kern/i386/pc/init.c: Remove leftovers.
21676 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
21677 to ...
21678 (grub_gate_a20): ... this. All users updated.
21679 * include/grub/i386/pc/init.h: Removed. All users updated.
21680
a5dbb1f1
VS
216812010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21682
21683 Create euro.pf2 which supports most European languages.
21684
21685 * Makefile.am (grubdata_DATA): Add euro.pf2.
21686 (euro.pf2): New target.
21687 (CLEANFILES): Add euro.pf2.
21688
62a747cb
VS
216892010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21690
21691 * configure.ac: Disable emu-usb by default to prevent inadvertent
21692 device takeover.
21693
608e43b1
VS
216942010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21695
21696 Disable usbserial on grub-emu since our libusb code isn't good enough
21697 yet.
21698
21699 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
21700 (usbserial_pl2303): Likewise.
21701 (usbserial_ftdi): Likewise.
21702
94564f81
VS
217032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21704
21705 * include/grub/disk.h (grub_disk): Remove has_partitions.
21706 All users updated.
21707 * disk/loopback.c (grub_loopback): Remove has_partitions.
21708 All users updated.
21709 (options): Remove partitions. All users updated.
21710 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
21711 * util/i386/pc/grub-setup.c (setup): copy partition table only when
21712 actual partition table is found.
21713
3352800b
VS
217142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21715
21716 Remove readability checks (too many false negatives).
21717
21718 * util/grub-install.in: Remove readability checks.
21719 * util/grub-mkconfig.in: Likewise.
21720 * util/grub.d/10_hurd.in: Likewise.
21721 * util/grub.d/10_kfreebsd.in: Likewise.
21722 * util/grub.d/10_linux.in: Likewise.
21723 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
21724 way.
21725
2419f17a
VS
217262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21727
21728 Enable acpi shutdown on all ACPI platforms.
21729
21730 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
21731 on coreboo, multiboot and EFI.
21732 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
21733 (grub_acpi_halt): Likewise.
21734 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
21735 (grub_cmd_halt): Don't call grub_acpi_halt directly.
21736 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
21737 * grub-core/lib/i386/halt.c (grub_halt)
21738 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
21739
0575c7c3
VS
217402010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21741
21742 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
21743 context.
21744
54ac3cd1
VS
217452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21746
21747 * grub-core/video/efi_gop.c: Fix over-80-chars line.
21748 * grub-core/video/efi_uga.c: Likewise.
21749
b2a30ac5
VS
217502010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21751
21752 Filter devaliases and never open same device twice.
21753
21754 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
21755 (last_ihandle): Likewise.
21756 (ofdisk_hash_ent): New member shortest.
21757 (ofdisk_hash_add): Add canonical path too.
21758 (scan): New function.
21759 (grub_ofdisk_iterate): Iterate over hashed entries.
21760 (compute_dev_path): Don't add :0.
21761 (grub_ofdisk_open): Don't really open the disk.
21762 (grub_ofdisk_close): Avoid closing unrelated disk.
21763 (grub_ofdisk_read): Implement reopen logic.
21764 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
21765 New function.
21766 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
21767 New proto.
21768
fb53b340
VS
217692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21770
21771 Fix sparc64.
21772
21773 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
21774 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
21775 right address. Add sparc64_ieee1275_ldflags.
21776 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
21777 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
21778 to grub_host_to_target_addr
21779 (load_image): Likewise.
21780
f452b040
VS
217812010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21782
21783 * grub-core/normal/completion.c (complete_file): Handle device
21784 containing slash.
21785 Fix based on patch by Doug Nazar.
21786
9b5b2541
VS
217872010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21788
21789 grub-mknetdir script.
21790
21791 * Makefile.util.def (grub-mknetdir): New module.
21792 * tests/util/grub-shell.in: Support boot=net
21793 * util/grub-mknetdir.in: New file.
21794
9d2be652
VS
217952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21796
21797 videoinfo on non-vbe.
21798
21799 * grub-core/Makefile.core.def (vbeinfo): Removed.
21800 (vbetest): Removed.
21801 (videoinfo): New module.
21802 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
21803 * grub-core/commands/i386/pc/vbetest.c: Removed.
21804 * grub-core/commands/videoinfo.c: New file.
21805 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
21806 specification.
21807 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
21808 as vbetest.
21809 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
21810 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
21811 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
21812 mode_number. New parameter mode. All users updated.
21813 (grub_video_gop_iterate): New function.
21814 (grub_video_efi_gop): New member iterate.
21815 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
21816 (grub_vbe_set_video_mode): Remove setting useless fields.
21817 (vbe2videoinfo): New function.
21818 (grub_video_vbe_iterate): Likewise.
21819 (grub_video_vbe_setup): Use vbe2videoinfo.
21820 (grub_video_vbe_print_adapter_specific_info): New function.
21821 (grub_video_vbe_adapter): New fields iterate and
21822 print_adapter_specific_info.
21823 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
21824 All users updated.
21825 (grub_video_mode_info): New field mode_number.
21826 (grub_video_adapter): New fields iterate and
21827 print_adapter_specific_info.
21828
179503f5
TG
218292010-09-13 Tristan Gingold <gingold@free.fr>
218302010-09-13 Robert Millan <rmh.grub@aybabtu.com>
218312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21832
21833 * grub-core/commands/efi/lsefisystab.c: New file.
21834 * grub-core/commands/efi/lssal.c: Likewise.
21835 * grub-core/Makefile.core.def (lsacpi): New module.
21836 (lsefisystab): Likewise.
21837 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
21838 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
21839 (grub_efi_sal_system_table): New struct.
21840 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
21841 (grub_efi_sal_system_table_memory_descriptor): Likewise.
21842 (grub_efi_sal_system_table_platform_features): Likewise.
21843 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
21844 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
21845 (grub_efi_sal_system_table_ap_wakeup): Likewise.
21846 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
21847
cf9827de
VS
218482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21849
21850 Support explicit user claim that a device is BIOS-visible.
21851
21852 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
21853 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
21854 * grub-core/kern/emu/hostdisk.c
21855 (convert_system_partition_to_system_disk): Support mdX.
21856 (find_system_device): New parameter add. All users updated.
21857 (grub_util_biosdisk_is_present): New function.
21858 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
21859 proto.
21860
53f0eb1f
VS
218612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21862
21863 Search hints support.
21864
21865 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
21866 All users updated.
21867
b23ffd70
YB
218682010-09-13 Yves Blusseau <blusseau@zetam.org>
21869
21870 Bash completion script for util commands
21871
21872 * Makefile.am: Add util/bash-completion.d directory
21873 * configure.ac: Likewise.
21874 * util/bash-completion.d/Makefile.am: New file.
21875 * util/bash-completion.d/grub-completion.bash.in: Likewise.
21876
d547dc28
VS
218772010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21878
21879 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
21880 (print_backlog): set backlog_ucs4 and backlog_glyphs.
21881 Reported by: Yves Blusseau.
21882
2fc8ccb9
VS
218832010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21884
21885 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
21886 partition size and offset.
21887
d8a84076
VS
218882010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21889
21890 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
21891
84fb3b3d
VS
218922010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21893
21894 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
21895
768ec2e2
VS
218962010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21897
21898 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
21899 (grub_xvasprintf): Likewise.
21900
4870900f
VS
219012010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21902
21903 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
21904
faca6bec
VS
219052010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21906
21907 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
21908 args ending with NULL.
21909
219102010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
21911
21912 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
21913 pointer.
21914
3c70f225
SJ
219152010-09-11 Szymon Janc <szymon@janc.net.pl>
21916
21917 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
21918
4df7996d
VS
219192010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21920
21921 Shutdown using ACPI.
21922
21923 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
21924 * grub-core/commands/acpihalt.c: New file.
21925 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
21926 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
21927 (grub_acpi_halt): New proto.
21928 (GRUB_ACPI_SLP_EN): New const.
21929 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
21930 (GRUB_ACPI_OPCODE_*): New enum.
21931 (GRUB_ACPI_EXTOPCODE_*): Likewise.
21932
126b4c32
TG
219332010-09-11 Tristan Gingold <gingold@free.fr>
219342010-09-11 Robert Millan <rmh.grub@aybabtu.com>
219352010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21936
21937 * commands/lsacpi.c: New file.
21938 * grub-core/Makefile.core.def (lsacpi): New module.
21939 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
21940 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
21941 (grub_acpi_madt_entry_header): New struct.
21942 (grub_acpi_madt): Likewise.
21943 (grub_acpi_madt_entry_interrupt_override): Likewise.
21944 (grub_acpi_madt_entry_sapic): Likewise.
21945 (grub_acpi_madt_entry_lsapic): Likewise.
21946 (grub_acpi_madt_entry_platform_int_source): Likewise.
21947 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
21948 (PRIuGRUB_UINT32_T): Likewise.
21949 (PRIxGRUB_UINT64_T): Likewise.
21950
1aa4fe88
VS
219512010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21952
21953 Implement loading palette on ieee1275_fb.
21954
21955 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
21956 (have_setcolors): Likewise.
21957 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
21958 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
21959 (grub_video_ieee1275_set_palette): Implement.
21960
25761e13
VS
219612010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
219622010-09-11 Colin Watson <cjwatson@ubuntu.com>
21963
21964 * util/grub-install.in (grub_partition): New variable.
21965 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
21966 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
21967 Fixes a bug reported by Yves Blusseau.
21968
050abaea
VS
219692010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21970
21971 Fix emu on mipsel.
21972
21973 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
21974 =grub_cpu_flush_cache on all mips and not only yeeloong.
21975 * configure.ac (COND_mips): New conditional.
21976 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
21977 platforms.
21978 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
21979 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
21980 [GRUB_LINKER_HAVE_INIT]: New function.
21981 (grub_emu_post_init): Likewise.
21982 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
21983 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
21984 * include/grub/cache.h (_mips): Include mips/cache.h.
21985 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
21986 LVM and RAID prototypes.
21987 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
21988 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
21989 function.
21990
5ed7d816
CW
219912010-09-10 Colin Watson <cjwatson@ubuntu.com>
21992
21993 * util/grub-install.in: Don't try to verify core.img until after
21994 running grub-mkimage to create it.
21995
90367e04
RM
219962010-09-10 Robert Millan <rmh@gnu.org>
21997
21998 * util/grub.d/10_hurd.in: Add misc readability checks.
21999 * util/grub.d/10_kfreebsd.in: Likewise.
22000 * util/grub.d/10_linux.in: Likewise.
22001
c452fa66
CW
220022010-09-10 Colin Watson <cjwatson@ubuntu.com>
22003
22004 * util/grub-install.in: ${imgext} won't be defined here until the
22005 install branch is merged. For the meantime, only verify core.img on
22006 i386-pc and sparc64-ieee1275 platforms.
22007
c38fe9f4
RM
220082010-09-10 Robert Millan <rmh@gnu.org>
22009
22010 Solaris support in grub_find_zpool_from_dir(). Thanks
22011 Seth Goldberg for referring to getextmntent() facility.
22012
22013 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
22014 `sys/mkdev.h'.
22015 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
22016 `<sys/mnttab.h>'.
22017 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
22018 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
22019 method for finding zpool name.
22020
905f7773
CW
220212010-09-10 Colin Watson <cjwatson@ubuntu.com>
22022
22023 grub-fstest needs the host and hostfs modules while other utilities
22024 actively require those modules to be absent, so grub-fstest needs
22025 its own initialisation and finalisation code.
22026
22027 * Makefile.am (grub_fstest.pp): New target.
22028 (grub_fstest_init.lst): Likewise.
22029 (grub_fstest_init.c): Likewise.
22030 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
22031
fb90b546
RM
220322010-09-10 Robert Millan <rmh@gnu.org>
22033
22034 * configure.ac: Check for `struct statfs.f_fstypename' and
22035 `struct statfs.f_mntfromname'.
22036
22037 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
22038 kFreeBSD-specific code.
22039
66d4bea5
RM
220402010-09-10 Robert Millan <rmh@gnu.org>
22041
22042 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
22043 on ZFS. Now non-main filesystems are supported as / too.
22044
b6a690ee
CW
220452010-09-09 Colin Watson <cjwatson@ubuntu.com>
22046
22047 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
22048 and grub-core/disk/host.c to ...
22049 (grub-fstest): ... here. Having the host disk implementation
22050 present confuses grub-probe and other utility programs.
22051
22052 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
22053 when writing to a file, not when writing to stdout.
22054
8901b00c 220552010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
22056
22057 * tests/partmap_test.in: New test for partitions.
22058 * Makefile.util.def: Rules for new test.
22059
7bf45fdd
RM
220602010-09-09 Robert Millan <rmh@gnu.org>
22061
22062 * util/grub-probe.c (probe): Fix a pair of unhandled error
22063 conditions.
22064
4dfbc574
RM
220652010-09-09 Robert Millan <rmh@gnu.org>
22066
22067 Basic Btrfs support (detection and UUID).
22068
22069 * grub-core/fs/btrfs.c: New file.
22070 * Makefile.util.def (library): Register btrfs.c.
22071 * grub-core/Makefile.core.def: Likewise.
22072
6b8e78ae
RM
220732010-09-08 Robert Millan <rmh@gnu.org>
22074
22075 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
22076 with (optional) parameters to specify device and relative path.
22077 * util/grub-install.in: Use is_path_readable_by_grub() to
22078 verify readability of a few critical files.
22079 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
22080 verify readability of grub.cfg.new.
22081
27f21a8b
VS
220822010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22083
22084 Split minix.mod into minix.mod and minix2.mod.
22085
22086 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
22087 * grub-core/Makefile.core.def (minix2): New module.
22088 * grub-core/fs/minix.c: Use definitions instead of runtime version
22089 checking.
22090 * grub-core/fs/minix2.c: New file.
22091
c0e53ea5
YB
220922010-09-08 Yves Blusseau <blusseau@zetam.org>
22093
22094 Add new --boot-directory option to replace --root-directory
22095
22096 * util/grub-install.in: Add new --boot-directory option
22097 * util/grub-reboot.in: Likewise.
22098 * util/grub-set-default.in: Likewise.
22099
b9fe6ea2
YB
221002010-09-08 Yves Blusseau <blusseau@zetam.org>
22101
22102 * util/grub-mkconfig.in: Use new variable.
22103
d87aedff
YB
221042010-09-08 Yves Blusseau <blusseau@zetam.org>
22105
22106 * configure.ac: Define some useful variables.
22107
e55e8495
VS
221082010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22109
22110 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22111 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
22112 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
22113 Use terminfo and don't use cursor-on/cursor-off unless it's known
22114 to work.
22115 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
22116 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
22117
6fa6d675
CW
221182010-09-08 Colin Watson <cjwatson@ubuntu.com>
22119
22120 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
22121 starts with "(,", fill the drive containing the loaded image in
22122 between those two characters, but expect that a full partition
22123 specification including partition map names will follow.
22124
92f2aef0
RM
221252010-09-08 Robert Millan <rmh@gnu.org>
22126
22127 * configure.ac: Remove `--enable-grub-fstest' option.
22128 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
22129
22130 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
22131 `grub-fstest' instead of `grub-probe' for readability verification.
22132 * util/grub-probe.c (probe): Remove readability verification kludge.
22133
99fd620d
RM
221342010-09-08 Robert Millan <rmh@gnu.org>
22135
22136 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
22137 initializing `GRUB_FS'.
22138
058e30ac 221392010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
22140
22141 Not command (!) support to GRUB script.
22142
22143 * tests/grub_script_not.in: New test.
22144 * Makefile.util.def: Rules for new test.
22145
22146 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22147 ! command as a special case.
22148 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
22149
b61d05ed 221502010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22151
058e30ac 22152 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
22153 grub_free.
b61d05ed 22154
4d69c786 221552010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22156
22157 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
22158
aa3119c4 221592010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22160
22161 * docs/grub.texi (Shell-like scripting): Documentation for break,
22162 continue, shift and return commands.
22163
db0f7e3d
VS
221642010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
22165
22166 Rename CD-ROM to cd on BIOS.
22167
22168 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
22169 "cd".
22170 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
22171
88b87c93
VS
221722010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22173
22174 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
22175 * util/grub-probe.c (main): Likewise.
22176 * util/i386/pc/grub-setup.c (main): Likewise.
22177 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
22178 Reported and debugged by: alexxy
22179
294f324d
VS
221802010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22181
22182 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
22183 diagnostic info.
22184
d7ee3441
JS
221852010-09-05 Jo Shields <directhex@apebox.org>
22186
22187 * util/grub.d/30_os-prober.in: Add missing classes.
22188
d7e06c1f
VS
221892010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22190
22191 * docs/grub.texi (Theme file format): Document new position format.
22192
fc157e53
VS
221932010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22194
22195 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
22196 a table. Use @code instead of @verbatim.
22197
506e9a1c
CB
221982010-09-05 Colin D Bennett <colin@gibibit.com>
22199
22200 Gfxmenu documentation.
22201
22202 * docs/grub.texi (Theme file format): New chapter.
22203
f0aff67c
SJ
222042010-09-05 Szymon Janc <szymon@janc.net.pl>
22205
22206 * grub-core/Makefile.core.def (xzio): New module.
22207 * grub-core/io/xzio.c: New file.
22208 * grub-core/lib/xzembed/xz.h: New file (from xembed).
22209 * grub-core/lib/xzembed/xz_config.h: Likewise.
22210 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
22211 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
22212 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
22213 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
22214 * grub-core/lib/xzembed/xz_private.h: Likewise.
22215 * grub-core/lib/xzembed/xz_stream.h: Likewise.
22216 * include/grub/file.h (grub_file_filter_id): New compression filter
22217 GRUB_FILE_FILTER_XZIO.
22218
82a85062
VS
222192010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22220
22221 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
22222 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
22223 size.
22224
3579415d
VS
222252010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22226
22227 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
22228 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
22229
5124ae6d
VS
222302010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22231
22232 Uncompressed checksum support.
22233
22234 * grub-core/commands/hashsum.c (options): Add option --uncompress.
22235 (check_list): New parameter uncompress.
22236 (grub_cmd_hashsum): Handle --uncompress.
22237
9aadb3d1
VS
222382010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22239
22240 Reintroduce testload.
22241
22242 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
22243 from here ...
22244 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
22245 (GRUB_MOD_INIT): New function.
22246 (GRUB_MOD_FINI): Likewise.
22247 * grub-core/Makefile.core.def (testload): New module.
22248
a17792c3
SJ
222492010-09-05 Szymon Janc <szymon@janc.net.pl>
22250
22251 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
22252 (uint8_t): New type.
22253 (uint16_t): Likewise.
22254 (uint32_t): Likewise.
22255 (uint64_t): Likewise.
22256
b81e40a3
SJ
222572010-09-05 Szymon Janc <szymon@janc.net.pl>
22258
22259 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
22260
fc2ef117
VS
222612010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22262
22263 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
22264 Made static.
22265 (grub_gzfile_open): Removed. All users updated.
22266 (GRUB_MOD_INIT): New function.
22267 (GRUB_MOD_FINI): Likewise.
22268 * grub-core/kern/file.c (grub_file_filters_all): New variable.
22269 (grub_file_filters_enabled): Likewise.
22270 (grub_file_open): Handle filters.
22271 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
22272 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
22273 * include/grub/file.h (grub_file_filter_id_t): New type.
22274 (grub_file_filter_t): Likewise.
22275 (grub_file_filters_all): New extern variable.
22276 (grub_file_filters_enabled): Likewise.
22277 (grub_file_filter_register): New inline function.
22278 (grub_file_filter_unregister): Likewise.
22279 (grub_file_filter_disable): Likewise.
22280 (grub_file_filter_disable_compression): Likewise.
22281 * include/grub/gzio.h: Removed.
22282
35ee15e0
BC
222832010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22284
22285 Filename expansion support for wildcards in GRUB script.
22286
22287 * tests/grub_script_expansion.in: New test.
22288 * Makefile.util.def: Rule for new test.
22289
22290 * grub-core/commands/wildcard.c: New file, implements filename
22291 expansion support for GRUB script.
22292 * grub-core/Makefile.core.def: Rule update for regexp.mod.
22293 * grub-core/script/argv.c: Cosmetic changes.
22294 * grub-core/script/execute.c (grub_script_arglist_to_argv):
22295 Refactored to perform wildcard expansion on arguments.
22296 * include/grub/script_sh.h (grub_script_wildcard_translator): New
22297 struct.
22298
22299 * tests/util/grub-shell.in: Fix quoting for read input.
22300
5f0c4aca
BC
223012010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22302
22303 Support for updating environment variables with matched substrings
22304 of regexp.
22305
22306 * tests/grub_cmd_regexp.in: New test.
22307 * Makefile.util.def: Rule for new test.
22308
22309 * grub-core/commands/regexp.c: New option -s to update environment
22310 variables with regexp matches.
22311
3759a35f
SJ
223122010-09-04 Szymon Janc <szymon@janc.net.pl>
22313
22314 * include/grub/file.h (grub_file): New member not_easly_seekable.
22315 (grub_file_seekable): New inline function.
22316 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
22317 easily seekable.
22318 (grub_gzio_open): Set not_easly_seekable.
22319 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
22320 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
22321
ed8c6dec
BC
223222010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22323
22324 Support for options to appear multiple times on cmdline.
22325
22326 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
22327 * grub-core/commands/extcmd.c: Support for repeatable option.
22328 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
22329 repeatable option support.
22330
22331 Refactor menuentry into a regular command.
22332
22333 * grub-core/commands/menuentry.c: New file, menuentry command
22334 implementation.
22335 * grub-core/Makefile.core.def: Rule update for normal.mod.
22336 * grub-core/normal/main.c: Moved menuentry creation to
22337 grub-core/commands/menuentry.c.
22338 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
22339 (grub_menu_execute_entry_real): Removed.
22340 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
22341 function.
22342 (grub_script_execute_menuentry): Removed.
22343 * grub-core/script/parser.y (menuentry): Removed.
22344 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
22345 * grub-core/script/yylex.l (menuentry): Removed.
22346 * include/grub/menu.h (grub_menu_init): New prototype.
22347 (grub_menu_fini): New prototype.
22348 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
22349 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
22350 (grub_script_execute_sourcecode): New prototype.
22351
dacd0cf0
BC
223522010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22353
22354 "return" command for GRUB script functions.
22355
22356 * tests/grub_script_return.in: New test.
22357 * Makefile.util.def: Rules for new test.
22358
22359 * grub-core/script/execute.c (grub_script_return): New function.
22360 * grub-core/script/main.c: Register/unregister return commaond.
22361 * include/grub/script_sh.h (grub_script_return): New prototype.
22362
52e72f9d
BC
223632010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22364
22365 "setparams" command to update positional parameters.
22366
22367 * tests/grub_script_setparams.in: New test.
22368 * Makefile.util.def: Rules for new test.
22369
22370 * grub-core/script/argv.c (grub_script_argv_make): New function.
22371 * grub-core/script/execute.c (replace_scope): New function.
22372 (grub_script_setparams): New function.
22373 * grub-core/script/lexer.c: Remove unused variables.
22374 * grub-core/script/main.c: Register/unregister setparams command.
22375 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
22376 (grub_script_setparams): New prototype.
22377
25b60c91
BC
223782010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22379
22380 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
22381 grub_free order.
22382
37e7bf68
BC
223832010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22384
22385 Support for passing block of commands as an argument to extcmds.
22386
22387 * Makefile.util.def: Rules for new test.
22388 * tests/grub_script_blockarg.in: New test.
22389 * grub-core/tests/test_blockarg.c: New file, block argument
22390 command used in the test.
22391
22392 * include/grub/extcmd.h (grub_extcmd_context): New struct.
22393 (grub_register_extcmd_prio): New function prototype.
22394 (grub_extcmd_dispatcher): New function prototype.
22395 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
22396 type.
22397 * include/grub/script_sh.h (struct grub_script): New members
22398 `children', `next_siblings' and `refcnt' for block arguments and
22399 reference counting.
22400 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
22401 (grub_script_arg): New member `script' for block argument.
22402 (grub_script_argv): New member `script' for block argument.
22403 (grub_parser_param): New member `scripts' for block argument.
22404 (grub_script_mem_free): New extern function prototype.
22405 (grub_script_ref): New function prototype.
22406 (grub_script_unref): New function prototype.
22407
22408 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
22409 extcmd form to support block arguments.
22410 * grub-core/script/argv.c: Block arguments support.
22411 * grub-core/script/execute.c: Likewise.
22412 * grub-core/script/lexer.c: Likewise.
22413 * grub-core/script/main.c: Likewise.
22414 * grub-core/script/script.c: Likewise.
22415 * grub-core/script/parser.y: Likewise. New `block' and `block0'
22416 non-terminals.
22417
22418 * grub-core/commands/acpi.c: Update extcmd implementations with
22419 grub_extcmd_context_t.
22420 * grub-core/commands/cat.c: Likewise.
22421 * grub-core/commands/echo.c: Likewise.
22422 * grub-core/commands/extcmd.c: Likewise.
22423 * grub-core/commands/hashsum.c: Likewise.
22424 * grub-core/commands/hdparm.c: Likewise.
22425 * grub-core/commands/help.c: Likewise.
22426 * grub-core/commands/hexdump.c: Likewise.
22427 * grub-core/commands/i386/cpuid.c: Likewise.
22428 * grub-core/commands/i386/pc/drivemap.c: Likewise.
22429 * grub-core/commands/i386/pc/halt.c: Likewise.
22430 * grub-core/commands/i386/pc/sendkey.c: Likewise.
22431 * grub-core/commands/iorw.c: Likewise.
22432 * grub-core/commands/keystatus.c: Likewise.
22433 * grub-core/commands/loadenv.c: Likewise.
22434 * grub-core/commands/ls.c: Likewise.
22435 * grub-core/commands/lspci.c: Likewise.
22436 * grub-core/commands/memrw.c: Likewise.
22437 * grub-core/commands/probe.c: Likewise.
22438 * grub-core/commands/search_wrap.c: Likewise.
22439 * grub-core/commands/setpci.c: Likewise.
22440 * grub-core/commands/sleep.c: Likewise.
22441 * grub-core/disk/loopback.c: Likewise.
22442 * grub-core/hello/hello.c: Likewise.
22443 * grub-core/loader/i386/bsd.c: Likewise.
22444 * grub-core/loader/xnu.c: Likewise.
22445 * grub-core/term/gfxterm.c: Likewise.
22446 * grub-core/term/serial.c: Likewise.
22447 * grub-core/tests/lib/functional_test.c: Likewise.
22448
888d1500
BC
224492010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22450
22451 Multi-line quoted strings support.
22452
22453 * grub-core/script/lexer.c (append_newline): Removed.
22454 (grub_script_lexer_yywrap): Refactored.
22455 (grub_script_lexer_init): Refactored.
22456 * grub-core/script/yylex.l (yywrap): New function.
22457 (grub_lexer_resplit): New function.
22458 (grub_lexer_unput): New function.
22459 * include/grub/script_sh.h (grub_lexer_param): New members, unput
22460 and resplit.
22461 * tests/grub_script_echo1.in: Added few more testcases.
22462
dda060dd
VS
224632010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22464
22465 * grub-core/kern/misc.c: Don't add abort alias in utils.
22466 Reported by: echoline.
22467
6556eba9
BC
224682010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
22469
22470 Add missing files into "make dist" tarball for other platforms.
22471
22472 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
22473 * conf/Makefile.common (dist_noinst_DATA): New variable.
22474 * conf/Makefile.extra-dist: Added missing make dist files.
22475 * grub-core/Makefile.core.def: Likewise.
22476
c8e7bf5f
VS
224772010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22478
22479 Compress grub_prefix.
22480
22481 * grub-core/boot/i386/pc/lnxboot.S: Use
22482 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
22483 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
22484 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
22485 GRUB_MACHINE_PREFIX_END. All users updated.
22486 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
22487 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
22488 + 0x40.
22489 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
22490 * util/grub-mkimage.c (image_target_desc): Change data_end to
22491 prefix_end. All users updated.
22492
a7c00cdb
VS
224932010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22494
22495 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
22496 value.
22497 (grub_openbsd_boot): Likewise.
22498 (grub_netbsd_boot): Likewise.
22499 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
22500 (grub_xnu_boot): Likewise.
22501
9f915872
VS
225022010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22503
22504 * configure.ac: Clean LIBS variable after tests.
22505
efa1bee7
CW
225062010-09-02 Colin Watson <cjwatson@ubuntu.com>
22507
22508 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
22509
61d720e5
VS
225102010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22511
22512 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
22513 echo if libdevmapper will be used.
22514
ef8e0ec8
IT
225152010-09-02 Ian Turner <Ian.Turner@deshaw.com>
22516
22517 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
22518 constant for the same file.
22519
03e261d8
VS
225202010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22521
22522 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
22523
c2a4eba6
CW
225242010-09-02 Colin Watson <cjwatson@ubuntu.com>
22525
22526 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
22527 grub-core/*.pp.
22528
9056cbf3
CW
225292010-09-02 Colin Watson <cjwatson@ubuntu.com>
22530
22531 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
22532 required by the boot protocol.
22533
22534 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
22535 ebp and edi members.
22536 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
22537 state.ebp and state.edi.
22538 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
22539 %ebp and %edi according to grub_relocator32_ebp and
22540 grub_relocator32_edi respectively.
22541 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
22542 and state.edi.
22543
529cc99a
VS
225442010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22545
22546 Add i386-pc-pxe image target.
22547
22548 * util/grub-mkimage.c (image_target_desc): New enum value
22549 IMAGE_I386_PC_PXE.
22550 (image_targets): New target i386-pc-pxe.
22551 (generate_image): Handle i386-pc-pxe image.
22552
9a093920
VS
225532010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22554
22555 Fix grub_pxe_scan.
22556
22557 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
22558 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
22559 All users updated.
22560 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
22561 (grub_pxe_pxenv): Correct type.
22562
f9cefc4e
CW
225632010-09-01 Colin Watson <cjwatson@ubuntu.com>
22564
22565 * NEWS: Document most of the important changes since 1.98.
22566
4066f57f
CW
225672010-09-01 Colin Watson <cjwatson@ubuntu.com>
22568
22569 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
22570 generated manual page) a little.
22571
da2891f9
CW
225722010-09-01 Colin Watson <cjwatson@ubuntu.com>
22573
22574 * docs/grub.texi: Add myself as an author.
22575
ad717fae
VS
225762010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
22577
22578 * Makefile.util.def (libgrub.a): Add missing sunpc.
22579 Reported by: Seth Goldberg.
22580
eefe8abd
VS
225812010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22582
22583 Interrupt wrapping and code simplifications.
22584
9494ef9a
VS
22585 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
22586 x86_noieee1275 which are functionaly equivalent in this case.
22587 (grub-install): Make source on each platform explicit. Enable on
22588 all noemu.
22589 * gentpl.py (x86_efi_pc): Removed group.
22590 (x86_noefi): Likewise.
22591 (i386_noefi): Likewise.
22592 (x86_noieee1275): Likewise.
22593 (i386_noieee1275): Likewise.
22594 (i386_noefi_noieee1275): Likewise.
22595 (i386_pc_qemu_coreboot): Likewise.
22596 (i386_coreboot_multiboot): Likewise.
22597 (i386_pc_coreboot_multiboot_qemu): Likewise.
22598 (x86_noefi_mips): Likewise.
22599 (noieee1275): Likewise.
22600 (ieee1275_mips): Likewise.
22601 (noemu_noieee1275): Likewise.
22602 (cmos): New group.
22603 (usb): Likewise.
22604 (videoinkernel): Likewise.
22605 (videomodules): Likewise.
eefe8abd 22606 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
22607 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
22608 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
22609 include/grub/loader.h, include/grub/msdos_partition.h,
22610 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
22611 include/grub/machine/console.h, include/grub/machine/vga.h,
22612 include/grub/machine/vbe.h, include/grub/machine/init.h,
22613 include/grub/machine/kernel.h, include/grub/cpu/time.h,
22614 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 22615 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
22616 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
22617 * grub-core/Makefile.core.def (kernel): Explicit the source for
22618 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
22619 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
22620 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
22621 Use videoinkernel tag.
22622 (usb): Enable on all usb.
22623 (usbserial_common): Likewise.
22624 (usbserial_pl2303): Likewise.
22625 (usbserial_ftdi): Likewise.
22626 (uhci): Enable on all x86.
22627 (ohci): Enable on all pci.
22628 (cmostest): Enable on all CMOS.
22629 (acpi): Include commands/acpi.c on all platforms.
22630 (halt): Add relevant lib/*/halt.c.
22631 (hdparm): Enable on all pci.
22632 (lspci): Likewise.
22633 (usbtest): Enable on all usb.
22634 (ata): Enable on all pci.
22635 (ata_pthru): Likewise.
22636 (usbms): Enable on all usb.
22637 (usb_keyboard): Likewise.
22638 (font): Use tag videomodules.
22639 (bufio): Likewise.
22640 (datetime): Use tag cmos. Enable on all noemu.
22641 (mmap): Use tags common and x86.
22642 (gfxterm): Use tag videomodules.
22643 (bitmap): Likewise.
22644 (bitmap_scale): Likewise.
22645 (video_fb): Likewise.
22646 (video): Likewise.
22647 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
22648 adjust padding accordingly. All users updated.
22649 (grub_ohci_transaction): Fix bad format specification.
22650 (GRUB_MOD_INIT): Add asserts for struct size.
22651 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
22652 (grub_alloc_td): Likewise.
22653 (grub_free_queue): Likewise.
22654 (grub_uhci_transfer): Likewise.
22655 (grub_uhci_transaction): Fix bad format specification.
22656 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22657 (grub_usb_bulk_readwrite): Likewise.
22658 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
22659 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
22660 Made static.
22661 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
22662 Made static.
22663 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
22664 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
22665 Transformed into C.
22666 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
22667 Moved from here ...
22668 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
22669 ... here. Transformed into C. Made static.
22670 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
22671 Moved from here ...
22672 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
22673 ... here. Transformed into C. Made static.
22674 * grub-core/kern/i386/pc/startup.S
22675 (grub_biosdisk_check_int13_extensions): Moved from here ...
22676 * grub-core/disk/i386/pc/biosdisk.c
22677 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
22678 Made static.
22679 * grub-core/kern/i386/pc/startup.S
22680 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
22681 * grub-core/disk/i386/pc/biosdisk.c
22682 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
22683 Transformed into C. Made static.
22684 * grub-core/kern/i386/pc/startup.S
22685 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
22686 * grub-core/disk/i386/pc/biosdisk.c
22687 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
22688 Transformed into C. Made static.
22689 * grub-core/kern/i386/pc/startup.S
22690 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
22691 * grub-core/disk/i386/pc/biosdisk.c
22692 (grub_biosdisk_get_diskinfo_standard): ... here.
22693 Transformed into C. Made static.
22694 * grub-core/kern/i386/pc/startup.S
22695 (grub_biosdisk_get_num_floppies): Moved from here ...
22696 * grub-core/disk/i386/pc/biosdisk.c
22697 (grub_biosdisk_get_num_floppies): ... here.
22698 Transformed into C. Made static.
22699 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
22700 New function.
22701 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
22702 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
22703 Transformed into C. Made static.
22704 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
22705 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
22706 Transformed into C. Made static.
22707 * grub-core/kern/i386/ieee1275/init.c: Removed.
22708 * grub-core/kern/i386/misc.S: Likewise.
22709 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
22710 Splitted from here ...
22711 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
22712 Transformed into C. Made static. All users updated.
22713 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
22714 Transformed into C. Made static. All users updated.
22715 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
22716 Moved from here...
22717 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
22718 Transformed into C. Made static. All users updated.
22719 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
22720 Moved from here...
22721 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
22722 Transformed into C. Made static. All users updated.
22723 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
22724 Removed (replaced by C version).
22725 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
22726 Moved from here...
22727 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
22728 Transformed into C. Made static.
22729 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
22730 Moved from here...
22731 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
22732 ... here. Transformed into C.
22733 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
22734 Moved from here...
22735 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
22736 ... here. Transformed into C.
22737 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
22738 Moved from here...
22739 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
22740 ... here. Transformed into C. Made static.
22741 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
22742 Moved from here...
22743 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
22744 ... here. Transformed into C.
21ed554b
VS
22745 * grub-core/kern/i386/pc/startup.S
22746 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
22747 * grub-core/video/i386/pc/vbe.c
22748 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
22749 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
22750 Moved from here...
22751 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
22752 ... here. Transformed into C.
22753 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
22754 Moved from here...
22755 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
22756 ... here. Transformed into C.
22757 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
22758 Moved from here...
22759 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
22760 ... here. Transformed into C.
22761 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
22762 Moved from here...
22763 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
22764 ... here. Transformed into C.
22765 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
22766 Moved from here...
22767 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
22768 ... here. Transformed into C. Made static.
22769 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
22770 Moved from here...
22771 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
22772 ... here. Transformed into C. Made static.
22773 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
22774 Moved from here...
22775 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
22776 ... here. Transformed into C. Made static.
22777 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
22778 pxe_rm_entry as third argument.
22779 (grub_bios_interrupt): New function.
22780 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
22781 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
22782 of calling grub_stop.
22783 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
22784 * grub-core/lib/efi/halt.c (grub_halt): ...here.
22785 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
22786 * grub-core/lib/emu/halt.c (grub_halt): ... here.
22787 * grub-core/lib/i386/halt.c: Moved from here ...
22788 * grub-core/lib/i386/halt.c: ... here.
22789 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
22790 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
22791 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
22792 grub_stop_floppy.
22793 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
22794 * include/grub/i386/coreboot/init.h: Removed.
22795 * include/grub/i386/multiboot/init.h: Likewise.
22796 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
22797 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
22798 * include/grub/i386/pc/int.h: New file.
22799 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
22800 (grub_pxe_scan): Removed.
22801 (grub_pxe_call): Update prototype.
22802 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
22803 prototypes.
22804 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
22805 * include/grub/i386/qemu/init.h: Removed.
22806 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
22807 noreturn.
22808 (grub_halt): Likewise.
22809 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
22810 (grub_reboot): Likewise.
22811 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
22812 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
22813 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
22814
215dd471
RM
228152010-08-30 Robert Millan <rmh@gnu.org>
22816
22817 * NEWS: Document addition of ZFS support in `grub-install' and
22818 `grub-mkconfig'.
22819
ebd65b82
BC
228202010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
22821
22822 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
22823 dprintf output.
22824
11721d19
VS
228252010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22826
22827 Remove leftover embedding of font objects.
22828
22829 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22830 * util/grub-install.in (font): Removed.
22831 * util/grub-mkimage.c (generate_image): Remove font support. All users
22832 updated.
22833
37837d4e
VS
228342010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22835
22836 Remove leftover embedding of font objects.
22837
22838 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22839 * util/grub-install.in (font): Removed.
22840 * util/grub-mkimage.c (generate_image): Remove font support. All users
22841 updated.
22842
b4c1aae0
VS
228432010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22844
22845 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 22846 Reported by: Ian Turner
b4c1aae0 22847
8920a08d
VS
228482010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22849
22850 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
22851 timeout to avoid indefinite boot stalling.
22852
f21db033
VS
228532010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22854
22855 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
22856 (grub_env_write_color_highlight): Likewise.
22857
9a9de209
VS
228582010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22859
22860 * grub-core/normal/term.c (print_more): Return to normal and not
22861 to standard state after printing "---MORE---".
22862
3dca01d7
VS
228632010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22864
22865 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
22866 Mask out the bit 0x80 since it has other meaning that specifiing color.
22867
0b986c40
VS
228682010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22869
22870 New relocator. Allows for more kernel support and more straightforward
22871 loader writing.
22872
22873 * Makefile.am (BOOTTARGET): New variable.
22874 (QEMU32): Likewise.
22875 (linux.init.x86_64): New target.
22876 (linux.init.i386): Likewise.
22877 (multiboot.elf): Likewise.
22878 (kfreebsd.elf): Likewise.
22879 (kfreebsd.aout): Likewise.
22880 (pc-chainloader.elf): Likewise.
22881 (pc-chainloader.bin): Likewise.
22882 (ntldr.elf): Likewise.
22883 (ntldr.bin): Likewise.
22884 (multiboot2.elf): Likewise.
22885 (kfreebsd.init.x86_64): Likewise.
22886 (kfreebsd.init.i386): Likewise.
22887 (knetbsd.init.i386): Likewise.
22888 (kopenbsd.init.i386): Likewise.
22889 (knetbsd.init.x86_64): Likewise.
22890 (kopenbsd.init.x86_64): Likewise.
22891 (linux-initramfs.i386): Likewise.
22892 (linux-initramfs.x86_64): Likewise.
22893 (kfreebsd-mfsroot.i386.img): Likewise.
22894 (knetbsd.image.i386): Likewise.
22895 (kopenbsd.image.i386): Likewise.
22896 (kopenbsd.image.x86_64): Likewise.
22897 (knetbsd.miniroot-image.i386.img): Likewise.
22898 (kfreebsd-mfsroot.x86_64.img): Likewise.
22899 (knetbsd.image.x86_64): Likewise.
22900 (knetbsd.miniroot-image.x86_64.img): Likewise.
22901 (kfreebsd-mfsroot.i386.gz): Likewise.
22902 (bootcheck-kfreebsd-i386): Likewise.
22903 (kfreebsd-mfsroot.x86_64.gz): Likewise.
22904 (bootcheck-kfreebsd-x86_64): Likewise.
22905 (knetbsd.miniroot-image.i386.gz): Likewise.
22906 (bootcheck-knetbsd-i386): Likewise.
22907 (bootcheck-kopenbsd-i386): Likewise.
22908 (bootcheck-kopenbsd-x86_64): Likewise.
22909 (knetbsd.miniroot-image.x86_64.gz): Likewise.
22910 (bootcheck-knetbsd-x86_64): Likewise.
22911 (bootcheck-linux-i386): Likewise.
22912 (bootcheck-linux-x86_64): Likewise.
22913 (bootcheck-linux16-i386): Likewise.
22914 (bootcheck-linux16-x86_64): Likewise.
22915 (bootcheck-multiboot): Likewise.
22916 (bootcheck-multiboot2): Likewise.
22917 (bootcheck-kfreebsd-aout): Likewise.
22918 (bootcheck-pc-chainloader): Likewise.
22919 (bootcheck-ntldr): Likewise.
22920 (CLEANFILES): Add new targets.
22921 (BOOTCHECKS): New variable.
22922 (.PHONY): Add bootchecks.
22923 (SUCCESSFUL_BOOT_STRING): New variable.
22924 (BOOTCHECK_TIMEOUT): Likewise.
22925 (bootcheck): New target
22926 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
22927 * configure.ac: Correct efiemu excuse.
22928 * docs/grub.texi (Supported kernels): New chapter.
22929 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
22930 include/grub/mm_private.h. Simplify inclusion of
22931 include/grub/boot.h, include/grub/loader.h
22932 and include/grub/msdos_partition.h
22933 (KERNEL_HEADER_FILES) [i386_coreboot]:
22934 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
22935 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
22936 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
22937 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
22938 include/grub/machine/loader.h.
22939 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
22940 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
22941 extra_dist.
22942 (pci.mod): Enable on i386-multiboot.
22943 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
22944 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
22945 i386-qemu.
22946 (relocator.mod): Rewritten.
22947 (aout.mod): Enable on all x86.
22948 (bsd.mod): Likewise.
22949 (ntldr.mod): New module.
22950 (linux.mod): Use loader/i386/linux.c on all x86.
22951 (xnu.mod): Enable on all x86.
22952 (vga_text.mod): disable on EFI and QEMU.
22953 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
22954 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
22955 * grub-core/efiemu/loadcore.c: Likewise.
22956 * grub-core/efiemu/main.c: Likewise.
22957 (grub_efiemu_exit_boot_services): Removed.
22958 (grub_efiemu_finish_boot_services): Likewise.
22959 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
22960 function.
22961 * grub-core/efiemu/i386/nocfgtables.c: New file.
22962 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
22963 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
22964 (grub_efi_finish_boot_services): Moved from here ...
22965 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
22966 Fille finish memory map and related data.
22967 (finish_mmap_buf): New variable.
22968 (grub_efi_uintn_t finish_mmap_size): Likewise.
22969 (grub_efi_uintn_t finish_key): Likewise.
22970 (grub_efi_uintn_t finish_desc_size): Likewise.
22971 (grub_efi_uint32_t finish_desc_version): Likewise.
22972 (grub_efi_is_finished): Likewise.
22973 (grub_efi_get_memory_map): Use saved memory map if EFI is already
22974 finished.
22975 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
22976 (grub_elf64_phdr_iterate): Likewise.
22977 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
22978 (grub_os_area_size): Likewise.
22979 (grub_machine_init): Don't reserve os area.
22980 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
22981 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
22982 * grub-core/kern/i386/loader.S: Removed.
22983 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
22984 (grub_os_area_size): Likewise.
22985 (grub_machine_init): Don't reserve os area.
22986 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
22987 Don't call grub_dl_unload_all.
22988 Don't include loader.S.
22989 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
22990 Declare the memory after _end as available.
22991 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 22992 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 22993 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
22994 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
22995 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
22996 * include/grub/mm_private.h (grub_mm_header): ... here.
22997 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
22998 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
22999 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
23000 (grub_mm_region): ..here. Removed addr. Added pre_size.
23001 All users updated.
23002 * grub-core/kern/mm.c (base): Renamed to ...
23003 (grub_mm_base): ... this. Made global.
23004 (grub_real_malloc): Alloc from end of region.
23005 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
23006 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
23007 * grub-core/kern/powerpc/cache_flush.S: ... here.
23008 * grub-core/lib/efi/relocator.c: New file.
23009 * grub-core/lib/i386/relocator.c: Rewritten.
23010 * grub-core/lib/i386/relocator16.S: New file.
23011 * grub-core/lib/i386/relocator32.S: Likewise.
23012 * grub-core/lib/i386/relocator64.S: Likewise.
23013 * grub-core/lib/i386/relocator_asm.S: Rewritten.
23014 * grub-core/lib/i386/relocator_common.S: New file.
23015 * grub-core/lib/ieee1275/relocator.c: Likewise.
23016 * grub-core/lib/mips/relocator.c: Rewritten.
23017 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
23018 stylistic adjustments.
23019 * grub-core/lib/powerpc/relocator.c: New file.
23020 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
23021 * grub-core/lib/relocator.c: Rewritten.
23022 * grub-core/lib/x86_64/relocator_asm.S: New file.
23023 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
23024 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
23025 (bsd_tag): New struct.
23026 (tags): New variable.
23027 (tags_last): Likewise.
23028 (netbsd_module): New struct.
23029 (netbsd_mods): New variable.
23030 (netbsd_mods_last): Likewise.
23031 (openbsd_opts): New parameter "serial".
23032 (OPENBSD_SERIAL_ARG): New definition.
23033 (netbsd_opts): New parameter "serial".
23034 (NETBSD_SERIAL_ARG): New definition.
23035 (grub_freebsd_add_meta): Reorganised into ...
23036 (grub_bsd_add_meta): ...this. All users updated.
23037 (grub_freebsd_add_mmap): Reorganised into ...
23038 (generate_e820_mmap): ...this...
23039 (grub_bsd_add_mmap): ...and this. All users updated.
23040 (grub_freebsd_list_modules): Use tags.
23041 (grub_netbsd_add_meta_module): New function.
23042 (grub_netbsd_list_modules): Likewise.
23043 (grub_freebsd_boot): Use relocator and finish EFI.
23044 (grub_openbsd_boot): Likewise.
23045 (grub_netbsd_setup_video): New function.
23046 (grub_netbsd_add_modules): Likewise.
23047 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
23048 and finish EFI.
23049 (grub_bsd_unload): Unload tags.
23050 (grub_bsd_load_aout): Use relocator.
23051 (grub_bsd_elf32_size_hook): New function.
23052 (grub_bsd_elf32_hook): Use relocator.
23053 (grub_bsd_elf64_size_hook): New function.
23054 (grub_bsd_elf64_hook): Use relocator.
23055 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
23056 (grub_bsd_load): Zero-out openbsd_ramdisk.
23057 (grub_bsd_load): Use relocator.
23058 (grub_cmd_openbsd): Support serial.
23059 (grub_cmd_netbsd): Support modules.
23060 (grub_cmd_freebsd_module): Use relocator.
23061 (grub_netbsd_module_load): New function.
23062 (grub_cmd_netbsd_module): Likewise.
23063 (grub_cmd_openbsd_ramdisk): Likewise.
23064 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
23065 kopenbsd_ramdisk.
23066 (GRUB_MOD_FINI): Unregister new commands.
23067 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
23068 (grub_freebsd_load_elfmodule_obj): Use relocator.
23069 (grub_freebsd_load_elfmodule): Likewise.
23070 (grub_freebsd_load_elf_meta): Likewise.
23071 (grub_netbsd_load_elf_meta): New function.
23072 (grub_openbsd_find_ramdisk): Likewise.
23073 * grub-core/loader/i386/bsd_helper.S: Removed.
23074 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
23075 * grub-core/loader/i386/bsd_trampoline.S: Removed.
23076 * grub-core/loader/i386/efi/linux.c: Likewise.
23077 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
23078 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
23079 (DEFAULT_VIDEO_MODE): Likewise.
23080 (real_mode_target): New variable.
23081 (prot_mode_target): Likewise.
23082 (initrd_mem_target): Likewise.
23083 (relocator): Likewise.
23084 (efi_mmap_buf): Likewise.
23085 (efi_mmap_size): Likewise.
23086 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
23087 (free_pages): Use relocator.
23088 (allocate_pages): Account for efi_mmap and use relocator. Return error.
23089 (grub_linux_setup_video): Return error.
23090 (grub_linux_trampoline_start): Removed.
23091 (grub_linux_trampoline_end): Likewise.
23092 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
23093 andd video parameters depending on firmware.
23094 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
23095 [GRUB_MACHINE_EFI]: Pass EFI parameters.
23096 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
23097 (grub_cmd_initrd): Use relocator.
23098 * grub-core/loader/i386/linux_trampoline.S: Removed.
23099 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
23100 (elf_sec_entsize): Likewise.
23101 (elf_sec_shstrndx): Likewise.
23102 (elf_sections): Likewise.
23103 (grub_multiboot_load): Use relocator.
23104 (grub_multiboot_get_mbi_size): Account for sections.
23105 (grub_multiboot_make_mbi): Use relocator and support sections.
23106 (grub_multiboot_add_elfsyms): New function.
23107 (grub_multiboot_free_mbi): Free sections.
23108 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
23109 (grub_linux_real_target): Likewise.
23110 (grub_linux_real_chunk): Likewise.
23111 (grub_linux16_prot_size): Likewise.
23112 (grub_linux16_boot): Use relocator.
23113 (grub_linux_unload): Unload relocator.
23114 (grub_cmd_linux): Use relocator.
23115 (grub_cmd_initrd): Likewise.
23116 * grub-core/loader/i386/pc/ntldr.c: New file.
23117 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
23118 Don't try to guess CPU frequency.
23119 (grub_xnu_set_video): Stretch bitmap.
23120 (grub_xnu_boot): Use relocator.
23121 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
23122 (grub_linux_unload): Free relocator.
23123 (grub_linux_load32): Use relocator.
23124 (grub_linux_load64): Likewise.
23125 (grub_cmd_initrd): Likewise.
23126 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
23127 (grub_multiboot_unload): Unload relocator.
23128 (grub_cmd_multiboot): Use relocator.
23129 (grub_cmd_module): Likewise.
23130 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
23131 Use relocator and support sections.
23132 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
23133 (elf_sec_entsize): Likewise.
23134 (elf_sec_shstrndx): Likewise.
23135 (elf_sections): Likewise.
23136 (grub_multiboot_load): Use relocator.
23137 (grub_multiboot_get_mbi_size): Account for sections.
23138 (grub_multiboot_make_mbi): Use relocator and support sections.
23139 (grub_multiboot_add_elfsyms): New function.
23140 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
23141 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
23142 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
23143 Prototype changed. All users updated.
23144 (grub_xnu_align_heap): Simplified.
23145 (grub_xnu_writetree_toheap): Likewise.
23146 (grub_xnu_unload): Unload relocator.
23147 (grub_cmd_xnu_kernel): Use relocator.
23148 (grub_cmd_xnu_kernel64): Likewise.
23149 (grub_xnu_register_memory): Simplified.
23150 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
23151 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
23152 EFI is finished.
23153 (grub_console_checkkey): Likewise.
23154 (grub_console_getkey): Likewise.
23155 (grub_console_getwh): Likewise.
23156 (grub_console_getxy): Likewise.
23157 (grub_console_gotoxy): Likewise.
23158 (grub_console_cls): Likewise.
23159 (grub_console_setcolorstate): Likewise.
23160 (grub_console_setcursor): Likewise.
23161 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
23162 * grub-core/tests/boot/kbsd.init-i386.S: New file.
23163 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
23164 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
23165 * grub-core/tests/boot/kernel-8086.S: Likewise.
23166 * grub-core/tests/boot/kernel-i386.S: Likewise.
23167 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
23168 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
23169 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
23170 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
23171 * grub-core/tests/boot/knetbsd.cfg: Likewise.
23172 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
23173 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
23174 * grub-core/tests/boot/linux.cfg: Likewise.
23175 * grub-core/tests/boot/linux.init-i386.S: Likewise.
23176 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
23177 * grub-core/tests/boot/linux16.cfg: Likewise.
23178 * grub-core/tests/boot/multiboot.cfg: Likewise.
23179 * grub-core/tests/boot/multiboot2.cfg: Likewise.
23180 * grub-core/tests/boot/ntldr.cfg: Likewise.
23181 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
23182 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
23183 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
23184 New definition.
23185 * include/grub/dl.h (grub_dl_unload_all): Removed.
23186 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
23187 (grub_efi_finish_boot_services): Change prototype.
23188 (grub_efi_is_finished): New variable.
23189 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
23190 Changed prototype.
23191 (grub_efiemu_finish_boot_services): Removed.
23192 (grub_machine_efiemu_init_tables): New prototype.
23193 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
23194 (grub_elf64_phdr_iterate): Likewise.
23195 * include/grub/i386/bsd.h: Include relocator.h.
23196 (freebsd_tag_header): New struct.
23197 (grub_openbsd_bios_mmap): Removed.
23198 (grub_unix_real_boot): Removed.
23199 (grub_freebsd_load_elfmodule32): Changed prototype.
23200 (grub_freebsd_load_elfmodule_obj64): Likewise.
23201 (grub_freebsd_load_elf_meta32): Likewise.
23202 (grub_freebsd_load_elf_meta64): Likewise.
23203 (grub_freebsd_add_meta): Removed.
23204 (grub_netbsd_load_elf_meta32): New prototype.
23205 (grub_netbsd_load_elf_meta64): Likewise.
23206 (grub_bsd_add_meta): Likewise.
23207 (grub_openbsd_ramdisk_descriptor): New struct.
23208 (grub_openbsd_find_ramdisk32): New prototype.
23209 (grub_openbsd_find_ramdisk64): Likewise.
23210 * include/grub/i386/coreboot/loader.h: Removed.
23211 * include/grub/i386/efi/loader.h: Likewise.
23212 * include/grub/i386/ieee1275/loader.h: Likewise.
23213 * include/grub/i386/linux.h (linux_kernel_header): Change void *
23214 to grub_uint32_t.
23215 * include/grub/i386/loader.h: Removed.
23216 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
23217 value.
23218 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
23219 (grub_phys_addr_t): New type.
23220 (grub_vtop): New inline function.
23221 (grub_map_memory): Likewise.
23222 (grub_unmap_memory): Likewise.
23223 * include/grub/i386/multiboot/loader.h: Removed.
23224 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
23225 (NETBSD_BTINFO_CONSOLE): New definition.
23226 (NETBSD_BTINFO_SYMTAB): Likewise.
23227 (NETBSD_BTINFO_MODULES): Likewise.
23228 (NETBSD_BTINFO_FRAMEBUF): Likewise.
23229 (grub_netbsd_bootinfo): New struct.
23230 (grub_netbsd_btinfo_common): Use explicit bitsize.
23231 (grub_netbsd_btinfo_mmap_entry): Removed.
23232 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
23233 (grub_netbsd_btinfo_bootdisk): New struct.
23234 (grub_netbsd_btinfo_symtab): Likewise.
23235 (grub_netbsd_btinfo_serial): Likewise.
23236 (grub_netbsd_btinfo_modules): Likewise.
23237 (grub_netbsd_btinfo_framebuf): Likewise.
23238 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
23239 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
23240 Likewise.
23241 (grub_openbsd_bootargs): Use explicit bitsize.
23242 (grub_openbsd_bootarg_console): New struct.
23243 (GRUB_OPENBSD_COM_MAJOR): New definition.
23244 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
23245 * include/grub/i386/pc/efiemu.h: Removed.
23246 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
23247 * include/grub/i386/qemu/loader.h: Removed.
23248 * include/grub/i386/relocator.h: Rewritten.
23249 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
23250 * include/grub/mips/memory.h: New file.
23251 * include/grub/mips/multiboot.h: Rewritten.
23252 * include/grub/mips/relocator.h: Rewritten.
23253 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
23254 (grub_vtop): New function.
23255 (grub_map_memory): Likewise.
23256 (grub_unmap_memory): Likewise.
23257 * include/grub/misc.h (ALIGN_DOWN): New definition.
23258 * include/grub/mm.h (grub_mm_check_real): New proto.
23259 (GRUB_MM_CHECK): New definition.
23260 * include/grub/mm_private.h: New file.
23261 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
23262 (grub_multiboot_get_mbi_size): Removed.
23263 (grub_multiboot_make_mbi): Change prottype.
23264 (grub_multiboot_set_accepts_video): New proto.
23265 (grub_multiboot_add_elfsyms): Likewise.
23266 (grub_multiboot_payload_eip): New variable.
23267 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
23268 New prototype.
23269 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
23270 New definition.
23271 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
23272 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
23273 * include/grub/powerpc/ieee1275/loader.h: Removed.
23274 * include/grub/powerpc/memory.h: New file.
23275 * include/grub/powerpc/relocator.h: Likewise.
23276 * include/grub/relocator.h: Likewise.
23277 * include/grub/relocator_private.h: Likewise.
23278 * include/grub/sparc64/ieee1275/loader.h: Removed.
23279 * include/grub/x86_64/memory.h: New file.
23280 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
23281 (grub_xnu_heap_malloc): Likewise.
23282 (grub_xnu_heap_real_start): Removed.
23283 (grub_xnu_heap_start): Likewise.
23284 (grub_xnu_relocator): New variable.
23285 (grub_xnu_heap_target_start): Likewise.
23286 * tests/util/grub-shell.in: Support non-pc.
23287 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 23288
5303b85d
VS
232892010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23290
23291 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
23292 on malloc error.
23293 (grub_bidi_logical_to_visual): Check that malloc succeded.
23294 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
23295 puts.
23296 (grub_xputs_normal): Likewise.
23297
d768d159
VS
232982010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23299
23300 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
23301 extra_dist.
23302
233032010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23304
23305 * grub-core/efiemu/runtime/efiemu.sh: Removed.
23306
5bf84df4
VS
233072010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23308
23309 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
23310
3626810e
VS
233112010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23312
23313 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
23314 dprintf.
23315
a7363f53
BC
233162010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
23317
23318 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
23319
902f75f6
VS
233202010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23321
23322 * grub-core/normal/term.c (print_more): Fix a memory leak.
23323 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
23324 (grub_xputs_normal): Likewise.
23325
3c707967
VS
233262010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23327
23328 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
23329 the begining of the string
23330
2053cc07
VS
233312010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23332
23333 * grub-core/script/script.c (grub_script_parse): Free parsed on
23334 failure.
23335
46422ebf
VS
233362010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23337
23338 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
23339 on failure.
23340
9e0fa3f6
VS
233412010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23342
23343 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
23344 return.
23345
3393cf16
VS
233462010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23347
23348 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
23349 (scroll_up): Fix a memory leak.
23350
b17540cb
VS
233512010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23352
23353 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
23354 errors.
23355
67140446
VS
233562010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
23357
23358 Handle USB pendrives exposed as floppies.
23359
23360 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
23361 floppy.
23362 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
23363 Check for partitions on all devices.
23364
e35e46fc
VS
233652010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23366
23367 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
23368 (readkey): Likewise.
23369
d24c6190
BC
233702010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
23371
23372 Multiple variable names support to "export" command.
23373
23374 * normal/context.c (grub_cmd_export): "export" command supports
23375 multiple variable names.
23376
04ddcc6a
ST
233772010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
23378
23379 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
23380 --target=drive output to Mach device name.
23381
0c8b61d8
BC
233822010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23383
23384 New Automake based build system for GRUB.
23385
23386 * ABOUT-NLS: New file.
23387 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
23388 in Makefile.util.def file.
23389 * Makefile.util.def: New file. Autogen build definitions file for
23390 GRUB host utils.
23391 * conf/Makefile.common: New file. Common variables for GRUB host
23392 utils and target modules.
23393 * conf/Makefile.extra-dist: New file. Extra files for make dist.
23394 * docs/Makefile.am: New file. Automake file for docs.
23395 * gentpl.py: New file. Python script to generate Autogen
23396 template.
23397 * grub-core/Makefile.am: New file. GRUB target modules' rules
23398 that doesn't fit in Makefile.core.def file.
23399 * grub-core/Makefile.core.def: New file. Autogen build
23400 definitions file for GRUB target modules.
23401 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
23402 specific setjmp.S file.
23403 * po/Makefile.am: New file.
23404
23405 * .bzrignore: New ignores.
23406 * INSTALL: New requirements, without Ruby.
23407 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
23408 * autogen.sh: Updated to invoke autogen as necessary.
23409 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
23410 and defines for Automake conditionals.
23411 * geninit.sh: Refactoring.
23412
23413 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
23414 necessary.
23415 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
23416 New prototype.
23417
23418 * include/grub/test.h: Fix functional test modules' naming.
23419 * grub-core/tests/example_functional_test.c: Fix test module name.
23420
23421 * util/misc.c: Hosted versions' of grub functions for libgrub.a
23422 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
23423 * util/grub-editenv.c: Likewise.
23424 * util/grub-fstest.c: Likewise.
23425 * util/grub-mkdevicemap.c: Likewise.
23426 * util/grub-mkfont.c: Likewise.
23427 * util/grub-mkimage.c: Likewise.
23428 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23429 * util/grub-probe.c: Likewise.
23430 * util/grub-script-check.c: Likewise.
23431 * util/i386/pc/grub-setup.c: Likewise.
23432 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23433
23434 * tests/util/grub-shell.in: Fix override directory path.
23435 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
23436 * util/import_gcry.py: Create Makefile.gcry.def file instead.
23437
23438 * util/lvm.c: Update #includes.
23439 * util/raid.c: Likewise.
23440 * util/resolve.c: Likewise.
23441 * grub-core/bus/emu/pci.c: Likewise.
23442 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
23443 * grub-core/lib/posix_wrap/string.h: Likewise.
23444 * grub-core/kern/emu/main.c: Likewise.
23445
23446 * grub-core/gensymlist.sh: New file. Script for generating kernel
23447 symbols file.
23448 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
23449
23450 * grub-core/gentrigtables.c: Fix unused variable warnings.
23451
23452 * Makefile.in: Removed.
23453 * conf/any-emu.rmk: Removed.
23454 * conf/common.rmk: Removed.
23455 * conf/i386-coreboot.rmk: Removed.
23456 * conf/i386-efi.rmk: Removed.
23457 * conf/i386-ieee1275.rmk: Removed.
23458 * conf/i386-multiboot.rmk: Removed.
23459 * conf/i386-pc.rmk: Removed.
23460 * conf/i386-qemu.rmk: Removed.
23461 * conf/i386.rmk: Removed.
23462 * conf/mips-yeeloong.rmk: Removed.
23463 * conf/mips.rmk: Removed.
23464 * conf/powerpc-ieee1275.rmk: Removed.
23465 * conf/sparc64-ieee1275.rmk: Removed.
23466 * conf/tests.rmk: Removed.
23467 * conf/x86-efi.rmk: Removed.
23468 * conf/x86_64-efi.rmk: Removed.
23469 * gendistlist.sh: Removed.
23470 * geninitheader.sh: Removed.
23471 * genkernsyms.sh.in: Removed.
23472 * genmk.rb: Removed.
23473 * gensymlist.sh.in: Removed.
23474 * mkinstalldirs: Removed.
23475 * boot: Moved ...
23476 * grub-core/boot: ... to here.
23477 * bus: Moved ...
23478 * grub-core/bus: ... to here.
23479 * commands: Moved ...
23480 * grub-core/commands: ... to here.
23481 * disk: Moved ...
23482 * grub-core/disk: ... to here.
23483 * efiemu: Moved ...
23484 * grub-core/efiemu: ... to here.
23485 * font: Moved ...
23486 * grub-core/font: ... to here.
23487 * fs: Moved ...
23488 * grub-core/fs: ... to here.
23489 * gencmdlist.sh: Moved ...
23490 * grub-core/gencmdlist.sh: ... to here.
23491 * genemuinit.sh: Moved ...
23492 * grub-core/genemuinit.sh: ... to here.
23493 * genemuinitheader.sh: Moved ...
23494 * grub-core/genemuinitheader.sh: ... to here.
23495 * genfslist.sh: Moved ...
23496 * grub-core/genfslist.sh: ... to here.
23497 * genhandlerlist.sh: Moved ...
23498 * grub-core/genhandlerlist.sh: ... to here.
23499 * genmoddep.awk: Moved ...
23500 * grub-core/genmoddep.awk: ... to here.
23501 * genmodsrc.sh: Moved ...
23502 * grub-core/genmodsrc.sh: ... to here.
23503 * genpartmaplist.sh: Moved ...
23504 * grub-core/genpartmaplist.sh: ... to here.
23505 * genparttoollist.sh: Moved ...
23506 * grub-core/genparttoollist.sh: ... to here.
23507 * genterminallist.sh: Moved ...
23508 * grub-core/genterminallist.sh: ... to here.
23509 * gentrigtables.c: Moved ...
23510 * grub-core/gentrigtables.c: ... to here.
23511 * genvideolist.sh: Moved ...
23512 * grub-core/genvideolist.sh: ... to here.
23513 * gettext: Moved ...
23514 * grub-core/gettext: ... to here.
23515 * gfxmenu: Moved ...
23516 * grub-core/gfxmenu: ... to here.
23517 * gnulib: Moved ...
23518 * grub-core/gnulib: ... to here.
23519 * hello: Moved ...
23520 * grub-core/hello: ... to here.
23521 * hook: Moved ...
23522 * grub-core/hook: ... to here.
23523 * io: Moved ...
23524 * grub-core/io: ... to here.
23525 * kern: Moved ...
23526 * grub-core/kern: ... to here.
23527 * lib: Moved ...
23528 * grub-core/lib: ... to here.
23529 * loader: Moved ...
23530 * grub-core/loader: ... to here.
23531 * mmap: Moved ...
23532 * grub-core/mmap: ... to here.
23533 * normal: Moved ...
23534 * grub-core/normal: ... to here.
23535 * partmap: Moved ...
23536 * grub-core/partmap: ... to here.
23537 * parttool: Moved ...
23538 * grub-core/parttool: ... to here.
23539 * script: Moved ...
23540 * grub-core/script: ... to here.
23541 * term: Moved ...
23542 * grub-core/term: ... to here
23543 * tests/example_functional_test.c: Moved ...
23544 * grub-core/tests/example_functional_test.c: ... to here.
23545 * tests/lib/functional_test.c: Moved ...
23546 * grub-core/tests/lib/functional_test.c: ... to here.
23547 * tests/lib/test.c: Moved ...
23548 * grub-core/tests/lib/test.c: ... to here.
23549 * video: Moved ...
23550 * grub-core/video: ... to here.
23551
645586e6
BC
235522010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23553
23554 Replace --enable-grub-emu-modules with grub-emu-lite.
23555
23556 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
23557 cache.S.
23558
23559 * include/grub/emu/misc.h (grub_emu_init): New prototype.
23560 * kern/emu/full.c: New file. For grub-emu specific initialization.
23561 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
23562 * kern/emu/main.c: Call initialization function grub_emu_init.
23563
23564 * Makefile.in: Include grub-emu-lite in install.
23565 * commands/parttool.c: Use grub_no_autoload to differentiate
23566 between grub-emu and grub-emu-lite.
23567 * include/grub/misc.h: New variable grub_no_autoload.
23568
23569 * conf/any-emu.rmk: New rules for grub-emu-lite.
23570 * configure.ac: Remove --enable-grub-emu-modules.
23571 * genmk.rb: Cleanup unnecessary rules.
23572 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
23573
23574 * normal/main.c: Don't load list files on grub-emu-lite.
23575 * util/misc.c (grub_arch_sync_caches): Removed.
23576
f86a4030
CW
235772010-08-23 Colin Watson <cjwatson@ubuntu.com>
23578
23579 * kern/mips/startup.S (grub_prefix): Update comment to refer to
23580 grub-mkimage rather than grub-mkelfimage.
23581 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
23582
06776944
VS
235832010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23584
23585 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
23586 a key after CapsLock or NumLock. It's just a qemu bug.
23587
df262419
VS
235882010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23589
23590 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
23591 needed by libusb wrapper.
23592
b40ea81b
ST
235932010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23594
23595 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
23596
dee50575
VS
235972010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23598
23599 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
23600 --nounzip is passed.
23601
fb1d7b79
VS
236022010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
23603
23604 USB hotunplugging and USB serial support.
23605
23606 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
23607 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
23608 (grub_uhci_transfer): Respect timeout and set *actual.
23609 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
23610 non-standard length.
23611 (grub_usb_device_attach): Autoload modules.
23612 (GRUB_MOD_INIT): Set grub_term_poll_usb.
23613 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
23614 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
23615 users updated.
23616 (grub_usb_add_hub): Fill nports and children.
23617 (attach_root_port): Receive hub instead of controller.
23618 All users updated. Fill hub->devices.
23619 (grub_usb_root_hub): Allocate hub->devices.
23620 (detach_device): New function.
23621 (poll_nonroot_hub): Fill children and detach devices.
23622 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
23623 actual arguments. All users updated.
23624 (grub_usb_bulk_read_extended): New function.
23625 * bus/usb/serial/common.c: New file.
23626 * bus/usb/serial/ftdi.c: Likewise.
23627 * bus/usb/serial/pl2303.c: Likewise.
23628 * commands/terminal.c (handle_command): Support wildcard.
23629 * commands/usbtest.c: Output "Unknown" instead of empty string.
23630 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
23631 (usbserial_common_mod_SOURCES): New variable.
23632 (usbserial_common_mod_CFLAGS): Likewise.
23633 (usbserial_common_mod_LDFLAGS): Likewise.
23634 (pkglib_MODULES): Add usbserial_pl2303.mod.
23635 (usbserial_pl2303_mod_SOURCES): New variable.
23636 (usbserial_pl2303_mod_CFLAGS): Likewise.
23637 (usbserial_pl2303_mod_LDFLAGS): Likewise.
23638 (pkglib_MODULES): Add usbserial_ftdi.mod.
23639 (usbserial_ftdi_mod_SOURCES): New variable.
23640 (usbserial_ftdi_mod_CFLAGS): Likewise.
23641 (usbserial_ftdi_mod_LDFLAGS): Likewise.
23642 (pkglib_MODULES): Add serial.mod.
23643 (serial_mod_SOURCES): New variable.
23644 (serial_mod_CFLAGS): Likewise.
23645 (serial_mod_LDFLAGS): Likewise.
23646 * conf/i386-pc.rmk: Likewise.
23647 * conf/mips-yeeloong.rmk: Likewise.
23648 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
23649 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23650 * disk/usbms.c (first_available_slot): New variable.
23651 (grub_usbms_attach): Don't reuse free slots due to potential cache
23652 problems.
23653 * include/grub/serial.h: Moved to ..
23654 * include/grub/ns8250.h: ...this.
23655 * include/grub/serial.h: New file.
23656 * include/grub/term.h (grub_term_poll_usb): New variable.
23657 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
23658 readkey. All users updated.
23659 (grub_terminfo_output_state): Pass term to put.
23660 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
23661 (grub_usb_controller_dev): Add timeout and actual arguments to
23662 transfer. All users updated.
23663 (grub_usb_interface): New field detach_data.
23664 (grub_usb_device): New fields children and nports.
23665 (grub_usb_ep_type_t): New type.
23666 (grub_usb_get_ep_type): New function.
23667 (grub_usb_bulk_read_extended): Likewise.
23668 * include/grub/usbdesc.h (grub_usb_desc): New type.
23669 * include/grub/usbserial.h: New file.
23670 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
23671 * kern/term.c (grub_term_poll_usb): New variable.
23672 (grub_getkey): Call grub_term_poll_usb if set.
23673 (grub_checkkey): Likewise.
23674 (grub_getkeystatus): Likewise.
23675 * term/serial.c: Moved controller-specific parts to ...
23676 * term/ns8250.c: ... here.
23677 * term/serial.c: Mostly rewritten.
23678 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
23679 according to spec.
23680
21a313de
RM
236812010-08-20 Robert Millan <rmh@gnu.org>
23682
23683 Make kFreeBSD code more generic to support ext2fs as root, ufs as
23684 a separate module and maybe other interesting combinations.
23685
23686 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
23687 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
23688 (kfreebsd_entry): Add generic filesystem module load routine.
23689 Map GRUB `ext2' to kFreeBSD `ext2fs'.
23690
63c734a6
CW
236912010-08-20 Colin Watson <cjwatson@ubuntu.com>
23692
23693 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
23694 "numcenter" (I misunderstood the purpose of this entry).
23695 * docs/grub.texi (sendkey): Likewise.
23696
c4d16542
CW
236972010-08-20 Colin Watson <cjwatson@ubuntu.com>
23698
23699 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
23700 status flag options; simply omitting the option is equivalent and
23701 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
23702 (keysym_table): Rename "num5numlock" to "numlock".
23703 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
23704 can uniformly say that only the last of multiple `sendkey'
23705 invocations has any effect.
23706 * docs/grub.texi (sendkey): New section.
23707
93541d66
CW
237082010-08-19 Colin Watson <cjwatson@ubuntu.com>
23709
23710 * commands/i386/pc/sendkey.c (options): Fix three typos.
23711
b4ece5e1
VS
237122010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
23713
23714 Implement sendkey support.
23715
23716 * commands/i386/pc/sendkey.c: New file.
23717 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
23718 (sendkey_mod_SOURCES): New variable.
23719 (sendkey_mod_CFLAGS): Likewise.
23720 (sendkey_mod_LDFLAGS): Likewise.
23721
51f1f5af
CW
237222010-08-18 Colin Watson <cjwatson@ubuntu.com>
23723
23724 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
23725 fix warnings from Autoconf.
23726
9da94e05
CW
237272010-08-18 Colin Watson <cjwatson@ubuntu.com>
23728
23729 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
23730 to avoid false positives with some assemblers that output things
23731 like "someprefix_func" as part of their output.
23732
729a0f2e
RM
237332010-08-15 Robert Millan <rmh@gnu.org>
23734
23735 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
23736 errors.
23737 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
23738 grub_get_libzfs_handle() errors.
23739
f3710e08
RM
237402010-08-14 Robert Millan <rmh@gnu.org>
23741
23742 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
23743 filesystem is not ZFS.
23744
7a3c13de
BC
237452010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23746
23747 Fix for misspelled color names defaulting to black/black (bug
23748 reported by Doug Nazar)
23749
23750 * include/grub/normal.h (grub_parse_color_name_pair): Add return
23751 status to prototype.
23752 * normal/color.c (grub_parse_color_name_pair): Return failure
23753 status.
23754 (grub_env_write_color_normal): Ignore bad color names.
23755 (grub_env_write_color_highlight): Likewise.
23756 * normal/main.c (GRUB_MOD_INIT): Set default color names.
23757
ab8ba50d
BC
237582010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23759
23760 "shift" command support to GRUB script.
23761
23762 * include/grub/script_sh.h (grub_script_shift): New prototype.
23763 * script/execute.c (grub_script_shift): New function.
23764 * script/main.c (grub_script_init): Register shift command.
23765 (grub_script_fini): Unregister shift command.
23766 * util/grub-script-check.c (grub_script_cmd_shift): New function.
23767
23768 * tests/grub_script_shift.in: New testcase.
23769 * conf/tests.rmk: Rules for new testcase.
23770
4d61999e
BC
237712010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23772
23773 "continue" command support to GRUB script.
23774
23775 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
23776 (grub_script_break): Continue support.
23777 * script/main.c (grub_script_init): Register continue command.
23778 (grub_script_fini): Unregister continue command.
23779
23780 * tests/grub_script_continue.in: New testcase.
23781 * conf/tests.rmk: Rules for new testcase.
23782
4df51e00
BC
237832010-08-12 BVK Chaitanya <bvk@dbook>
23784
23785 "break" command support to GRUB script.
23786
23787 * conf/common.rmk: Rule updates to grub-script-check.
23788 * include/grub/misc.h (grub_min): New function.
23789 * include/grub/script_sh.h (grub_script_init): New prototype.
23790 (grub_script_fini): New prototype.
23791 (grub_script_break): New prototype.
23792 * script/main.c (grub_script_init): New function.
23793 (grub_script_fini): New function.
23794 * script/execute.c (grub_script_break): New function.
23795 * normal/main.c: Calls to grub_script_{init,fini}.
23796 * util/grub-script-check.c (grub_script_break): New function.
23797
23798 * tests/grub_script_break.in: New testcase.
23799 * conf/tests.rmk: Rules for new test case.
23800
f12c8420
BC
238012010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23802
23803 Function parameters support to GRUB script.
23804
23805 * script/yylex.l (VARIABLE): Regular expression update.
23806 * script/function.c (grub_script_function_call): Moved ...
23807 * script/execute.c (grub_script_function_call): ... to here.
23808 (grub_script_execute_arglist_to_argv): Removed.
23809 (grub_script_arglist_to_argv): New function.
23810 * script/argv.c: New file.
23811 (grub_script_argv_free): New function.
23812 (grub_script_argv_next): Likewise.
23813 (grub_script_argv_append): Likewise.
23814 (grub_script_argv_split_append): Likewise.
23815 * include/grub/script_sh.h (grub_script_argv): New struct.
23816 (grub_script_argv_free): New function.
23817 (grub_script_argv_next): Likewise.
23818 (grub_script_argv_append): Likewise.
23819 (grub_script_argv_split_append): Likewise.
23820
23821 * conf/common.rmk (normal.mod): New source script/argv.c.
23822
23823 * tests/grub_script_echo1.in: More tests.
23824 * tests/grub_script_vars1.in: Likewise.
23825 * tests/grub_script_functions.in: New test case.
23826 * conf/tests.rmk: Rules for new testcase.
23827
8022b748
BC
238282010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23829
23830 Remove grub_script_cmdblock struct.
23831
23832 * include/grub/script_sh.h: Remove grub_script_cmdblock.
23833 * script/parser.y: Likewise.
23834 * script/execute.c: Rename cmdblock suffix to cmdlist.
23835 * script/script.c: Likewise.
23836 * util/grub-script-check.c: Likewise.
23837
79a6ba61
YB
238382010-08-11 Yves Blusseau <blusseau@zetam.org>
23839
23840 * .bzrignore: add grub-macho2img
23841
d04b9414
VS
238422010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23843
23844 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
23845
f947ab49
VS
238462010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23847
23848 Remove the dump of sm712 initialisation sequence.
23849
23850 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
23851 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
23852 (GRUB_VGA_IO_MISC_WRITE): Likewise.
23853 (GRUB_VGA_CR_*): Added many registers.
23854 (GRUB_VGA_SR_*): Likewise.
23855 (GRUB_VGA_GR_*): Likewise.
23856 (grub_vga_write_arx): New function.
23857 (grub_video_hw_config): New struct.
23858 (grub_vga_set_geometry): New function.
23859 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
23860 GRUB_PCI_CLASS_SUBCLASS_VGA.
23861 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
23862 * video/sm712.c (grub_sm712_write_reg): New function
23863 (grub_sm712_read_reg): Likewise.
23864 (grub_sm712_sr_write): Likewise.
23865 (grub_sm712_gr_write): Likewise.
23866 (grub_sm712_cr_write): Likewise.
23867 (grub_sm712_write_arx): Likewise.
23868 (grub_sm712_cr_shadow_write): Likewise.
23869 (grub_sm712_write_dda_lookup): Likewise.
23870 (grub_video_sm712_setup): Initialise the video rather then
23871 blindly replay the dump.
23872 (main) [TEST]: Add a routine to be able to compile as standalone for
23873 tests.
23874 * video/sm712_init.c (sm712_init): Removed.
23875 (sm712_sr_seq1): New array.
23876 (sm712_sr_seq2): Likewise.
23877
f0206638
VS
238782010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23879
23880 * include/grub/vga.h: Add missing grub/pci.h include.
23881
2764da3b
YB
238822010-08-10 Yves Blusseau <blusseau@zetam.org>
23883
23884 * util/grub-macho2img.c (main): fix typo
23885
cf0c775e
VS
238862010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23887
23888 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
23889 (grub_vga_gr_read): Likewise.
23890 (grub_vga_cr_write): Likewise.
23891 (grub_vga_cr_read): Likewise.
23892 (grub_vga_sr_write): Likewise.
23893 (grub_vga_sr_read): Likewise.
23894 (grub_vga_palette_read): Likewise.
23895 (grub_vga_palette_write): Likewise.
23896 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
23897 (grub_sm712_sr_read): New function.
23898 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
23899 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
23900
07f360e9
RM
239012010-08-09 Robert Millan <rmh@gnu.org>
23902
23903 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
23904 out unused variables on non-ZFS build.
23905
346c2072
RM
239062010-08-08 Robert Millan <rmh@gnu.org>
23907
23908 Fix path generation for sub-filesystems in ZFS.
23909
23910 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
23911 missing slash.
23912
71175420
RM
239132010-08-08 Robert Millan <rmh@gnu.org>
23914
23915 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
23916
0d8286f3
RM
239172010-08-08 Robert Millan <rmh@gnu.org>
23918
23919 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
23920 exist, issue a proper error message (rely on `ls' for translated
23921 strings).
23922
55dd2924
RM
239232010-08-08 Robert Millan <rmh@gnu.org>
23924
23925 Fix grub-probe invocation.
23926
23927 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
23928
d3dd9e80
RM
239292010-08-04 Robert Millan <rmh@gnu.org>
23930
23931 * configure.ac: Remove checks for getfsstat() and getmntany().
23932 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
23933 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
23934 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
23935 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
23936 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
23937 function.
23938 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
23939 via find_mount_point_from_dir() and getfsstat() / getmntany().
23940
0de22aa9
RM
239412010-08-04 Robert Millan <rmh@gnu.org>
23942
23943 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23944 (grub_find_zpool_from_mount_point): Merge into ...
23945 (grub_find_zpool_from_dir): ... this.
23946 * kern/emu/misc.c: Likewise.
23947
23948 * kern/emu/misc.c
23949 (grub_make_system_path_relative_to_its_root): Replace
23950 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
23951 with grub_find_zpool_from_dir().
23952 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
23953
62858144
RM
239542010-08-04 Robert Millan <rmh@gnu.org>
23955
23956 Support OpenSolaris in ZFS device resolution.
23957
23958 * configure.ac: Check for getmntany().
23959 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
23960 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
23961 support.
23962
9dd6fd50
RM
239632010-08-03 Robert Millan <rmh@gnu.org>
23964
23965 Fix grub-emu build.
23966
23967 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
23968 * include/grub/emu/misc.h: ... here.
23969
23970 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
23971 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
23972
23973 * util/misc.c: Remove `<grub/util/libzfs.h>'.
23974 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
23975 (grub_get_libzfs_handle): Move to ...
23976 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
23977 (grub_get_libzfs_handle): ... here.
23978
c9f7ff97
BC
239792010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
23980
23981 * script/execute.c (grub_script_execute_cmdline): Check for NULL
23982 as command name case.
23983
a870a783
CW
239842010-08-02 Colin Watson <cjwatson@ubuntu.com>
23985
23986 * disk/raid.c (insert_array): Select unique numbers for named arrays
23987 as well, for use as keys in the disk cache.
23988
c7db243b
RM
239892010-08-01 Robert Millan <rmh@gnu.org>
23990
23991 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
23992 kFreeBSD device name, except on ZFS where the filesystem label is
23993 used.
23994 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
23995 `/boot/zfs/zpool.cache'.
23996 Set mountfrom kernel variable using ${kfreebsd_device}.
23997
f7abdefb
RM
239982010-08-01 Robert Millan <rmh@gnu.org>
23999
24000 Make it even harder to use uninitialized `libzfs_handle' (and
24001 make the interface a bit simpler).
24002
24003 * include/grub/util/misc.h (grub_util_init_libzfs)
24004 (libzfs_handle): Remove.
24005 (grub_get_libzfs_handle): New prototype.
24006
24007 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
24008 attribute.
24009 (grub_util_init_libzfs): Remove.
24010 (grub_get_libzfs_handle): New function.
24011
24012 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
24013 grub_get_libzfs_handle() to obtain a libzfs handle instead of
24014 accessing `libzfs_handle' directly.
24015
c882acc0
RM
240162010-08-01 Robert Millan <rmh@gnu.org>
24017
24018 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24019 (grub_find_zpool_from_mount_point): New function prototypes.
24020
24021 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24022 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24023
24024 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24025 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24026 `static' attribute.
24027
24028 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24029 finding zpool from mount point into ...
24030 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24031
24032 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24033 requested path is part of a ZFS pool, use
24034 grub_find_zpool_from_mount_point() to detect its filesystem name,
24035 and generate a path with `/fsname@path' syntax.
24036
8bfe31d8
CW
240372010-08-01 Colin Watson <cjwatson@ubuntu.com>
24038
24039 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
24040 (void) rather than () so that this is a proper prototype.
24041
553df63d
VS
240422010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24043
24044 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
24045
8687cf07
VS
240462010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24047
24048 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
24049 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
24050
ea9be8ea
CW
240512010-08-01 Colin Watson <cjwatson@ubuntu.com>
24052
24053 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
24054
6eea041a
CW
240552010-08-01 Colin Watson <cjwatson@ubuntu.com>
24056
24057 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
24058
2cfb45df
CW
240592010-08-01 Colin Watson <cjwatson@ubuntu.com>
24060
24061 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
24062 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
24063 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
24064 disable gfxpayload.
24065 (Shell-like scripting): Add real content.
24066 (Serial terminal): Suggest `terminal_input serial; terminal_output
24067 serial' rather than putting the two commands on separate lines,
24068 since console input will be inoperative after the first command.
24069 (menuentry): Document --class, --users, and --hotkey options.
24070 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
24071 Vladimir Serbinenko).
24072
7decd202
VS
240732010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
240742010-08-01 Colin Watson <cjwatson@ubuntu.com>
24075
24076 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
24077
c882acc0
RM
240782010-08-01 Robert Millan <rmh@gnu.org>
24079
24080 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24081 (grub_find_zpool_from_mount_point): New function prototypes.
24082
24083 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24084 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24085
24086 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24087 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24088 `static' attribute.
24089
24090 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24091 finding zpool from mount point into ...
24092 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24093
24094 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24095 requested path is part of a ZFS pool, use
24096 grub_find_zpool_from_mount_point() to detect its filesystem name,
24097 and generate a path with `/fsname@path' syntax.
24098
deb0caa3
RM
240992010-08-01 Robert Millan <rmh@gnu.org>
24100
24101 Prevent accidental use of uninitialized libzfs_handle.
24102
24103 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
24104 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
24105 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
24106
ce04ef47
CW
241072010-08-01 Colin Watson <cjwatson@ubuntu.com>
24108
24109 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
24110 util/grub.d/10_linux.in). Fixes Debian bug #591093.
24111
ebf53056
RM
241122010-08-01 Robert Millan <rmh@gnu.org>
24113
24114 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 24115
3710bb6b
RM
241162010-07-31 Robert Millan <rmh@gnu.org>
24117
24118 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
24119
8072efeb
RM
241202010-07-31 Robert Millan <rmh@gnu.org>
24121
24122 * kern/emu/misc.c: Add missing license header.
24123
3169f4c7
RM
241242010-07-31 Robert Millan <rmh@gnu.org>
24125
24126 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
24127
24128 * include/grub/util/libnvpair.h: Include `<config.h>'.
24129 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
24130 declaring libnvpair prototypes ourselves.
24131 * include/grub/util/libzfs.h: Include `<config.h>'.
24132 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
24133 declaring libzfs prototypes ourselves.
24134
24135 (libzfs_handle): Moved to ...
24136 * include/grub/util/misc.h (libzfs_handle): ... here.
24137 Include `<grub/util/libzfs.h>'.
24138
c9a00aee
RM
241392010-07-30 Robert Millan <rmh@gnu.org>
24140
24141 * include/grub/emu/misc.h: Add missing license header.
24142
a184f9c8
RM
241432010-07-30 Robert Millan <rmh@gnu.org>
24144
24145 Enable `grub-probe -t device' resolution on ZFS.
24146
24147 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
24148 * include/grub/util/libnvpair.h: New file.
24149 * include/grub/util/libzfs.h: New file.
24150
24151 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
24152 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
24153 `<grub/util/libnvpair.h>'.
24154 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
24155
24156 (find_mount_point_from_dir): New static function.
24157 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
24158 function.
24159 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
24160 find_root_device_from_libzfs() before ressorting to find_root_device().
24161
24162 * include/grub/util/misc.h (grub_util_init_libzfs): New function
24163 prototype.
24164 * util/misc.c: Include `<grub/util/libzfs.h>'.
24165 (grub_util_init_libzfs): New function.
24166 [HAVE_LIBZFS] (libzfs_handle): New global variable.
24167 [HAVE_LIBZFS] (fini_libzfs): New static function.
24168 (grub_util_init_libzfs): New function.
24169 * util/grub-probe.c (main): Call grub_util_init_libzfs().
24170
f7790cdd
RM
241712010-07-30 Robert Millan <rmh@gnu.org>
24172
24173 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
24174 (xmalloc, xrealloc, xstrdup, xasprintf): Add
24175 `warn_unused_result' attribute.
24176 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
24177 (grub_xasprintf, grub_xvasprintf): Likewise.
24178 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
24179
0806b63c
RM
241802010-07-29 Robert Millan <rmh@gnu.org>
24181
24182 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
24183 (probe): Handle `PRINT_FS_LABEL'.
24184 (main): Handle `-t fs_label'.
24185
9f841f5c
RM
241862010-07-29 Robert Millan <rmh@gnu.org>
24187
24188 * configure.ac: Remove grub-mkisofs checks.
24189
46371121
VS
241902010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
24191
24192 * util/ieee1275/grub-install.in: Don't use empty grub_device.
24193 Reported by: Lennart Sorensen.
24194
241952010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24196
24197 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
24198 prior to terminal_input/terminal_output separation. It's been over 1.5
24199 years and those versions weren't widely deployed.
24200
a9600892
CW
242012010-07-22 Colin Watson <cjwatson@ubuntu.com>
24202
24203 * disk/raid.c (insert_array): Don't count named arrays when looking
24204 for unused array numbers.
697e053c 24205 Reported and tested by: Michael Guntsche.
a9600892 24206
c03507df
CW
242072010-07-20 Colin Watson <cjwatson@ubuntu.com>
24208
24209 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
24210 implementation of this so that grub-emu links again, with a note
24211 that this should support hotplugging in the future.
24212
b26f1c11
CW
242132010-07-20 Colin Watson <cjwatson@ubuntu.com>
24214
24215 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24216
efc9d7f1
CW
242172010-07-20 Colin Watson <cjwatson@ubuntu.com>
24218
24219 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
24220 handle on failure.
24221 (grub_loopback_close): Remove empty function.
24222 (grub_loopback_dev): Remove close method.
24223
dd8ff5c9
CW
242242010-07-20 Colin Watson <cjwatson@ubuntu.com>
24225
24226 Disable EFI cursor when the EFI console becomes inactive.
24227
24228 * term/efi/console.c (grub_efi_console_init): New function.
24229 (grub_efi_console_fini): New function.
24230 (grub_console_term_output): Register init and fini methods.
24231
5e3bec67
VS
242322010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24233
24234 * tests/util/grub-shell-tester.in: Remove bashism and declare as
24235 sh script.
24236
afaec079
VS
242372010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24238
24239 * disk/loopback.c (grub_loopback): Replace filename with file.
24240 (delete_loopback): Handle new semantics.
24241 (grub_cmd_loopback): Likewise.
24242 (grub_loopback_iterate): Likewise.
24243 (grub_loopback_close): Likewise.
24244
a6a11f3c
VS
242452010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24246
24247 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
24248 with -p "".
24249 Reported by: Tito Keitel.
24250
64a638b0
VS
242512010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24252
24253 * docs/grub.texi (Naming convention): Document new naming convention.
24254
ab8ba957
VS
242552010-07-20 Vadim Solomin <vadic052@gmail.com>
242562010-07-20 Colin Watson <cjwatson@ubuntu.com>
24257
24258 Generate device.map in something closer to the old ordering.
24259
24260 * util/deviceiter.c (struct device): New declaration.
24261 (compare_file_names): Rename to ...
24262 (compare_devices): ... this. Sort by kernel name in preference to
24263 the stable by-id name, but keep the latter as a fallback comparison.
24264 Update header comment.
24265 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
24266 of `struct device' rather than of plain file names.
24267
a29d6a4b
TF
242682010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
24269
24270 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
24271 on i386.
24272
39d824e8
VS
242732010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24274
24275 * commands/acpi.c (setup_common_tables): Use sizeof instead of
24276 hardcoding size.
24277 (setv1table): Likewise.
24278
f058276b
FZ
242792010-07-20 Colin Watson <cjwatson@ubuntu.com>
24280
24281 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
24282 removing the homehost if present.
24283 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
24284 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
24285 removing the homehost if present.
24286 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
24287 if possible.
24288 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
24289
24290 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
24291 parameter. Set its pointer target to 0.
24292 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
24293 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
24294 `data_offset' value from the superblock for 1.x metadata.
24295 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
24296 data on the device.
24297 (insert_array): Record the start sector of data on the device.
24298 (grub_raid_register): Pass start_sector parameters to
24299 grub_raid_list->detect and insert_array.
24300 * include/grub/raid.h (struct grub_raid_array): Add start_sector
24301 member.
24302 (struct grub_raid): Add start_sector parameter to `detect'.
24303
24304 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
24305 __attribute__ ((packed)), leaving a comment.
24306 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
24307 (grub_mdraid_detect_09): ... here and ...
24308 (grub_mdraid_detect_1x): ... here.
24309
243102010-07-20 Peter Henn <peter.henn@web.de>
24311
24312 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
24313 chunk size and disk size, which are already given as sector counts
24314 as distinct from the 0.90 units. Fetch the correct device number
24315 from the role table instead of using the table index.
24316
243172010-07-20 Felix Zielcke <fzielcke@z-51.de>
24318
24319 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
24320 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
24321 (WriteMostly1): New macro.
24322 Set array->name to NULL for metadata format 0.90. Add support for
24323 metadata 1.x. Fix some comments.
24324 * disk/raid.c (): Add support for name based RAID arrays. Fix a
24325 few comments.
24326 * util/getroot.c (grub_util_get_grub_dev): Add support for
24327 /dev/md/name style devices.
24328
4b761da9
CW
243292010-07-20 Colin Watson <cjwatson@ubuntu.com>
24330
24331 * .bzrignore: Ignore 20_linux_xen.
24332
5771289a
CW
243332010-07-17 Colin Watson <cjwatson@ubuntu.com>
24334
24335 * util/import_unicode.py: Remove unnecessary imports.
24336
5dab68df
AN
243372010-07-17 Aleš Nesrsta <starous@volny.cz>
24338
24339 Hotplugging and USB hub support.
24340
24341 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
24342 (grub_ohci): Likewise.
24343 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
24344 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
24345 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
24346 (GRUB_OHCI_CTRL_EDS): Likewise.
24347 (GRUB_OHCI_BULK_EDS): Likewise.
24348 (GRUB_OHCI_TDS): Likewise.
24349 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
24350 (grub_ohci_ed_phys2virt): New function.
24351 (grub_ohci_virt_to_phys): Likewise.
24352 (grub_ohci_td_phys2virt): Likewise.
24353 (grub_ohci_td_virt2phys): Likewise.
24354 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
24355 attachment.
24356 (grub_ohci_find_ed): New function.
24357 (grub_ohci_alloc_td): Likewise.
24358 (grub_ohci_free_td): Likewise.
24359 (grub_ohci_free_tds): Likewise.
24360 (grub_ohci_transfer): Use previously allocated memory.
24361 (grub_ohci_portstatus): Reset status changed bit.
24362 (grub_ohci_detect_dev): Supply status changed.
24363 (grub_ohci_fini_hw): Free memory.
24364 (grub_ohci_restore_hw): Reallocate memory.
24365 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
24366 Reset status change.
24367 (grub_uhci_detect_dev): Supply status_change.
24368 * bus/usb/usb.c (attach_hooks): New var.
24369 (grub_usb_device_attach): New function.
24370 (grub_usb_register_attach_hook_class): Likewise.
24371 (grub_usb_unregister_attach_hook_class): Likewise.
24372 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
24373 (grub_usb_add_hub): Reset connection changed bit.
24374 (attach_root_port): New function.
24375 (grub_usb_root_hub): Likewise.
24376 (poll_nonroot_hub): Likewise.
24377 (grub_usb_poll_devices): Likewise.
24378 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
24379 * disk/usbms.c (grub_usbms_open): Use device hooks.
24380 (grub_usbms_iterate) :Poll devices.
24381 (grub_usbms_finddevs): Split into ...
24382 (grub_usbms_attach): ... this ...
24383 (grub_usbms_attach): ... and this.
24384 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
24385 in detect_dev.
24386 (grub_usb_interface): New fields attached and detach_hook.
24387 (grub_usb_attach_hook_class): New type.
24388 (grub_usb_attach_desc): New struct.
24389 (grub_usb_register_attach_hook_class): New function.
24390 (grub_usb_unregister_attach_hook_class): Likewise.
24391 (grub_usb_poll_devices): Likewise.
24392 (grub_usb_device_attach): Likewise.
24393 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
24394 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
24395
3222efaf
VS
243962010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24397
24398 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
24399 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
24400 delta determination style. Works with most NetBSD partitions too.
24401
139b714a
VS
244022010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24403
24404 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
24405 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
24406
986aad56
VS
244072010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24408
24409 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
24410
99be513c
AB
244112010-07-14 Anton Blanchard <anton@samba.org>
24412
24413 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
24414 ET_DYN files.
24415
18075f62
GS
244162010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24417
24418 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
24419
8d9a5b15
GS
244202010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24421
24422 * kern/partition.c (grub_partition_check_containment): New function to
24423 check that a partition is physically contained in a parent. Since
24424 offsets are relative (and non-negative), this reduces to checking that
24425 the partition ends before its parent.
24426 (grub_partition_map_probe): Discard out-of-range sub-partitions.
24427 (grub_partition_iterate): Likewise.
24428 * include/grub/partition.h (grub_partition_map): Slightly more detailed
24429 comments.
24430 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
24431 partitions that start before their parent, and add debug printfs.
24432
19563c25
CW
244332010-07-13 Colin Watson <cjwatson@ubuntu.com>
24434
24435 * Makefile.in (.SUFFIX): Spell correctly, as ...
24436 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
24437 bare module name without `.mod', e.g. `test') tried to invoke a
24438 Modula-2 compiler.
24439
1a1f1e67
CW
244402010-07-13 Colin Watson <cjwatson@ubuntu.com>
24441
24442 * README: Point to the Info manual.
24443
811b0dca
JS
244442010-07-13 Jiro SEKIBA <jir@unicus.jp>
24445
24446 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
24447 2nd superblock position from partition size.
24448
e4f4eafc
CW
244492010-07-10 Colin Watson <cjwatson@ubuntu.com>
24450
24451 * Makefile.in (MAINTAINER_CLEANFILES): Remove
24452 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
24453 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
24454 outputs.
24455
4274c30f
VS
244562010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24457
24458 Restructure SCSI .id handling.
24459 Reported and tested by: Aleš Nesrsta.
24460
24461 * disk/ata.c (grub_atapi_close): Removed. All users updated.
24462 (grub_atapi_dev): Changed .name to "ata". New field .id.
24463 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
24464 (grub_usbms_dev): New field .id.
24465 * disk/scsi.c (grub_scsi_iterate): Generate name.
24466 (grub_scsi_open): Parse name.
24467 * include/grub/scsi.h (grub_make_scsi_id): New function.
24468 (grub_scsi_dev): Change iterate and open to number instead of naming
24469 busses. All users updated.
24470 (grub_scsi): Remove name. Add .bus.
24471
5bc24388
VS
244722010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24473
24474 * commands/help.c (grub_cmd_help): Fix a typo.
24475
249975ba
VS
244762010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24477
24478 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
24479 Reported and tested by: Colin Watson.
24480
3eaac1a1
VS
244812010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24482
24483 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
24484 in this context.
24485
becce1b1
VS
244862010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
24487
24488 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
24489
f7bf0918
CW
244902010-07-07 Colin Watson <cjwatson@ubuntu.com>
24491
24492 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
24493 indentation.
24494
0b0f9620
CW
244952010-07-06 Colin Watson <cjwatson@ubuntu.com>
24496
24497 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
24498 and disk/raid6_recover.c.
24499 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24500 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24501
1e545469
CW
245022010-07-06 Colin Watson <cjwatson@ubuntu.com>
24503
24504 * term/gfxterm.c (repaint_schedulded): Rename to ...
24505 (repaint_scheduled): ... this. Update all callers.
24506 (repaint_was_schedulded): Rename to ...
24507 (repaint_was_scheduled): ... this. Update all callers.
24508
5357687a
CW
245092010-07-06 Colin Watson <cjwatson@ubuntu.com>
24510
24511 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
24512 which we expect to be handled by upper layers.
24513
29d7e783
BC
245142010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
24515
24516 * bus/usb/usbhub.c: #include time.h header.
24517
37582066
CW
245182010-07-06 Colin Watson <cjwatson@ubuntu.com>
24519
24520 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
24521 entry_name also for entries without stat blocks (e.g. ".."); fixes
24522 corruption of the first entry in a directory.
24523
c8c06953
CW
245242010-07-06 Colin Watson <cjwatson@ubuntu.com>
24525
24526 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
24527 after setting gfxterm as the active terminal. GRUB_BACKGROUND
24528 doesn't work otherwise.
24529
e75056f1
CW
245302010-07-05 Colin Watson <cjwatson@ubuntu.com>
24531
24532 * docs/grub.texi (Features): Update list of supported file systems.
24533 (GNU/Linux): Update for GRUB 2.
24534 (Serial terminal): Remove mention of --disable-serial, which was a
24535 GRUB Legacy configure option. Update instructions to use
24536 `terminal_input' and `terminal_output' rather than `terminal'.
24537 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
24538 configuration' and `Installing GRUB using grub-install'.
24539 (Menu entry editor): Update for GRUB 2.
24540 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
24541 Document new -a, -u, and -v options.
24542 (initrd): New section.
24543 (initrd16): New section.
24544 (linux): New section.
24545 (linux16): New section.
24546 (search): The `var' argument to `--set' is optional.
24547 (GRUB only offers a rescue shell): Go into a little more detail on
24548 drive ordering.
24549
5cf69151
CW
245502010-07-05 Colin Watson <cjwatson@ubuntu.com>
24551
24552 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
24553
e3f90044
CW
245542010-07-05 Colin Watson <cjwatson@ubuntu.com>
24555
24556 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
24557 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
24558
38d8f4f3
CW
245592010-07-05 Colin Watson <cjwatson@ubuntu.com>
24560
24561 * util/i386/pc/grub-setup.c (setup): Rename prefix to
24562 install_prefix, in line with install_dos_part and install_bsd_part.
24563 Add new prefix variable, which is copied to install_prefix after
24564 comparing core.img in memory with the one read from disk in the
24565 no-embedding case, and use that rather than overwriting
24566 install_prefix immediately when installing to a partition.
24567 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
24568 Bicakci.
24569
57ebd41e
GS
245702010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24571
24572 * configure.ac: Avoid == in test command, it's not portable.
24573 * util/grub.d/30_os-prober.in: Likewise.
24574
cb7f64b2
CW
245752010-07-04 Colin Watson <cjwatson@ubuntu.com>
24576
24577 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
24578
6b654bb0
GS
245792010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24580
24581 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
24582 multiple (top-level) partmaps.
24583
72a2026d
VS
245842010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24585
24586 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 24587 Reported by: Tino Keitel.
72a2026d 24588
df3eb88f
VS
245892010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24590
24591 Bidi and diacritics support.
24592
24593 * Makefile.in (widthspec.bin): New target.
24594 (widthspec.h): Likewise.
24595 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
24596 * autogen.sh: Generate unidata.c.
24597 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
24598 * commands/ls.c (grub_ls_list_devices): Likewise.
24599 (grub_ls_list_files): Likewise.
24600 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
24601 (grub_mini_cmd_lsmod): Likewise.
24602 * commands/read.c: Likewise.
24603 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
24604 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
24605 * lib/arg.c (grub_arg_show_help): Likewise.
24606 * lib/crypto.c (grub_password_get): Likewise.
24607 * normal/auth.c (grub_username_get): Likewise.
24608 * normal/misc.c (grub_normal_print_device_info): Likewise.
24609 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
24610 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
24611 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
24612 (normal/charset.c_DEPENDENCIES): New variable.
24613 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
24614 (pkglib_MODULES): Remove charset.mod.
24615 (charset_mod_SOURCES): Removed.
24616 (charset_mod_CFLAGS): Likewise.
24617 (charset_mod_LDFLAGS): Likewise.
24618 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
24619 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
24620 and term/tparm.c.
24621 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24622 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24623 (kernel_img_HEADERS): Add terminfo.h.
24624 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
24625 Fill ->font. Reverse ascii bitmaps.
24626 (grub_font_get_xheight): New function.
24627 * font/font.c (grub_font_get_string_width): Moved from here ...
24628 * gfxmenu/font.c (grub_font_get_string_width): ... here.
24629 * font/font.c (grub_font_draw_string): Moved from here ...
24630 * gfxmenu/font.c (grub_font_draw_string): ... here.
24631 * font/font.c (grub_font_dup_glyph): New function.
24632 (grub_font_blit_glyph): Likewise.
24633 (grub_font_blit_glyph_mirror): Likewise.
24634 (blit_comb): Likewise.
24635 (grub_font_construct_dry_run): Likewise.
24636 (grub_font_get_constructed_device_width): Likewise.
24637 (grub_font_construct_glyph): Likewise.
24638 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
24639 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
24640 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
24641 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
24642 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
24643 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
24644 (grub_font_get_xheight): New proto.
24645 (grub_font_get_constructed_device_width): Likewise.
24646 (grub_font_construct_glyph): Likewise.
24647 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
24648 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
24649 * include/grub/font.h (grub_font_draw_string): Moved from here ...
24650 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
24651 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
24652 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
24653 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
24654 (grub_console_getcharwidth): Likewise.
24655 * include/grub/misc.h (grub_xputs): New proto.
24656 (grub_puts): Inlined.
24657 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
24658 (grub_normal_get_line_counter): Removed.
24659 (grub_install_newline_hook): Likewise.
24660 (grub_normal_get_char_counter): New proto.
24661 (grub_normal_reset_more): Likewise.
24662 (grub_xputs_normal): Likewise.
24663 * include/grub/powerpc/ieee1275/console.h: Removed.
24664 * include/grub/sparc64/ieee1275/console.h: Likewise.
24665 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
24666 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
24667 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
24668 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
24669 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
24670 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
24671 (grub_term_input): Pass reference to self. All users updated.
24672 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
24673 Pass reference to self. New fields normal_color, highlight_color and
24674 data. All users updated.
24675 (grub_putchar): Removed.
24676 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
24677 (grub_unicode_estimate_width): New function.
24678 (grub_term_getcharwidth): Add defaults.
24679 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
24680 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
24681 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
24682 (grub_cls): Remove EXPORT_FUNC.
24683 (grub_setcolorstate): Inline.
24684 (grub_newline_hook): Removed.
24685 * include/grub/terminfo.h: Rewritten. All users updated.
24686 * include/grub/unicode.h: New file.
24687 * include/grub/video.h (grub_video_signed_rect): New type.
24688 * kern/emu/console.c (grub_console_highlight_color): Removed.
24689 (grub_console_normal_color): Likewise.
24690 (grub_console_standard_color): Made static.
24691 (grub_ncurses_putchar): Remove mapping.
24692 (grub_ncurses_getcharwidth): Removed.
24693 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24694 (grub_ncurses_setcolor): Removed.
24695 (grub_ncurses_getcolor): Likewise.
24696 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
24697 (grub_console_putchar): ... this.
24698 (grub_console_putchar): Handle argument difference.
24699 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
24700 console_init_early and console_init_lately.
24701 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
24702 * kern/misc.c (grub_puts): Removed.
24703 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
24704 (grub_vsnprintf_real): Remove str = NULL support.
24705 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
24706 * normal/charset.c (grub_utf8_to_ucs4): ... here.
24707 * kern/term.c (grub_putcode): Renamed to ...
24708 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
24709 (grub_putchar): Removed.
24710 (grub_xputs_dumb): New function.
24711 (grub_xputs): New variable.
24712 * lib/charset.c: Move from here ...
24713 * normal/charset.c: ... to here.
24714 (grub_ucs4_to_utf8): New function.
24715 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
24716 (join_types): New variable.
24717 (unpack_join): New function.
24718 (bidi_types): New variable.
24719 (unpack_bidi): New function.
24720 (get_bidi_type): Likewise.
24721 (get_join_type): Likewise.
24722 (is_mirrored): Likewise.
24723 (grub_unicode_get_comb_type): Likewise.
24724 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
24725 (is_type_after): Likewise.
24726 (grub_unicode_aglomerate_comb): Likewise.
24727 (bidi_line_wrap): Likewise.
24728 (grub_bidi_line_logical_to_visual): Likewise.
24729 (grub_bidi_logical_to_visual): Likewise.
24730 (grub_unicode_mirror_code): Likewise.
24731 (grub_unicode_shape_code): Likewise.
24732 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
24733 Don't use grub_putchar.
24734 * normal/main.c (grub_normal_init_page): Use grub_putcode.
24735 (grub_normal_reader_init): Likewise.
24736 (grub_xputs_saved): New variable.
24737 (GRUB_MOD_INIT): Set grub_xputs.
24738 (GRUB_MOD_FINI): Restore grub_xputs.
24739 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
24740 (menu_init): Avoid printing gfxmenu error.
24741 (show_menu): Use grub_normal_get_char_counter.
24742 * normal/menu_entry.c (update_screen): Fix out-of-array.
24743 (complete): Avoid NULL dereferencing.
24744 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
24745 * normal/menu_text.c (print_spaces): Removed.
24746 (grub_print_ucs4): Likewise.
24747 (grub_print_message_indented): Use grub_print_ucs4.
24748 (print_message): Use grub_putcode.
24749 (print_entry): Hanlde diacritics.
24750 * normal/term.c (term_state): New type.
24751 (grub_more_lines): Removed.
24752 (term_states): New variable.
24753 (grub_normal_line_counter): Renamed to ..
24754 (grub_normal_char_counter): ...this. All users updated.
24755 (grub_normal_get_line_counter): Renamed to ...
24756 (grub_normal_get_char_counter): ... this.
24757 (grub_normal_reset_more): New function.
24758 (process_newline): Removed.
24759 (print_more): New function.
24760 (grub_install_newline_hook): Removed.
24761 (map_code): New function.
24762 (grub_puts_terminal): Use grub_print_ucs4.
24763 (putglyph): New function.
24764 (putcode_real): Likewise.
24765 (grub_putcode): Use putcode_real.
24766 (get_maxwidth): New function.
24767 (get_startwidth): Likewise.
24768 (print_ucs4_terminal): Likewise.
24769 (find_term_state): Likewise.
24770 (put_glyphs_terminal): Likewise.
24771 (print_backlog): Likewise.
24772 (print_ucs4_real): Likewise.
24773 (grub_print_ucs4): Likewise.
24774 (grub_xputs_normal): Likewise.
24775 * term/efi/console.c (grub_console_putchar): Output diacritics.
24776 (grub_console_getcharwidth): Removed.
24777 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24778 * term/gfxterm.c (clear_char): Free chars.
24779 (scroll_up): Avoid leaking memory.
24780 (grub_gfxterm_putchar): Support diacritics.
24781 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24782 * term/i386/pc/console.c (grub_console_term_output): Declare as
24783 GRUB_TERM_CODE_TYPE_VGA.
24784 * term/i386/pc/vga.c (grub_vga_term): Declare as
24785 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
24786 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
24787 GRUB_TERM_CODE_TYPE_VGA.
24788 * term/i386/vga_common.c (map_char): Removed.
24789 (grub_console_putchar): Likewise.
24790 (grub_console_getcharwidth): Likewise.
24791 * term/ieee1275/ofconsole.c: Simplify using terminfo.
24792 (colors): Reordered to match terminfo.
24793 (grub_ofconsole_normal_color): Removed.
24794 (grub_ofconsole_writeesc): Likewise.
24795 (grub_ofconsole_highlight_color): Likewise.
24796 (grub_ofconsole_getcharwidth): Likewise.
24797 (grub_ofconsole_setcolorstate): Likewise.
24798 (grub_ofconsole_setcolor): Likewise.
24799 (grub_ofconsole_getcolor): Likewise.
24800 (grub_ofconsole_readkey): Renamed to ...
24801 (readkey): ... this. Remove escape sequence handling. Return -1 on no
24802 key.
24803 (grub_ofconsole_checkkey): Removed.
24804 (grub_ofconsole_getkey): Likewise.
24805 (grub_ofconsole_getxy): Likewise.
24806 (grub_ofconsole_gotoxy): Likewise.
24807 (grub_ofconsole_cls): Likewise.
24808 (grub_ofconsole_refresh): Likewise.
24809 (grub_ofconsole_terminfo_input): New struct.
24810 (grub_ofconsole_terminfo_output): Likewise.
24811 (grub_ofconsole_term_input): Use terminfo.
24812 (grub_ofconsole_term_output): Likewise.
24813 (grub_console_init): Split into ...
24814 (grub_console_init_early): ...this and ...
24815 (grub_console_init_lately): ...this. Use terminfo.
24816 (grub_ofconsole_putchar): Renamed to ...
24817 (put): ... this. Remove mapping.
24818 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24819 * term/serial.c: Simplify using terminfo.
24820 (xpos): Removed.
24821 (ypos): Likewise.
24822 (keep_track): Likewise.
24823 (registered): Likewise.
24824 (input_buf): Likewise.
24825 (npending): Likewise.
24826 (serial_translate_key_sequence): Likewise.
24827 (fill_input_buf): Likewise.
24828 (grub_serial_checkkey): Likewise.
24829 (grub_serial_getkey): Likewise.
24830 (grub_serial_getxy): Likewise.
24831 (grub_serial_gotoxy): Likewise.
24832 (grub_serial_putchar): Likewise.
24833 (grub_serial_cls): Likewise.
24834 (grub_serial_setcolorstate): Likewise.
24835 (grub_serial_setcursor): Likewise.
24836 (serial_hw_init): Use serial_hw_fetch.
24837 (grub_serial_terminfo_input): New variable.
24838 (grub_serial_terminfo_output): Likewise.
24839 (grub_serial_term_input): Use terminfo.
24840 (grub_serial_term_output): Likewise.
24841 * term/terminfo.c (putstr): Use put.
24842 (grub_terminfo_all_free): New function
24843 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
24844 (grub_terminfo_output_register): New function.
24845 (grub_terminfo_output_unregister): Likewise.
24846 (grub_terminfo_getxy): Likewise.
24847 (grub_terminfo_readkey): Likewise.
24848 (grub_terminfo_checkkey): Likewise.
24849 (grub_terminfo_getkey): Likewise.
24850 (grub_terminfo_input_init): Likewise.
24851 (print_terminfo): Likewise.
24852 (grub_cmd_terminfo): Handle encoding.
24853 (grub_terminfo_gotoxy): Track position.
24854 (grub_terminfo_cls): Likewise.
24855 (grub_terminfo_putchar): Likewise.
24856 (grub_terminfo_setcolorstate): Handle colors
24857 (grub_terminfo_cursor_on): This ...
24858 (grub_terminfo_cursor_off): ... and this merged into ...
24859 (grub_terminfo_setcursor): ... this.
24860 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
24861 * unicode/ArabicShaping.txt: New file (imported from Unicode).
24862 * unicode/BidiMirroring.txt: Likewise.
24863 * unicode/UnicodeData.txt: Likewise.
24864 * unicode/COPYING: Likewise.
24865 * util/grub-editenv.c (grub_putchar): Removed.
24866 (grub_xputs_real): New function.
24867 (grub_xputs): New variable.
24868 * util/grub-fstest.c (grub_putchar): Removed.
24869 (grub_xputs_real): New function.
24870 (grub_xputs): New variable.
24871 * util/grub-mkdevicemap.c (grub_putchar): Removed.
24872 (grub_xputs_real): New function.
24873 (grub_xputs): New variable.
24874 * util/grub-probe.c (grub_putchar): Removed.
24875 (grub_xputs_real): New function.
24876 (grub_xputs): New variable.
24877 * util/grub-script-check.c (grub_putchar): Removed.
24878 (grub_xputs_real): New function.
24879 (grub_xputs): New variable.
24880 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
24881 (grub_xputs_real): New function.
24882 (grub_xputs): New variable.
24883 * util/import_unicode.py: New file.
24884 * util/grub-mkfont.c (ft_errmsgs): New array.
24885 (grub_glyph_info): Make bitmap a pointer.
24886 (file_formats): New type WIDTH_SPEC.
24887 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
24888 (options): Add width-spec.
24889 (help): Likewise.
24890 (add_char): Renamed to ...
24891 (add_glyph): ... this.
24892 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
24893 (glyph_replace): New type.
24894 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
24895 (add_char): New function.
24896 (add_subst): Likewise.
24897 (process_cursive): Likewise.
24898 (add_font): Handle GSUB.
24899 (write_font_width_spec): New function.
24900 (main): Sort glyphs.
24901 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
24902 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
24903 * kern/term.c (grub_cls): Moved from here...
24904 * normal/term.c (grub_cls): ... here.
24905
50f0bcda
CW
249062010-07-02 Colin Watson <cjwatson@ubuntu.com>
24907
24908 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
24909 suitable for using within the format argument of printf when
24910 converting grub_size_t.
24911 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
24912 "x" to convert grub_size_t arguments.
24913
40372103
VS
249142010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24915
24916 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
24917 too long captions.
24918 (list_get_minimal_size): Take selection box into account.
24919
942a10c7
VS
249202010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24921
24922 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
24923 NULL font.
24924
2bdb2892
CW
249252010-07-02 Colin Watson <cjwatson@ubuntu.com>
24926
24927 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
24928 devices when iterating over /dev/disk/by-id; they will be handled
24929 later if appropriate, which they aren't always (e.g. LVM).
24930
e03ed6c1
CW
249312010-07-02 Colin Watson <cjwatson@ubuntu.com>
24932
24933 * include/grub/misc.h (grub_reboot): Declare as noreturn.
24934 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
24935 fails.
24936 (grub_halt): Likewise.
24937 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
24938 reset-all fails.
24939 (grub_halt): Don't return, even if all of shut-down, power-off, and
24940 poweroff fail.
24941
47695765
CW
249422010-07-02 Colin Watson <cjwatson@ubuntu.com>
24943
24944 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
24945 arguments, not three.
24946
507736c8
CW
249472010-07-02 Colin Watson <cjwatson@ubuntu.com>
24948
24949 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
24950 * util/grub.d/10_linux.in: Use it to check for LVM, so that
24951 LVM-on-RAID is handled correctly.
24952
e3c8cd37
CW
249532010-07-02 Colin Watson <cjwatson@ubuntu.com>
24954
24955 * docs/grub.texi (Changes from GRUB Legacy): New section.
24956 (Future): Fix typo.
24957
8d4a2fec
CW
249582010-07-02 Colin Watson <cjwatson@ubuntu.com>
24959
24960 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
24961 grub.d/README accidentally ends up executable for one reason or
24962 another. Ignore it.
24963
1c4827be
VS
249642010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24965
24966 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
24967 (gpt_partition_map_iterate): Support non-512B sectors.
24968
d9a0c941
VS
249692010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24970
24971 * kern/efi/init.c (grub_efi_init): Disable watchdog.
24972 Tested by: Seth Goldberg.
24973
48f27e87
VS
249742010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24975
24976 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
24977 Properly align mbi.
24978 Reported by: Seth Goldberg.
24979
b0c4f956
VS
249802010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24981
24982 * util/grub-mkrescue.in: Avoid module duplication.
24983
105a2e8c
SF
249842010-07-01 Sean Finney <seanius@seanius.net>
24985
24986 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
24987
5944958c
SF
249882010-07-01 Sean Finney <seanius@seanius.net>
24989
24990 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
24991
249922010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24993
24994 * disk/lvm.c (grub_lvm_checkvalue): New function.
24995 (grub_lvm_check_flag): Likewise.
24996
b79889ba
RM
249972010-07-01 Robert Millan <rmh@gnu.org>
24998
24999 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
25000 Support 'p' as partition separator on kernel of FreeBSD (used
25001 with GPT labels).
25002 (grub_util_biosdisk_get_grub_dev): Likewise.
25003
ec1d04f1
VS
250042010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25005
25006 Yeeloong firmware port.
25007
25008 * boot/mips/yeeloong/fwstart.S: New file.
25009 * bus/cs5536.c (gpiodump): New const.
25010 (set_io_space): New function.
25011 (set_iod): Likewise.
25012 (set_p2d): Likewise.
25013 (grub_cs5536_init_geode): Likewise.
25014 * commands/mips/yeeloong/lsspd.c: New file.
25015 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
25016 (serial_mod_SOURCES): New variable.
25017 (serial_mod_CFLAGS): Likewise.
25018 (serial_mod_LDFLAGS): Likewise.
25019 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
25020 term/terminfo.c and term/tparm.c.
25021 (pkglib_IMAGES): Add fwstart.img.
25022 (fwstart_img_SOURCES): New variable.
25023 (fwstart_img_CFLAGS): Likewise.
25024 (fwstart_img_ASFLAGS): Likewise.
25025 (fwstart_img_LDFLAGS): Likewise.
25026 (fwstart_img_FORMAT): Likewise.
25027 (pkglib_MODULES): Add lsspd.mod.
25028 (lsspd_mod_SOURCES): New variable.
25029 (lsspd_mod_CFLAGS): Likewise.
25030 (lsspd_mod_LDFLAGS): Likewise.
25031 (pkglib_MODULES): Add halt.mod.
25032 (halt_mod_SOURCES): New variable.
25033 (halt_mod_CFLAGS): Likewise.
25034 (halt_mod_LDFLAGS): Likewise.
25035 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
25036 (serial_mod_SOURCES): Removed.
25037 (serial_mod_CFLAGS): Likewise.
25038 (serial_mod_LDFLAGS): Likewise.
25039 * disk/ata.c (check_device): New function.
25040 (grub_ata_device_initialize): Use check_device.
25041 (grub_ata_iterate): Recheck devices.
25042 (grub_ata_open): Likewise.
25043 (grub_atapi_iterate): Likewise.
25044 (grub_atapi_open): Likewise.
25045 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
25046 (GRUB_ATA_CH1_PORT1): Likewise.
25047 (GRUB_ATA_CH0_PORT2): Likewise.
25048 (GRUB_ATA_CH1_PORT2): Likewise.
25049 * include/grub/mips/loongson.h: New file.
25050 * include/grub/mips/yeeloong/ec.h: Likewise.
25051 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
25052 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
25053 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
25054 * include/grub/misc.h (grub_halt): Declare as noreturn.
25055 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
25056 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
25057 (UART_ENABLE_FIFO_TRIGGER1): New definition.
25058 (UART_ENABLE_DTRRTS): Likewise.
25059 (UART_ENABLE_MODEM): Removed.
25060 (UART_ENABLE_OUT2): New const.
25061 * include/grub/term.h (grub_term_register_input_active): New function.
25062 (grub_term_register_output_active): Likewise.
25063 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
25064 argument.
25065 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
25066 (init_pci): New function.
25067 (grub_machine_init): Execute platform init when firmware. Init serial.
25068 (grub_halt): Implement.
25069 (grub_exit): Likewise.
25070 (grub_reboot): Likewise.
25071 * term/serial.c (serial_hw_init): Update macros.
25072 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
25073 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
25074 (image_targets): New target mipsel-yeeloong-flash.
25075 (generate_image): Support IMAGE_YEELOONG_FLASH.
25076 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
25077 (grub_video_sm712_setup): Init card.
25078 (grub_video_sm712_set_palette): Removed.
25079 * video/sm712_init.c: New file.
25080
ff4a70d2
CW
250812010-06-30 Colin Watson <cjwatson@ubuntu.com>
25082
25083 * Makefile.in (install-local): Temporarily prepend $(builddir) to
25084 PATH when running help2man and then run it on the unadorned
25085 executable names, rather than passing $(builddir)/* paths to
25086 help2man. This avoids the build directory ending up in generated
25087 manual pages.
25088
1246efeb
CW
250892010-06-29 Colin Watson <cjwatson@ubuntu.com>
25090
25091 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
25092 to avoid accidents when debugging with 'sh -x'.
25093 * util/grub-mkrescue.in: Likewise.
25094 * util/grub.d/00_header.in: Likewise.
25095 * util/grub.d/10_hurd.in: Likewise.
25096 * util/grub.d/10_kfreebsd.in: Likewise.
25097 * util/grub.d/10_linux.in: Likewise.
25098 * util/grub.d/10_netbsd.in: Likewise.
25099 * util/grub.d/10_windows.in: Likewise.
25100 * util/grub.d/20_linux_xen.in: Likewise.
25101 * util/grub.d/30_os-prober.in: Likewise.
25102 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25103
1ba9b889
CW
251042010-06-29 Colin Watson <cjwatson@ubuntu.com>
25105
25106 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
25107 last character in the buffer.
25108 Reported by: Vladimir Serbinenko.
25109
dccaf99d
RM
251102010-06-29 Robert Millan <rmh@gnu.org>
25111
25112 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
25113 (Command-line and menu entry commands): Document `badram' command.
25114
d500ed12
RM
251152010-06-28 Robert Millan <rmh@gnu.org>
25116
25117 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
25118 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
25119 command using ${GRUB_BADRAM} as parameter.
25120
20bc84a6
CW
251212010-06-28 Colin Watson <cjwatson@ubuntu.com>
25122
25123 * docs/grub.texi (Device map): New section.
25124 (Themes): New section (stub).
25125 * Makefile.in (docs/grub.info): The info documentation now builds
25126 without errors. Make sure it stays that way.
25127
4045dee1
VS
251282010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25129
25130 Use normal parser for menu entries.
25131 Reported by: Thomas Frauendorfer
25132
25133 * include/grub/parser.h (grub_parser_execute): Don't export.
25134 * normal/menu.c (grub_menu_execute_entry_real): New function.
25135 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
25136
bca58c7b
CW
251372010-06-28 Colin Watson <cjwatson@ubuntu.com>
25138
25139 * docs/grub.texi (Embedded configuration): New section (replacing
25140 old "Preset Menu" stub).
25141 (Images): New section.
25142 (configfile): Note that any menu entries defined in `file' are shown
25143 immediately.
25144
dec53e63
JT
251452010-06-28 Josh Triplett <josh@joshtriplett.org>
25146
25147 * mmap/i386/pc/mmap_helper.S: Set CF on return.
25148
c06e40f7
CW
251492010-06-28 Colin Watson <cjwatson@ubuntu.com>
25150
25151 * util/grub-install.in: Add --debug-image= option.
25152
cb88052b
CW
251532010-06-28 Colin Watson <cjwatson@ubuntu.com>
25154
25155 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
25156 possible on Linux.
25157
25158 * util/deviceiter.c (check_device): Rename to ...
25159 (check_device_readable_unique): ... this. Update all callers.
25160 Maintain and check a list of which devices (by canonicalized name)
25161 have already been seen.
25162 (clear_seen_devices): New function.
25163 (compare_file_names) [__linux__]: New function.
25164 (grub_util_iterate_devices): Clear the list of seen devices on exit
25165 and (just in case) on entry.
25166 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
25167 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
25168 seen-devices list, superseded by general code in check_device.
25169
bbe34652
CW
251702010-06-28 Colin Watson <cjwatson@ubuntu.com>
25171
25172 * commands/cat.c (options): New variable.
25173 (grub_cmd_cat): Parse options. If the --dos option is given, print
25174 DOS-style "\r\n" line endings as simple newlines (Debian bug
25175 #586358).
25176 (GRUB_MOD_INIT): Use extcmd.
25177 (GRUB_MOD_FINI): Likewise.
25178 * docs/grub.texi (cat): Document --dos.
25179
412e09f3
VS
251802010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25181
25182 XEN with Linux grub-mkconfig support.
25183
25184 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
25185 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
25186 GRUB_CMDLINE_XEN_DEFAULT.
25187 * util/grub.d/20_linux_xen.in: New file.
25188
53f3ef38 251892010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
25190
25191 Initialise VGA video on qemu ourselves.
25192
25193 * boot/i386/qemu/boot.S: Don't call 0xc000.
25194 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
25195 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
25196 (kernel_img_HEADERS): Add pci.h.
25197 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
25198 * configure.ac: Force unifont on qemu and yeeloong.
25199 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
25200 (grub_vga_palette_write): Use correct register.
25201 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
25202 Call grub_qemu_init_cirrus.
25203 * kern/i386/qemu/init.c: New file.
25204 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
25205
25206 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
25207
c75be4fb
PR
252082010-06-26 Pavel Roskin <proski@gnu.org>
25209
25210 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
25211 13.
25212
d8034603
CW
252132010-06-26 Colin Watson <cjwatson@ubuntu.com>
25214
25215 * docs/grub.texi (Simple configuration): Explain that
25216 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
25217 set to `true' to disable their respective recovery entries, not
25218 merely set.
25219
3fa06487
CW
252202010-06-26 Colin Watson <cjwatson@ubuntu.com>
25221
25222 Make the `source' command slightly faster.
25223
25224 * normal/main.c (grub_normal_execute): Don't re-read list files when
25225 nested.
25226
e9b29642
CW
252272010-06-23 Colin Watson <cjwatson@ubuntu.com>
25228
25229 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
25230 field position and mask size to red fields from mode_info, not
25231 green.
25232 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
25233 Remove redundant tag->common.framebuffer_type assignment.
25234 Reported by: Seth Goldberg.
25235
e726542f
CW
252362010-06-23 Colin Watson <cjwatson@ubuntu.com>
25237
25238 Sync up other versions of the Linux loader with Robert Millan's
25239 change of 2010-01-09, "Make loader output a bit more user-friendly".
25240
25241 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
25242 grub_dprintf().
25243 (grub_cmd_linux): Likewise.
25244 (grub_cmd_initrd): Likewise.
25245 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
25246 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25247
d6e98a17
CW
252482010-06-21 Colin Watson <cjwatson@ubuntu.com>
25249
25250 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
25251 larger than MEMORY_MAP_SIZE.
25252
14d3f08e
BC
252532010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
25254
25255 Fix parallel build.
25256
25257 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
25258 dependency.
25259 * script/parser.y: #include grub_script.tab.h header.
25260
4f9613a3
VS
252612010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25262
25263 Support >3GiB and <16MiB RAM in i386-qemu.
25264
25265 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
25266 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
25267 (grub_lower_mem): Removed.
25268 (grub_upper_mem): Likewise.
25269 (mem_size): Made static.
25270 (above_4g): New variable.
25271 (grub_machine_mmap_init): Detect small mem_size and above_4g.
25272 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
25273 support.
25274
05e51879
VS
252752010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25276
25277 Cirrus 5446 and Bochs video cards support.
25278
25279 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
25280 video_bochs.mod
25281 (video_cirrus_mod_SOURCES): New variable.
25282 (video_cirrus_mod_CFLAGS): Likewise.
25283 (video_cirrus_mod_LDFLAGS): Likewise.
25284 (video_bochs_mod_SOURCES): Likewise.
25285 (video_bochs_mod_CFLAGS): Likewise.
25286 (video_bochs_mod_LDFLAGS): Likewise.
25287 * include/grub/vga.h: New file.
25288 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
25289 (grub_video_fb_set_page_t): New type.
25290 (grub_video_fb_setup): New prototype.
25291 (grub_video_fb_swap_buffers): Likewise.
25292 (grub_video_fb_get_info_and_fini): Likewise.
25293 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
25294 (CRTC_DATA_PORT): Likewise.
25295 (CRTC_CURSOR): Likewise.
25296 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25297 (CRTC_CURSOR_ADDR_LOW): Likewise.
25298 (CRTC_CURSOR_DISABLE): Likewise.
25299 (update_cursor): Use grub_vga_cr_write.
25300 (grub_vga_text_setcursor): Likewise.
25301 * video/bochs.c: New file.
25302 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
25303 (palette): Likewise.
25304 (palette_size): Likewise.
25305 (framebuffer): New variable.
25306 (grub_video_fb_init): Use 'framebuffer'.
25307 (grub_video_fb_fini): Likewise.
25308 (grub_video_fb_get_info): Likewise.
25309 (grub_video_fb_get_palette): Likewise.
25310 (grub_video_fb_set_palette): Likewise.
25311 (grub_video_fb_set_viewport): Likewise.
25312 (grub_video_fb_get_viewport): Likewise.
25313 (grub_video_fb_map_color): Likewise.
25314 (grub_video_fb_map_rgb): Likewise.
25315 (grub_video_fb_map_rgba): Likewise.
25316 (grub_video_fb_unmap_color): Likewise.
25317 (grub_video_fb_unmap_color_int): Likewise.
25318 (grub_video_fb_fill_rect): Likewise.
25319 (grub_video_fb_blit_bitmap): Likewise.
25320 (grub_video_fb_blit_render_target): Likewise.
25321 (grub_video_fb_scroll): Likewise.
25322 (grub_video_fb_create_render_target): Likewise.
25323 (grub_video_fb_doublebuf_blit_init): Likewise.
25324 (grub_video_fb_set_active_render_target): Handle doublebuffering.
25325 (doublebuf_pageflipping_update_screen): New function.
25326 (doublebuf_pageflipping_init): Likewise.
25327 (grub_video_fb_setup): Likewise.
25328 (grub_video_fb_swap_buffers): Likewise.
25329 (grub_video_fb_get_info_and_fini): Likewise.
25330 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
25331 All users updated.
25332 (doublebuf_pageflipping_commit): Restructured into ...
25333 (doublebuf_pageflipping_set_page): ... this.
25334 (doublebuf_pageflipping_update_screen): Removed.
25335 (doublebuf_pageflipping_init): Likewise.
25336 (double_buffering_init): Likewise.
25337 (grub_video_vbe_setup): Use grub_video_fb_setup.
25338 (grub_video_vbe_swap_buffers): Removed.
25339 (grub_video_vbe_set_active_render_target): Likewise.
25340 (grub_video_vbe_get_active_render_target): Likewise.
25341 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
25342 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
25343 grub_video_fb_set_active_render_target and
25344 grub_video_fb_get_active_render_target.
25345 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
25346 (SEQUENCER_DATA_PORT): Likewise.
25347 (MAP_MASK_REGISTER): Likewise.
25348 (CRTC_ADDR_PORT): Likewise.
25349 (CRTC_DATA_PORT): Likewise.
25350 (START_ADDR_HIGH_REGISTER): Likewise.
25351 (START_ADDR_LOW_REGISTER): Likewise.
25352 (GRAPHICS_ADDR_PORT): Likewise.
25353 (GRAPHICS_DATA_PORT): Likewise.
25354 (READ_MAP_REGISTER): Likewise.
25355 (INPUT_STATUS1_REGISTER): Likewise.
25356 (INPUT_STATUS1_VERTR_BIT): Likewise.
25357 (get_map_mask): Use grub_vga_sr_read.
25358 (set_map_mask): Use grub_vga_sr_write.
25359 (set_read_map): Use grub_vga_gr_write.
25360 (set_start_address): Use grub_vga_cr_write.
25361 * video/sm712.c (framebuffer): Remove leftover fields.
25362
4321c64a
CW
253632010-06-20 Colin Watson <cjwatson@ubuntu.com>
25364
25365 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
25366 setting GRUB_VIDEO_BACKEND. Make it available as a user override
25367 instead. Replace the gfxterm backend check with a check that
25368 ${GRUB_PREFIX}/video.lst is non-empty.
25369 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
25370 again.
25371 (load_video): New generated function. Call it before loading
25372 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
25373 * util/grub.d/10_linux.in (linux_entry): Call load_video.
25374 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
25375 * docs/grub.texi (Simple configuration): Document
25376 GRUB_VIDEO_BACKEND.
25377
253782010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25379
25380 Use video functions in linux and xnu loaders.
25381
25382 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
25383 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
25384 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
25385 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
25386 loader/i386/pc/linux.c.
25387 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
25388 (find_line_len): Removed.
25389 (find_framebuf): Likewise.
25390 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
25391 * loader/i386/efi/xnu.c: Removed.
25392 * loader/i386/pc/xnu.c: Moved from here...
25393 * loader/i386/xnu.c: ...here.
25394
25395 Enable priorities in video drivers.
25396
25397 * include/grub/video.h (grub_video_adapter_prio_t): New type.
25398 (grub_video_adapter): New field prio.
25399 (grub_video_register): Respect prio when inserting.
25400 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
25401 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
25402 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
25403 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
25404 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
25405 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
25406 * video/sm712.c (grub_video_sm712_adapter): Likewise.
25407
25408 Fix SDL driver ID.
25409
25410 * include/grub/video.h (grub_video_driver_id_t): New value
25411 GRUB_VIDEO_DRIVER_SDL.
25412 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
25413
7d24e434
CW
254142010-06-17 Colin Watson <cjwatson@ubuntu.com>
25415
25416 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
25417 argument to printf.
25418 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25419
c88a83f6
CW
254202010-06-17 Colin Watson <cjwatson@ubuntu.com>
25421
25422 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
25423 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25424
094dfb69
CW
254252010-06-17 Colin Watson <cjwatson@ubuntu.com>
25426
25427 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
25428 directly, and recommend grub-install instead.
25429 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25430
2164da6b
CW
254312010-06-17 Colin Watson <cjwatson@ubuntu.com>
25432
25433 Fix i386-pc prefix handling with nested partitions (Debian bug
25434 #585068). Note that the case where the core image is booted using
25435 multiboot and relocated from its original location still requires
25436 more work.
25437
25438 * kern/i386/pc/init.c (make_install_device): If the prefix starts
25439 with "(,", fill the boot drive in between those two characters, but
25440 expect that a full partition specification including partition map
25441 names will follow.
25442 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
25443 specified, write a prefix without the drive name but including a
25444 full partition specification.
25445
044e2e60
CW
254462010-06-16 Colin Watson <cjwatson@ubuntu.com>
25447
25448 * util/grub-mkconfig.in: Ignore non-option arguments, for
25449 compatibility with older versions (before 2010-06-12) which did the
25450 same. In particular, this makes it easier to ship an update-grub
25451 wrapper which is compatible with that used with GRUB Legacy (Debian
25452 bug #586056).
25453
5591324f
GS
254542010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25455
25456 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
25457 for manual page generation.
25458
662e24d5
GS
254592010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25460
25461 * po/POTFILES: Remove leftover commands/handler.c.
25462
8d70754e
CW
254632010-06-14 Colin Watson <cjwatson@ubuntu.com>
25464
25465 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
25466 left this script non-functional.
25467
41160e2e
CW
254682010-06-14 Colin Watson <cjwatson@ubuntu.com>
25469
25470 * docs/man/grub-emu.h2m: New file.
25471
b5309cc1
CW
254722010-06-13 Colin Watson <cjwatson@ubuntu.com>
25473
25474 * docs/grub.texi (Commands): Document reduced command set in rescue
25475 mode.
25476 (cpuid): New section.
25477
fcb2d090
GS
254782010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
25479
25480 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
25481 new partition naming style.
25482 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
25483
96e5c556
BC
254842010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
25485
25486 Add "-o grub.iso" like cmdline options support.
25487
25488 * util/grub-install.in: Improve cmdline option parsing.
25489 * util/grub-mkconfig.in: Likewise.
25490 * util/grub-mkrescue.in: Likewise.
25491 * util/grub-reboot.in: Likewise.
25492 * util/grub-set-default.in: Likewise.
25493 * util/i386/efi/grub-install.in: Likewise.
25494 * util/ieee1275/grub-install.in: Likewise.
25495 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25496
c16be99b
CW
254972010-06-12 Colin Watson <cjwatson@ubuntu.com>
25498
25499 * .bzrignore: Ignore 41_custom.
25500
ce08a9fb
TS
255012010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25502
25503 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
25504
7beac90c
CW
255052010-06-12 Colin Watson <cjwatson@ubuntu.com>
25506
25507 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
25508 prototype declarations.
25509
25510 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
25511 generating fs, partmap, and video lists.
25512 * include/grub/fs.h (grub_fs_register): Omit prototype if
25513 GRUB_LST_GENERATOR is defined.
25514 * include/grub/partition.h (grub_partition_map_register): Likewise.
25515 * include/grub/video.h (grub_video_register): Likewise.
25516
1c8f0f8d
JM
255172010-06-12 Javier Martín <lordhabbit@gmail.com>
25518
25519 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
25520
a6085973
TS
255212010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25522
25523 * util/grub-mkrescue.in: Support --xorriso argument.
25524
25c56d29
VS
255252010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25526
25527 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
25528 Suggested by: Thomas Schmitt.
25529
e03e4b24
VS
255302010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25531
25532 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
25533 Suggested by: Thomas Schmitt.
25534
57711df6
VS
255352010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25536
25537 custom.cfg support.
25538
25539 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
25540 * util/grub.d/41_custom.in: New file.
25541
ee62c427
CW
255422010-06-12 Colin Watson <cjwatson@ubuntu.com>
25543
25544 * util/grub-mkrescue.in (make_image): Remove sh module, which has
25545 been merged back into normal.
25546
283af07a
CW
255472010-06-11 Colin Watson <cjwatson@ubuntu.com>
25548
25549 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
25550 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
25551
56a0d956
CW
255522010-06-11 Colin Watson <cjwatson@ubuntu.com>
25553
25554 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
25555 when generating manual pages.
25556 * docs/man/grub-bin2h.h2m: New file.
25557 * docs/man/grub-editenv.h2m: New file.
25558 * docs/man/grub-fstest.h2m: New file.
25559 * docs/man/grub-install.h2m: New file.
25560 * docs/man/grub-macho2img.h2m: New file.
25561 * docs/man/grub-mkconfig.h2m: New file.
25562 * docs/man/grub-mkdevicemap.h2m: New file.
25563 * docs/man/grub-mkfont.h2m: New file.
25564 * docs/man/grub-mkimage.h2m: New file.
25565 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
25566 * docs/man/grub-mkrelpath.h2m: New file.
25567 * docs/man/grub-mkrescue.h2m: New file.
25568 * docs/man/grub-ofpathname.h2m: New file.
25569 * docs/man/grub-pe2elf.h2m: New file.
25570 * docs/man/grub-probe.h2m: New file.
25571 * docs/man/grub-reboot.h2m: New file.
25572 * docs/man/grub-script-check.h2m: New file.
25573 * docs/man/grub-set-default.h2m: New file.
25574 * docs/man/grub-setup.h2m: New file.
25575
3a37e322
VS
255762010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
25577
25578 Use FOR_* macros instead of *_iterate whenever possible.
25579
25580 * commands/handler.c: Removed.
25581 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
25582 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
25583 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25584 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
25585 (grub_probe_SOURCES): Remove kern/parser.c.
25586 (util/grub-script-check.c_DEPENDENCIES): Removed.
25587 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
25588 and grub_script_check_init.c.
25589 (grub_script_check_init.lst): Removed.
25590 (grub_script_check_init.h): Likewise.
25591 (grub_script_check_init.c): Likewise.
25592 (pkglib_MODULES): Remove handler.mod and sh.mod.
25593 (handler_mod_SOURCES): Removed.
25594 (handler_mod_CFLAGS): Likewise.
25595 (handler_mod_LDFLAGS): Likewise.
25596 (normal_mod_SOURCES): Remove normal/handler.c.
25597 Add script/main.c, script/script.c, script/execute.c,
25598 script/function.c, script/lexer.c, grub_script.tab.c
25599 and grub_script.yy.c.
25600 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25601 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25602 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
25603 (grub_setup_SOURCES): Remove kern/parser.c.
25604 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25605 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
25606 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25607 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25608 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25609 (grub_setup_SOURCES): Remove kern/parser.c.
25610 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25611 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
25612 * include/grub/command.h (grub_command_iterate): Removed.
25613 (FOR_COMMANDS): New macro.
25614 * include/grub/dl.h (grub_dl): New member next.
25615 (grub_dl_iterate): Removed.
25616 (grub_dl_head): New variable declaration.
25617 (FOR_DL_MODULES): New macro.
25618 * include/grub/fs.h: Include list.h.
25619 (grub_fs): Make next first element.
25620 (grub_fs_list): New variable declaration.
25621 (grub_fs_register): Make inline.
25622 (grub_fs_unregister): Likewise.
25623 (grub_fs_iterate): Removed.
25624 (FOR_FILESYSTEMS): New macro.
25625 * include/grub/handler.h: Removed.
25626 * include/grub/list.h (grub_list_hook_t): Removed.
25627 (grub_list_test_t): Likewise.
25628 (grub_list_pop): Likewise.
25629 (grub_list_iterate): Likewise.
25630 (grub_list_insert): Likewise.
25631 (FOR_LIST_ELEMENTS): New macro.
25632 * include/grub/parser.h (grub_parser_class): Removed.
25633 (grub_parser_register): Likewise.
25634 (grub_parser_unregister): Likewise.
25635 (grub_parser_get_current): Likewise.
25636 (grub_parser_set_current): Likewise.
25637 (grub_register_rescue_parser): Likewise.
25638 (grub_rescue_parse_line): New function.
25639 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
25640 * include/grub/script_sh.h (grub_script_function_list): New variable
25641 declaration.
25642 (FOR_SCRIPT_FUNCTIONS): New macro.
25643 (grub_script_function_iterate): Removed.
25644 (grub_normal_parse_line): New prototype.
25645 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
25646 (FOR_DISABLED_TERM_INPUTS): Likewise.
25647 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
25648 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
25649 * include/grub/video.h (grub_video_adapter): Move 'next' to first
25650 element.
25651 (grub_video_register): Inline.
25652 (grub_video_unregister): Likewise.
25653 (grub_video_adapter_list): New variable declaration.
25654 (grub_video_iterate): Removed.
25655 (FOR_VIDEO_ADAPTERS): New macro.
25656 * kern/dl.c (grub_dl_list): Removed. All users updated.
25657 (grub_dl_iterate): Removed.
25658 * kern/fs.c (grub_fs_list): Make global.
25659 (grub_fs_register): Removed.
25660 (grub_fs_unregister): Likewise.
25661 (grub_fs_iterate): Likewise.
25662 * kern/handler.c: Removed.
25663 * kern/list.c (grub_list_pop): Removed.
25664 (grub_list_iterate): Likewise.
25665 (grub_list_insert): Likewise.
25666 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
25667 (grub_prio_list_insert): Don't use grub_list_insert.
25668 * kern/main.c (grub_register_rescue_parser): Don't call
25669 grub_register_rescue_parser.
25670 * kern/parser.c (grub_parser_class): Removed.
25671 (grub_parser_execute): Use grub_rescue_parse_line.
25672 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
25673 (grub_rescue_parser): Removed.
25674 (grub_register_rescue_parser): Likewise.
25675 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
25676 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
25677 (grub_auth_check_authentication): Likewise.
25678 * normal/completion.c (iterate_command): Removed.
25679 (grub_normal_do_completion): Use FOR_COMMANDS.
25680 * normal/handler.c: Removed.
25681 * normal/main.c (read_config_file): Remove parser changing.
25682 (grub_normal_execute): Don't call read_handler_list.
25683 (grub_normal_read_line_real): Statically allocate prompt.
25684 (grub_cmdline_run): Use grub_normal_parse_line.
25685 (GRUB_MOD_FINI): Don't call free_handler_list.
25686 * normal/menu_entry.c (run): Likewise.
25687 * script/function.c (grub_script_function_list): Make global.
25688 (grub_script_function_iterate): Removed.
25689 * script/main.c (grub_normal_parse_line): Make global.
25690 (grub_sh_parser): Removed.
25691 (GRUB_MOD_INIT): Likewise.
25692 (GRUB_MOD_FINI): Likewise.
25693 * tests/lib/functional_test.c (grub_functional_test): Use
25694 FOR_LIST_ELEMENTS.
25695 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
25696 (grub_test_run): Use FOR_LIST_ELEMENTS.
25697 * tests/lib/unit_test.c (main): Likewise.
25698 * util/deviceiter.c (grub_util_iterate_devices): Don't use
25699 grub_list_pop.
25700 * util/grub-fstest.c (grub_term_input_class): Removed.
25701 (grub_term_output_class): Likewise.
25702 * util/grub-probe.c: Likewise.
25703 * util/i386/pc/grub-setup.c: Likewise.
25704 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25705 * util/grub-script-check.c (main): Don't call grub_init_all and
25706 grub_fini_all.
25707 * video/video.c (grub_video_adapter_list): Make global.
25708 (grub_video_register): Removed.
25709 (grub_video_unregister): Likewise.
25710 (grub_video_iterate): Likewise.
25711
6289c3a7
VS
257122010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
25713
25714 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
25715 reported by Henrique Ferreiro.
25716
91460247
RM
257172010-06-09 Robert Millan <rmh@gnu.org>
25718
25719 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
25720 ones, when both are available.
25721
0ea7c4f9
GS
257222010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25723
25724 Make --version uniform and avoid hard-coded program name.
25725
25726 * util/grub-mkimage.c (main): Use `program_name' instead of
25727 hard-coded string.
25728 * util/i386/pc/grub-setup.c (main): Likewise.
25729 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
25730 * util/grub-install.in: Save the basename of $0 in $self, and use the
25731 latter in informational messages. Use the same format for --version
25732 as the binary programs.
25733 * util/grub-mkconfig.in: Likewise.
25734 * util/grub-mkrescue.in: Likewise.
25735 * util/grub-reboot.in: Likewise.
25736 * util/grub-set-default.in: Likewise.
25737 * util/i386/efi/grub-install.in: Likewise.
25738 * util/ieee1275/grub-install.in: Likewise.
25739 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25740
e8a6f3b6
GS
257412010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25742
25743 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
25744 embedding area. Use <= instead of == when checking for non-emptiness.
25745
f4d095d7
GS
257462010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25747
25748 * configure.ac: Add `.' to the directories searched for unifont.
25749
50e532ca
CW
257502010-06-08 Colin Watson <cjwatson@ubuntu.com>
25751
25752 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
25753 grub_script.yy.h.
25754
d39f3dec
CW
257552010-06-08 Colin Watson <cjwatson@ubuntu.com>
25756
25757 * docs/grub.texi (History): Expand to cover GRUB 2.
25758 (Serial terminal): Refer to `terminal_input' and `terminal_output'
25759 commands, not `terminal'.
25760 (serial): Likewise.
25761 (terminal_input): New section.
25762 (terminal_output): New section.
25763 (uppermem): New section (stub).
25764 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
25765
6ef0ddb4
CW
257662010-06-08 Colin Watson <cjwatson@ubuntu.com>
25767
25768 * docs/grub.texi (Security): Menu entries are unrestricted by
25769 default, not restricted to superusers as I had previously thought.
25770 Reword to account for this.
25771
e0f4c438
CW
257722010-06-07 Colin Watson <cjwatson@ubuntu.com>
25773
25774 * kern/emu/misc.c (device_mapper_null_log): New function.
25775 (grub_device_mapper_supported): New function.
25776 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
25777 prototype.
25778 * kern/emu/hostdisk.c (find_partition_start): Check whether
25779 device-mapper is supported before trying to use it.
25780 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
25781
da908200
CW
257822010-06-07 Colin Watson <cjwatson@ubuntu.com>
25783
25784 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
25785 (File name syntax): Likewise.
25786 (help): --all is no longer supported in GRUB 2. Be more precise
25787 about pattern matching.
25788
fb55c3ac
CW
257892010-06-07 Colin Watson <cjwatson@ubuntu.com>
25790
25791 * normal/completion.c (grub_normal_do_completion): When completing
25792 arguments to "set" and the current word contains an equals sign,
25793 skip to after the equals sign before starting completion.
25794
258c2573
CW
257952010-06-07 Colin Watson <cjwatson@ubuntu.com>
25796
25797 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
25798
ee75515e
CW
257992010-06-07 Colin Watson <cjwatson@ubuntu.com>
25800
25801 * docs/grub.texi (Network): New section.
25802 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
25803 `(nd)' as in GRUB Legacy.
25804 (pxe_unload): New section.
25805
a6a700aa
CW
258062010-06-07 Colin Watson <cjwatson@ubuntu.com>
25807
25808 * docs/grub.texi (Troubleshooting): `echo' is not usually available
25809 in the rescue shell, so recommend using `set' instead. Thanks,
25810 Jordan Uggla.
25811
4003dd38
CW
258122010-06-07 Colin Watson <cjwatson@ubuntu.com>
25813
25814 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
25815 (password): New section.
25816 (password_pbkdf2): New section.
25817 (search): New section.
25818 (Security): New section.
25819 (Troubleshooting): New section, currently very incomplete.
25820 (Invoking grub-mkpasswd-pbkdf2): New section.
25821 (Internals): New section, currently very incomplete.
25822
e1cbcc40
CW
258232010-06-07 Colin Watson <cjwatson@ubuntu.com>
25824
25825 * util/grub.d/00_header.in: Add some more quoting (of
25826 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
25827 work again.
25828 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
25829
db8fa1ad
CW
258302010-06-07 Colin Watson <cjwatson@ubuntu.com>
25831
25832 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
25833 to `count', fixing variable shadowing that broke the -c option.
25834
258352010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
25836
25837 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
25838 in case they contain spaces.
25839
f28a9212
CW
258402010-06-04 Colin Watson <cjwatson@ubuntu.com>
25841
25842 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
25843 "part_" to partmap module names, in line with grub-install.
25844 Reported by: Jindřich Makovička (Debian bug #584426).
25845
9cdfe32f
CW
258462010-06-04 Colin Watson <cjwatson@ubuntu.com>
25847
25848 * util/grub-mkimage.c: Make target-related error messages slightly
25849 more helpful; -O talks about "format". Explicitly point to the use
25850 of -O if no target is specified.
25851 Reported by: Didier Raboud (Debian bug #584415).
25852
795b593a
CW
258532010-06-03 Colin Watson <cjwatson@ubuntu.com>
25854
25855 * INSTALL: Document several build requirements for optional features
25856 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
25857
9d9b5833
GS
258582010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
25859
25860 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
25861 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
25862 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
25863
0819fec8
CW
258642010-06-02 Colin Watson <cjwatson@ubuntu.com>
25865
25866 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
25867 Thanks to Jordan Uggla for spotting this.
25868
49396b4f
VS
258692010-06-02 Aleš Nesrsta <starous@volny.cz>
25870
25871 Finally make USB usable.
25872
25873 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
25874 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
25875 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
25876 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
25877 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
25878 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
25879 (GRUB_OHCI_FSMPS): Likewise.
25880 (GRUB_OHCI_PERIODIC_START): Likewise.
25881 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
25882 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
25883 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
25884 (GRUB_OHCI_SET_PORT_RESET): Likewise.
25885 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
25886 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
25887 (grub_ohci_transaction): Likewise.
25888 (grub_ohci_transfer): Improve condition detection algorithms.
25889 Handle toggle property. Program the transactions correctly.
25890 Improve error handling. Various important fixups.
25891 (grub_ohci_portstatus): Put register writes in right order.
25892 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
25893 (grub_uhci_transfer): Don't show "failed" message on success.
25894 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
25895 array.
25896 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
25897 determine its size.
25898 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
25899 before initialization is completed. Use IN direction for empty
25900 transfers. Use last_trans and compute toggle.
25901 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
25902 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
25903 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
25904 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
25905 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
25906 (grub_usb_device): Increase toggle to 256.
25907 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
25908 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
25909 GRUB_USBMS_SUBCLASS_SFF8070.
25910 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
25911 (grub_scsi_inquiry): New member page and alloc_length.
25912 (grub_scsi_request_sense): New structure.
25913 (grub_scsi_request_sense_data): Likewise.
25914 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
25915 control.
25916 * disk/scsi.c (grub_scsi_request_sense): New function.
25917 (grub_scsi_test_unit_ready): Likewise.
25918 (grub_scsi_inquiry): Fill new fields.
25919 (grub_scsi_read_capacity): Likewise.
25920 (grub_scsi_read10): Add request sense at the end.
25921 (grub_scsi_read12): Likewise.
25922 (grub_scsi_write10): Likewise.
25923 (grub_scsi_write12): Likewise.
25924 (grub_scsi_open): Add Test Unit Ready.
25925 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
25926 Support additional subclasses. Con't clear halt yet. Activate the
25927 proper config. Calculate LUNs correctly.
25928 (grub_usbms_transfer): Various important fixups.
25929
259302010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25931
25932 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
25933 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
25934 (grub_ohci_fini_hw): New function.
25935 (grub_ohci_restore_hw): Likewise.
25936 (GRUB_MOD_INIT(ohci)): Register preboot hook.
25937 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
25938 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
25939
259402010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25941
25942 Dedicated DMA allocations.
25943
25944 * bus/pci.c (grub_memalign_dma32): New function
25945 (grub_dma_free): Likewise.
25946 (grub_dma_get_virt): Likewise.
25947 (grub_dma_get_phys): Likewise.
25948 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
25949 (grub_ohci_pci_iter): Use dma32_alloc.
25950 (grub_ohci_transfer): Likewise.
25951 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
25952 (grub_usb_bulk_readwrite): Likewise.
25953 * include/grub/pci.h: Add declarations.
25954
259552010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25956
25957 CS5536 support.
25958
25959 * bus/cs5536.c: New file.
25960 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
25961 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
25962 (cs5536_mod_SOURCES): New variable.
25963 (cs5536_mod_CFLAGS): Likewise.
25964 (cs5536_mod_LDFLAGS): Likewise.
25965 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
25966 machine/pci.h.
25967 (kernel_img_SOURCES): Add bus/cs5536.c.
25968 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
25969 usb_keyboard.mod.
25970 (usb_mod_SOURCES): New variable.
25971 (usb_mod_CFLAGS): New variable.
25972 (usb_mod_LDFLAGS): New variable.
25973 (usbtest_mod_SOURCES): New variable.
25974 (usbtest_mod_CFLAGS): New variable.
25975 (usbtest_mod_LDFLAGS): New variable.
25976 (ohci_mod_SOURCES): New variable.
25977 (ohci_mod_CFLAGS): New variable.
25978 (ohci_mod_LDFLAGS): New variable.
25979 (usbms_mod_SOURCES): New variable.
25980 (usbms_mod_CFLAGS): New variable.
25981 (usbms_mod_LDFLAGS): New variable.
25982 (usb_keyboard_mod_SOURCES): New variable.
25983 (usb_keyboard_mod_CFLAGS): New variable.
25984 (usb_keyboard_mod_LDFLAGS): New variable.
25985 * include/grub/smbus.h: New file.
25986 * include/grub/cs5536.h: New file.
25987
0b35b2a9
CW
259882010-06-02 Colin Watson <cjwatson@ubuntu.com>
25989
25990 * util/grub.d/00_header.in: Add safety check to make sure that
25991 ${locale_dir} exists before trying to probe it.
25992
ca0afd5b
CW
259932010-06-02 Colin Watson <cjwatson@ubuntu.com>
25994
25995 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
25996 per the GNU Coding Standards; this is now too obscure to be worth
25997 documenting.
25998 (QNX): Likewise.
25999 (chainloader): Remove cross-reference to `SCO UnixWare'.
26000
1c41aa78
CW
260012010-06-02 Colin Watson <cjwatson@ubuntu.com>
26002
26003 * docs/grub.texi (Chain-loading): New section.
26004 (DOS/Windows): New section, borrowed from GRUB Legacy with details
26005 adjusted for GRUB 2.
26006 (SCO UnixWare): Likewise.
26007 (QNX): Likewise.
26008 (chainloader): Add reference to `Block list syntax'.
26009 (drivemap): New section.
26010 (parttool): New section.
26011
bb8ea0f5
CW
260122010-06-02 Colin Watson <cjwatson@ubuntu.com>
26013
26014 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
26015 the grub shell'.
26016 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
26017 (Installing GRUB using grub-install): Remove reference to the grub
26018 shell; mention `grub-mkimage' and `grub-setup' instead.
26019 (Invoking grub-install): Likewise.
26020 (Interface): Add reference to `Menu entry editor'.
26021 (serial): Remove `--device' option.
26022
288dd6ed
CW
260232010-06-02 Colin Watson <cjwatson@ubuntu.com>
26024
26025 * docs/grub.texi (Configuration): New section, documenting
26026 configuration file generation using grub-mkconfig. I've left a slot
26027 for documenting the full shell scripting format but have not yet
26028 started on writing that up.
26029 (Invoking grub-mkconfig): New section.
26030
34c9f0e9
CW
260312010-06-02 Colin Watson <cjwatson@ubuntu.com>
26032
26033 * docs/grub.texi (direntry): Remove grub-terminfo reference.
26034 (GNU GRUB manual): Likewise.
26035 (General commands): Update description of `terminfo' for GRUB 2.
26036
9121567e
CW
260372010-06-02 Colin Watson <cjwatson@ubuntu.com>
26038
26039 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
26040 (GRUB_MOD_INIT): Fix capitalisation.
26041 * docs/grub.texi (Command-line and menu entry commands): Document
26042 gettext and gptsync commands.
26043
ab631611
CW
260442010-06-02 Colin Watson <cjwatson@ubuntu.com>
26045
26046 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
26047 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
26048
bde4a9ac
CW
260492010-06-01 Colin Watson <cjwatson@ubuntu.com>
26050
26051 Add btrfs probing support, currently only in the single-device case.
26052
26053 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
26054 function.
26055 (grub_guess_root_device): Call find_root_device_from_mountinfo
26056 before looking in /dev.
26057
b1d17e10
VS
260582010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26059
26060 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
26061 GRUB_DISK_SIZE_UNKNOWN.
26062 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
26063
dfbfe004
JS
260642010-05-31 Jiro SEKIBA <jir@unicus.jp>
26065
26066 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
26067 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
26068 corrupted or not synced properly.
26069
c2ffc8e9
VS
260702010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26071
26072 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
26073 Reported by: Seth Goldberg.
26074
56293166
VS
260752010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26076
26077 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
26078 addition of dest.
26079 Reported by: Seth Goldberg.
26080
7620e7de
VS
260812010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26082
26083 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
26084 Reported by: Seth Goldberg.
26085
c837af3f
VS
260862010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26087
26088 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
26089 64-bit address as signed on MIPS.
26090
c7c75cf4
CW
260912010-05-28 Colin Watson <cjwatson@ubuntu.com>
26092
26093 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
26094 to the empty string.
26095
fa4b8490
BC
260962010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
26097
26098 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
26099
26100 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
26101 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
26102 * kern/misc.c (__enable_execute_stack): Disable on
26103 GRUB_MACHINE_EMU.
26104
a33075b9
CW
261052010-05-28 Colin Watson <cjwatson@ubuntu.com>
26106
26107 Make grub-probe work with symbolic links under /dev/mapper as well
26108 as with real block devices. The Linux world seems to be (at best)
26109 in transition here, and GRUB shouldn't get caught in the middle.
26110
26111 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
26112 /dev/mapper.
26113
d8708134
CW
261142010-05-27 Colin Watson <cjwatson@ubuntu.com>
26115
26116 * util/grub-script-check.c (main): Ensure defined behaviour on empty
26117 input files (in which case exit zero).
26118
db2102a0
CW
261192010-05-27 Colin Watson <cjwatson@ubuntu.com>
26120
26121 * kern/emu/misc.c (canonicalize_file_name): realpath can still
26122 return NULL for various reasons even if it has a maximum-length
26123 buffer: for example, there might be a symlink loop, or the path
26124 might exceed PATH_MAX. If this happens, return NULL.
26125
5fdba519
RM
261262010-05-27 Robert Millan <rmh@gnu.org>
26127
26128 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
26129 partmap module to handle cross-partmap setups.
26130 Reported by Orestes Mas. Gràcies!
26131
d1d368e4
CW
261322010-05-27 Colin Watson <cjwatson@ubuntu.com>
26133
26134 * util/grub-mkrescue.in: Initialise override_dir rather than
26135 assuming that it's unset or empty in the environment.
26136
95ac3c73
GS
261372010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
26138
26139 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
26140 variable index into p_index to suppress a warning with -Wshadow.
26141
7d8c0213
BC
261422010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
26143
26144 * INSTALL: Added flex >= 2.5.35 requirement.
26145
db4d5813
VS
261462010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26147
26148 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
26149
f24f4300
VS
261502010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26151
26152 cmostest support.
26153
26154 * commands/i386/cmostest.c: New file.
26155 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
26156 (cmostest_mod_SOURCES): New variable.
26157 (cmostest_mod_CFLAGS): Likewise.
26158 (cmostest_mod_LDFLAGS): Likewise.
26159 * conf/i386-pc.rmk: Likewise.
26160 * docs/grub.texi (Vendor power-on keys): New section.
26161 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
26162 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
26163 and GRUB_BUTTON_CMOS_ADDRESS.
26164 * util/grub.d/00_header.in: Handle powering-on by separate button.
26165
ad603f61
VS
261662010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26167
26168 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
26169 Removed drawing_scrollbar argument. All users updated
26170 Fixes #29792.
26171 Reported by Jo Shields
26172
3ecb080a
VS
261732010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26174
26175 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
26176 buffer since gfxterm handles double repaint.
26177
5f2316c1
VS
261782010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26179
26180 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
26181 * term/gfxterm.c (real_scroll): Likewise.
26182
9a25f885
VS
261832010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26184
26185 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
26186 before calling BIOS.
26187
39fbb79a
VS
261882010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26189
26190 * include/grub/i18n.h: Always enable grub_gettext.
26191
228cfa97
VS
261922010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26193
26194 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
26195 partition naming style.
26196
21717c8f
CW
261972010-05-21 Colin Watson <cjwatson@ubuntu.com>
26198
26199 * util/grub-mkconfig.in: Fix handling of -o so that it works when
26200 not the first option.
26201
c0f48e65
CW
262022010-05-20 Colin Watson <cjwatson@ubuntu.com>
26203
26204 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
26205
96779aec
CW
262062010-05-20 Colin Watson <cjwatson@ubuntu.com>
26207
26208 * util/misc.c: Move inclusion of <limits.h> to ...
26209 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
26210
fa9d256e
GS
262112010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
26212
26213 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
26214 Fix merge error in NetBSD code.
26215 (find_partition_start) [__NetBSD__]: Likewise.
26216
123b7a85
BC
262172010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
26218
26219 Fix grub-mkrescue usage unit testing.
26220
26221 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
26222
74276c0d
CF
262232010-05-18 Christian Franke <franke@computer.org>
26224
26225 * util/grub.d/10_windows.in: Use path names instead of
26226 drive letters to prevent warning from Cygwin 1.7.
26227 Add drivemap command to menuentry if needed.
26228
c4f7b523
ST
262292010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
26230
26231 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
26232 gnumach and gnumach.gz.
26233
95b97950
VS
262342010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26235
26236 * include/grub/i18n.h (gettext): Inline instead of using #define.
26237 (grub_gettext): Likewise.
26238 (_): Likewise.
26239
01b8d2d7
VS
262402010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26241
26242 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
26243 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
26244 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
26245 (main): Add a slash after pkglibdirroot.
26246
654e1d1e
VS
262472010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26248
26249 * util/grub-install.in: Add missing "in" keyword.
26250
26966aeb
VS
262512010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26252
26253 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
26254 Reported by: Seth Goldberg.
26255
75006747
VS
262562010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26257
26258 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
26259
74cbf5bd
CW
262602010-05-18 Colin Watson <cjwatson@ubuntu.com>
26261
26262 * configure.ac: Check for Linux device-mapper support.
26263
26264 * util/hostdisk.c (device_is_mapped): New function.
26265 (find_partition_start): New function, partly broken out from
26266 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
26267 device-mapper support added.
26268 (linux_find_partition): Use find_partition_start.
26269 (convert_system_partition_to_system_disk): Add `st' argument.
26270 Support Linux /dev/mapper/* devices if device-mapper support is
26271 available; only DM-RAID devices are understood at present.
26272 (find_system_device): Add `st' argument. Pass it to
26273 convert_system_partition_to_system_disk.
26274 (grub_util_biosdisk_get_grub_dev): Pass stat result to
26275 find_system_device and convert_system_partition_to_system_disk. Use
26276 find_partition_start.
26277
26278 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
26279 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
26280 * util/deviceiter.c [__linux__]: Define MINOR.
26281 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
26282 * util/mkdevicemap.c (grub_putchar): New function.
26283 (grub_getkey): New function.
26284 (grub_refresh): New function.
26285 (main): Set debug=all if -v -v is used.
26286
355b51e9
CW
262872010-05-18 Colin Watson <cjwatson@ubuntu.com>
26288
26289 Fix build with non-GNU libcs.
26290
26291 * util/misc.c (canonicalize_file_name): Move to ...
26292 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
26293 grub_make_system_path_relative_to_its_root.
26294
7fb5c25f
CW
262952010-05-18 Colin Watson <cjwatson@ubuntu.com>
26296
26297 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
26298 we handle finding grub-mkimage. Default to finding grub-mkimage in
26299 ${bindir} with program_transform_name applied, and provide a
26300 --grub-mkimage option to override this.
26301
1d3293d6
VS
263022010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26303
26304 Remove grub-mkisofs.
26305
26306 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
26307 (grub_mkisofs_SOURCES): Removed.
26308 (grub_mkisofs_CFLAGS): Removed.
26309 * util/mkisofs/defaults.h: Removed.
26310 * util/mkisofs/eltorito.c: Likewise.
26311 * util/mkisofs/exclude.h: Likewise.
26312 * util/mkisofs/hash.c: Likewise.
26313 * util/mkisofs/include/: Likewise.
26314 * util/mkisofs/include/fctldefs.h: Likewise.
26315 * util/mkisofs/include/mconfig.h: Likewise.
26316 * util/mkisofs/include/prototyp.h: Likewise.
26317 * util/mkisofs/include/statdefs.h: Likewise.
26318 * util/mkisofs/iso9660.h: Likewise.
26319 * util/mkisofs/joliet.c: Likewise.
26320 * util/mkisofs/match.c: Likewise.
26321 * util/mkisofs/match.h: Likewise.
26322 * util/mkisofs/mkisofs.c: Likewise.
26323 * util/mkisofs/mkisofs.h: Likewise.
26324 * util/mkisofs/msdos_partition.h: Likewise.
26325 * util/mkisofs/multi.c: Likewise.
26326 * util/mkisofs/name.c: Likewise.
26327 * util/mkisofs/rock.c: Likewise.
26328 * util/mkisofs/tree.c: Likewise.
26329 * util/mkisofs/write.c: Likewise.
26330
5dde9afe
VS
263312010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26332
26333 Unify grub-mkimage accross platforms.
26334
26335 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
26336 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
26337 (grub_mkelfimage_SOURCES): Removed.
26338 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
26339 (util/grub-mkimage.c_DEPENDENCIES): .. this.
26340 (bin_UTILITIES): Add grub-mkimage.
26341 (grub_mkimage_SOURCES): New variable.
26342 (kernel_img_HEADERS): Remove machine/kernel.h.
26343 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
26344 (pkglib_PROGRAMS): Add kernel.img.
26345 (kernel_img_HEADERS): Add machine/kernel.h.
26346 (kernel_img_FORMAT): Removed.
26347 (bin_UTILITIES): Remove grub-mkimage.
26348 (grub_mkimage_SOURCES): Removed.
26349 (grub_mkimage_CFLAGS): Likewise.
26350 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26351 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
26352 (pkglib_PROGRAMS): Add kernel.img.
26353 (bin_UTILITIES): Remove grub-mkimage.
26354 (grub_mkimage_SOURCES): Removed.
26355 (grub_mkimage_CFLAGS): Likewise.
26356 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26357 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
26358 (pkglib_PROGRAMS): Add kernel.img.
26359 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
26360 (pkglib_PROGRAMS): Add kernel.img.
26361 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
26362 (grub_mkimage_SOURCES): Removed.
26363 (grub_mkimage_CFLAGS): Likewise.
26364 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26365 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
26366 (pkglib_PROGRAMS): Add kernel.img.
26367 (bin_UTILITIES): Remove grub-mkimage.
26368 (grub_mkimage_SOURCES): Removed.
26369 (grub_mkimage_CFLAGS): Likewise.
26370 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26371 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
26372 (grub_mkimage_SOURCES): Removed.
26373 (grub_mkimage_CFLAGS): Likewise.
26374 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26375 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
26376 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
26377 (grub_pe32_optional_header): ... this.
26378 (grub_pe64_optional_header): ... and this. All users updated.
26379 (GRUB_PE32_PE32_MAGIC): Split into ..
26380 (GRUB_PE32_PE32_MAGIC): .. this.
26381 (GRUB_PE32_PE64_MAGIC): .. and this.
26382 (GRUB_PE32_SIGNATURE_SIZE): New definition.
26383 * include/grub/elf.h (PT_GNU_STACK): New definition.
26384 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
26385 * include/grub/i386/efi/kernel.h: Likewise.
26386 * include/grub/i386/kernel.h: Likewise.
26387 * include/grub/i386/pc/kernel.h: Likewise.
26388 * include/grub/i386/qemu/boot.h: Likewise.
26389 * include/grub/mips/kernel.h: Likewise.
26390 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26391 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26392 * include/grub/powerpc/kernel.h: Likewise.
26393 * include/grub/sparc64/ieee1275/boot.h: Likewise.
26394 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26395 * include/grub/sparc64/kernel.h: Likewise.
26396 * include/grub/x86_64/efi/kernel.h: Likewise.
26397 * include/grub/x86_64/kernel.h: Likewise.
26398 * include/grub/offsets.h: New file.
26399 * include/grub/kernel.h (grub_module_info): Split into ...
26400 (grub_module_info32): ... this.
26401 (grub_module_info64): ... and this.
26402 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
26403 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
26404 (grub_boot_blocklist): Moved from here ...
26405 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
26406 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
26407 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
26408 * include/grub/types.h (grub_target_to_host16): Removed.
26409 (grub_target_to_host32): Likewise.
26410 (grub_target_to_host64): Likewise.
26411 (grub_host_to_target16): Likewise.
26412 (grub_host_to_target32): Likewise.
26413 (grub_host_to_target64): Likewise.
26414 (grub_host_to_target_addr): Likewise.
26415
26416 Support grub-mkrescue for efi, coreboot and qemu.
26417
26418 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
26419 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
26420 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
26421 * util/grub-mkrawimage.c: Moved from here ...
26422 * util/grub-mkimage.c: ... here. All users updated.
26423 (ALIGN_ADDR): Use image_target.
26424 (TARGET_NO_FIELD): New const.
26425 (image_target_desc): New type.
26426 (image_targets): New array.
26427 (grub_target_to_host64): Use image_target.
26428 (grub_target_to_host32): Likewise.
26429 (grub_target_to_host16): Likewise.
26430 (grub_host_to_target64): Likewise.
26431 (grub_host_to_target32): Likewise.
26432 (grub_host_to_target16): Likewise.
26433 (grub_host_to_target_addr): Likewise.
26434 (generate_image): Handle multiimage.
26435 (main): Require -O parameter. All users updated.
26436 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
26437 util/efi/grub-mkimage.c
26438 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
26439 New option --rom-directory.
26440 Use xorriso.
26441 * util/i386/efi/grub-mkimage.c: Removed.
26442 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
26443 (grub_target_to_host32): Likewise.
26444 (grub_target_to_host64): Likewise.
26445 (grub_host_to_target16): Likewise.
26446 (grub_host_to_target32): Likewise.
26447 (grub_host_to_target64): Likewise.
26448 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
26449 (grub_target_to_host32): Likewise.
26450 (grub_target_to_host64): Likewise.
26451 (grub_host_to_target16): Likewise.
26452 (grub_host_to_target32): Likewise.
26453 (grub_host_to_target64): Likewise.
26454
f4fc97d0
BC
264552010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
26456
26457 Source tree is reorganized for emu build.
26458
26459 * include/grub/util/console.h: Move from here...
26460 * include/grub/emu/console.h: ...to here.
26461 * include/grub/util/getroot.h: Move from here...
26462 * include/grub/emu/getroot.h: ...to here.
26463 * include/grub/util/hostdisk.h: Move from here...
26464 * include/grub/emu/hostdisk.h: ...to here.
26465 * util/console.c: Move from here...
26466 * kern/emu/console.c: ...to here.
26467 * util/getroot.c: Move from here...
26468 * kern/emu/getroot.c: ...to here.
26469 * util/grub-emu.c: Move from here...
26470 * kern/emu/main.c: ...to here.
26471 * util/hostdisk.c: Move from here...
26472 * kern/emu/hostdisk.c: ...to here.
26473 * util/hostfs.c: Move from here...
26474 * kern/emu/hostfs.c: ...to here.
26475 * util/mm.c: Move from here...
26476 * kern/emu/mm.c: ...to here.
26477 * util/pci.c: Move from here...
26478 * bus/emu/pci.c: ...to here.
26479 * util/sdl.c: Move from here...
26480 * video/emu/sdl.c: ...to here.
26481 * util/time.c: Move from here...
26482 * kern/emu/time.c: ...to here.
26483 * util/usb.c: Move from here...
26484 * bus/usb/emu/usb.c: ...to here.
26485
26486 * include/grub/emu/misc.h: New header for grub-emu functions.
26487 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
26488
26489 * conf/any-emu.rmk: Rule updates for above renames.
26490 * conf/common.rmk: Likewise.
26491 * conf/i386-pc.rmk: Likewise.
26492 * conf/i386-qemu.rmk: Likewise.
26493 * conf/mips.rmk: Likewise.
26494 * conf/sparc64-ieee1275.rmk: Likewise.
26495 * conf/x86-efi.rmk: Likewise.
26496
26497 * disk/lvm.h: #include updates for above renames.
26498 * util/grub-mkrelpath.c: Likewise.
26499 * util/grub-probe.c: Likewise.
26500 * util/i386/pc/grub-setup.c: Likewise.
26501 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26502 * kern/emu/console.c: Likewise.
26503 * kern/emu/getroot.c: Likewise.
26504 * kern/emu/hostdisk.c: Likewise.
26505 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
26506
26507 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
26508 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
26509 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
26510 * util/misc.c: Remove grub-emu functions.
26511
cced9145
VS
265122010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
26513
26514 Fix gfxmenu crash.
26515 Reported by: Thorsten Grützmacher.
26516
26517 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
26518 timeout hook.
26519 (circprog_set_property): Register and unregister timeout hook.
26520 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
26521 (label_destroy): Free template. and unregister hook.
26522 (label_set_state): New function.
26523 (label_set_property): Handle templates and hooks.
26524 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
26525 timeout hook.
26526 (progress_bar_set_property): Register and unregister timeout hook.
26527 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
26528 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
26529 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
26530 (update_timeout_visit): Removed.
26531 (update_timeouts): New function.
26532 (redraw_timeouts): Likewise.
26533 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
26534 (grub_gfxmenu_clear_timeout): Likewise.
26535 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
26536 (grub_gfxmenu_timeout_notify): Likewise.
26537 (grub_gfxmenu_timeout_notifications): New external variable.
26538 (grub_gfxmenu_timeout_register): New function.
26539 (grub_gfxmenu_timeout_unregister): Likewise.
26540
c6e5caab
VS
265412010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26542
26543 Transform (broken) vga terminal into (working) vga video driver.
26544
26545 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
26546 video/i386/pc/vga.c.
26547 * include/grub/video.h (grub_video_driver_id):
26548 Add GRUB_VIDEO_DRIVER_VGA.
26549 * term/i386/pc/vga.c: Renamed to ...
26550 * video/i386/pc/vga.c: ...this
26551 (DEBUG_VGA): Removed.
26552 (CHAR_WIDTH): Likewise.
26553 (CHAR_HEIGHT): Likewise.
26554 (TEXT_WIDTH): Likewise.
26555 (TEXT_HEIGHT): Likewise.
26556 (DEFAULT_FG_COLOR): Likewise.
26557 (DEFAULT_BG_COLOR): Likewise.
26558 (colored_char): Likewise.
26559 (xpos): Likewise.
26560 (ypos): Likewise.
26561 (cursor_state): Likewise.
26562 (fg_color): Likewise.
26563 (bg_color): Likewise.
26564 (text_buf): Likewise.
26565 (page): Likewise.
26566 (font): Likewise.
26567 (framebuffer): New variable.
26568 (set_read_map): Disabled.
26569 (setup): New variable.
26570 (is_target): Likewise.
26571 (grub_vga_mod_init): Likewise.
26572 (grub_vga_mod_fini): Likewise.
26573 (check_vga_mem): Likewise.
26574 (write_char): Likewise.
26575 (write_cursor): Likewise.
26576 (scroll_up): Likewise.
26577 (grub_vga_putchar): Likewise.
26578 (grub_vga_getcharwidth): Likewise.
26579 (grub_vga_getwh): Likewise.
26580 (grub_vga_getxy): Likewise.
26581 (grub_vga_gotoxy): Likewise.
26582 (grub_vga_cls): Likewise.
26583 (grub_vga_setcolorstate): Likewise.
26584 (grub_vga_setcursor): Likewise.
26585 (grub_video_vga_init): New function.
26586 (grub_video_vga_setup): Likewise.
26587 (grub_video_vga_fini): Likewise.
26588 (update_target): Likewise.
26589 (grub_video_vga_blit_bitmap): Likewise.
26590 (grub_video_vga_blit_render_target): Likewise.
26591 (grub_video_vga_set_active_render_target): Likewise.
26592 (grub_video_vga_get_active_render_target): Likewise.
26593 (grub_video_vga_swap_buffers): Likewise.
26594 (grub_video_vga_set_palette): Likewise.
26595 (grub_video_vga_get_info_and_fini): Likewise.
26596 (grub_vga_term): Removed.
26597 (grub_video_vga_adapter): New variable.
26598 (GRUB_MOD_INIT): Register a video driver instead of terminal.
26599 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
26600
2bf61a98
VS
266012010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26602
26603 * video/readers/jpeg.c: Indented.
26604
09ddcd11
VS
266052010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26606
26607 Various jpeg cleanups.
26608
26609 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
26610 (grub_jpeg_decode_quan_table): Use sizeof.
26611 (grub_jpeg_decode_du): Use ARRAY_SIZE.
26612
e5507505
PH
266132010-05-05 Peter Hurley <No e-mail available> (tiny change)
26614
26615 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
26616 tables. Ignore non-last ac bit.
26617 (grub_jpeg_decode_quan_table): Likewise.
26618
7e720a9b
VS
266192010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26620
26621 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
26622 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
26623 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
26624 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
26625 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
26626 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
26627
a7fc080b
VS
266282010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26629
26630 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
26631 error.
26632
2bf6012d
VS
266332010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26634
26635 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
26636
265d68cd
VS
266372010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26638
26639 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
26640 condition.
26641
266422010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
26643
26644 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
26645 part.
26646
265d68cd 266472010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
26648
26649 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
26650 pointers.
26651
265d68cd 266522010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
26653
26654 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
26655
d1b61374
CF
266562010-05-01 Christian Franke <franke@computer.org>
26657
26658 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
26659 Remove broken Cygwin path conversion.
26660 * util/misc.c: [__CYGWIN__] Add include and define.
26661 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
26662 for Cygwin 1.7.
26663 (make_system_path_relative_to_its_root): Simplify loop, replace early
26664 return by break.
26665 [__CYGWIN__] Add conversion to win32 path.
26666 Include "/" case in trailing slash removal.
26667
3558c6e9
VS
266682010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26669
26670 * kern/main.c (grub_load_config): Fix copy-pasted comment.
26671 Reported by: Seth Goldberg
26672
f5f3ff93
VS
266732010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26674
26675 * commands/help.c (grub_cmd_help): Fix a typo.
26676 Reported by: Seth Goldberg
26677
d8b5cd40
VS
266782010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26679
26680 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
26681 name and add N_.
26682 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
26683 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
26684 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
26685 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
26686 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
26687 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
26688 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
26689 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
26690 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
26691 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26692 * normal/context.c (GRUB_MOD_INIT): Likewise.
26693 * normal/main.c (GRUB_MOD_INIT): Likewise.
26694 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
26695 * term/serial.c (GRUB_MOD_INIT): Likewise.
26696 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
26697
88c14915
VS
266982010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26699
26700 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
26701 extra == 0.
26702
165134bc
VS
267032010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26704
26705 * commands/iorw.c: New file.
26706 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
26707 (iorw_mod_SOURCES): New variable.
26708 (iorw_mod_CFLAGS): Likewise.
26709 (iorw_mod_LDFLAGS): Likewise.
26710
c5ac9b32
VS
267112010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26712
26713 Hotkey support
26714
26715 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
26716 * normal/main.c (hotkey_aliases): New variable.
26717 (grub_normal_add_menu_entry): Parse "--hotkey".
26718 * normal/menu_text.c (run_menu): Handle hotkeys.
26719
ce60689c
VS
267202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26721
26722 * kern/i386/coreboot/init.c (grub_machine_init): Call
26723 grub_machine_mmap_init on qemu.
26724
0359d006
VS
267252010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26726
26727 * boot/i386/qemu/boot.S: Add a missing .code16.
26728
7819a456
VS
267292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26730
26731 Use LBIO on coreboot.
26732
26733 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
26734 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
26735 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
26736 New declaration.
26737 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
26738 grub_machine_mmap_init on coreboot.
26739 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
26740 GRUB_LINUXBIOS_MEMBER_LINK.
26741 (grub_machine_mmap_iterate): Fix declaration.
26742 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
26743
7210dca9
VS
267442010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26745
26746 Split coreboot and multiboot ports.
26747
26748 * conf/i386-multiboot.rmk: New file.
26749 * configure.ac: Add multiboot port.
26750 * include/grub/i386/multiboot/boot.h: New file.
26751 * include/grub/i386/multiboot/console.h: Likewise.
26752 * include/grub/i386/multiboot/init.h: Likewise.
26753 * include/grub/i386/multiboot/kernel.h: Likewise.
26754 * include/grub/i386/multiboot/loader.h: Likewise.
26755 * include/grub/i386/multiboot/memory.h: Likewise.
26756 * include/grub/i386/multiboot/serial.h: Likewise.
26757 * include/grub/i386/multiboot/time.h: Likewise.
26758 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
26759 * loader/multiboot.c: Likewise.
26760 * loader/multiboot_mbi2.c: Likewise.
26761 * util/grub-mkrescue.in: Generate multiboot rescue.
26762
6f8aaf68
VS
267632010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26764
3080f7a7
VS
26765 * kern/parser.c (grub_parser_execute): Cope with read-only config.
26766
267672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26768
26769 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
26770
26771 * commands/terminal.c (abstract_terminal): New struct.
26772 (handle_command): New function. Based on grub_cmd_terminal_input.
26773 (grub_cmd_terminal_input): Use handle_command.
26774 (grub_cmd_terminal_output): Use handle_command.
26775
a8ebb841
BC
267762010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
26777
26778 Fix comment handling.
26779
26780 * tests/grub_script_comments.in: New testcase.
26781 * conf/tests.rmk: Rules for new testcase.
26782 * script/yylex.l: Updated flex rules.
26783
bb06ba08
ST
267842010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
26785
26786 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
26787 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
26788 if argc is 1.
bb06ba08 26789
cc9d2425
VS
267902010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26791
26792 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
26793 autogen issues.
26794
460d8402
CF
267952010-04-26 Christian Franke <franke@computer.org>
26796
26797 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
26798 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
26799 (grub_get_prefix): Remove function.
26800 * util/grub-emu.c (main): Replace grub_get_prefix () call by
26801 make_system_path_relative_to_its_root ().
26802 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
26803
553c01f9
CF
268042010-04-24 Christian Franke <franke@computer.org>
26805
26806 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
26807 (kernel_img_LDFLAGS): Remove -static-libgcc.
26808
2aec1692
CF
268092010-04-24 Christian Franke <franke@computer.org>
26810
26811 * configure.ac: Do not CHECK_BSS_START_SYMBOL
26812 and CHECK_END_SYMBOL if grub-emu is built.
26813 Unset TARGET_OBJ2ELF if grub-emu is built
26814 without module support.
26815
f67dc308
JS
268162010-04-24 Jiro SEKIBA <jir@unicus.jp>
26817
26818 Nilfs2 support.
26819
26820 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
26821 (grub_fstest_SOURCES): Likewise.
26822 (pkglib_MODULES): Add nilfs2.mod.
26823 (nilfs2_mod_SOURCES): New variable.
26824 (nilfs2_mod_CFLAGS): Likewise.
26825 (nilfs2_mod_LDFLAGS): Likewise.
26826 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26827 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26828 * fs/nilfs2.c: New file.
26829
4ba8d354
VS
268302010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
26831
26832 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
26833 is not supported.
26834
0d2c20c6
GS
268352010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
26836
26837 Add grub-mkconfig support for NetBSD.
26838
26839 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
26840 * util/grub-mkconfig.in: export new NetBSD specific variables.
26841 * po/POTFILES-shell: added 10_netbsd.in.
26842 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
26843
bc4a2d83
BC
268442010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
26845
26846 Fix emu build with grub-emu-pci and grub-emu-modules.
26847
26848 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
26849 functions.
26850 * include/grub/libpciaccess.h: New file.
26851 * conf/any-emu.rmk: Update kernel headers for emu build.
26852
f48c87aa
VS
268532010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26854
26855 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
26856
18959385
VS
268572010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26858
26859 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
26860
0037de3f
VS
268612010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26862
26863 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
26864 Retrieve chosen/bootpath if bootpath isn't hardcoded.
26865 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
26866 util/ieee1275/ofpath.c.
26867 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
26868 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
26869 * include/grub/sparc64/ieee1275/boot.h
26870 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
26871 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
26872 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
26873 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
26874 const char *.
26875 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
26876 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
26877 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
26878 install.
26879
38e55e90
GS
268802010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
26881
26882 * util/grub-mkconfig.in: Corrected two == equality tests.
26883 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
26884 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
26885 expect a number appended to it.
26886 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
26887 expects a number appended to it.
26888
a9e6ff28
VS
268892010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26890
26891 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
26892
0b830b8f
VS
268932010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26894
26895 * util/hostdisk.c (make_device_name): Change to new partition naming.
26896
0973daeb
VS
268972010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
26898
26899 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
26900
460d8402 269012010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
26902
26903 * Makefile.in: Add missing localedir setting.
26904
0b456309
CW
269052010-04-14 Colin Watson <cjwatson@ubuntu.com>
26906
26907 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
26908 mistake in r2156. Noticed by Anthony Fok.
26909
26910 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
26911 @localedir@.
26912 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
26913
08f46d62
BC
269142010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
26915
26916 Fix a spurious, uninitialized variable warning.
26917
26918 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
26919 Initialize variable, shdr.
26920 (grub_freebsd_load_elfmodule): Likewise.
26921 (grub_freebsd_load_elf_meta): Likewise.
26922
8c4a72d4
BC
269232010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
26924
26925 Fix for escaped dollar in double quoted strings.
26926
26927 * script/yylex.l: Updated flex rules.
26928 * conf/tests.rmk: Rule for new testcase.
26929 * tests/grub_script_dollar.in: New testcase.
26930
ce44826e
CPE
269312010-04-13 Carles Pina i Estany <carles@pina.cat>
269322010-04-13 Colin Watson <cjwatson@ubuntu.com>
26933
26934 Enclose all translated strings in grub.cfg in single quotes, and
26935 escape them appropriately (Ubuntu bug #552921).
26936
26937 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
26938 * util/grub.d/10_hurd.in: Use it.
26939 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26940 * util/grub.d/10_linux.in (linux_entry): Likewise.
26941
4b0cd8f8
VS
269422010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26943
26944 Fix cygwin compilation.
26945
26946 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
26947 * include/grub/misc.h (__register_frame_info)
26948 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
26949 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26950 * kern/misc.c (__register_frame_info)
26951 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
26952 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26953
01fcf061
VS
269542010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26955
26956 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
26957
5d04b11e
VS
269582010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26959
26960 Unify libgcc processing.
26961
26962 * Makefile.in (kernel_img_LDFLAGS): New variable.
26963 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
26964 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
26965 overwriting.
26966 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
26967 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
26968 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
26969 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
26970 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
26971 overwriting. Remove -lgcc and -static-libgcc
26972 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
26973 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
26974 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
26975 (kernel_img_LDFLAGS): Append instead of overwriting.
26976 Remove -lgcc and -static-libgcc
26977 * conf/sparc64-ieee1275.rmk: Likewise.
26978 * include/grub/powerpc/libgcc.h: Move to ...
26979 * include/grub/libgcc.h: .. this.
26980 * include/grub/libgcc.h: Don't export most of the function on x86.
26981 (__bswapsi2): New export.
26982 (__bswapdi2): Likewise.
26983 * include/grub/mips/libgcc.h: Removed.
26984 * include/grub/sparc64/libgcc.h: Likewise.
26985
b7f3ac29
VS
269862010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26987
26988 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
26989 disk_info_msg (conflicts with gettexting into languages with cases).
26990
2c7031b1
GS
269912010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
26992
26993 Add grub-probe support for NetBSD.
26994
26995 * util/getroot.c (find_root_device): Convert block device to
26996 character device on NetBSD.
26997 * util/probe.c (probe): Require character device on NetBSD.
26998 * util/hostdisk.c: NetBSD specific headers.
26999 (configure_device_driver): new function to tune device driver
27000 parameters (currently only for NetBSD floppy driver).
27001 (grub_util_biosdisk_open): NetBSD specific code (get disk size
27002 via disklabel ioctl).
27003 (open_device): call configure_device_driver on NetBSD.
27004 (convert_system_partition_to_system_disk): NetBSD specific code.
27005 (device_is_wholedisk): Likewise.
27006 (grub_util_biosdisk_get_grub_dev): Likewise.
27007 (make_device_name): Fixed a typo in bsd_part_str.
27008 * configure.ac: check for opendisk() and getrawpartition() on
27009 NetBSD and set LIBUTIL.
27010 * Makefile.in: add LIBUTIL to LIBS.
27011
f516290c
BC
270122010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27013
27014 Documentation fix.
27015
27016 * util/grub-script-check.c: Better help message.
27017
d8dcc0df
BC
270182010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27019
27020 Fix FreeBSD build.
27021
27022 * configure.ac: Flex version check.
27023 * conf/common.rmk: Add -Wno-error to sh.mod.
27024 * script/yylex.l: Remove all #pragma.
27025
6734334a
VS
270262010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27027
27028 * include/grub/util/misc.h (canonicalise_file_name): Add missing
27029 prototype.
27030 Reported by: Seth Goldberg.
27031
daea6abd
VS
270322010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27033
27034 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
27035 Rename "module" to "module2".
27036 Reported by: Seth Goldberg.
27037
f2fd9d2b
VS
270382010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27039
27040 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
27041 EXPORT_FUNC.
27042 Reported by: Seth Goldberg.
27043
be124579
VS
270442010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27045
27046 * lib/posix_wrap/locale.h: Add missing file.
27047 Reported by: Seth Goldberg.
27048
ef5da797
VS
270492010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27050
27051 grub-emu module load support.
27052
27053 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
27054 NO_DYNAMIC_MODULES switched to this.
27055 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
27056 (CFLAGS): Likewise.
27057 * conf/any-emu.rmk: Generate symlist.
27058 (kernel_img_HEADERS): Add util/datetime.h.
27059 (kernel_img_HEADERS) [sdl]: Add sdl.h.
27060 (kernel_img_HEADERS) [libusb]: Add libusb.h.
27061 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
27062 kern/$(target_cpu)/cache.S.
27063 * configure.ac (grub-emu-modules): New option.
27064 * genmk.rb: Handle multiple source lists.
27065 * include/grub/sdl.h: New file.
27066 * include/grub/libusb.h: Likewise.
27067 * util/grub-emu.c (main): Hanle (host) root.
27068 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
27069 GRUB_ERR_UNKNOWN_DEVICE.
27070 * util/misc.c: Move mm functions to ...
27071 * util/mm.c: ... here. All users updated.
27072
47822096
VS
270732010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27074
27075 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
27076 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
27077 missing files.
27078 (maintainer-clean): Remove libgcrypt-grub.
27079
5d7e7445
VS
270802010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27081
27082 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
27083
25f4e252
EC
270842010-04-09 EFI Coder <eficoder@hotmail.com>
27085
27086 * normal/menu_text.c (print_message): Clean up the message and show
27087 the Fn information when on EFI
27088 * term/efi/console.c (grub_console_checkkey): Add F4 support.
27089
027de555
VS
270902010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27091
27092 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
27093 All users updated.
27094 * normal/crypto.c (read_crypto_list): Likewise.
27095 * normal/dyncmd.c (read_command_list): Likewise.
27096 * normal/term.c (read_terminal_list): Likewise.
27097 * normal/main.c (read_lists): Use explicit prefix.
27098 (read_lists_hook): Use read_lists.
27099 (grub_normal_execute): Likewise.
27100
47779711
VS
271012010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27102
27103 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
27104 Reported by: Thomas Schmitt.
27105 Add -no-emul-boot to grub-mkisofs parameters.
27106
1118c32e
VS
271072010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27108
27109 * font/font.c: Indented.
27110
7d652447
BC
271112010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27112
27113 Elif support to GRUB script (by Deepak Vankadaru).
27114
27115 * tests/grub_script_if.in: New testcase.
27116 * conf/tests.rmk: Rule for new testcase.
27117 * script/parser.y: Grammar rules for elif.
27118
34bb22df
BC
271192010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27120
27121 While and until loops support to GRUB script.
27122
27123 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
27124 (grub_script_create_cmdwhile): New function prototype.
27125 (grub_script_execute_cmdwhile): New function prototype.
27126 * script/execute.c (grub_script_execute_cmdwhile): New function.
27127 * script/parser.y (command): New commands.
27128 (whilecmd): New grammar rule.
27129 (untilcmd): New grammar rule.
27130 * script/script.c (grub_script_create_cmdwhile): New function.
27131 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
27132 function.
27133
27134 * tests/grub_script_while1.in: New testcase.
27135 * conf/tests.rmk: Rule for new testcase.
27136
e215d8e0
VS
271372010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27138
27139 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
27140 as *.jpg.
27141
d7c43ba1
MV
271422010-04-09 Mario Vazquez <mariovazq@gmail.com>
27143
27144 GRUB_BACKGROUND support.
27145
27146 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
27147 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
27148
d64795c0
VS
271492010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27150
27151 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 27152 Idea by: Mario Vazquez
d64795c0
VS
27153
27154 * util/grub.d/00_header.in: Load pf2 and image modules.
27155
f267f83a
VS
271562010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27157
27158 grub-mkconfig multiple terminal support.
27159
27160 * util/grub-mkconfig.in: Handle multiple terminals correctly.
27161 * util/grub.d/00_header.in: Likewise.
27162
b7841ceb
VS
271632010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27164
27165 * Makefile.in: Specify files explicitly instead of using $< and $@ since
27166 we use cd $(srcdir).
27167
df60998c
CW
271682010-04-08 Colin Watson <cjwatson@ubuntu.com>
27169
27170 * util/grub.d/10_linux.in: Only use the first word of
27171 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
27172 spaces in GRUB_DISTRIBUTOR.
27173 * util/grub.d/10_kfreebsd.in: Likewise.
27174 * util/grub.d/10_hurd.in: Likewise.
27175
fa09c82e
BC
271762010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
27177
14e18ae3 27178 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
27179
27180 * tests/util/grub-shell.in: Remove -serial stdio option.
27181
daf892b3
BC
271822010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
27183
27184 POSIX header file wrappers.
27185
27186 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
27187 equivalents.
27188 * lib/posix_wrap/ctype.h: Likewise.
27189 * lib/posix_wrap/errno.h: Likewise.
27190 * lib/posix_wrap/langinfo.h: Likewise.
27191 * lib/posix_wrap/limits.h: Likewise.
27192 * lib/posix_wrap/localcharset.h: Likewise.
27193 * lib/posix_wrap/stdint.h: Likewise.
27194 * lib/posix_wrap/stdio.h: Likewise.
27195 * lib/posix_wrap/stdlib.h: Likewise.
27196 * lib/posix_wrap/string.h: Likewise.
27197 * lib/posix_wrap/sys/types.h: Likewise.
27198 * lib/posix_wrap/unistd.h: Likewise.
27199 * lib/posix_wrap/wchar.h: Likewise.
27200 * lib/posix_wrap/wctype.h: Likewise.
27201 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
27202 (grub_script.yy.h): Likewise.
27203 * script/yylex.l: Remove POSIX emulation #defines.
27204 * Makefile.in (POSIX_CFLAGS): New variable.
27205 (GNULIB_UTIL_CFLAGS): Likewise.
27206
27207 Regexp support.
27208
27209 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
27210 (regexp_mod_SOURCES): New variable.
27211 (regexp_mod_CFLAGS): Likewise.
27212 (regexp_mod_LDFLAGS): Likewise.
27213 * commands/regexp.c: New file.
27214 * gnulib/regcomp.c: New file. Imported from gnulib.
27215 * gnulib/regex.c: Likewise.
27216 * gnulib/regex_internal.c: Likewise.
27217 * gnulib/regex_internal.h: Likewise.
27218 * gnulib/regexec.c: Likewise.
27219 * gnulib/regex.h: Likewise.
27220
974ac4f7
VS
272212010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27222
27223 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
27224 unsupported video mode types.
27225
2622c3ff
VS
272262010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27227
27228 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
27229
064cb524
VS
272302010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27231
27232 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
27233 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
27234
a8c3b552
VS
272352010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27236
27237 Remove unused grub_vga_get_font.
27238
27239 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
27240 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
27241
187bbe3d
GS
272422010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27243
27244 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
27245 * include/grub/misc.h: Likewise.
27246
b9396631
GS
272472010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27248
27249 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
27250 for which failure is fatal.
27251
50479feb
GS
272522010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27253
27254 * util/grub-install.in: Use mkdir -p to create grub directory.
27255 * util/i386/efi/grub-install.in: Likewise.
27256 * util/ieee1275/grub-install.in: Likewise.
27257
b1654fdf
GS
272582010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27259
27260 * Makefile.in (LEX): new variable.
27261
bd5a6415
GS
272622010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27263
27264 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
27265 `=' and added double quotes on operands of this equality test.
27266
3db3a82b
VS
272672010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27268
27269 * Makefile.in (uninstall): Remove a leftover debug echo.
27270 Reported by: Grégoire Sutre
27271
38023412
VS
272722010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27273
27274 MIPS multiboot2 support.
27275
27276 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
27277 (multiboot2_mod_SOURCES): New variable.
27278 (multiboot2_mod_CFLAGS): Likewise.
27279 (multiboot2_mod_LDFLAGS): Likewise.
27280 (multiboot2_mod_ASFLAGS): Likewise.
27281 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
27282 definition.
27283 (MULTIBOOT_ENTRY_REGISTER): Likewise.
27284 (MULTIBOOT_MBI_REGISTER): Likewise.
27285 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
27286 (MULTIBOOT_ELF32_MACHINE): Likewise.
27287 (MULTIBOOT_ELF64_MACHINE): Likewise.
27288 * include/grub/mips/multiboot.h: New file.
27289 * include/grub/video.h (grub_video_driver_id): New type
27290 GRUB_VIDEO_DRIVER_SM712.
27291 (grub_video_get_info_and_fini): Export.
27292 (grub_video_get_palette): Likewise.
27293 (grub_video_get_driver_id): Likewise.
27294 * include/multiboot2.h: Resynced with spec.
27295 * loader/i386/multiboot.c: Moved from here ...
27296 * loader/multiboot.c: ... here. All users updated.
27297 (grub_multiboot_boot): Use platform-specific macros.
27298 * loader/i386/multiboot_elfxx.c: Moved from here ...
27299 * loader/multiboot_elfxx.c: ... here. All users updated.
27300 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
27301 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
27302 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
27303
47674667
VS
273042010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
27305
27306 Import gnulib argp module.
27307
27308 * gnulib/argp-ba.c: New file.
27309 * gnulib/argp-eexst.c: Likewise.
27310 * gnulib/argp-fmtstream.c: Likewise.
27311 * gnulib/argp-fmtstream.h: Likewise.
27312 * gnulib/argp-fs-xinl.c: Likewise.
27313 * gnulib/argp-help.c: Likewise.
27314 * gnulib/argp-namefrob.h: Likewise.
27315 * gnulib/argp-parse.c: Likewise.
27316 * gnulib/argp-pin.c: Likewise.
27317 * gnulib/argp-pv.c: Likewise.
27318 * gnulib/argp-pvh.c: Likewise.
27319 * gnulib/argp-version-etc.c: Likewise.
27320 * gnulib/argp-version-etc.h: Likewise.
27321 * gnulib/argp-xinl.c: Likewise.
27322 * gnulib/argp.h: Likewise.
27323
495442ed
VS
273242010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27325
27326 * kern/device.c (grub_device_iterate): Clear errors after failed
27327 opening device.
27328
f9fd65df
VS
273292010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27330
27331 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
27332 returned by firmware.
27333
af09641e
VS
273342010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
27335
27336 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
27337 compilation on coreboot and qemu
27338
016883a5
VS
273392010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27340
27341 * include/multiboot2.h: Resync with spec.
27342
f97e1f7d
VS
273432010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27344
27345 Multiboot2 tag support
27346
27347 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
27348 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
27349 Remove loader/multiboot_loader.c.
27350 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
27351 (grub_multiboot2_real_boot): Likewise.
27352 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
27353 (grub_get_multiboot_mmap_count): New proto.
27354 (grub_fill_multiboot_mmap): Likewise.
27355 (grub_multiboot_set_video_mode): Likewise.
27356 (grub_multiboot_set_console): Likewise.
27357 (grub_multiboot_load): Likewise.
27358 (grub_multiboot_load_elf): Likewise.
27359 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
27360 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
27361 * include/multiboot.h: Resynced with specification.
27362 * include/multiboot2.h: Resynced with specification.
27363 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
27364 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
27365 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
27366 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
27367 users updated.
27368 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
27369 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
27370 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
27371 Removed.
27372 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
27373 Moved from here...
27374 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
27375 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
27376 Moved from here...
27377 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
27378 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
27379 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
27380 All users updated.
27381 * loader/i386/multiboot_mbi2.c: New file.
27382
3506b90b
VS
273832010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27384
27385 Resync with gnulib.
27386
27387 * Makefile.in (GNULIB_CFLAGS): New variable.
27388 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
27389 (grub_script_check_CFLAGS): New variable.
27390 * gnulib/alloca.h: Resync with gnulib.
27391 * gnulib/error.c: Likewise.
27392 * gnulib/error.h: Likewise.
27393 * gnulib/fnmatch.c: Likewise.
27394 * gnulib/fnmatch_loop.c: Likewise.
27395 * gnulib/getdelim.c: Likewise.
27396 * gnulib/getline.c: Likewise.
27397 * gnulib/getopt.c: Likewise.
27398 * gnulib/getopt1.c: Likewise.
27399 * gnulib/getopt_int.h: Likewise.
27400 * gnulib/gettext.h: Likewise.
27401 * gnulib/progname.c: Likewise.
27402 * gnulib/progname.h: Likewise.
27403
394a3120
GS
274042010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
27405
27406 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
27407 which is the case with --disabled-nls.
27408
27409 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
27410 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
27411 * util/misc.c: Likewise.
27412 * util/mkisofs/mkisofs.c: Likewise.
27413 * util/mkisofs/mkisofs.h: Likewise.
27414
969d1c78
VS
274152010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27416
27417 Simplify Apple CC support.
27418
27419 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
27420 Add 0 byte at the end not to have a symbol with empty target.
27421 * mmap/i386/pc/mmap_helper.S: Likewise.
27422 * genmk.rb: Ignore errors 2030 and 2050.
27423 * kern/i386/pc/startup.S: Use LOCAL when possible.
27424
8d2977bb
BC
274252010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
27426
27427 Testcase and the fix for final semicolon on cmdline.
27428
27429 * tests/grub_script_final_semicolon.in: New testcase.
27430 * conf/tests.rmk: Rules for the new testcase.
27431 * script/parser.y: Grammar fix.
27432
a7bd6915
BC
274332010-03-26 BVK Chaitanya <bvk@localhost>
27434
27435 Blank lines testcase for GRUB script.
27436
27437 * tests/grub_script_blanklines.in: New testcase.
27438 * conf/tests.rmk: Rules for the new testcase.
27439
e4ff6628
VS
274402010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27441
27442 Don't use __FILE__.
27443
27444 * genmk.rb: Add -DGRUB_FILE to all C targets.
27445 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
27446 * include/grub/list.h: Likewise.
27447 * include/grub/misc.h: Likewise.
27448 * include/grub/mm.h: Likewise.
27449 * include/grub/test.h: Likewise.
27450 * kern/mm.c: Likewise.
27451 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27452
6a5cf6b6
VS
274532010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27454
27455 Sunpc partitions support.
27456
27457 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
27458 (grub_fstest_SOURCES): Likewise.
27459 (pkglib_MODULES): Add part_sunpc.mod.
27460 (part_sunpc_mod_SOURCES): New variable.
27461 (part_sunpc_mod_CFLAGS): Likewise.
27462 (part_sunpc_mod_LDFLAGS): Likewise.
27463 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
27464 * partmap/sunpc.c: New file.
27465
746d9045
BC
274662010-03-26 BVK Chaitanya <bvk@localhost>
27467
27468 For loop support to GRUB script.
27469
27470 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
27471 (grub_script_create_cmdfor): New function prototype.
27472 (grub_script_execute_cmdfor): New function prototype.
27473 * script/execute.c (grub_script_execute_cmdfor): New function.
27474 * script/parser.y (command): New for command.
27475 (forcmd): New grammar rule.
27476 * script/script.c (grub_script_create_cmdfor): New function.
27477 * util/grub-script-check.c (grub_script_execute_cmdfor): New
27478 function.
27479 * tests/grub_script_for1.in: New testcase.
27480 * conf/tests.rmk: Rules for new testcase.
27481
18486b18
VS
274822010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27483
27484 Nested partitions
27485
27486 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
27487 'partition' is NULL, grub_partition_get_start already does that.
27488 * commands/loadenv.c (check_blocklists): Likewise.
27489 (write_blocklists): Likewise.
27490 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
27491 (grub_fstest_SOURCES): Likewise.
27492 (pkglib_MODULES): Add part_bsd.mod.
27493 (part_bsd_mod_SOURCES): New variable.
27494 (part_bsd_mod_CFLAGS): Likewise.
27495 (part_bsd_mod_LDFLAGS): Likewise.
27496 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
27497 (grub_emu_SOURCES): Likewise.
27498 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27499 * include/grub/bsdlabel.h: New file.
27500 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
27501 'get_name'.
27502 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
27503 (grub_partition_map_list): New variable.
27504 (grub_partition_map_register): Inline.
27505 (grub_partition_map_unregister): Likewise.
27506 (FOR_PARTITION_MAPS): New macro.
27507 (grub_partition_map_iterate): Removed.
27508 (grub_partition_get_start): Handle nested partitions.
27509 * include/grub/msdos_partition.h: Remove bsd-related entries.
27510 (grub_pc_partition): Remove.
27511 * kern/disk.c (grub_disk_close): Free partition data.
27512 (grub_disk_adjust_range): Handle nested partitions.
27513 * kern/partition.c (grub_partition_map_probe): New function.
27514 (grub_partition_probe): Parse name to number, handle subpartitions.
27515 (get_partmap): New function.
27516 (grub_partition_iterate): Handle subpartitions.
27517 (grub_partition_get_name): Likewise.
27518 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
27519 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
27520 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
27521 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
27522 Set 'number'.
27523 (acorn_partition_map_probe): Remove.
27524 (acorn_partition_map_get_name): Likewise.
27525 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
27526 Set 'number'.
27527 Set 'index' to 0 since there can be only one partition entry per sector.
27528 (amiga_partition_map_probe): Remove.
27529 (amiga_partition_map_get_name): Likewise.
27530 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
27531 Set 'number'.
27532 Set 'offset' and 'index' to real positions of partitions.
27533 (apple_partition_map_probe): Remove.
27534 (apple_partition_map_get_name): Likewise.
27535 * partmap/bsdlabel.c: New file.
27536 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
27537 Set 'number'.
27538 Allocate 'data' so it can be correctly freed.
27539 Set 'index' to offset inside sector.
27540 (gpt_partition_map_probe): Remove.
27541 (gpt_partition_map_get_name): Likewise.
27542 * partmap/msdos.c (grub_partition_parse): Remove.
27543 (pc_partition_map_iterate): Don't force raw access.
27544 Set 'number'.
27545 Make 'ext_offset' a local variable.
27546 (pc_partition_map_probe): Remove.
27547 (pc_partition_map_get_name): Remove.
27548 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
27549 Set 'number'.
27550 (sun_partition_map_probe): Remove.
27551 (sun_partition_map_get_name): Likewise.
27552 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
27553 (grub_pcpart_type): Likewise.
27554 * util/hostdisk.c (open_device): Handle new numbering scheme.
27555 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
27556 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
27557 * util/grub-probe.c (probe_partmap): Handle nested paritions.
27558 * util/grub-install.in: Insert all subpartition modules.
27559 * util/ieee1275/grub-install.in: Likewise.
27560
a3940f88
AG
275612010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
27562
27563 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
27564 grammar.
27565
21b99926 275662010-03-24 Colin Watson <cjwatson@ubuntu.com>
27567
27568 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
27569
bed1d352
CW
275702010-03-21 Colin Watson <cjwatson@ubuntu.com>
27571
27572 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
27573 match where 'make install' puts them.
27574 * util/i386/efi/grub-install.in: Likewise.
27575
c9f58427
CW
275762010-03-19 Colin Watson <cjwatson@ubuntu.com>
27577
27578 * .bzrignore: Add gentrigtables, grub-script-check,
27579 grub_script_check_init.c, grub_script_check_init.h, and
27580 trigtables.c.
27581
f84afb27
VS
275822010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
27583
27584 * kern/parser.c: Indented.
27585
ed0e3d30
VS
275862010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27587
27588 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
27589
0ea81d98
VS
275902010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27591
27592 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
27593 alpha_mask_size == 0 case.
27594
0cdc2a09
BC
275952010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
27596
27597 GRUB shell lexer and parser improvements.
27598
27599 * conf/any-emu.rmk: Build rule updates.
27600 * conf/common.rmk: Likewise.
27601 * conf/i386-coreboot.rmk: Likewise.
27602 * conf/i386-efi.rmk: Likewise.
27603 * conf/i386-ieee1275.rmk: Likewise.
27604 * conf/i386-pc.rmk: Likewise.
27605 * conf/powerpc-ieee1275.rmk: Likewise.
27606 * conf/x86_64-efi.rmk: Likewise.
27607
27608 * configure.ac: Configure check for flex.
27609
27610 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
27611 types.
27612 (grub_lexer_param): Struct member updates.
27613 (grub_parser_param): Likewise.
27614 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
27615 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
27616 (grub_script_lexer_init): Prototype update.
27617 (grub_script_lexer_record_start): Likewise.
27618 (grub_script_lexer_record_stop): Likewise.
27619 (grub_script_lexer_yywrap): New function prototype.
27620 (grub_script_lexer_fini): Likewise.
27621 (grub_script_execute_argument_to_string): Removed by...
27622 (grub_script_execute_argument_to_argv): ...better version.
27623
27624 * script/execute.c (ROUND_UPTO): New macro.
27625 (grub_script_execute_cmdline): Out of memory fixes.
27626 (grub_script_execute_menuentry): Likewise.
27627 (grub_script_execute_argument_to_string): Removed. Update all
27628 users by...
27629 (grub_script_execute_argument_to_argv): ...better version.
27630 * script/function.c (grub_script_function_create): Use
27631 grub_script_execute_argument_to_argv instead of
27632 grub_script_execute_argument_to_string.
27633
27634 * script/lexer.c (check_varstate): Removed.
27635 (check_textstate): Removed.
27636 (grub_script_lexer_record_start): Likewise.
27637 (grub_script_lexer_record_stop): Likewise.
27638 (recordchar): Replaced with...
27639 (grub_script_lexer_record): ...new function.
27640 (nextchar): Removed.
27641 (grub_script_lexer_init): Rewritten.
27642 (grub_script_yylex): Rewritten.
27643 (append_newline): New function.
27644 (grub_script_lexer_yywrap): New function.
27645 (grub_script_lexer_fini): New function.
27646 (grub_script_yyerror): Sets error flag.
27647
27648 * script/yylex.l: New file.
27649 (grub_lexer_yyfree): Wrapper for flex yyffre.
27650 (grub_lexer_yyalloc): Likewise.
27651 (grub_lexer_yyrealloc): Likewise.
27652 * script/parser.y: Refactored.
27653
27654 * script/script.c (grub_script_arg_add): Out of memory fixes.
27655 (grub_script_add_arglist): Likewise.
27656 (grub_script_create_cmdline): Likewise.
27657 (grub_script_create_cmdmenu): Likewise.
27658 (grub_script_add_cmd): Likewise.
27659 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
27660 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
27661 unnecessary code.
27662
27663 * tests/grub_script_echo1.in: New testcase.
27664 * tests/grub_script_vars1.in: New testcase.
27665 * tests/grub_script_echo_keywords.in: New testcase.
27666
1d63a066
VS
276672010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27668
27669 Remove some redundancy in build system.
27670
27671 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
27672 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
27673 (TARGET_LDFLAGS): Add -nostdlib.
27674 (TARGET_IMG_LDFLAGS): Likewise.
27675 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
27676 anything since mmap isn't available.
27677 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
27678 Add util/time.c.
27679 (pkglib_MODULES): Remove reboot.mod.
27680 (reboot_mod_SOURCES): Removed.
27681 (reboot_mod_CFLAGS): Likewise.
27682 (reboot_mod_LDFLAGS): Likewise.
27683 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
27684 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
27685 (DEFSYMFILES): Add kernel_syms.lst.
27686 (kernel_img_HEADERS): Add common headers.
27687 (symlist.c): New target.
27688 (kernel_syms.lst): Likewise.
27689 (pkglib_MODULES): Add memdisk.mod.
27690 (memdisk_mod_SOURCES): New variable.
27691 (memdisk_mod_CFLAGS): Likewise.
27692 (memdisk_mod_LDFLAGS): Likewise.
27693 (pkglib_MODULES): Add reboot.mod.
27694 (reboot_mod_SOURCES): New variable.
27695 (reboot_mod_CFLAGS): Likewise.
27696 (reboot_mod_LDFLAGS): Likewise.
27697 (pkglib_MODULES): Add date.mod.
27698 (date_mod_SOURCES): New variable.
27699 (date_mod_CFLAGS): Likewise.
27700 (date_mod_LDFLAGS): Likewise.
27701 (pkglib_MODULES): Add datehook.mod.
27702 (datehook_mod_SOURCES): New variable.
27703 (datehook_mod_CFLAGS): Likewise.
27704 (datehook_mod_LDFLAGS): Likewise.
27705 (pkglib_MODULES): Add lsmmap.mod.
27706 (lsmmap_mod_SOURCES): New variable.
27707 (lsmmap_mod_CFLAGS): Likewise.
27708 (lsmmap_mod_LDFLAGS): Likewise.
27709 (pkglib_MODULES): Add boot.mod.
27710 (boot_mod_SOURCES): New variable.
27711 (boot_mod_CFLAGS): Likewise.
27712 (boot_mod_LDFLAGS): Likewise.
27713 * conf/i386-coreboot.rmk: Removed redundant parts.
27714 * conf/i386-ieee1275.rmk: Likewise.
27715 * conf/i386-pc.rmk: Likewise.
27716 * conf/mips-yeeloong.rmk: Likewise.
27717 * conf/mips.rmk: Likewise.
27718 * conf/powerpc-ieee1275.rmk: Likewise.
27719 * conf/sparc64-ieee1275.rmk: Likewise.
27720 * conf/x86_64-efi.rmk: Likewise.
27721 * conf/i386-coreboot.rmk: Moved qemu parts ..
27722 * conf/i386-qemu.rmk: ... here
27723 * conf/i386-efi.rmk: Moved common parts to...
27724 * conf/x86-efi.rmk: ... here.
27725 * conf/i386.rmk: Added modules common to all x86 variants.
27726 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
27727 * disk/memdisk.c: Remove grub/machine/kernel.h.
27728 * gensymlist.sh.in: Include symbol.h.
27729 * hook/datehook.c: Correct module name.
27730 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
27731 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
27732 * include/grub/i386/efi/serial.h: New file.
27733 * include/grub/x86_64/efi/serial.h: Likewise.
27734 * util/time.c: Likewise.
27735 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
27736
463ac55f
CK
277372010-03-14 Colin King <colin.king@ubuntu.com>
277382010-03-14 Colin Watson <cjwatson@ubuntu.com>
27739
27740 Shrink the pre-partition-table part of boot.img by eight bytes.
27741
27742 * boot/i386/pc/boot.S (ERR): New macro.
27743 (chs_mode): Use ERR.
27744 (geometry_error): Likewise.
27745 (hd_probe_error): Remove. This is only used once, so we wrwite
27746 it inline instead.
27747 (read_error): Instead of printing read_error_string, just set up
27748 %si and fall through to ...
27749 (error_message): ... this new function, also used by ERR.
27750
08e46ede
CW
277512010-03-14 Colin Watson <cjwatson@ubuntu.com>
27752
27753 Speed up consecutive hostdisk operations on the same device.
27754
27755 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
27756 (grub_util_biosdisk_open): Initialise disk->data.
27757 (struct linux_partition_cache): New structure.
27758 (linux_find_partition): Cache partition start positions; these are
27759 expensive to compute on every read and write.
27760 (open_device): Cache open file descriptor in disk->data, so that we
27761 don't have to reopen it and flush the buffer cache for consecutive
27762 operations on the same device.
27763 (grub_util_biosdisk_close): New function.
27764 (grub_util_biosdisk_dev): Set `close' member.
27765
27766 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
27767 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
27768 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27769 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
27770 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
27771
4a6d2d06
VS
277722010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27773
27774 Compile parts of grub-emu as modules.
27775
27776 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
27777 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
27778 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
27779 (all-local): Add $(GRUB_EMU).
27780 (install-local): Install $(GRUB_EMU).
27781 (uninstall): Uninstall $(GRUB_EMU).
27782 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
27783 * kern/dl.c: Likewise.
27784 * commands/sleep.c: Not include machine/time.h.
27785 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
27786 (COMMON_CFLAGS): Likewise.
27787 (sbin_UTILITIES): Remove grub-emu.
27788 (grub_emu_SOURCES): Removed.
27789 (kernel_img_RELOCATABLE): New variable.
27790 (pkglib_PROGRAMS): Add kernel.img.
27791 (kernel_img_SOURCES): New variable
27792 (kernel_img_CFLAGS): Likewise.
27793 (kernel_img_LDFLAGS): Likewise.
27794 (TARGET_NO_STRIP): Likewise.
27795 (TARGET_NO_DYNAMIC_MODULES): Likewise.
27796 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
27797 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
27798 (grub-emu): New target.
27799 (GRUB_EMU): New variable.
27800 * configure.ac: Whitelist -emu as possible x86_64 architecture.
27801 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
27802 * loader/xnu.c: Likewise.
27803 * include/grub/pci.h: Likewise.
27804 * genemuinit.sh: New file.
27805 * genemuinitheader.sh: Likewise.
27806 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
27807 Support TARGET_NO_DYNAMIC_MODULES.
27808 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
27809 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
27810 * disk/loopback.c: Likewise.
27811 * font/font_cmd.c: Likewise.
27812 * partmap/acorn.c: Likewise.
27813 * partmap/amiga.c: Likewise.
27814 * partmap/apple.c: Likewise.
27815 * partmap/gpt.c: Likewise.
27816 * partmap/msdos.c: Likewise.
27817 * partmap/sun.c: Likewise.
27818 * parttool/msdospart.c: Likewise.
27819 * term/gfxterm.c: Likewise.
27820 * video/bitmap.c: Likewise.
27821 * video/readers/jpeg.c: Likewise.
27822 * video/readers/png.c: Likewise.
27823 * video/readers/tga.c: Likewise.
27824 * video/video.c: Likewise.
27825 * util/grub-emu.c (read_command_list): Removed.
27826 (main): Don't call util_init_nls.
27827 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
27828 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
27829
91fdd2ed
VS
278302010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27831
27832 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
27833 date.mod, datehook.mod.
27834 (datetime_mod_SOURCES): New variable.
27835 (datetime_mod_CFLAGS): Likewise.
27836 (datetime_mod_LDFLAGS): Likewise.
27837 (date_mod_SOURCES): Likewise.
27838 (date_mod_CFLAGS): Likewise.
27839 (date_mod_LDFLAGS): Likewise.
27840 (datehook_mod_SOURCES): Likewise.
27841 (datehook_mod_CFLAGS): Likewise.
27842 (datehook_mod_LDFLAGS): Likewise.
27843 * conf/sparc64-ieee1275.rmk: Likewise.
27844 * lib/ieee1275/datetime.c: New file.
27845
873ccae6
VS
278462010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27847
27848 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
27849 (ieee1275_fb_mod_SOURCES): New variable.
27850 (ieee1275_fb_mod_CFLAGS): Likewise.
27851 (ieee1275_fb_mod_LDFLAGS): Likewise.
27852 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
27853 New proto.
27854 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
27855 (HEAP_MAX_ADDR): Likewise.
27856 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
27857 type.
27858 Correct stop condition.
27859 (grub_ieee1275_devices_iterate): New function.
27860 * video/ieee1275.c: New file.
27861
601c97c0
VS
278622010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27863
27864 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
27865
27866 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
27867 as scratch.
27868 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
27869 SCRATCH_PAD_DISKBOOT as scratch.
27870 (bootit): Pass Openfirmware pointer in %o4.
27871 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
27872 of 0x200000.
27873 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
27874 with util/grub-mkrawimage.c.
27875 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
27876 * include/grub/aout.h (AOUT_MID_SUN): New definition.
27877 (grub_aout_get_type) [GRUB_UTIL]: Removed.
27878 (grub_aout_load) [GRUB_UTIL]: Likewise.
27879 * include/grub/kernel.h (grub_modules_get_end): New proto.
27880 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
27881 (SCRATCH_PAD_BOOT): New definition.
27882 (SCRATCH_PAD_DISKBOOT): Likewise.
27883 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
27884 * include/grub/sparc64/ieee1275/ieee1275.h
27885 (grub_ieee1275_original_stack): New variable
27886 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
27887 New definition
27888 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
27889 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
27890 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
27891 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
27892 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
27893 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
27894 (grub_platform_image_format_t): New type.
27895 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
27896 * kern/main.c (grub_modules_get_end)
27897 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
27898 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
27899 (codestart): Switch stacks.
27900 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
27901 variable.
27902 (grub_heap_init): Use grub_modules_get_end.
27903 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
27904 stack.
27905 * util/grub-mkrawimage.c (generate_image): Support sparc64.
27906 (main): Likewise.
27907 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
27908
d68b491e
TG
279092010-03-14 Thorsten Glaser <tg@mirbsd.org>
27910
27911 * util/grub-mkrescue.in: Base ISO UUID on UTC.
27912
4e02ed50
MK
279132010-03-08 Matt Kraai <kraai@ftbfs.org>
27914
27915 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
27916 bug #559005).
27917
1f15fc1e
VS
279182010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
27919
27920 * genmoddep.awk: Output all missing symbols and not only first.
27921
fce5d8ff
VS
279222010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27923
27924 * NEWS: Put the date of 1.98 release.
27925
d1e8a02f
VS
279262010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27927
27928 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
27929 ft2build.h.
27930
696fd607
VS
279312010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27932
27933 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
27934 completition in the middle of string.
27935
33e2e6f3
VS
279362010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27937
27938 * util/grub-mkrescue.in: Use mktemp with explicit template.
27939
b1f6d291
VS
279402010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27941
27942 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
27943
2ac227c7
VS
279442010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27945
27946 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
27947 right pointer.
27948
8f9a632b
VS
279492010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27950
27951 Fix FreeBSD compilation.
27952
27953 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
27954 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
27955
60b03859
VS
279562010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27957
27958 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
27959
48a5a769
VS
279602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27961
27962 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
27963
3ab4bd77
VS
279642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27965
27966 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
27967
d116e0d8
RM
279682010-03-04 Robert Millan <rmh.grub@aybabtu.com>
27969
27970 Support relative image path in theme file.
27971
27972 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
27973 (image_set_property): Handle theme_dir and relative path.
27974
c7ef54aa
VS
279752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27976
27977 * configure.ac: Alias amd64 to x86_64.
27978
fcee14ed
VS
279792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27980
27981 * NEWS: mention multiboot on EFI.
27982
d0780363
VS
279832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27984
27985 * kern/main.c (grub_load_modules): Handle errors from init functions of
27986 embeded modules.
27987
41168ea4
VS
279882010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27989
27990 * normal/autofs.c (autoload_fs_module): Handle errors.
27991
b54d93ac
VS
279922010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27993
27994 Disable linux.mod on qemu-mips since it's not functional and leads
27995 to compilation failure.
27996
27997 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
27998 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
27999 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
28000 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
28001 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
28002 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
28003 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
28004 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
28005 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
28006 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
28007 Reported by: BVK Chaitanya
28008
fc8345da
JU
280092010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
28010
28011 * INSTALL: Add gettext as a dependency and add qemu to a new section
28012 "Prerequisites for make-check".
28013
4760f979
CF
280142010-03-04 Christian Franke <franke@computer.org>
28015
28016 * util/grub-pe2elf.c: Add missing include "progname.h".
28017
f209b5b2
VS
280182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28019
28020 * normal/crypto.c (read_crypto_list): Fix a typo.
28021 Reported by: Seth Goldberg.
28022
b4b7be98
VS
280232010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28024
28025 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 28026 Reported by: Seth Goldberg.
b4b7be98 28027
c0ee0385
VS
280282010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28029
28030 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
28031 ascii.bitmaps.
28032
a8efbf64
VS
280332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28034
28035 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 28036 Reported by: Seth Goldberg.
a8efbf64 28037
08dcd913
VS
280382010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28039
28040 * util/i386/efi/grub-install.in: Copy gettext files.
28041
c4d0b332
VS
280422010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28043
28044 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
28045
c6f2fe52
VS
280462010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28047
28048 Wait for user entry basing on presence of output rather than on errors.
28049
28050 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
28051 (grub_install_newline_hook): Likewise.
28052 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
28053 * normal/menu.c (show_menu): Check line_counter to determine presence
28054 of output.
28055 * normal/term.c (grub_normal_line_counter): New variable.
28056 (grub_normal_get_line_counter): New function.
28057 (grub_install_newline_hook): Likewise.
28058
5382b1e4
VS
280592010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28060
28061 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
28062
5519963b
VS
280632010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28064
28065 * configure.ac: Update version to 1.98.
28066
72b28631
VS
280672010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
28068
28069 * util/grub.d/10_linux.in (linux_entry): Don't default to
28070 gfxpayload=keep if Linux doesn't support video handover.
28071
c140a180
VS
280722010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
28073
28074 Don't compile video modules on yeeloong since video subsystem is part
28075 of kernel.
28076
28077 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
28078 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
28079 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
28080 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
28081 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
28082 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
28083 * include/grub/bitmap_scale.h: Likewise.
28084 * include/grub/bufio.h: Likewise.
28085 * include/grub/font.h: Likewise.
28086 * include/grub/gfxterm.h: Likewise.
28087 * include/grub/video.h: Likewise.
28088 * include/grub/vbe.h: Don't include video_fb.h.
28089 * video/i386/pc/vbe.c: Include video_fb.h.
28090 * commands/i386/pc/vbetest.c: Include video.h.
28091
a0ca21c2
CW
280922010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
28093
28094 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
28095 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
28096 default entry if GRUB_SAVEDEFAULT=true. This allows using
28097 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
28098 saving a new default on every boot.
28099
4a8a763c
VS
281002010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28101
28102 * normal/crypto.c (read_crypto_list): Fix a memory leak.
28103 * normal/term.c (read_terminal_list): Likewise.
28104 * normal/main.c (grub_normal_init_page): Likewise.
28105 (grub_normal_read_line_real): Likewise.
28106
607ffde2
VS
281072010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28108
28109 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
28110 memory leak.
28111 Reported by: Seth Goldberg.
28112
2b8fa975
CW
281132010-02-24 Joey Korkames <joey+lists@kidfixit.com>
28114
28115 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
28116 duplicate declaration of `start'.
28117
618307dd
VS
281182010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28119
28120 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
28121 filename.
28122 Reported by: Georgy Buranov
28123
7dd05b96 281242010-02-20 Carles Pina i Estany <carles@pina.cat>
28125
28126 * util/grub-mkrawimage.c (usage): Change string formatting to
28127 improve gettext.
28128
d1484a42
MRA
281292010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
28130
28131 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
28132 backspace keys.
28133
42b1d186
VS
281342010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28135
28136 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
28137 Reported by: Michael Suchanek.
28138
281392010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
28140
28141 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
28142 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
28143
d9f31a41
VS
281442010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
28145
28146 Remove any reference to non-free fonts.
28147
28148 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
28149 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
28150 uses non-free components.
28151 * font/font.c (grub_font_get_name): Remove example name.
28152 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
28153 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
28154 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
28155 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
28156
2793c71e
GB
281572010-02-16 Georgy Buranov <gburanov@gmail.com>
28158
28159 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
28160
402e3779
VS
281612010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28162
28163 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
28164 Double divisor.
28165 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
28166 features.
28167 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
28168
0dd1e0dd
VS
281692010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28170
28171 * gensymlist.sh.in: Use TARGET_CC instead of CC.
28172
6fa7cfce
ST
281732010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28174
28175 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
28176 * docs/grub.texi (Command-line and menu entry commands): Document play
28177 command.
28178
37c8483b
ST
281792010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28180
28181 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
28182 parse arguments as inline tempo and notes. Move code for playing notes
28183 to...
28184 (play): ... new function.
28185
14da0fb7
ST
281862010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28187
28188 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
28189 grub_uint16_t instead of short.
28190 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
28191 disk from little endian to cpu endianness.
28192
04459e70
ST
281932010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
28194
28195 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
28196 GRUB_TICKS_PER_SECOND instead of 120.
28197
a0876943
VS
281982010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28199
28200 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
28201 escape sequence after \e.
28202
e29f95dc
VS
282032010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28204
28205 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
28206 non-ASCII characters.
28207
d27859b2
VS
282082010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28209
28210 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
28211 set root in single quotes to prevent \, from being unescaped.
28212
bc028f2f
VS
282132010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28214
28215 Prevent unknown commands from stopping menuentry execution.
28216
28217 * script/execute.c (grub_script_execute_cmdline): Print error after
28218 unknown command.
28219
095f5f82
VS
282202010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28221
28222 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
28223 Reported by: Pavel Pisa.
28224
8c717950
VS
282252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28226
28227 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
28228
904935c3
VS
282292010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28230
28231 Merge grub_ieee1275_map_physical into grub_map and rename to
28232 grub_ieee1275_map
28233
28234 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
28235 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
28236 Remove.
28237 * kern/ieee1275/openfw.c (grub_map): Rename to ...
28238 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
28239 necessary.
28240 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
28241
5b59a4e3
VS
282422010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28243
28244 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
28245 opening and not after.
28246
69e137e8
VS
282472010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28248
28249 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
28250 constants.
28251
2c0fcc36
VS
282522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28253
28254 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
28255 (alloc_phys): Use ALIGN_UP instead of align_addr.
28256
8c6052ce
VS
282572010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28258
28259 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
28260
17cec782
VS
282612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28262
28263 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
28264
e0128bbd
VS
282652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28266
28267 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
28268 verbose dprintf.
28269
ca62070b
VS
282702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28271
28272 Fix over-4GiB seek on sparc64.
28273
28274 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
28275 Replace pos_i and pos_lo with pos. All users updated.
28276 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28277 New constant.
28278 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28279 Likewise.
28280 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
28281 and pos_lo.
28282
bdca2607
VS
282832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28284
28285 * util/grub-mkrawimage.c (main): Call set_program_name.
28286
da278c4d
VS
282872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28288
28289 Properly align 64-bit targets.
28290
28291 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
28292 (generate_image): Use ALIGN_ADDR.
28293
b274d734
VS
282942010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28295
28296 Properly create cross-endian images.
28297
28298 * include/grub/types.h (grub_host_to_target_addr): New macro
28299 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
28300
82da2062
VS
283012010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28302
28303 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
28304
7cae4377
VS
283052010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28306
28307 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
28308
28309 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
28310 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
28311 (grub_linux_boot): Divide by 64K when on VESA.
28312
65a533e7
VS
283132010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28314
28315 Support GRUB_GFXPAYLOAD_LINUX.
28316
28317 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
28318 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
28319
dd01d397
VS
283202010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28321
28322 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
28323 to show messages instead of discarding them.
28324 Process errors after executing command and not before. Keep old method
28325 too as precaution.
28326
660960d6
VS
283272010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
28328
28329 * configure.ac: Check for ft2build.h.
28330
62509f04
VS
283312010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28332
28333 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
28334
473df63d
VS
283352010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28336
28337 * genkernsyms.sh.in: Use TARGET_CC.
28338
c98d2a13
CW
283392010-02-07 Colin Watson <cjwatson@ubuntu.com>
28340
28341 * NEWS: Update.
28342
6e14234c
VS
283432010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28344
28345 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
28346 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
28347 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 28348
b255e9cf
YB
283492010-02-07 Yves Blusseau <blusseau@zetam.org>
28350
6e14234c 28351 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 28352
98e6959d
VS
283532010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28354
28355 Fix warnings in grub-emu when compiling with maximum warning options.
28356
28357 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
28358 (grub_arch_modules_addr): Return 0 and not NULL.
28359 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 28360 (xstrdup): Use newstr instead of dup.
f88d801b
VS
28361 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
28362 of disk to dsk to avoid shadowing.
74e4934e
VS
28363 (find_free_slot): Fix prototype.
28364 * util/getroot.c (grub_util_is_dmraid): Make static.
28365 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
28366 Add missing prototype.
28367 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 28368
74e31b5c
VS
283692010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28370
28371 * loader/i386/linux.c (grub_linux_setup_video): Handle error
28372 appropriately.
28373
6b2ad14b
VS
283742010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28375
28376 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
28377 code out.
28378
8f891adc
VS
283792010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28380
28381 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
28382 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
28383 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
28384 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
28385 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
28386 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
28387
74b45184
VS
283882010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28389
28390 * include/grub/err.h (grub_err_printf): Don't export.
28391
a4bced77
VS
283922010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28393
28394 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
28395
007d0695
VS
283962010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28397
28398 * include/grub/i18n.h (grub_gettext_dummy): Removed.
28399 * kern/misc.c (grub_gettext_dummy): Make static.
28400
b6c0d9c2
VS
284012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28402
28403 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
28404 by non-valid ones.
28405 * kern/term.c (grub_putchar): Likewise.
28406
f51a90d0
VS
284072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28408
28409 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
28410 buggy hook call and memory leak.
28411
6846cec5
VS
284122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28413
28414 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
28415
468d69fe
VS
284162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28417
28418 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
28419
51906b8c
VS
284202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28421
28422 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
28423 modevar.
28424 Return grub_errno on allocation error.
28425
09706ce5
VS
284262010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28427
28428 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
28429
911df80c
YB
284302010-02-06 Yves Blusseau <blusseau@zetam.org>
28431
28432 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
28433 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
28434
3746a6bc
VS
284352010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28436
28437 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
28438 non-pxe disk.
28439 (grub_pxefs_open): Likewise.
28440
09706ce5
VS
284412010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28442
28443 * util/grub.d/10_hurd.in: Add --class information to menuentries.
28444 * util/grub.d/10_kfreebsd.in: Likewise.
28445 * util/grub.d/10_linux.in: Likewise.
28446
7cc192d9
VS
284472010-02-06 Colin D Bennett <colin@gibibit.com>
28448
28449 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
28450 (gfxmenu_mod_SOURCES): New variable.
28451 (gfxmenu_mod_CFLAGS): Likewise.
28452 (gfxmenu_mod_LDFLAGS): Likewise.
28453 * include/grub/term.h (grub_term_set_current_output): Declare
28454 argument as const.
28455 * docs/gfxmenu-theme-example.txt: New file.
28456 * gfxmenu/gfxmenu.c: Likewise.
28457 * gfxmenu/gui_box.c: Likewise.
28458 * gfxmenu/gui_canvas.c: Likewise.
28459 * gfxmenu/gui_circular_progress.c: Likewise.
28460 * gfxmenu/gui_image.c: Likewise.
28461 * gfxmenu/gui_label.c: Likewise.
28462 * gfxmenu/gui_list.c: Likewise.
28463 * gfxmenu/gui_progress_bar.c: Likewise.
28464 * gfxmenu/gui_string_util.c: Likewise.
28465 * gfxmenu/gui_util.c: Likewise.
28466 * gfxmenu/icon_manager.c: Likewise.
28467 * gfxmenu/model.c: Likewise.
28468 * gfxmenu/named_colors.c: Likewise.
28469 * gfxmenu/theme_loader.c: Likewise.
28470 * gfxmenu/view.c: Likewise.
28471 * gfxmenu/widget-box.c: Likewise.
28472 * include/grub/gfxmenu_model.h: Likewise.
28473 * include/grub/gfxmenu_view.h: Likewise.
28474 * include/grub/gfxwidgets.h: Likewise.
28475 * include/grub/gui.h: Likewise.
28476 * include/grub/gui_string_util.h: Likewise.
28477 * include/grub/icon_manager.h: Likewise.
28478
284792010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28480
28481 Agglomerate scrolling in gfxterm.
28482
28483 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
28484 (grub_virtual_screen_setup): Initialise 'total_screen'.
28485 (write_char): Split to ...
28486 (paint_char): ... this ...
28487 (write_char): ... and this.
28488 (paint_char): Handle delayed scrolling.
28489 (draw_cursor): Likewise.
28490 (scroll_up): Split to ...
28491 (real_scroll): ... this ...
28492 (scroll_up): ... and this.
28493 (real_scroll): Handle multi-line scroll and draw below-the-bottom
28494 characters.
28495 (grub_gfxterm_refresh): Call real_scroll.
28496
284972010-02-06 Colin D Bennett <colin@gibibit.com>
28498
28499 * include/grub/misc.h (grub_iscntrl): New inline function.
28500 (grub_isalnum): Likewise.
28501 (grub_strtol): Likewise.
28502
285032010-02-06 Colin D Bennett <colin@gibibit.com>
28504
28505 * normal/menu_text.c (get_entry_number): Move from here ...
28506 * normal/menu.c (get_entry_number): ... moved here.
28507 * include/grub/menu.h (grub_menu_get_default_entry_index):
28508 New prototype.
28509 * normal/menu.c (grub_menu_get_default_entry_index): New function.
28510 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
28511 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
28512 (grub_menu_viewer_should_return): Likewise.
28513 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
28514 * normal/menu_text.c (run_menu): Enable menu switching.
28515 * normal/menu_viewer.c (should_return): New variable.
28516 (menu_viewer_changed): Likewise.
28517 (grub_menu_viewer_show_menu): Handle menu viewer changes.
28518 (grub_menu_viewer_should_return): New function.
28519 (menuviewer_write_hook): Likewise.
28520 (grub_menu_viewer_init): Likewise.
28521
285222010-02-06 Colin D Bennet <colin@gibibit.com>
285232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28524
28525 Support for gfxterm in a window.
28526
28527 * include/grub/gfxterm.h: New file.
28528 * include/grub/video.h (struct grub_video_rect): New declaration.
28529 (grub_video_rect_t): Likewise.
28530 * term/gfxterm.c (struct grub_gfxterm_window): New type.
28531 (refcount): New variable.
28532 (render_target): Likewise.
28533 (window): Likewise.
28534 (repaint_callback): Likewise.
28535 (grub_virtual_screen_setup): Use 'render_target'.
28536 (init_window): New function.
28537 (grub_gfxterm_init_window): Likewise.
28538 (grub_gfxterm_init): Check reference counter.
28539 Use init_window.
28540 (destroy_window): New function.
28541 (grub_gfxterm_destroy_window): Likewise.
28542 (grub_gfxterm_fini): Check reference counter.
28543 Use destroy_window.
28544 (redraw_screen_rect): Restore viewport.
28545 Use 'render_target' and 'window'.
28546 Call 'repaint_callback'.
28547 (write_char): Use 'render_target'.
28548 (draw_cursor): Likewise.
28549 (scroll_up): Restore viewport.
28550 Use 'render_target' and 'window'.
28551 Call 'repaint_callback'.
28552 (grub_gfxterm_cls): Likewise.
28553 (grub_gfxterm_refresh): Use 'window'.
28554 (grub_gfxterm_set_repaint_callback): New function.
28555 (grub_gfxterm_background_image_cmd): Use 'window'.
28556 (grub_gfxterm_get_term): New function.
28557 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
28558
285592010-02-06 Colin D Bennett <colin@gibibit.com>
28560
28561 Bitmap scaling support.
28562
28563 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
28564 (bitmap_scale_mod_SOURCES): New variable.
28565 (bitmap_scale_mod_CFLAGS): Likewise.
28566 (bitmap_scale_mod_LDFLAGS): Likewise.
28567 * include/grub/bitmap_scale.h: New file.
28568 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
28569 (background_image_cmd_options): New variable.
28570 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
28571 (cmd): Rename and change type to ...
28572 (background_image_cmd_handle): ... this. All users updated.
28573 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
28574 * video/bitmap_scale.c: New file.
28575
285762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28577
28578 SDL support.
28579
28580 * Makefile.in (LIBSDL): New variable.
28581 (enable_grub_emu_sdl): Likewise.
28582 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
28583 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
28584 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
28585 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
28586 * util/sdl.c: New file.
28587
285882010-02-06 Colin D Bennett <colin@gibibit.com>
285892010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28590
28591 Double buffering support.
28592
28593 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
28594 * include/grub/video.h: Update comment.
28595 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
28596 New type.
28597 (grub_video_fb_doublebuf_blit_init): New prototype.
28598 * term/gfxterm.c (scroll_up): Support double buffering.
28599 (grub_gfxterm_refresh): Likewise.
28600 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
28601 (grub_video_fb_doublebuf_blit_init): Likewise.
28602 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
28603 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
28604 'displayed_page', 'render_page' and 'update_screen'.
28605 (grub_video_vbe_fini): Free offscreen buffer.
28606 (doublebuf_pageflipping_commit): New function.
28607 (doublebuf_pageflipping_update_screen): Likewise.
28608 (doublebuf_pageflipping_init): Likewise.
28609 (double_buffering_init): Likewise.
28610 (grub_video_vbe_setup): Enable doublebuffering.
28611 (grub_video_vbe_swap_buffers): Implement.
28612 (grub_video_vbe_set_active_render_target): Handle double buffering.
28613 (grub_video_vbe_get_active_render_target): Likewise.
28614 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
28615 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
28616 (grub_video_vbe_enable_double_buffering): Likewise.
28617 (grub_video_vbe_swap_buffers): Use update_screen.
28618 (grub_video_set_mode): Use double buffering.
28619
286202010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28621
28622 * maintainance/gentrigtables.py: Remove.
28623 * lib/trig.c: Likewise.
28624
28625 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
28626
28627 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
28628 `trigtables.c'.
28629 (trigtables.c): New rule.
28630 (gentrigtables): Likewise.
28631 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
28632
286332010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28634
28635 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
28636 integer constants.
28637
286382010-02-06 Colin D Bennet <colin@gibibit.com>
28639
28640 Trigonometry support.
28641
28642 * include/grub/trig.h: New file.
28643 * lib/trig.c: Likewise.
28644 * maintainance/gentrigtables.py: Likewise.
28645 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
28646 (trig_mod_SOURCES): New variable.
28647 (trig_mod_CFLAGS): Likewise.
28648 (trig_mod_LDFLAGS): Likewise.
28649
5562834e
VS
286502010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28651
28652 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
28653 disk devices.
28654
4f8528fc
VS
286552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28656
28657 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
28658 error.
28659
2b4068e9
VS
286602010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28661
28662 * util/hostdisk.c (open_device): Don't use partition device when reading
28663 before the partition.
28664 (grub_util_biosdisk_read): Don't read from partition and before the
28665 partition in single operation.
28666 (grub_util_biosdisk_write): Don't write to partition and before the
28667 partition in single operation.
28668
399f6e4d
TL
286692010-02-03 Torsten Landschoff <torsten@debian.org>
28670
28671 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28672 last sectors.
28673
996649b0
VS
286742010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28675
28676 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
28677 CDROM reads.
28678 (grub_biosdisk_write): Refuse to write to CDROM.
28679
3b205d4d
VS
286802010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28681
28682 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
28683
61e89d9d
VS
286842010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28685
28686 * font/font.c (find_glyph): Check that bmp_idx is available before
28687 using it.
28688 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
28689 with (font == NULL).
28690
bf7fcba2
CS
286912010-01-28 Christian Schmitt <chris@ilovelinux.de>
28692
28693 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
28694
f45d2663
BC
286952010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
28696
28697 * include/grub/script_sh.h (sourcecode): Add const qualifier.
28698 * util/grub-script-check.c (getline): Fix empty lines case.
28699
ec1444e6
RM
287002010-01-28 Robert Millan <rmh.grub@aybabtu.com>
28701
28702 * Makefile.in (check): Exit with fail status when one of the tests
28703 fails.
28704 * tests/example_functional_test.c (example_test): Fix reversed assert.
28705 * tests/example_unit_test.c (example_test): Likewise.
28706
2e1cb9bb
CW
287072010-01-28 Colin Watson <cjwatson@ubuntu.com>
28708
28709 * util/grub.d/10_linux.in: This script does not use any of the
28710 contents of gettext.sh, only the external command `gettext', so stop
28711 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
28712 the same prefix as GRUB.)
28713 * util/grub.d/10_kfreebsd.in: Likewise.
28714
63533ab0
VS
287152010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28716
28717 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
28718 of the line.
28719
989e1f93
VS
287202010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28721
28722 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28723 last sectors.
28724
e709ebe2
VS
287252010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28726
28727 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
28728 having a 4KiB and not 32KiB buffer size.
28729
27dea7ed
RM
287302010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28731
28732 * util/hostfs.c: Include `<errno.h>'.
28733 (grub_hostfs_read): Handle errors from fseeko() and fread().
28734
67667b9c
RM
287352010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28736
28737 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
28738 loop when using read hooks on files whose size isn't sector-aligned.
28739
c294d9d8
RM
287402010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28741
28742 Remove unused parameter.
28743
28744 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
28745 (grub_iso9660_open): Remove initialization of `data->length'.
28746
af75a9f1
RM
287472010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28748
28749 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
28750 memleak conditions.
28751
254e2ce5 287522010-01-27 Carles Pina i Estany <carles@pina.cat>
28753
28754 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
28755 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
28756
b510928c 287572010-01-26 Carles Pina i Estany <carles@pina.cat>
28758
28759 * util/bin2h.c (usage): Fix warning (space after backslash).
28760
aa2f9dd2 287612010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 28762
28763 * font/font.c: Include `grub/fontformat.h.
28764 Remove font file format constants.
28765 (grub_font_load): Use the new macros.
28766 * include/grub/fontformat.h: New file.
28767 * util/grub-mkfont.c: Include `grub/fontformat.c'.
28768 (write_font_pf2): Use the new macros.
28769
94e7e712
RM
287702010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28771
28772 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
28773 does.
28774
3973a59a
RM
287752010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28776
28777 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
28778
28779 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
28780 (_start): Macroify `0x7F'.
28781
28782 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
28783 (make_install_device): Use "(pxe)" as fallback prefix when booting
28784 via PXE.
28785
42e0cba3
GS
287862010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
28787
28788 * configure.ac: Reset LIBS after check for libgcc symbols.
28789
847effd8
CW
287902010-01-25 Colin Watson <cjwatson@ubuntu.com>
28791
28792 * util/hostdisk.c (open_device): Add trailing newline to debug
28793 message.
28794
ea4a7e35
GS
287952010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
28796
28797 * configure.ac: Check for `limits.h'.
28798 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
28799
67951a53
RM
288002010-01-24 Robert Millan <rmh.grub@aybabtu.com>
28801
28802 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
28803 capitalize error strings.
28804
c273d4ce
ST
288052010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
28806
28807 * util/grub.d/10_hurd.in: Add a recovery mode.
28808
69be5b74
VS
288092010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
28810
28811 * configure.ac: Check for libgcc symbols with -nostdlib.
28812
fc9e5810
BC
288132010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
28814
28815 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
28816
4b358c0a
VS
288172010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28818
28819 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
28820 stack since heap may be unavailable at that point.
28821 (grub_ofconsole_gotoxy): Likewise.
28822
454fcd1c
VS
288232010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28824
28825 * configure.ac: Check for _restgpr_14_x.
28826 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
28827 and _savegpr_* prototypes.
28828
566863ca
RM
288292010-01-22 Robert Millan <rmh.grub@aybabtu.com>
28830
28831 Use generic grub_reboot() for i386-efi.
28832
28833 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
28834 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
28835 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
28836
bf86e59a
VS
288372010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28838
28839 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
28840 presence of "prefix" variable as it breaks when normal.mod is
28841 embedded.
28842
d645e0f8
VS
288432010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28844
28845 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
28846 stack since heap is unavailable at that point.
28847
f9ab2e25
VS
288482010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28849
28850 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
28851 (grub_freebsd_bootinfo): Rewritten.
28852 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
28853
01fc7054
VS
288542010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28855
28856 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
28857
caab4fd6
RM
288582010-01-21 Robert Millan <rmh.grub@aybabtu.com>
28859
28860 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
28861 domain now.
28862
67eb1427
FZ
288632010-01-20 Felix Zielcke <fzielcke@z-51.de>
28864
28865 * util/misc.c (make_system_path_relative_to_its_root): Change the work
28866 around for handling "/" to the correct fix. Fix a memory leak. Use
28867 xstrdup instead of strdup.
28868
a9ed4ff3
VS
288692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28870
28871 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
28872
288732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
28874
28875 Optimise glyph lookup by Basic Multilingual Plane lookup array.
28876
28877 * font/font.c (struct grub_font): New member 'bmp_idx'.
28878 (font_init): Initialise 'bmp_idx'.
28879 (load_font_index): Fill 'bmp_idx'.
28880 (find_glyph): Make inline. Use bmp_idx for BMP characters.
28881
48209f4f
VS
288822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28883
28884 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
28885 unnecessary calls.
28886
9f0a4bb7
VS
288872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28888
28889 Move context handling out of the kernel.
28890
28891 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
28892 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
28893 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
28894 * conf/i386-efi.rmk: Likewise.
28895 * conf/i386-ieee1275.rmk: Likewise.
28896 * conf/i386-pc.rmk: Likewise.
28897 * conf/powerpc-ieee1275.rmk: Likewise.
28898 * conf/sparc64-ieee1275.rmk: Likewise.
28899 * conf/x86_64-efi.rmk: Likewise.
28900 * include/grub/env.h: Include grub/menu.h.
28901 (grub_env_var_type): Removed.
28902 (grub_env_var): Replaced field 'type' with 'global'.
28903 (grub_env_find): New prototype.
28904 (grub_env_context_open): Remove EXPORT_FUNC.
28905 (grub_env_context_close): Likewise.
28906 (grub_env_export): Likewise.
28907 (grub_env_set_data_slot): Removed.
28908 (grub_env_get_data_slot): Likewise.
28909 (grub_env_unset_data_slot): Likewise.
28910 (grub_env_unset_menu): New prototype.
28911 (grub_env_set_menu): Likewise.
28912 (grub_env_get_menu): Likewise.
28913 * include/grub/env_private.h: New file.
28914 * include/grub/normal.h (grub_context_init): New prototype.
28915 (grub_context_fini): Likewise.
28916 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
28917 * normal/context.c (grub_cmd_export): ... to here.
28918 * kern/env.c: Include env_private.h.
28919 (HASHSZ): Moved to include/grub/env_private.h.
28920 (grub_env_context): Likewise.
28921 (grub_env_sorted_var): Likewise.
28922 (current_context): Renamed from this ...
28923 (grub_current_context): ...to this. 'static' removed. All users updated.
28924 (grub_env_find): Removed 'static'.
28925 (grub_env_context_open): Moved to normal/context.c.
28926 (grub_env_context_close): Likewise.
28927 (grub_env_export): Likewise.
28928 (mangle_data_slot_name): Removed.
28929 (grub_env_set_data_slot): Likewise.
28930 (grub_env_get_data_slot): Likewise.
28931 (grub_env_unset_data_slot): Likewise.
28932 * kern/main.c (grub_set_root_dev): Don't export root.
28933 It will be done later.
28934 (grub_main): Don't export prefix.
28935 It will be done later.
28936 * normal/context.c: New file.
28937 * normal/main.c (free_menu): Use grub_env_unset_menu.
28938 (grub_normal_add_menu_entry): Use grub_env_get_menu.
28939 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
28940 (GRUB_MOD_INIT(normal)): Call grub_context_init.
28941 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
28942
8dd35b8c
VS
289432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28944
28945 setpci support.
28946
28947 * commands/setpci.c: New file.
28948 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
28949 (setpci_mod_SOURCES): New variable.
28950 (setpci_mod_CFLAGS): Likewise.
28951 (setpci_mod_LDFLAGS): Likewise.
28952
449193d5
VS
289532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28954
28955 Byte-addressable PCI configuration space.
28956
28957 * bus/pci.c (grub_pci_make_address): Use byte address instead of
28958 dword address.
28959 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
28960 GRUB_PCI_REG_CACHELINE.
28961 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
28962 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
28963 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
28964 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
28965 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
28966 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
28967 grub_pci_make_address.
28968 (lock_rom_area): Likewise.
28969 * commands/lspci.c (grub_lspci_iter): Use macroses
28970 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
28971 of grub_pci_make_address.
28972 * disk/ata.c (grub_ata_pciinit): Likewise.
28973 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
28974 (GRUB_PCI_REG_VENDOR): Likewise.
28975 (GRUB_PCI_REG_DEVICE): Likewise.
28976 (GRUB_PCI_REG_COMMAND): Likewise.
28977 (GRUB_PCI_REG_STATUS): Likewise.
28978 (GRUB_PCI_REG_REVISION): Likewise.
28979 (GRUB_PCI_REG_CLASS): Likewise.
28980 (GRUB_PCI_REG_CACHELINE): Likewise.
28981 (GRUB_PCI_REG_LAT_TIMER): Likewise.
28982 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
28983 (GRUB_PCI_REG_BIST): Likewise.
28984 (GRUB_PCI_REG_ADDRESSES): Likewise.
28985 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28986 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28987 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28988 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28989 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28990 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28991 (GRUB_PCI_REG_CIS_POINTER): Likewise.
28992 (GRUB_PCI_REG_SUBVENDOR): Likewise.
28993 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
28994 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
28995 (GRUB_PCI_REG_CAP_POINTER): Likewise.
28996 (GRUB_PCI_REG_IRQ_LINE): Likewise.
28997 (GRUB_PCI_REG_IRQ_PIN): Likewise.
28998 (GRUB_PCI_REG_MIN_GNT): Likewise.
28999 (GRUB_PCI_REG_MAX_LAT): Likewise.
29000 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
29001 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
29002 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 29003 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
29004 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
29005 space.
29006
96d73208
RM
290072010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29008
29009 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
29010 can be reliably determined to be supported.
29011
d4484482
RM
290122010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29013
29014 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
29015 that VESA is supported.
29016 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
29017 supported.
29018
00308ecf
VS
290192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29020
29021 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
29022
f66924a4
RM
290232010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29024
29025 * util/misc.c (make_system_path_relative_to_its_root): Work around
29026 special-casing of "/", as previous incarnation of this routine did.
29027
cbca0ada
VS
290282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29029
29030 Fix any-emu compilation.
29031
29032 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
29033 * grub_bin2h_SOURCES: New variable.
29034
34a66d99
RM
290352010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29036
29037 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
29038
94fabf58
RM
290392010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29040
29041 * util/grub.d/00_header.in: Fix handling of locale_dir.
29042
02cf98ca
VS
290432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29044
29045 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
29046 as possible unifont location (Gentoo).
29047 Reported by: Alexander Brüning
29048
327dbcd7
VS
290492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29050
29051 Don't try to generate lists for kernel.img.
29052
29053 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
29054 (pkglib_MODULES): Remove kernel.img.
29055 (kernel_img_EXPORTS): Removed.
29056 (kernel_img_RELOCATABLE): New variable.
29057 * conf/x86_64-efi.rmk: Likewise.
29058 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
29059
ca467290
VS
290602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29061
29062 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
29063 grub_xasprintf or grub_snprintf.
29064 (grub_vsprintf): Likewise.
29065 (grub_snprintf): New proto.
29066 (grub_vsnprintf): Likewise.
29067 (grub_xasprintf): Likewise.
29068 (grub_xvasprintf): Likewise.
29069 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
29070 (grub_sprintf): Removed.
29071 (grub_vsnprintf): New function.
29072 (grub_snprintf): Likewise.
29073 (grub_xvasprintf): Likewise.
29074 (grub_xasprintf): Likewise.
29075 (grub_vsprintf): Renamed to ...
29076 (grub_vsnprintf_real): ...this. New argument max_len.
29077
aca655fd
BC
290782010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
29079
29080 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
29081 fix grub-script-check warning.
29082
7ee92c32
VS
290832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29084
29085 * include/grub/font.h (grub_font_load): Fix prototype.
29086
f80927ca
VS
290872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29088
29089 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
29090
119c50ea
VS
290912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29092
29093 * include/grub/x86_64/at_keyboard.h: New file.
29094
47d5f3c1
VS
290952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29096
29097 * loader/mips/linux.c: Include missing grub/i18n.h.
29098
55ff5266
RM
290992009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29100
29101 * normal/menu.c (notify_execution_failure): Clarify error message.
29102
c893cc87
RM
291032009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29104
29105 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
29106 return value (and revert all return statements). Update users.
29107
917dd370
CW
291082010-01-20 Dan Merillat <debian@dan.merillat.org>
29109
29110 * kern/device.c (grub_device_iterate): Allocate new part_ent
29111 structure based on sizeof (*p) rather than sizeof (p->next), to
29112 account for structure padding.
29113
29114 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
29115 disk is NULL, which might happen for LVM physical volumes with no
29116 LVM signature.
29117
d4a4ee57
RM
291182009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29119
29120 * loader/mips/linux.c (grub_cmd_initrd)
29121 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
29122
291232009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29124
29125 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
29126 (grub_video_video_init, grub_video_bitmap_init)
29127 (grub_font_manager_init, grub_term_gfxterm_init)
29128 (grub_at_keyboard_init): New extern declarations.
29129 (grub_machine_init): Initialize gfxterm and at_keyboard.
29130
29131 * kern/main.c (grub_main): Revert grub_printf delay kludge.
29132
29133 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
29134 `gfxterm.mod' into core image.
29135
29136 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29137 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29138 (kernel_img_FORMAT): Copy to ...
29139
29140 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29141 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29142 (kernel_img_FORMAT): ... here, and ...
29143
29144 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29145 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29146 (kernel_img_FORMAT): ... here.
29147
29148 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
29149 and input (at_keyboard) terminals in kernel.
29150 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
29151
29152 (pkglib_MODULES): Remove `pci.mod'.
29153 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
29154 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
29155 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29156 (at_keyboard_mod_LDFLAGS): Remove variables.
29157
291582010-01-11 Felix Zielcke <fzielcke@z-51.de>
29159
29160 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
29161
291622009-12-10 Robert Millan <rmh.grub@aybabtu.com>
29163
29164 * include/grub/mips/libgcc.h: Only export symbols for functions
29165 that libgcc provides.
29166
291672009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
29168
29169 MIPS support.
29170
29171 * bus/bonito.c: New file.
29172 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
29173 GRUB_PCI_NUM_DEVICES.
29174 * term/i386/pc/serial.c: Move to ...
29175 * term/serial.c: ... here. All users updated.
29176 * util/i386/pc/grub-mkimage.c: Move to ...
29177 * util/grub-mkrawimage.c: ... here. All users updated.
29178 * term/i386/pc/at_keyboard.c: Move to ...
29179 * term/at_keyboard.c: ... here. All users updated.
29180 * conf/mips-qemu-mips.rmk: New file.
29181 * conf/mips-yeeloong.rmk: Likewise.
29182 * conf/mips.rmk: Likewise.
29183 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
29184 mipsel-qemu-mips.
29185 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
29186 to port addresses.
29187 (grub_ata_pciinit): Support CS5536.
29188 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
29189 * font/font_cmd.c (loadfont_command): Open file before passing it to
29190 grub_font_load.
29191 (pseudo_file_read): New function.
29192 (pseudo_file_close): Likewise.
29193 (pseudo_fs): New structure.
29194 (load_font_module): New function.
29195 (GRUB_MOD_INIT(font_manager)): Load embedded font.
29196 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
29197 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
29198 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
29199 * include/grub/i386/at_keyboard.h: Split into ...
29200 * include/grub/at_keyboard.h: ... this ...
29201 * include/grub/i386/at_keyboard.h: ... and this.
29202 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
29203 New prototype.
29204 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
29205 updated.
29206 (grub_elf64_size): Likewise.
29207 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
29208 filename.
29209 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
29210 * include/grub/i386/coreboot/serial.h: Rewritten.
29211 * include/grub/i386/ieee1275/serial.h: Include
29212 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
29213 * include/grub/i386/pc/serial.h: Moved from here ...
29214 * include/grub/serial.h: ... to here. All users updated.
29215 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
29216 (GRUB_PCI_NUM_BUS): Likewise.
29217 (GRUB_PCI_NUM_DEVICES): Likewise.
29218 (grub_pci_device_map_range): Add missing volatile keyword.
29219 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
29220 * include/grub/mips/at_keyboard.h: New file.
29221 * include/grub/mips/cache.h: Likewise.
29222 * include/grub/mips/io.h: Likewise.
29223 * include/grub/mips/kernel.h: Likewise.
29224 * include/grub/mips/libgcc.h: Likewise.
29225 * include/grub/mips/pci.h: Likewise.
29226 * include/grub/mips/qemu-mips/boot.h: Likewise.
29227 * include/grub/mips/qemu-mips/kernel.h: Likewise.
29228 * include/grub/mips/qemu-mips/loader.h: Likewise.
29229 * include/grub/mips/qemu-mips/memory.h: Likewise.
29230 * include/grub/mips/qemu-mips/serial.h: Likewise.
29231 * include/grub/mips/qemu-mips/time.h: Likewise.
29232 * include/grub/mips/relocator.h: Likewise.
29233 * include/grub/mips/time.h: Likewise.
29234 * include/grub/mips/types.h: Likewise.
29235 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
29236 * include/grub/mips/yeeloong/boot.h: Likewise.
29237 * include/grub/mips/yeeloong/kernel.h: Likewise.
29238 * include/grub/mips/yeeloong/loader.h: Likewise.
29239 * include/grub/mips/yeeloong/memory.h: Likewise.
29240 * include/grub/mips/yeeloong/pci.h: Likewise.
29241 * include/grub/mips/yeeloong/serial.h: Likewise.
29242 * include/grub/mips/yeeloong/time.h: Likewise.
29243 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
29244 * kern/elf.c (grub_elf32_size): New parameter. All users
29245 updated.
29246 (grub_elf64_size): Likewise.
29247 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
29248 Load modules before saying "Welcome to GRUB!".
29249 Call grub_refresh after saying "Welcome to GRUB!".
29250 * kern/mips/cache.S: New file.
29251 * kern/mips/cache_flush.S: Likewise.
29252 * kern/mips/dl.c: Likewise.
29253 * kern/mips/init.c: Likewise.
29254 * kern/mips/qemu-mips/init.c: Likewise.
29255 * kern/mips/startup.S: Likewise.
29256 * kern/mips/yeeloong/init.c: Likewise.
29257 * kern/term.c (grub_putcode): Handle NULL terminal.
29258 (grub_getcharwidth): Likewise.
29259 (grub_getkey): Likewise.
29260 (grub_checkkey): Likewise.
29261 (grub_getkeystatus): Likewise.
29262 (grub_getxy): Likewise.
29263 (grub_getwh): Likewise.
29264 (grub_gotoxy): Likewise.
29265 (grub_cls): Likewise.
29266 (grub_setcolorstate): Likewise.
29267 (grub_setcolor): Likewise.
29268 (grub_getcolor): Likewise.
29269 (grub_refresh): Likewise.
29270 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
29271 (write_jump): Add hatch nop.
29272 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
29273 * lib/mips/setjmp.S: New file.
29274 * loader/mips/linux.c: Likewise.
29275 * term/i386/pc/at_keyboard.c: Move from here ...
29276 * term/at_keyboard.c: ... to here.
29277 * term/i386/pc/serial.c: Moved from here ...
29278 * term/serial.c: ... to here. All users updated.
29279 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
29280 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
29281 (serial_translate_key_sequence): Avoid deadlock.
29282 (grub_serial_getkey): Handle backspace.
29283 (grub_serial_putchar): Fix newline handling.
29284 * util/i386/pc/grub-mkimage.c: Move from here ...
29285 * util/grub-mkrawimage.c: ... to here. All users updated.
29286 (generate_image): New parameters 'font_path' and 'format'.
29287 Support embedding font.
29288 Use grub_host_to_target* instead of grub_cpu_to_le*.
29289 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
29290 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
29291 (options): New option "--font".
29292 (usage): Likewise.
29293 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
29294 (main): Handle "--font".
29295 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
29296 (grub_virtual_screen_setup): Set bg_color_display.
29297 (redraw_screen_rect): Use bg_color_display instead of incorrect
29298 bg_color.
29299 (grub_gfxterm_cls): Likewise.
29300 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
29301 Support embedding config file.
29302 (add_segments): Likewise.
29303 (options): New option "--config".
29304 (main): Handle "--config".
29305 * video/sm712.c: New file.
29306
25c2b5b3
RM
293072010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29308
29309 Fix parallel builds.
29310
29311 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
29312 font.c depend on ascii.h).
29313
293142010-01-12 Carles Pina i Estany <carles@pina.cat>
29315
29316 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
29317
293182010-01-11 Carles Pina i Estany <carles@pina.cat>
29319
29320 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
29321 By default: disabled.
29322 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
29323 parameter.
29324
293252010-01-10 Carles Pina i Estany <carles@pina.cat>
29326
29327 * font/font.c: Update copyright years.
29328 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
29329
293302010-01-10 Carles Pina i Estany <carles@pina.cat>
29331
29332 * font/font.c: Include `ascii.h'.
29333 (ASCII_BITMAP_SIZE): New macro.
29334 (ascii_font_glyph): Define.
29335 (ascii_glyph_lookup): New function.
29336 (grub_font_get_string_width): Change comment. If glyph not found, use
29337 ascii_glyph_lookup.
29338 (grub_font_get_glyph_with_fallback): If glyph not available returns
29339 ascii_glyph_lookup.
29340 * util/grub-mkfont.c (file_formats): New enum.
29341 (options): Add `ascii-bitmaps' new option.
29342 (usage): Add `asii-bitmaps' new option.
29343 (write_font_ascii_bitmap): New function.
29344 (write_font): Rename to ...
29345 (write_font_p2): ... this. Remove print_glyphs call.
29346 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
29347 used. Call print_glyphs.
29348 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
29349
293502010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29351
29352 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
29353 (grub_bin2h_SOURCES): New variable.
29354 * util/bin2h.c: New file.
29355
915fc1b8
VS
293562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29357
29358 * include/multiboot.h: Resynced with spec.
29359 * include/multiboot2.h: Likewise.
29360 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
29361 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
29362
9444b678
RM
293632010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29364
29365 * include/grub/term.h (grub_term_register_input,
29366 grub_term_register_output): Check return of terminal init()
29367 routines, and abort if errors are raised.
29368
29369 * commands/terminal.c: Update copyright year.
29370
cba98e8d
RM
293712010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29372
29373 * commands/terminal.c (grub_cmd_terminal_input)
29374 (grub_cmd_terminal_output): Check return of terminal init()
29375 routines, and abort if errors are raised.
29376
6f7db5d6
VS
293772010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29378
29379 * include/grub/i386/bsd.h: Fix include pathes.
29380
262bff8d
VS
293812010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29382
29383 Add missing *BSD copyright headers.
29384
29385 * include/grub/aout.h: Add BSD licence.
29386 * include/grub/i386/bsd.h: Parts under different licences moved to ...
29387 * include/grub/i386/freebsd_linker.h: ... here,
29388 * include/grub/i386/freebsd_reboot.h: ... here,
29389 * include/grub/i386/netbsd_bootinfo.h: ... here,
29390 * include/grub/i386/netbsd_reboot.h: ... here,
29391 * include/grub/i386/openbsd_bootarg.h: ... here,
29392 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
29393 licence to each file.
29394
b2cab848
RM
293952010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29396
29397 * acinclude.m4: Remove `nop' assembly instruction; it's not
29398 implemented by all architectures.
29399
2cb6be4b
RM
294002010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29401
29402 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
29403 ELILO. This is no longer necessary.
29404
a2eaee15
BC
294052010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
29406
29407 Added new tool, grub-scrit-check to verify grub.cfg syntax.
29408
29409 * util/grub-script-check.c: grub-script-check tool.
29410 * conf/common.rmk: Make rules for grub-script-check.
29411
88d17012
RM
294122010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29413
29414 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
29415 spotting it back in 2008. Shame on me for forgetting he did.
29416
29417 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
29418
8040619d
RM
294192010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29420
29421 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
29422 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
29423 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
29424 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
29425 (GRUB_VIDEO_TYPE_EFI): Rename to ...
29426 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
29427
a0c2a0f6
RM
294282010-01-17 Robert Millan <rmh.grub@aybabtu.com>
29429
29430 * include/grub/test.h: Add license header.
29431 * tests/example_functional_test.c: Likewise.
29432 * tests/example_unit_test.c: Likewise.
29433 * tests/lib/functional_test.c: Likewise.
29434 * tests/lib/test.c: Likewise.
29435 * tests/lib/unit_test.c: Likewise.
29436
b0b13907
VS
294372010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
29438
29439 Use flag-based instead of hook-based video mode selection and "auto"
29440 keyword.
29441
29442 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
29443 (grub_video_set_mode): Changed prototype. All users updated.
29444 (grub_video_check_mode_flag): New inline function.
29445 * video/video.c (parse_modespec): New function.
29446 (grub_video_set_mode): Parse flags and keywords.
29447
ea379330 294482010-01-17 Carles Pina i Estany <carles@pina.cat>
29449
29450 * util/misc.c (grub_util_info): Fix the order of the parameters in a
29451 fprintf call.
29452
e15c215e
FZ
294532010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
29454
29455 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
29456
409ae1c9 294572010-01-16 Carles Pina i Estany <carles@pina.cat>
29458
29459 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
29460 string.
29461 * util/grub-emu.c (usage): Likewise.
29462 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
29463 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29464 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29465 * util/i386/pc/grub-setup.c (usage): Likewise.
29466
70a14d3d 294672010-01-16 Carles Pina i Estany <carles@pina.cat>
29468
29469 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
29470 the message.
29471 (grub_util_info): Likewise.
29472 (grub_util_error): Likewise.
29473 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
29474 and/or new lines in `grub_util_warna', `grub_util_info',
29475 `grub_util_error' calls.
29476 * util/getroot.c: Likewise.
29477 * util/grub-editenv.c: Likewise.
29478 * util/grub-emu.c: Likewise.
29479 * util/grub-fstest.c: Likewise.
29480 * util/grub-mkdevicemap.c: Likewise.
29481 * util/grub-mkfont.c: Likewise.
29482 * util/grub-mkpasswd-pbkdf2.c: Likewise.
29483 * util/grub-mkrelpath.c: Likewise.
29484 * util/grub-pe2elf.c: Likewise.
29485 * util/grub-probe.c: Likewise.
29486 * util/hostdisk.c: Likewise.
29487 * util/i386/efi/grub-mkimage.c: Likewise.
29488 * util/i386/pc/grub-mkimage.c: Likewise.
29489 * util/i386/pc/grub-setup.c: Likewise.
29490 * util/ieee1275/ofpath.c: Likewise.
29491 * util/mkisofs/eltorito.c: Likewise.
29492 * util/mkisofs/rock.c: Likewise.
29493 * util/mkisofs/write.c: Likewise.
29494 * util/raid.c: Likewise.
29495 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29496 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29497
a0b766fc
VS
294982010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29499
29500 Enable multiboot on non-pc.
29501
29502 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
29503 multiboot.mod and multiboot2.mod to ...
29504 * conf/i386.rmk (pkglib_MODULES): ... here.
29505 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
29506 Moved to ...
29507 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
29508 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
29509 Moved to ...
29510 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
29511 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
29512 Moved to ...
29513 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
29514 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
29515 Moved to ...
29516 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
29517 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
29518 relocator.mod.
29519 (ata_mod_SOURCES): Removed.
29520 (ata_mod_CFLAGS): Likewise.
29521 (ata_mod_LDFLAGS): Likewise.
29522 (relocator_mod_SOURCES): Removed.
29523 (relocator_mod_CFLAGS): Likewise.
29524 (relocator_mod_ASFLAGS): Likewise.
29525 (relocator_mod_LDFLAGS): Likewise.
29526 Include i386.mk.
29527 * include/grub/x86_64/multiboot.h: New file.
29528 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
29529 Terminate EFI.
29530
884ade56
VS
295312010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29532
29533 Video multiboot support.
29534
29535 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
29536 New prototype.
29537 * include/multiboot.h: Resynced with multiboot specification.
29538 * include/multiboot2.h: Likewise.
29539 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
29540 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
29541 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
29542 (HAS_VGA_TEXT): Likewise.
29543 (accepts_video): New variable.
29544 (grub_multiboot_set_accepts_video): New function.
29545 (grub_multiboot_get_mbi_size): Account for video structures.
29546 (set_video_mode): New function.
29547 (retrieve_video_parameters): Likewise.
29548 (grub_multiboot_make_mbi): Fill video fields.
29549
0d90e8a6
VS
295502010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29551
29552 Video driver ids.
29553
29554 * include/grub/video.h (grub_video_driver_id): New type.
29555 (grub_video_adapter): New member 'id'. All users updated.
29556 (grub_video_get_driver_id): New proto.
29557 * video/video.c (grub_video_get_driver_id): New function.
29558
5c71db1b 295592010-01-14 Carles Pina i Estany <carles@pina.cat>
29560
29561 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
29562 `var=val'.
29563
cca15b52 295642010-01-14 Carles Pina i Estany <carles@pina.cat>
29565
29566 * normal/cmdline.c (print_completion): Gettextizze.
29567
c586fbb2 295682001-01-14 Carles Pina i Estany <carles@pina.cat>
29569
29570 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
29571
ba2f6848 295722010-01-14 Carles Pina i Estany <carles@pina.cat>
29573
29574 * gettext/gettext.c (grub_gettext_translate): Push and pop
29575 grub_errno.
29576 (grub_gettext_delete_list): Change comment style.
29577 * kern/err.c (grub_error): Gettextizze.
29578 (grub_fatal): Gettextizze.
29579
0a46429a
RM
295802010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29581
29582 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
29583 (grub_linux16_real_boot): ... this.
29584 * kern/i386/loader.S: Likewise.
29585 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
29586 (grub_linux16_boot): New function. Switches to text mode and calls
29587 grub_linux16_real_boot().
29588
29589 * loader/i386/bsd.c: Include `<grub/video.h>'.
29590 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
29591 text mode before calling grub_unix_real_boot().
29592
29593 * loader/i386/multiboot.c: Include `<grub/video.h>'.
29594 (grub_multiboot_boot): Switch to text mode before calling
29595 grub_relocator32_boot().
29596
29597 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
29598 (grub_chainloader_boot): Switch to text mode before calling
29599 grub_chainloader_real_boot().
29600
d6f93a66
RM
296012010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
296022010-01-05 Colin Watson <cjwatson@ubuntu.com>
29603
29604 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
29605 non-empty value.
29606
296072010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
296082010-01-05 Colin Watson <cjwatson@ubuntu.com>
29609
29610 * util/grub.d/00_header.in: Define a "savedefault" function for use
29611 in menu entries.
29612 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
29613
296142010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
296152010-01-05 Colin Watson <cjwatson@ubuntu.com>
29616
29617 * util/grub-mkconfig_lib.in (save_default_entry): Only set
29618 saved_entry if boot_once is unset.
29619 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
29620 previous saved entry (i.e. grub-reboot).
29621
296222009-12-08 Colin Watson <cjwatson@ubuntu.com>
29623
29624 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
29625
296262009-12-08 Colin Watson <cjwatson@ubuntu.com>
29627
29628 * util/grub.d/00_header.in: Use `set var=val' rather than plain
29629 `var=val'.
29630 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
29631
296322009-12-08 Colin Watson <cjwatson@ubuntu.com>
29633
29634 * util/grub-reboot.in: Fix --version output.
29635 * util/grub-set-default.in: Likewise.
29636
296372009-12-08 Colin Watson <cjwatson@ubuntu.com>
29638
29639 * util/grub.d/00_header.in: Silently ignore zero-sized environment
29640 blocks.
29641
296422009-12-08 Colin Watson <cjwatson@ubuntu.com>
29643
29644 * util/grub.d/00_header.in: Quote the value assigned to `default',
29645 in case it contains spaces.
29646
296472009-12-08 Colin Watson <cjwatson@ubuntu.com>
29648
29649 * util/grub.d/30_os-prober.in: Fix merge error that moved a
29650 `save_default_entry' call from the macosx case to the linux case.
29651
296522009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
296532009-10-25 Colin Watson <cjwatson@ubuntu.com>
29654
29655 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
29656 in `chosen' environment variable.
29657 * normal/menu_text.c (get_entry_number): Check if the variable
29658 matches the title of a menu entry.
29659 (run_menu): Pass menu to get_entry_number.
29660
29661 * util/grub-reboot.in: New file.
29662 * util/grub-set-default.in: New file.
29663 * conf/common.rmk (grub-reboot): New utility.
29664 (grub-set-default): New utility.
29665
29666 * util/grub-mkconfig_lib.in (save_default_entry): New function.
29667 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
29668 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
29669 move it to `saved_entry' for the next boot. Load environment on
29670 initialisation.
29671 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
29672 * util/grub.d/10_hurd.in: Likewise.
29673 * util/grub.d/10_linux.in (linux_entry): Likewise.
29674 * util/grub.d/10_windows.in: Likewise.
29675 * util/grub.d/30_os-prober.in: Likewise.
29676
29677 * util/grub-install.in: Create environment block.
29678 * util/i386/efi/grub-install.in: Likewise.
29679 * util/ieee1275/grub-install.in: Likewise.
29680 * util/sparc64/ieee1275/grub-install.in: Likewise.
29681
0934d184
BC
296822010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
29683
29684 Unit testing framework for GRUB.
29685
29686 * Makefile.in: Test framework build rules for 'make check'.
29687 * conf/tests.rmk: Build rules for individual tests and framework.
29688
29689 * include/grub/test.h: Header file for whitebox tests.
29690 * tests/lib/functional_test.c: Framework support for whitebox
29691 functional tests.
29692 * tests/lib/test.c: Common whitebox testing code for unit and
29693 functional tests.
29694 * tests/lib/unit_test.c: Framework support for whitebox unit
29695 tests.
29696
29697 * tests/util/grub-shell-tester.in: Support utility for grub-script
29698 tests.
29699 * tests/util/grub-shell.in: Utility to execute grub-script
29700 commands in a Qemu instance.
29701
29702 * tests/example_functional_test.c: Example whitebox functional
29703 test.
29704 * tests/example_grub_script_test.in: Example grub-script test.
29705 * tests/example_scripted_test.in: Example scripted test.
29706 * tests/example_unit_test.c: Example whitebox unit test.
29707
9c4ffeeb
VS
297082010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
29709
29710 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
29711 Add loader/i386/multiboot_mbi.c.
29712 (multiboot2_mod_SOURCES): Likewise.
29713 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
29714 (multiboot2_mod_SOURCES): Likewise.
29715 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
29716 (grub_multiboot_make_mbi): Likewise.
29717 (grub_multiboot_free_mbi): Likewise.
29718 (grub_multiboot_init_mbi): Likewise.
29719 (grub_multiboot_add_module): Likewise.
29720 (grub_multiboot_set_bootdev): Likewise.
29721 * loader/i386/multiboot.c (mbi): Removed.
29722 (mbi_dest): Likewise.
29723 (alloc_mbi): New variable.
29724 (grub_multiboot_payload_size): Removed. All users updated.
29725 (grub_multiboot_pure_size): New variable.
29726 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
29727 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
29728 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
29729 (grub_fill_multiboot_mmap): Likewise.
29730 (grub_multiboot_get_bootdev): Likewise.
29731 (grub_multiboot): Use multiboot_mbi functions.
29732 * loader/i386/multiboot_mbi.c: New file.
29733
17383dfe
VS
297342010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29735
29736 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
29737 it would result in module crash.
29738
c1f28820
VS
297392010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29740
29741 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
29742 (grub_ofconsole_getwh): Split to ...
29743 (grub_ofconsole_getwh): ... this.
29744 (grub_ofconsole_dimensions): ...and this.
29745 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
29746
58655a16
RM
297472010-01-13 Robert Millan <rmh.grub@aybabtu.com>
29748
29749 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
29750
10891398
VS
297512010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29752
29753 * loader/i386/pc/multiboot2.c: Removed stalled file.
29754
0b8a223c
VS
297552010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29756
29757 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
29758 Reported by: Grégoire Sutre
29759
92ab12b0
RM
297602010-01-11 Robert Millan <rmh.grub@aybabtu.com>
29761
29762 * util/misc.c (canonicalize_file_name): New function.
29763 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
29764 instead of realpath().
29765
a788afb6
CW
297662010-01-11 Colin Watson <cjwatson@ubuntu.com>
29767
29768 * util/grub-install.in (usage): Clarify meaning of --root-directory,
29769 and make it clearer that it's optional. Based on confusion
29770 witnessed on IRC.
29771
ffa8e3d2
VS
297722010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29773
29774 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
29775 in premature implicit newline.
29776
e9060a9d
VS
297772010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29778
29779 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
29780 which resulted in garbled command line at the end of screen.
29781
f0d0c0b7
RM
297822010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29783
29784 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
29785 initialization with similar approach as with other Linux loaders.
29786
0e60bae7
RM
297872010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29788
29789 Fix i386-ieee1275 build.
29790
29791 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
29792 and grub_term_height() for video_{width,height} initialization.
29793
297942010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
29795
29796 Fix grub-emu build.
29797
29798 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
29799
cdb3f378
RM
298002010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
298012010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29802
29803 Support for multiple terminals.
29804
29805 * Makefile.in (pkglib_DATA): terminal.lst.
29806 (terminal.lst): New target.
29807 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
29808 (GRUB_MOD_INIT(handler)): Likewise.
29809 (GRUB_MOD_FINI(handler)): Likewise.
29810 * commands/help.c (grub_cmd_help): Handle multiple terminals.
29811 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
29812 * commands/sleep.c (do_print): Use grub_term_restore_pos.
29813 (grub_cmd_sleep): Use grub_term_save_pos.
29814 * commands/terminal.c: New file.
29815 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
29816 commands/terminal.c and lib/charset.c.
29817 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
29818 (pkglib_MODULES): Add terminal.mod.
29819 (terminal_mod_SOURCES): New variable.
29820 (terminal_mod_CFLAGS): Likewise.
29821 (terminal_mod_LDFLAGS): Likewise.
29822 * genhandlerlist.sh: Don't handle terminals.
29823 * genmk.rb: Generate terminal-*.lst.
29824 * genterminallist.sh: New file.
29825 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
29826 (grub_is_valid_utf8): Likewise.
29827 (grub_utf8_to_ucs4_alloc): Likewise.
29828 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
29829 (grub_menu_register_viewer): Changed argument.
29830 (grub_menu_try_text): New proto.
29831 (grub_gfxmenu_try_hook): New declaration.
29832 * include/grub/normal.h (grub_normal_exit_level): New declaration.
29833 (grub_menu_init_page): Additional argument term.
29834 (grub_normal_init_page): Likewise.
29835 (grub_cmdline_get): Arguments simplified.
29836 (grub_utf8_to_ucs4_alloc): Removed.
29837 (grub_print_ucs4): Additional argument term.
29838 (grub_getstringwidth): Likewise.
29839 (grub_print_message_indented): Likewise.
29840 (grub_menu_text_register_instances): New proto.
29841 (grub_show_menu): Likewise.
29842 (read_terminal_list): Likewise.
29843 (grub_set_more): Likewise.
29844 * include/grub/parser.h: Include handler.h.
29845 * include/grub/reader.h: Rewritten.
29846 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
29847 (GRUB_TERM_WIDTH): Changed to function.
29848 (GRUB_TERM_HEIGHT): Likewise.
29849 (GRUB_TERM_BORDER_WIDTH): Likewise.
29850 (GRUB_TERM_BORDER_HEIGHT): Likewise.
29851 (GRUB_TERM_NUM_ENTRIES): Likewise.
29852 (GRUB_TERM_ENTRY_WIDTH): Likewise.
29853 (GRUB_TERM_CURSOR_X): Likewise.
29854 (grub_term_input_class): Likewise.
29855 (grub_term_output_class): Likewise.
29856 (grub_term_outputs_disabled): New declaration.
29857 (grub_term_inputs_disabled): Likewise.
29858 (grub_term_outputs): Likewise.
29859 (grub_term_inputs): Likewise.
29860 (grub_term_register_input): Rewritten.
29861 (grub_term_register_output): Likewise.
29862 (grub_term_unregister_input): Likewise.
29863 (grub_term_unregister_output): Likewise.
29864 (FOR_ACTIVE_TERM_INPUTS): New macro.
29865 (FOR_DISABLED_TERM_INPUTS): Likewise.
29866 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
29867 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
29868 * include/grub/terminfo.h: Add oterm argument to all protypes.
29869 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
29870 Use grub_rescue_run.
29871 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
29872 All users updated.
29873 * kern/reader.c: Removed. All users updated.
29874 * kern/rescue_reader.c (grub_rescue_init): Removed.
29875 (grub_rescue_reader): Likewise.
29876 (grub_register_rescue_reader): Likewise.
29877 (grub_rescue_run): New function based on kern/reader.c.
29878 * kern/term.c: Adapted for multiterm.
29879 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
29880 (grub_is_valid_utf8): Likewise.
29881 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
29882 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
29883 right terminal.
29884 * loader/i386/linux.c (grub_linux_boot): Likewise.
29885 * normal/auth.c (grub_username_get): New function.
29886 (grub_auth_check_authentication): Use grub_username_get.
29887 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
29888 * normal/color.c: Adapt for multiterm.
29889 * normal/main.c (read_config_file): Don't use grub_reader_loop.
29890 (grub_normal_init_page): Additional argument term.
29891 (read_lists): Call read_terminal_lists.
29892 (grub_enter_normal_mode): Call grub_cmdline_run.
29893 Handle grub_normal_exit_level.
29894 (grub_cmd_normal): Make reentrant.
29895 (grub_cmd_normal_exit): New function.
29896 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
29897 * normal/menu.c: Adapt for multiterm.
29898 * normal/menu_entry.c: Likewise.
29899 * normal/menu_text.c: Likewise.
29900 * normal/menu_viewer.c: Removed. All users updated.
29901 * normal/term.c: New file.
29902 * util/console.c: Change order of includes to workaround a bug in
29903 ncurses headers.
29904 * term/terminfo.c: New argument oterm on all exported functions.
29905 All users updated.
29906 * util/grub-editenv.c (grub_term_input_class): Removed.
29907 (grub_term_output_class): Likewise.
29908
1a064917
RM
299092010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29910
29911 Make loader output a bit more user-friendly.
29912
29913 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
29914 is being loaded. Likewise for the Hurd.
29915
29916 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
29917 that kernel of FreeBSD ${version} is being loaded.
29918
29919 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
29920 grub_dprintf().
29921 (grub_cmd_initrd): Likewise.
29922 * util/grub.d/10_linux.in (linux_entry): Print message indicating
29923 that Linux ${version} is being loaded. Likewise for initrd.
29924
5ce0a83a 299252010-01-09 Carles Pina i Estany <carles@pina.cat>
29926
29927 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
29928
809bbfeb 299292010-01-08 Carles Pina i Estany <carles@pina.cat>
29930
29931 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
29932 (GRUB_MOD_INIT): Gettextizze.
29933 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
29934 (GRUB_MOD_INIT): Gettextizze.
29935 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
29936 (grub_cmd_linux): Capitalise Linux.
29937 (GRUB_MOD_INIT): Gettextizze.
29938 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
29939 (grub_cmd_linux): Capitalise Linux.
29940 (GRUB_MOD_INIT): Gettextizze.
29941 * loader/i386/linux.c: Include `<grub/i18n.h>'.
29942 (grub_cmd_linux): Capitalise Linux.
29943 (GRUB_MOD_INIT): Gettextizze.
29944 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
29945 (GRUB_MOD_INIT): Gettextizze.
29946 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
29947 (grub_cmd_linux): Capitalise Linux.
29948 (GRUB_MOD_INIT): Gettextizze.
29949 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
29950 (grub_cpu_xnu_init): Gettextizze.
29951 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
29952 (GRUB_MOD_INIT): Gettextizze.
29953 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
29954 (GRUB_MOD_INIT): Gettextizze.
29955 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
29956 (grub_linux_load64): Capitalise Linux.
29957 (GRUB_MOD_INIT): Gettextizze.
29958 * loader/xnu.c: Include `<grub/i18n.h>'.
29959 (GRUB_MOD_INIT): Gettextizze.
29960 * po/POTFILES: Add `loader/efi/appleloader.c',
29961 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
29962 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
29963 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
29964 `loader/i386/xnu.c', `loader/multiboot_loader.c',
29965 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
29966 and `loader/xnu.c'.
29967
b394b2ca
RM
299682010-01-08 Robert Millan <rmh.grub@aybabtu.com>
29969
29970 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
29971
299722010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
29973
29974 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
29975 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
29976 * util/mkisofs/mkisofs.c (main): Readjust --version output.
29977
bc8b32b3
RM
299782010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29979
29980 Reset Multiboot 2 support. New loader implements the draft in
29981 /branches/multiboot2 and shares as much code as possible with the
29982 production Multiboot 1 implementation.
29983
29984 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
29985 * loader/multiboot2.c: Likewise.
29986 * loader/i386/multiboot_helper.S: Likewise.
29987 * include/multiboot2.h: Replace with latest version from the draft
29988 in /branches/multiboot2.
29989
29990 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
29991 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
29992 and `loader/multiboot2.c'.
29993 (pkglib_MODULES): Add `multiboot2.mod'.
29994 (multiboot2_mod_SOURCES): New variable.
29995 (multiboot2_mod_LDFLAGS): Likewise.
29996 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
29997
29998 * conf/i386-pc.rmk: Likewise.
29999
30000 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30001 (multiboot_mod_SOURCES): Remove variable.
30002 (multiboot_mod_LDFLAGS): Likewise.
30003 (multiboot_mod_CFLAGS): Likewise.
30004
30005 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
30006 `<multiboot2.h>' instead of `<multiboot.h>'.
30007 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
30008 (MULTIBOOT_HEADER_MAGIC): New macros.
30009
30010 * loader/multiboot_loader.c (module_version_status): Remove variable.
30011 (find_multi_boot2_header): Remove function.
30012 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
30013 logic. Always check for the Multiboot version we're compiling for.
30014 (grub_cmd_module_loader): Likewise.
30015 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
30016 command instead of `multiboot'.
30017
5d2c52b8
RM
300182010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30019
30020 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
30021 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
30022 all users.
30023
53108d92
RM
300242010-01-07 Robert Millan <rmh.grub@aybabtu.com>
300252010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30026
30027 Fix breakage introduced with previous commit.
30028
30029 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
30030 commands.
30031 * normal/handler.c (read_handler_list): Revert part of previous commit
30032 affecting this file.
30033 * normal/main.c (read_lists): Move read_handler_list() call back to ...
30034 (grub_normal_execute): ... here.
30035
e2e936b2
RM
300362010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30037
30038 Merge prefix-redefinition-fix branch.
30039
30040 * normal/autofs.c (read_fs_list): Make function capable of being
30041 run multiple times, gracefuly replacing the previous data
30042 structures.
30043 * normal/dyncmd.c (read_command_list): Likewise.
30044 * normal/handler.c (read_handler_list): Likewise.
30045 * normal/main.c (read_lists): New function. Calls all the
30046 list reading functions.
30047 (grub_normal_execute): Use read_lists() instead of calling all
30048 list reading functions explicitly. Register read_lists() as a
30049 variable hook attached to ${prefix}.
30050
607a3701
VS
300512010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30052
30053 Merge crypto branch.
30054
30055 * Makefile.in (pkglib_DATA): Add crypto.lst.
30056 (crypto.lst): New target.
30057 * commands/hashsum.c: New file.
30058 * commands/password.c (check_password): Use grub_crypto_memcmp.
30059 * commands/password_pbkdf2.c: New file.
30060 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
30061 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
30062 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
30063 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
30064 -I$(srcdir)/lib/libgcrypt_wrap.
30065 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
30066 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
30067 password_pbkdf2.mod.
30068 (crypto_mod_SOURCES): New variable.
30069 (crypto_mod_CFLAGS): Likewise.
30070 (crypto_mod_LDFLAGS): Likewise.
30071 (hashsum_mod_SOURCES): New variable.
30072 (hashsum_mod_CFLAGS): Likewise.
30073 (hashsum_mod_LDFLAGS): Likewise.
30074 (pbkdf2_mod_SOURCES): New variable.
30075 (pbkdf2_mod_CFLAGS): Likewise.
30076 (pbkdf2_mod_LDFLAGS): Likewise.
30077 (password_pbkdf2_mod_SOURCES): New variable.
30078 (password_pbkdf2_mod_CFLAGS): Likewise.
30079 (password_pbkdf2_mod_LDFLAGS): Likewise.
30080 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
30081 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
30082 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
30083 Include conf/gcry.rmk.
30084 * include/grub/auth.h: Rewritten.
30085 * include/grub/crypto.h: New file.
30086 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
30087 * include/grub/normal.h (read_crypto_list): New prototype.
30088 * lib/crypto.c: New file.
30089 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
30090 * lib/pbkdf2.c: Likewise.
30091 * normal/auth.c (grub_auth_strcmp): Removed.
30092 (grub_iswordseparator): Likewise.
30093 (grub_auth_strword): Likewise.
30094 (is_authenticated): Use grub_strword.
30095 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
30096 and grub_strword. Pass entered password to authentication callback.
30097 * normal/crypto.c: New file.
30098 * normal/main.c: Call read_crypto_list.
30099 * util/grub-mkpasswd-pbkdf2.c: New file.
30100 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
30101
42841caa
VS
301022010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
30103
30104 Fix descent and ascent calculation.
30105
30106 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
30107 (options): New option "asce".
30108 (usage): Likewise.
30109 (add_char): Ignore invalid glyphs for descent calculation.
30110 Calculate ascent from actual content.
30111 (print_glyphs): Use 'asce'.
30112 (write_font): Likewise. Allow ascent override.
30113 (main): Handle "asce" option.
30114
e7730de7 301152010-01-06 Carles Pina i Estany <carles@pina.cat>
30116
30117 * kern/err.c: Include `<grub/i18n.h>'.
30118 (grub_print_error): Add full stop. Gettextizze.
30119 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
30120 (grub_bsd_load_elf): Capitalise ELF.
30121 (grub_cmd_freebsd_loadenv): Add `s' in error string.
30122 (grub_cmd_freebsd_module): Likewise.
30123 (grub_cmd_freebsd_module_elf): Likewise.
30124 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
30125
40e3a41f 301262010-01-06 Carles Pina i Estany <carles@pina.cat>
30127
30128 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
30129 * commands/search_file.c (HELP_MESSAGE): New macro.
30130 * commands/search_label.c (HELP_MESSAGE): Likewise.
30131 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
30132 * po/POTFILES: Add `commands/search_file.c',
30133 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
30134 `commands/search.c'.
30135
83507e68
RM
301362010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30137
30138 * config.rpath: Update from Gnulib.
30139
465c787b
YB
301402010-01-05 Yves Blusseau <blusseau@zetam.org>
30141
30142 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
30143
6581dd3a
YB
301442010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
30145
30146 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
30147
3bff18c5
CW
301482010-01-05 Colin Watson <cjwatson@ubuntu.com>
30149
30150 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
30151 arguments to fread so that we get a return value in bytes, rather
30152 than something that will normally be rounded down to 0.
30153 Adjust error handling to avoid producing garbage when size_t is not
30154 the same size as long long.
30155
a1368118
CW
301562010-01-05 Colin Watson <cjwatson@ubuntu.com>
30157
30158 * util/mkisofs/write.c (padblock_write): Check return value of
30159 fread.
30160
7c302978
RM
301612010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30162
30163 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
30164 floppy images now.
30165
30166 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
30167
e33ace06
RM
301682010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30169
30170 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
30171 instead of manual alignment.
30172 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
30173 verbose). Avoid attempts to read past end of the device
30174 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
30175 but GRUB_DISK_CACHE_SIZE may exceed that).
30176
4b856776
RM
301772010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30178
30179 * commands/crc.c (grub_cmd_crc): Abort on read errors.
30180 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
30181 it to upper layer.
30182
52c2d97f
VS
301832010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30184
30185 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
30186 New constant.
30187 (grub_efi_piwg_device_path): New structure
30188 (grub_efi_piwg_device_path_t): New type.
30189 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
30190 (devpath_1): Transform to a structure. All users updated.
30191 (devpath_2): Likewise.
30192 (devpath_3): Likewise.
30193 (devpath_4): Likewise.
30194 (devpath_5): Likewise.
30195
98ff6a54
VS
301962010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30197
30198 * loader/efi/appleloader.c: Restored. Update all users.
30199
3a73dcb6
RM
302002010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30201
30202 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
30203
30204 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
30205 (struct boot_blocklist): Move from here ...
30206 * include/grub/i386/pc/boot.h [ASM_FILE]
30207 (struct grub_boot_blocklist): ... to here. Update all users.
30208 (setup): Only initialize `start' member of `first_block'
30209 structure. Add assert() calls to verify the other members.
30210
30211 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
30212 (generate_image): Fix broken blocklist length initialization.
30213 Add assert() call to verify blocklist `segment' field.
30214
ab0eeb0c
RM
302152010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30216
30217 * loader/efi/appleloader.c: Remove. Update all users.
30218
58bc8bd5
RM
302192010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30220
30221 * boot/i386/pc/boot.S: Update copyright year.
30222 * boot/i386/pc/cdboot.S: Likewise.
30223 * boot/i386/pc/diskboot.S: Likewise.
30224 * boot/i386/pc/lnxboot.S: Likewise.
30225 * boot/i386/pc/pxeboot.S: Likewise.
30226 * bus/pci.c: Likewise.
30227 * commands/cmp.c: Likewise.
30228 * commands/help.c: Likewise.
30229 * commands/hexdump.c: Likewise.
30230 * commands/i386/pc/halt.c: Likewise.
30231 * commands/i386/pc/play.c: Likewise.
30232 * commands/i386/pc/vbeinfo.c: Likewise.
30233 * commands/ls.c: Likewise.
30234 * commands/test.c: Likewise.
30235 * disk/dmraid_nvidia.c: Likewise.
30236 * disk/i386/pc/biosdisk.c: Likewise.
30237 * disk/ieee1275/nand.c: Likewise.
30238 * disk/ieee1275/ofdisk.c: Likewise.
30239 * disk/lvm.c: Likewise.
30240 * disk/raid.c: Likewise.
30241 * disk/raid6_recover.c: Likewise.
30242 * disk/scsi.c: Likewise.
30243 * fs/affs.c: Likewise.
30244 * fs/cpio.c: Likewise.
30245 * fs/ext2.c: Likewise.
30246 * fs/hfs.c: Likewise.
30247 * fs/iso9660.c: Likewise.
30248 * fs/ntfs.c: Likewise.
30249 * fs/sfs.c: Likewise.
30250 * fs/udf.c: Likewise.
30251 * fs/ufs.c: Likewise.
30252 * fs/xfs.c: Likewise.
30253 * gencmdlist.sh: Likewise.
30254 * genmk.rb: Likewise.
30255 * include/grub/disk.h: Likewise.
30256 * include/grub/efi/api.h: Likewise.
30257 * include/grub/efi/efi.h: Likewise.
30258 * include/grub/efi/pe32.h: Likewise.
30259 * include/grub/elf.h: Likewise.
30260 * include/grub/fs.h: Likewise.
30261 * include/grub/i386/at_keyboard.h: Likewise.
30262 * include/grub/i386/pc/memory.h: Likewise.
30263 * include/grub/i386/pc/vbe.h: Likewise.
30264 * include/grub/i386/pci.h: Likewise.
30265 * include/grub/i386/tsc.h: Likewise.
30266 * include/grub/ieee1275/ieee1275.h: Likewise.
30267 * include/grub/ntfs.h: Likewise.
30268 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30269 * include/grub/sparc64/libgcc.h: Likewise.
30270 * include/grub/symbol.h: Likewise.
30271 * include/grub/types.h: Likewise.
30272 * include/multiboot2.h: Likewise.
30273 * io/gzio.c: Likewise.
30274 * kern/device.c: Likewise.
30275 * kern/disk.c: Likewise.
30276 * kern/efi/efi.c: Likewise.
30277 * kern/efi/mm.c: Likewise.
30278 * kern/elf.c: Likewise.
30279 * kern/file.c: Likewise.
30280 * kern/i386/dl.c: Likewise.
30281 * kern/i386/pc/init.c: Likewise.
30282 * kern/i386/pc/startup.S: Likewise.
30283 * kern/ieee1275/ieee1275.c: Likewise.
30284 * kern/ieee1275/init.c: Likewise.
30285 * kern/main.c: Likewise.
30286 * kern/mm.c: Likewise.
30287 * kern/powerpc/dl.c: Likewise.
30288 * kern/sparc64/dl.c: Likewise.
30289 * kern/x86_64/dl.c: Likewise.
30290 * lib/hexdump.c: Likewise.
30291 * loader/efi/appleloader.c: Likewise.
30292 * loader/i386/ieee1275/linux.c: Likewise.
30293 * loader/i386/pc/chainloader.c: Likewise.
30294 * loader/i386/pc/linux.c: Likewise.
30295 * loader/i386/pc/multiboot2.c: Likewise.
30296 * loader/ieee1275/multiboot2.c: Likewise.
30297 * loader/multiboot2.c: Likewise.
30298 * loader/multiboot_loader.c: Likewise.
30299 * loader/powerpc/ieee1275/linux.c: Likewise.
30300 * normal/completion.c: Likewise.
30301 * normal/menu_entry.c: Likewise.
30302 * partmap/apple.c: Likewise.
30303 * util/grub.d/10_hurd.in: Likewise.
30304 * util/hostfs.c: Likewise.
30305 * video/readers/png.c: Likewise.
30306
e2d70b5c
CW
303072010-01-03 Colin Watson <cjwatson@ubuntu.com>
30308
30309 * include/grub/misc.h (GNUC_PREREQ): New macro.
30310 (ATTRIBUTE_ERROR): New macro.
30311 * include/grub/list.h (grub_bad_type_cast_real): Use
30312 ATTRIBUTE_ERROR.
30313
a173283f 303142010-01-03 Carles Pina i Estany <carles@pina.cat>
30315
30316 * normal/menu_text.c (print_message): Change messages.
30317
7fa7ff74 303182010-01-03 Carles Pina i Estany <carles@pina.cat>
30319
30320 * normal/menu_entry.c (store_completion): Gettextizze.
30321
136d24f6 303222010-01-03 Carles Pina i Estany <carles@pina.cat>
30323
30324 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
30325
f936862e 303262010-01-03 Carles Pina i Estany <carles@pina.cat>
30327
30328 * po/POTFILES: Sort correctly.
30329
29c44ad1 303302010-01-03 Carles Pina i Estany <carles@pina.cat>
30331
30332 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
30333 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
30334 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
30335 full stop.
30336 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
30337 summary. Gettextizze the strings.
30338 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
30339 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
30340 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
30341 full stop.
30342 (GRUB_MOD_INIT): Remove command name from summary.
30343 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
30344 summary.
30345 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
30346 * term/i386/pc/serial.c (options): Add full stops.
30347 (GRUB_MOD_INIT): Remove command name from the summary.
30348
77a79592 303492010-01-03 Carles Pina i Estany <carles@pina.cat>
30350
30351 * commands/acpi.c: Gettextizze help strings and/or options. Include
30352 `grub/i18n.h' if needed.
30353 * commands/blocklist.c: Likewise.
30354 * commands/boot.c: Likewise.
30355 * commands/cat.c: Likewise.
30356 * commands/cmp.c: Likewise.
30357 * commands/configfile.c: Likewise.
30358 * commands/crc.c: Likewise.
30359 * commands/date.c: Likewise.
30360 * commands/echo.c: Likewise.
30361 * commands/efi/fixvideo.c: Likewise.
30362 * commands/efi/loadbios.c: Likewise.
30363 * commands/gptsync.c: Likewise.
30364 * commands/halt.c: Likewise.
30365 * commands/handler.c: Likewise.
30366 * commands/hdparm.c: Likewise.
30367 * commands/hexdump.c: Likewise.
30368 * commands/i386/cpuid.c: Likewise.
30369 * commands/i386/pc/drivemap.c: Likewise.
30370 * commands/i386/pc/halt.c: Likewise.
30371 * commands/i386/pc/pxecmd.c: Likewise.
30372 * commands/i386/pc/vbeinfo.c: Likewise.
30373 * commands/i386/pc/vbetest.c: Likewise.
30374 * commands/ieee1275/suspend.c: Likewise.
30375 * commands/keystatus.c: Likewise.
30376 * commands/loadenv.c: Likewise.
30377 * commands/ls.c: Likewise.
30378 * commands/lsmmap.c: Likewise.
30379 * commands/lspci.c: Likewise.
30380 * commands/memrw.c: Likewise.
30381 * commands/minicmd.c: Likewise.
30382 * commands/parttool.c: Likewise.
30383 * commands/password.c: Likewise.
30384 * commands/probe.c: Likewise.
30385 * commands/read.c: Likewise.
30386 * commands/reboot.c: Likewise.
30387 * commands/search.c: Likewise.
30388 * commands/sleep.c: Likewise.
30389 * commands/test.c: Likewise.
30390 * commands/true.c: Likewise.
30391 * commands/usbtest.c: Likewise.
30392 * commands/videotest.c: Likewise.
30393 * commands/xnu_uuid.c: Likewise.
30394 * disk/loopback.c: Likewise.
30395 * hello/hello.c: Likewise.
30396 * loader/i386/bsd.c: Likewise.
30397 * term/i386/pc/serial.c: Likewise.
30398 * po/POTFILES: Add new files.
30399
da8d5c53
CW
304002010-01-02 Colin Watson <cjwatson@ubuntu.com>
30401
30402 * term/i386/pc/at_keyboard.c
30403 (keyboard_controller_wait_untill_ready): Rename to ...
30404 (keyboard_controller_wait_until_ready): ... this. Update all users.
30405
33937904 304062010-01-01 Carles Pina i Estany <carles@pina.cat>
30407
30408 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
30409 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
30410 string using string width.
30411 * normal/menu_text.c (grub_print_message_indented): Use
30412 grub_print_spaces and not print_spaces.
30413 (print_timeout): Likewise.
30414 (print_spaces): Move to...
30415 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
30416
3fd3b8d8
RM
304172010-01-01 Robert Millan <rmh.grub@aybabtu.com>
30418
30419 Import from Gnulib.
30420
30421 * gnulib/getdelim.c: New file.
30422 * gnulib/getline.c: Likewise.
30423
33433555
VS
304242009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
30425
30426 * include/grub/list.h (grub_assert_fail): Removed.
30427 (grub_bad_type_cast_real): New function.
30428 (grub_bad_type_cast): New macro.
30429 (GRUB_AS_LIST): Use grub_bad_type_cast.
30430 (GRUB_AS_LIST_P): Likewise.
e44721e8 30431 (GRUB_AS_NAMED_LIST): Likewise.
33433555 30432 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 30433 (GRUB_AS_PRIO_LIST): Likewise.
33433555 30434 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 30435 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 30436
f5a51306
VS
304372009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
30438
30439 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
30440 Fix syntax error.
30441
90d1e879
RM
304422009-12-29 Robert Millan <rmh.grub@aybabtu.com>
30443
30444 * configure.ac: Check for TARGET_CFLAGS initialization before we
30445 initialize it ourselves (sigh).
30446 Move a few modifications to TARGET_CFLAGS to be unconditional
30447 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
30448 eh_frame)
30449
30450 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
30451 * term/i386/pc/at_keyboard.c
30452 (keyboard_controller_wait_untill_ready): Likewise.
30453 (keyboard_controller_led): Rename `led_status' paramter to avoid
30454 name conflict.
30455
465b5a81 304562009-12-28 Carles Pina i Estany <carles@pina.cat>
30457
30458 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
30459 quotes.
30460
c181849b
VS
304612009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30462
30463 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
30464
9c8739a4
VS
304652009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30466
30467 * normal/menu_text.c (grub_print_message_indented): Prevent
30468 past-the-end-of-array dereference.
30469
3e74249c
VS
304702009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30471
30472 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
30473 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
30474
64fd18ed 304752009-12-27 Carles Pina i Estany <carles@pina.cat>
30476
30477 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
30478 * normal/main.c (grub_normal_read_line): Remove a space from the
30479 default prompt.
30480
714af9b9 304812009-12-27 Carles Pina i Estany <carles@pina.cat>
30482
30483 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
30484 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30485 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30486 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30487 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30488 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30489 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30490
82f3e412 304912009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 30492
30493 * video/readers/jpeg.c (cmd): Declare.
30494 (grub_cmd_jpegtest): Use `grub_command_t' type.
30495 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30496 Assign to `cmd'.
30497 (GRUB_MOD_FINI): Use `cmd' to unregister.
30498 * video/readers/png.c (cmd): Declare.
30499 (grub_cmd_pngtest): Use `grub_command_t' type.
30500 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30501 Assign to `cmd'.
30502 (GRUB_MOD_FINI): Use `cmd' to unregister.
30503 * video/readers/tga.c (cmd): Declare.
30504 (grub_cmd_tgatest): Use `grub_command_t' type.
30505 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30506 Assign to `cmd'.
30507 (GRUB_MOD_FINI): Use `cmd' to unregister.
30508
82f3e412 305092009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 30510
30511 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
30512 stops.
30513 * kern/corecmd.c (grub_register_core_commands): Likewise.
30514 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
30515 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30516 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
30517 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30518 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30519 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
30520 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30521 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
30522 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30523 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30524 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30525 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30526 * normal/handler.c (insert_handler): Likewise.
30527 * normal/main.c (GRUB_MOD_INIT): Likewise.
30528 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
30529
fdcdbb66 305302009-12-26 Carles Pina i Estany <carles@pina.cat>
30531
30532 * commands/help.c (grub_cmd_help): Print the command name before the
30533 summary.
30534 (GRUB_MOD_INIT): Remove command name from the summary.
30535 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 30536 string as summary.
fdcdbb66 30537 * lib/arg.c (find_long): Print the command name before the summary.
30538 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
30539 summary.
30540 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
30541 * commands/cat.c (GRUB_MOD_INIT): Likewise.
30542 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
30543 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30544 * commands/crc.c (GRUB_MOD_INIT): Likewise.
30545 * commands/date.c (GRUB_MOD_INIT): Likewise.
30546 * commands/echo.c (GRUB_MOD_INIT): Likewise.
30547 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
30548 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30549 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30550 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
30551 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
30552 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
30553 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
30554 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30555 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
30556 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
30557 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
30558 * commands/ls.c (GRUB_MOD_INIT): Likewise.
30559 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30560 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30561 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30562 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
30563 * commands/password.c (GRUB_MOD_INIT): Likewise.
30564 * commands/probe.c (GRUB_MOD_INIT): Likewise.
30565 * commands/read.c (GRUB_MOD_INIT): Likewise.
30566 * commands/search.c (GRUB_MOD_INIT): Likewise.
30567 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
30568 * commands/test.c (GRUB_MOD_INIT): Likewise.
30569 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
30570 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
30571 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
30572 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
30573 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
30574 * lib/arg.c (GRUB_MOD_INIT): Likewise.
30575 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
30576 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30577 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30578 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30579 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
30580 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
30581 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
30582 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
30583
9c288be2
VS
305842009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30585
30586 Use search command for preliminar UUID search.
30587
30588 * commands/search.c: Split into ...
30589 * commands/search_wrap.c: ...this
30590 * commands/search.c: ...and this.
30591 * commands/search_file.c: New file.
30592 * commands/search_label.c: New file.
30593 * commands/search_uuid.c: New file.
30594 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
30595 Add commands/search_wrap.c, commands/search_file.c,
30596 commands/search_label.c and commands/search_uuid.c.
30597 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
30598 (search_mod_SOURCES): Set to commands/search_wrap.c.
30599 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
30600 search_label.mod.
30601 (search_fs_file_mod_SOURCES): New variable.
30602 (search_fs_file_mod_CFLAGS): Likewise.
30603 (search_fs_file_mod_LDFLAGS): Likewise.
30604 (search_label_mod_SOURCES): Likewise.
30605 (search_label_mod_CFLAGS): Likewise.
30606 (search_label_mod_LDFLAGS): Likewise.
30607 (search_fs_uuid_mod_SOURCES): New variable.
30608 (search_fs_uuid_mod_CFLAGS): Likewise.
30609 (search_fs_uuid_mod_LDFLAGS): Likewise.
30610 (fs_file_mod_SOURCES): Removed.
30611 (fs_file_mod_CFLAGS): Likewise.
30612 (fs_file_mod_LDFLAGS): Likewise.
30613 (fs_uuid_mod_SOURCES): Removed.
30614 (fs_uuid_mod_CFLAGS): Likewise.
30615 (fs_uuid_mod_LDFLAGS): Likewise.
30616 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
30617 Set to util/grub-install.in.
30618 * disk/fs_file.c: Removed.
30619 * disk/fs_uuid.c: Likewise.
30620 * include/grub/search.h: New file.
30621 * util/grub-install.in: Handle sparc64.
30622 Create and use load.cfg.
30623 * util/sparc64/ieee1275/grub-install.in: Removed.
30624
db943399
VS
306252009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30626
30627 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
30628 Ignore return status if CF is cleared.
30629 (grub_biosdisk_get_diskinfo_standard): Likewise.
30630
3fdae612
RM
306312009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30632
30633 * term/i386/pc/at_keyboard.c
30634 (keyboard_controller_wait_untill_ready): New function.
30635 (grub_keyboard_controller_write, grub_keyboard_controller_read)
30636 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
30637 for keyboard polling, rather than duplicate the same loop. This
30638 saves a few bytes in code size.
30639
7ebaa2b4
VS
306402009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30641
30642 Support for (pxe[:server[:gateway]]) syntax and
30643 use environment variable for PXE.
30644
30645 * commands/i386/pc/pxecmd.c (options): Removed.
30646 (print_ip): Removed.
30647 (grub_cmd_pxe): Removed
30648 (grub_cmd_pxe_unload): New function.
30649 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
30650 (grub_pxe_your_ip): Made static.
30651 (grub_pxe_default_server_ip): Likewise.
30652 (grub_pxe_default_gateway_ip): Likewise.
30653 (grub_pxe_blksize): Likewise.
30654 (parse_ip): New function.
30655 (grub_pxe_open): Support server and gateway specification.
30656 (grub_pxe_close): Free disk->data.
30657 (grub_pxefs_open): Use disk->data.
30658 (grub_pxefs_read): Likewise.
30659 (grub_env_write_readonly): New function.
30660 (set_mac_env): Likewise.
30661 (set_env_limn_ro): Likewise.
30662 (parse_dhcp_vendor): Likewise.
30663 (grub_pxe_detect): Set the environment variables.
30664 (set_ip_env): New function.
30665 (write_ip_env): Likewise.
30666 (grub_env_write_pxe_default_server): Likewise.
30667 (grub_env_write_pxe_default_gateway): Likewise.
30668 (grub_env_write_pxe_blocksize): Likewise.
30669 (GRUB_MOD_INIT(pxe)): Set environment variables.
30670 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
30671 (grub_pxe_mac_addr_t): ... this. All users updated.
30672 (grub_pxe_your_ip): Removed.
30673 (grub_pxe_server_ip): Likewise.
30674 (grub_pxe_gateway_ip): Likewise.
30675 (grub_pxe_blksize): Likewise.
30676
ec5f98ab 306772009-12-25 Carles Pina i Estany <carles@pina.cat>
30678
30679 * commands/help.c: Include `<grub/i18n.h>'.
30680 (grub_cmd_help): Gettextizze.
30681 (GRUB_MOD_INIT): Likewise.
30682 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
30683 (GRUB_MOD_INIT): Gettextizze.
30684 * commands/search.c: Include `<grub/i18n.h>'.
30685 (options): Gettextizze.
30686 (GRUB_MOD_INIT): Gettextizze.
30687 * lib/arg.c: Include `<grub/i18n.h>'.
30688 (help_options): Gettextizze.
30689 (find_long): Likewise.
30690 (grub_arg_show_help): Likewise.
30691 * normal/dyncmd.c: Include `<grub/i18n.h>'.
30692 (read_command_list): Gettextizze.
30693 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 30694 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 30695
22815526
RM
306962009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30697
30698 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
30699 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
30700 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
30701 (led_status): New variable.
30702 (keyboard_controller_led): New function.
30703 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
30704 update led status for caps lock, num lock and scroll lock.
30705
0ad46fd7
FZ
307062009-12-25 Felix Zielcke <fzielcke@z-51.de>
30707
30708 * util/hostdisk.c (open_device): Fix a comment.
30709
d0e158c2
RM
307102009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30711
30712 * util/grub-install.in (host_os): New variable.
30713 * util/i386/efi/grub-install.in (host_os): Likewise.
30714
401c0ad6
RM
307152009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30716
30717 * util/mkisofs/write.c (padblock_write): Abort when given an
30718 excedingly large embed image, instead of silently truncating it.
30719
d14d3370
RM
307202009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30721
30722 * include/multiboot.h: Indentation fixes.
30723
eeed10b4
RM
307242009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30725
30726 * include/multiboot.h (struct multiboot_aout_symbol_table)
30727 (struct multiboot_elf_section_header_table): New structure
30728 declarations (stolen from GRUB Legacy).
30729 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
30730 table information.
30731
30732 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
30733 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
30734 type aliases.
30735
681c70ab
RM
307362009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30737
30738 * include/multiboot.h: Make comments src2texi-friendly.
30739
e4d47d8d
RM
307402009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30741
30742 For consistency with [multiboot]/docs/boot.S.
30743
30744 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
30745 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
30746 (MULTIBOOT_MAGIC2): Rename from this ...
30747 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
30748
a0b70bda
RM
307492009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30750
30751 * include/multiboot.h: Remove `<grub/types.h>'.
30752 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
30753 types. Update all users.
30754
61ba42be 307552009-12-25 Carles Pina i Estany <carles@pina.cat>
30756
30757 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
30758 `couldn't' and `can not' by `cannot'.
30759 * commands/i386/pc/drivemap.c: Likewise.
30760 * disk/ata.c: Likewise.
30761 * disk/ieee1275/nand.c: Likewise.
30762 * fs/affs.c: Likewise.
30763 * fs/fat.c: Likewise.
30764 * fs/hfs.c: Likewise.
30765 * fs/hfsplus.c: Likewise.
30766 * fs/iso9660.c: Likewise.
30767 * fs/jfs.c: Likewise.
30768 * fs/minix.c: Likewise.
30769 * fs/reiserfs.c: Likewise.
30770 * fs/sfs.c: Likewise.
30771 * fs/udf.c: Likewise.
30772 * fs/ufs.c: Likewise.
30773 * fs/xfs.c: Likewise.
30774 * loader/powerpc/ieee1275/linux.c: Likewise.
30775 * loader/sparc64/ieee1275/linux.c: Likewise.
30776 * util/grub-probe.c: Likewise.
30777 * util/misc.c: Likewise.
30778
7fd0baee 307792009-12-24 Carles Pina i Estany <carles@pina.cat>
30780
30781 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
30782 grub_errno calls.
30783 * commands/acpi.c: Likewise.
30784 * commands/blocklist.c: Likewise.
30785 * commands/efi/loadbios.c: Likewise.
30786 * commands/i386/pc/drivemap.c: Likewise.
30787 * commands/loadenv.c: Likewise.
30788 * commands/memrw.c: Likewise.
30789 * commands/password.c: Likewise.
30790 * commands/videotest.c: Likewise.
30791 * disk/ata.c: Likewise.
30792 * disk/ata_pthru.c: Likewise.
30793 * disk/dmraid_nvidia.c: Likewise.
30794 * disk/ieee1275/nand.c: Likewise.
30795 * disk/ieee1275/ofdisk.c: Likewise.
30796 * disk/loopback.c: Likewise.
30797 * disk/lvm.c: Likewise.
30798 * disk/mdraid_linux.c: Likewise.
30799 * disk/raid.c: Likewise.
30800 * disk/raid6_recover.c: Likewise.
30801 * disk/scsi.c: Likewise.
30802 * efiemu/main.c: Likewise.
30803 * efiemu/mm.c: Likewise.
30804 * efiemu/pnvram.c: Likewise.
30805 * efiemu/symbols.c: Likewise.
30806 * font/font.c: Likewise.
30807 * fs/cpio.c: Likewise.
30808 * fs/hfsplus.c: Likewise.
30809 * fs/iso9660.c: Likewise.
30810 * fs/jfs.c: Likewise.
30811 * fs/minix.c: Likewise.
30812 * fs/ntfs.c: Likewise.
30813 * fs/ntfscomp.c: Likewise.
30814 * fs/reiserfs.c: Likewise.
30815 * fs/ufs.c: Likewise.
30816 * fs/xfs.c: Likewise.
30817 * gettext/gettext.c: Likewise.
30818 * include/grub/auth.h: Likewise.
30819 * kern/elf.c: Likewise.
30820 * kern/file.c: Likewise.
30821 * kern/ieee1275/init.c: Likewise.
30822 * kern/ieee1275/mmap.c: Likewise.
30823 * kern/ieee1275/openfw.c: Likewise.
30824 * kern/powerpc/dl.c: Likewise.
30825 * kern/sparc64/dl.c: Likewise.
30826 * lib/arg.c: Likewise.
30827 * loader/i386/bsd.c: Likewise.
30828 * loader/i386/bsdXX.c: Likewise.
30829 * loader/i386/efi/linux.c: Likewise.
30830 * loader/i386/efi/xnu.c: Likewise.
30831 * loader/i386/ieee1275/linux.c: Likewise.
30832 * loader/i386/linux.c: Likewise.
30833 * loader/i386/multiboot.c: Likewise.
30834 * loader/i386/pc/linux.c: Likewise.
30835 * loader/i386/pc/multiboot2.c: Likewise.
30836 * loader/i386/xnu.c: Likewise.
30837 * loader/ieee1275/multiboot2.c: Likewise.
30838 * loader/macho.c: Likewise.
30839 * loader/machoXX.c: Likewise.
30840 * loader/multiboot2.c: Likewise.
30841 * loader/multiboot_loader.c: Likewise.
30842 * loader/powerpc/ieee1275/linux.c: Likewise.
30843 * loader/sparc64/ieee1275/linux.c: Likewise.
30844 * loader/xnu.c: Likewise.
30845 * loader/xnu_resume.c: Likewise.
30846 * mmap/i386/pc/mmap.c: Likewise.
30847 * normal/menu_viewer.c: Likewise.
30848 * partmap/acorn.c: Likewise.
30849 * partmap/amiga.c: Likewise.
30850 * partmap/apple.c: Likewise.
30851 * script/lexer.c: Likewise.
30852 * term/gfxterm.c: Likewise.
30853 * term/i386/pc/serial.c: Likewise.
30854 * term/i386/pc/vga.c: Likewise.
30855 * term/ieee1275/ofconsole.c: Likewise.
30856 * term/terminfo.c: Likewise.
30857 * video/bitmap.c: Likewise.
30858 * video/efi_gop.c: Likewise.
30859 * video/efi_uga.c: Likewise.
30860 * video/fb/video_fb.c: Likewise.
30861 * video/i386/pc/vbe.c: Likewise.
30862 * video/readers/tga.c: Likewise.
30863 * video/video.c: Likewise.
30864
0ad46fd7 308652009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
30866
30867 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
30868 * commands/lspci.c: Likewise.
30869 * commands/probe.c: Likewise.
30870 * commands/xnu_uuid.c: Likewise.
30871 * conf/i386-coreboot.rmk: Likewise.
30872 * conf/i386-efi.rmk: Likewise.
30873 * conf/i386-ieee1275.rmk: Likewise.
30874 * conf/i386-pc.rmk: Likewise.
30875 * conf/powerpc-ieee1275.rmk: Likewise.
30876 * conf/sparc64-ieee1275.rmk: Likewise.
30877 * conf/x86_64-efi.rmk: Likewise.
30878 * fs/i386/pc/pxe.c: Likewise.
30879 * gettext/gettext.c: Likewise.
30880 * include/grub/efi/graphics_output.h: Likewise.
30881 * include/grub/i386/pc/memory.h: Likewise.
30882 * kern/env.c: Likewise.
30883 * kern/i386/qemu/startup.S: Likewise.
30884 * lib/i386/pc/biosnum.c: Likewise.
30885 * lib/i386/relocator.c: Likewise.
30886 * lib/i386/relocator_asm.S: Likewise.
30887 * lib/relocator.c: Likewise.
30888 * loader/i386/bsd.c: Likewise.
30889 * loader/i386/multiboot.c: Likewise.
30890 * loader/i386/pc/chainloader.c: Likewise.
30891 * loader/i386/xnu.c: Likewise.
30892 * loader/xnu.c: Likewise.
30893 * normal/main.c: Likewise.
30894 * normal/menu_text.c: Likewise.
30895 * util/getroot.c: Likewise.
30896 * util/grub-mkconfig_lib.in: Likewise.
30897 * util/grub.d/00_header.in: Likewise.
30898 * util/i386/pc/grub-mkimage.c: Likewise.
30899 * util/mkisofs/eltorito.c: Likewise.
30900 * util/mkisofs/exclude.h: Likewise.
30901 * util/mkisofs/hash.c: Likewise.
30902 * util/mkisofs/iso9660.h: Likewise.
30903 * util/mkisofs/joliet.c: Likewise.
30904 * util/mkisofs/mkisofs.c: Likewise.
30905 * util/mkisofs/mkisofs.h: Likewise.
30906 * util/mkisofs/multi.c: Likewise.
30907 * util/mkisofs/name.c: Likewise.
30908 * util/mkisofs/rock.c: Likewise.
30909 * util/mkisofs/tree.c: Likewise.
30910 * util/mkisofs/write.c: Likewise.
30911 * video/efi_gop.c: Likewise.
30912
009ec743
VS
309132009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
30914
30915 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
30916 size counting.
30917
0ad46fd7 309182009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
30919
30920 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
30921 * genmk.rb (class SCRIPT): Modify the target file instead of source.
30922
d3d30ea0
VS
309232009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30924
30925 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
30926 (GRUB_MOD_INIT(memrw)): Update help line.
30927
a34f5c70
VS
309282009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30929
30930 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
30931 Use grub_extcmd_t. All users updated.
30932 (options): New variable.
30933 (grub_cmd_read): Restructure for readability. Support "-v" option.
30934 (grub_cmd_write): Restructure for readability.
30935
0ad46fd7 309362009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
30937
30938 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
30939
0ad46fd7 309402009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
30941
30942 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
30943 with the actual contents of the correspondending make variable.
30944 * util/grub-mkrescue.in (pkglib_DATA): New variable.
30945 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
30946 specifying `*.lst' and `efiemu??.o'
30947
0ad46fd7 309482009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
30949
30950 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
30951 after function name.
30952 Noticed by Rene Engelhard <rene@debian.org>.
30953
dc77a799
VS
309542009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30955
30956 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
30957 (options): New variable.
30958 (iospace): Likewise.
30959 (grub_lspci_iter): List IO spaces if "-i" was given.
30960 (grub_cmd_lspci): Parse options.
30961 (GRUB_MOD_INIT(lspci)): Use extcmd.
30962 (GRUB_MOD_FINI(lspci)): Likewise.
30963
0ad46fd7 309642009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
30965
30966 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
30967 `function' keyword.
30968 Patch by Tony Mancill <tmancill@debian.org>.
30969
b5d5993b
VS
309702009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30971
30972 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
30973 (grub_uhci_portstatus): Likewise.
30974 (grub_uhci_portstatus): Add necessary delay.
11d18281 30975 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 30976
941903f2 309772009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 30978
941903f2 30979 * commands/acpi.c (options): Fix capitalizations and/or full stops.
30980 (GRUB_MOD_INIT): Likewise.
30981 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 30982 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
30983 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 30984 * commands/efi/loadbios.c (enable_rom_area): Likewise.
30985 (enable_rom_area): Likewise.
30986 (GRUB_MOD_INIT): Likewise.
30987 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30988 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
30989 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30990 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
30991 * commands/hexdump.c (options): Likewise.
30992 * commands/i386/cpuid.c (options): Likewise.
30993 (GRUB_MOD_INIT): Likewise.
30994 * commands/i386/pc/drivemap.c (options): Likewise.
30995 (GRUB_MOD_INIT): Likewise.
30996 * commands/i386/pc/halt (options): Likewise.
30997 (GRUB_MOD_INIT): Likewise.
30998 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30999 * commands/i386/pc/pxecmd.c (options): Likewise.
31000 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
31001 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
31002 * commands/keystatus.c (options): Likewise.
31003 (GRUB_MOD_INIT): Likewise.
31004 * commands/loadenv.c (options): Likewise.
31005 * commands/ls.c (options): Likewise.
31006 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
31007 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
31008 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
31009 * commands/parttool.c (helpmsg): Likewise.
31010 * commands/probe.c (options): Likewise.
31011 * commands/read.c (GRUB_MOD_INIT): Likewise.
31012 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
31013 * commands/search.c (options): Likewise.
31014 * commands/sleep.c (options): Likewise.
31015 * commands/test.c (GRUB_MOD_INIT): Likewise.
31016 * commands/true.c (GRUB_MOD_INIT): Likewise.
31017 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
31018 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
31019 * lib/arg.c (help_options): Likewise.
e9bbb4e7 31020 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
31021 `$(XGETTEXT)'.
98a50553 31022 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 31023
0ad46fd7 310242009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 31025
ef3c2c3a 31026 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
31027 instead of specifying them explicit.
31028
7922f68b
RM
310292009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31030
31031 * NEWS: Add grub-probe support for GNU/Hurd.
31032
537ce47f
RM
310332009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31034
31035 * NEWS: gettext was added after 1.97.
31036
9b214e3a
RM
310372009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31038
31039 * util/mkisofs/msdos_partition.h: New file (based on
31040 include/grub/msdos_partition.h).
31041 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
31042 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
31043 (ld_options, main): Recognize --protective-msdos-label.
31044 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
31045 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
31046 (padblock_write): If `use_protective_msdos_label' is set, patch a
31047 protective DOS-style label in the output image.
31048
31049 * util/grub-mkrescue.in: Use --protective-msdos-label.
31050
e9309813
RM
310512009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31052
31053 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
31054 boot.
31055
0ae56929
RM
310562009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31057
31058 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
31059 variables.
31060 (ld_options, main): Recognize `--embedded-boot'.
31061 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
31062 declarations.
31063 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
31064 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
31065 (padblock_write): Likewise. Rewrite to support embedded boot image.
31066
31067 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
31068 for BIOS-based disk boot instead of only ElTorito.
31069
b15937b1
RM
310702009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31071
31072 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
31073 build (not needed for bootstrap).
31074
52cc3ce0
RM
310752009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31076
31077 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
31078 from i386-pc build (not needed for bootstrap).
31079 Rewrite a pair of strings.
31080
36f5ff04
RM
310812009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31082
31083 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
31084
973c6c85 310852009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
31086
31087 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
31088
05d21547
AB
310892009-12-21 Andreas Born <futur.andy@googlemail.com>
31090
31091 * kern/env.c (grub_env_context_open): Mark exported variable for
31092 reexport.
31093
0175d51f
AB
310942009-12-21 Andreas Born <futur.andy@googlemail.com>
31095
31096 * kern/env.c (grub_env_export): Create nonexistent variables before
31097 exporting.
31098
7f39d92f 310992009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 31100
7f39d92f 31101 * include/grub/auth.h: Include `<grub/i18n.h>'.
31102 (GRUB_GET_PASSWORD): Gettextizze string.
31103 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
31104 menu_text.c.
31105 (grub_utf8_to_ucs4_alloc): Fix indentation.
31106 (grub_print_ucs4): Likewise.
31107 (grub_getstringwidth): Likewise.
31108 (print_message_indented): New declaration.
31109 * normal/auth.c: Include `<grub/i18n.h>'.
31110 (grub_auth_check_authentication): Gettexttize string.
31111 * normal/cmdline.c: Include `<grub/i18n.h>'.
31112 (grub_cmdline_get): Gettextizze.
31113 * normal/color.c: Include `<grub/i18n.h>'.
31114 (grub_parse_color_name_pair): Gettexttize strings.
31115 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
31116 string (use `print_message_indented').
31117 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
31118 `include/grub/normal.h'.
31119 (print_message_indented): Renamed to ...
31120 (grub_print_message_indented): ... this. Remove `static' qualifer (now
31121 used in normal/main.c).
31122 (print_message): Use `grub_print_message_indented' instead of
31123 `print_message_indented'.
31124 (print_timeout): Likewise.
31125 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
31126 (grub_normal_print_device_info): Gettexttize strings.
31127 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
31128
3041d898
VS
311292009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31130
31131 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
31132 of arguments. Return number of tokens and not arguments. All users
31133 updated.
31134
de15bf8e
VS
311352009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31136
31137 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
31138 non-MSDOS paritions.
31139
e0a6ca52
VS
311402009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
31141
31142 * include/grub/types.h (UNUSED): Removed since it conflicts with
31143 NetBSD headers. All users changed to direct __attribute__ ((unused)).
31144 Reported by Grégoire Sutre.
31145
b99518d1 311462009-12-19 Carles Pina i Estany <carles@pina.cat>
31147
31148 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
31149 (grub_print_ucs4_alloc): Likewise.
31150 (grub_getstringwidth): Likewise.
31151 * normal/main.c (grub_normal_init_page): Gettextize version string.
31152 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
31153 (getstringwidth): Renamed to ...
31154 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
31155 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
31156 (grub_print_ucs4): Remove `static' qualifer (now used in
31157 normal/main.c).
31158 * po/POTFILES: Add normal/main.c.
31159
bfd5e52b 311602009-12-19 Carles Pina i Estany <carles@pina.cat>
31161
31162 * normal/menu_text.c (STANDARD_MARGIN): New macro.
31163 (print_message_indented): Add `margin_left' and `margin_right'
31164 parameters.
31165 (print_message): Update `print_message_indented' calls. Adds '\n' to the
31166 strings.
31167 (print_timeout): Use `print_message_indented' to print the message.
31168 Deletes `second_stage' parameter.
31169 (run_menu): Update `print_timeout' calls.
31170
5a1ad2b9
VS
311712009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31172
31173 Fix console palette on OpenFirmware.
31174
31175 * term/ieee1275/ofconsole.c (MAX): Removed.
31176 (colors): Redone based on VGA palette.
31177 (grub_ofconsole_setcolor): Discard brightness bit since only 8
31178 colors are supported.
31179 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
31180
b045f00a
VS
311812009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31182
31183 Fix potential EfiEmu double prepare.
31184
31185 * efiemu/main.c (prepared): New variable
31186 (grub_efiemu_unload): Set prepare to '0'.
31187 (grub_efiemu_prepare): Return if already prepared. Set prepared.
31188
31189 set_virtual_address_map support.
31190
31191 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
31192 prototype.
31193 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
31194 prototype.
31195 (grub_efiemu_crc32): Likewise.
31196 (grub_efiemu_crc64): Likewise.
31197 (grub_efiemu_set_virtual_address_map): Likewise.
31198 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
31199 New definition.
31200 (grub_autoefi_set_virtual_address_map): Likewise.
31201 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
31202 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
31203 Restructure flow to accomodate it.
31204 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
31205 (grub_efiemu_crc): Recompute CRC32.
31206 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
31207 (efiemu_ptv_relocated): ... this. Made global. All users updated.
31208 * efiemu/symbols.c (relocated_handle): New variable.
31209 (grub_efiemu_free_syms): Free relocated_handle.
31210 (grub_efiemu_alloc_syms): Allocate relocated_handle.
31211 (grub_efiemu_write_sym_markers): New function.
31212 (grub_efiemu_set_virtual_address_map): Likewise.
31213
31214 Newer XNU parameters.
31215
31216 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
31217 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
31218 (grub_xnu_fill_devicetree): New prototype.
31219 (grub_xnu_heap_real_start): New variable.
31220 * loader/xnu.c (get_name_ptr): New function.
31221 (grub_xnu_load_driver): Fill namelen and name.
31222
31223 64-bit xnu support.
31224
31225 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
31226 and 'loader/macho64.c'.
31227 * conf/i386-pc.rmk: Likewise.
31228 * conf/x86_64-efi.rmk: Likewise.
31229 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
31230 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
31231 * include/grub/macho.h (grub_macho_segment64): New structure.
31232 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
31233 (grub_macho_size32): ... to this.
31234 (grub_macho32_get_entry_point): Renamed from ...
31235 (grub_macho_get_entry_point32): ... to this.
31236 (grub_macho_contains_macho64): New prototype.
31237 (grub_macho_size64): Likewise.
31238 (grub_macho_get_entry_point64): Likewise.
31239 (grub_macho32_load): Renamed from ...
31240 (grub_macho_load32): ... to this.
31241 (grub_macho32_filesize): Renamed from ...
31242 (grub_macho_filesize32): ... to this.
31243 (grub_macho32_readfile): Renamed from ...
31244 (grub_macho_readfile32): ... to this.
31245 (grub_macho_filesize64): New prototype.
31246 (grub_macho_readfile64): Likewise.
31247 (grub_macho_parse32): Likewise.
31248 (grub_macho_parse64): Likewise.
31249 * loader/macho.c: Split into ...
31250 * loader/machoXX.c: ... and this. Replace 32 with XX.
31251 * loader/macho32.c: New file.
31252 * loader/macho64.c: Likewise.
31253 * loader/xnu.c (grub_xnu_is_64bit): New variable.
31254 (grub_cmd_xnu_kernel): Make 32-bit only.
31255 (grub_cmd_xnu_kernel64): New function.
31256 (grub_xnu_load_driver): Support Mach-O 64.
31257 (grub_cmd_xnu_mkext): Likewise.
31258 * util/grub.d/30_os-prober.in (osx_entry): New function.
31259 Generate entries for 64-bit boot too.
31260
31261 Eliminate ad-hoc tree format in XNU and EfiEmu.
31262
31263 * efiemu/main.c (grub_efiemu_prepare): Update comment.
31264 * efiemu/pnvram.c: Rewritten to use environment variables.
31265 All users updated.
31266
31267 Inline utf16_to_utf8.
31268
31269 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
31270 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
31271 All users updated.
31272 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
31273
31274 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
31275 * commands/usbtest.c (grub_usb_get_string): ... move here.
31276 (usb_print_str): Fix error handling.
31277 * include/grub/usb.h (grub_usb_get_string): Remove.
31278
31279 UTF-8 to UTF-16 transformation.
31280
31281 * conf/common.rmk (pkglib_MODULES): Add charset.mod
31282 (charset_mod_SOURCES): New variable.
31283 (charset_mod_CFLAGS): Likewise.
31284 (charset_mod_LDFLAGS): Likewise.
31285 * include/grub/utf.h: New file.
31286 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
31287
31288 Support for device properties.
31289
31290 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
31291 (grub_xnu_devprop_device_header): Likewise.
31292 (grub_xnu_devprop_device_descriptor): Likewise.
31293 (grub_xnu_devprop_add_device): New prototype.
31294 (grub_xnu_devprop_remove_device): Likewise.
31295 (grub_xnu_devprop_remove_property): Likewise.
31296 (grub_xnu_devprop_add_property_utf8): Likewise.
31297 (grub_xnu_devprop_add_property_utf16): Likewise.
31298 (grub_cpu_xnu_init): Likewise.
31299 (grub_cpu_xnu_fini): Likewise.
31300 (grub_cpu_xnu_unload): Likewise.
31301 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
31302 (property_descriptor): Likewise.
31303 (devices): New variable.
31304 (grub_xnu_devprop_remove_property): New function.
31305 (grub_xnu_devprop_add_device): Likewise.
31306 (grub_xnu_devprop_remove_device): Likewise.
31307 (grub_xnu_devprop_add_property): Likewise.
31308 (grub_xnu_devprop_add_property_utf8): Likewise.
31309 (grub_xnu_devprop_add_property_utf16): Likewise.
31310 (hextoval): Likewise.
31311 (grub_cpu_xnu_fill_devprop): Likewise.
31312 (grub_cmd_devprop_load): Likewise.
31313 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
31314 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
31315 (cmd_devprop_load): New variable.
31316 (grub_cpu_xnu_init): New function.
31317 (grub_cpu_xnu_fini): Likewise.
31318 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
31319 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
31320 (grub_cmd_xnu_devtree): Likewise.
31321 (hextoval): New function.
31322 (unescape): Likewise.
31323 (grub_xnu_fill_devicetree): Likewise.
31324
31325 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
31326 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
31327
0945f181
VS
313282009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31329
31330 Workaround for broken ATI VBE.
31331
31332 * video/i386/pc/vbe.c (last_set_mode): New variable.
31333 (grub_vbe_set_video_mode): Set 'last_set_mode'.
31334 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
31335 (grub_video_vbe_setup): Don't check for reserved flag.
31336
0ad46fd7 313372009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
31338
31339 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
31340 the `find' command.
31341
c179ebe4
VS
313422009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
31343
31344 UUID support for HFS.
31345
31346 * fs/hfs.c (grub_hfs_uuid): New function.
31347 (grub_hfs_fs): New value .uuid.
31348 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
31349
0ad46fd7 313502009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
31351
31352 Fix a segfault with parsing unknown long options.
31353
31354 * util/grub-mkrelpath.c (options): Zero terminate it.
31355
c4a3e41a
CPE
313562009-12-13 Carles Pina i Estany <carles@pina.cat>
31357
31358 * include/grub/misc.h (grub_puts): New declaration.
31359 (grub_puts_): Likewise.
a22008a6 31360 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
31361 (grub_puts_): Likewise.
31362
2e8a7602
RM
313632009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31364
31365 * util/grub-probe.c (probe): Improve error message.
31366
b50b77b9
RM
313672009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31368
31369 * loader/i386/multiboot_elfxx.c
31370 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
31371 initialization.
31372
313732009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31374
31375 Relocator framework
31376
31377 * loader/i386/xnu_helper.S: Removed. All users updated.
31378 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
31379 (relocator_mod_SOURCES): New variable.
31380 (relocator_mod_CFLAGS): Likewise.
31381 (relocator_mod_LDFLAGS): Likewise.
31382 (relocator_mod_ASFLAGS): Likewise.
31383 * conf/x86_64.rmk: Likewise.
31384 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
31385 (grub_multiboot_payload_entry_offset): Likewise.
31386 (grub_multiboot_forward_relocator): Likewise.
31387 (grub_multiboot_forward_relocator_end): Likewise.
31388 (grub_multiboot_backward_relocator): Likewise.
31389 (grub_multiboot_backward_relocator_end): Likewise.
31390 (grub_multiboot_payload_eip): New variable.
31391 (grub_multiboot_payload_orig): Likewise.
31392 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
31393 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
31394 * include/grub/i386/memory.h
31395 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
31396 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
31397 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
31398 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
31399 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
31400 * include/grub/i386/relocator.h: New file.
31401 * include/grub/x86_64/relocator.h: Likewise.
31402 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
31403 (XNU_RELOCATOR): New macro.
31404 (grub_xnu_launcher_start): Remove.
31405 (grub_xnu_launcher_end): Likewise.
31406 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
31407 (grub_xnu_heap_real_start): Remove.
31408 (grub_xnu_heap_start): Change to void *. All users updated.
31409 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
31410 * lib/i386/relocator.c: New file.
31411 * lib/i386/relocator_asm.S: Likewise.
31412 * lib/i386/relocator_backward.S: Likewise.
31413 * lib/mips/relocator.c: Likewise.
31414 * lib/mips/relocator_asm.S: Likewise.
31415 * lib/relocator.c: Likewise.
31416 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
31417 (entry): Removed.
31418 (playground): Likewise.
31419 (grub_multiboot_payload_orig): New variable.
31420 (grub_multiboot_payload_dest): Likewise.
31421 (grub_multiboot_payload_size): Likewise.
31422 (grub_multiboot_payload_eip): Likewise.
31423 (grub_multiboot_payload_esp): Likewise.
31424 (grub_multiboot_boot): Use grub_relocator32_boot.
31425 (grub_multiboot_unload): Free relocators.
31426 (grub_multiboot): Setup stack. Use relocators.
31427 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
31428 (grub_multiboot_load_elfXX): Use relocators.
31429 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
31430 (grub_multiboot_payload_size): Likewise.
31431 (grub_multiboot_payload_dest): Likewise.
31432 (grub_multiboot_payload_entry_offset): Likewise.
31433 (grub_multiboot_forward_relocator): Likewise.
31434 (grub_multiboot_backward_relocator): Likewise.
31435 (grub_multiboot_real_boot): Likewise.
31436 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
31437 (grub_xnu_entry_point): Likewise.
31438 (grub_xnu_arg1): Likewise.
31439 (grub_xnu_stack): Likewise.
31440 (grub_xnu_launch): Removed.
31441 (grub_xnu_boot_resume): New function.
31442 (grub_xnu_boot): Use relocators.
31443 * loader/i386/xnu_helper.S: Removed.
31444 * loader/xnu.c (grub_xnu_heap_start): New variable.
31445 (grub_xnu_heap_size): Likewise.
31446 (grub_xnu_heap_malloc): Use relocators.
31447 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
31448
29eb90c6
VS
314492009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31450
31451 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
31452 anything.
31453
31027430
CPE
314542009-12-13 Carles Pina i Estany <carles@pina.cat>
31455
31456 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
31457 GRUB_ERR_NONE before calling grub_env_set.
31458
dc0c71d9
RM
314592009-12-12 Robert Millan <rmh@aybabtu.com>
31460
31461 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
31462 * genmk.rb (video): New variable.
31463 (CLEANFILES, VIDEOFILES): Add #{video}.
31464 (#{video}): New target rule.
31465 * genvideolist.sh: New file.
31466 * Makefile.in (pkglib_DATA): Add video.lst.
31467 (video.lst): New target rule.
31468 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
31469 `video.lst'.
31470 * util/grub.d/30_os-prober.in: Replace `vbe' with
31471 ${GRUB_VIDEO_BACKEND}.
31472
2a4bfcf0
RM
314732009-12-11 Robert Millan <rmh.grub@aybabtu.com>
31474
31475 * THANKS: Add David Miller.
31476
2a3aa4d5
RM
314772009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
31478
31479 libpciaccess support.
31480
31481 * Makefile.in (LIBPCIACCESS): New variable.
31482 (enable_grub_emu_pci): Likewise.
31483 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
31484 util/pci.c and commands/lspci.c.
31485 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
31486 * configure.ac (grub-emu-pci): New option.
31487 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
31488 (grub_pci_device_unmap_range): Likewise.
31489 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
31490 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
31491 (grub_pci_address_t) [!GRUB_UTIL]: New type.
31492 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
31493 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
31494 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
31495 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
31496 * include/grub/pciutils.h: New file.
31497 * util/pci.c: Likewise.
31498
0ad46fd7 314992009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
31500
31501 * util/misc.c: Don't include <errno.h> twice.
31502
0ad46fd7 315032009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
31504
31505 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
31506 name in an error message.
31507 (grub_biosdisk_rw): Likewise.
31508
2e59983c
VS
315092009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31510
31511 Eliminate NTFS 4Gib barrier.
31512
31513 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
31514 (read_run_data): Likewise.
31515 (grub_ntfs_read_run_list): Likewise.
31516 (grub_ntfs_read_block): Likewise.
31517 (grub_ntfs_iterate_dir): Likewise.
31518 (read_mft): Likewise.
31519 (read_data): Likewise.
31520 Use COM_LOG_LEN.
31521 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
31522 to avoid 64-bit division
31523 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
31524 (grub_ntfs_rlst): Use grub_disk_addr_t.
31525
71ee178a
VS
315262009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31527
31528 Eliminate grub-fstest 4Gib barrier.
31529
31530 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
31531 (read_file): Fix error reporting.
31532
2520d4b8
VS
315332009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31534
31535 Eliminate hexdump 4Gib barrier.
31536
31537 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
31538 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
31539
e1f27065
VS
315402009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31541
31542 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
31543 Fixes amarsh bug.
31544
1a0f7f45
RM
315452009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
31546
31547 Remove miscellaneous files in distclean target.
31548
31549 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
31550
c631d9fb
CW
315512009-12-09 Colin Watson <cjwatson@ubuntu.com>
31552
31553 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
31554 if they're already set. This resolves the conflict between my
31555 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
31556 fixing the --grub-probe option again.
31557 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
31558 change on 2009-10-06, so that we now once again source
31559 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
31560
7c7b6106
RM
315612009-12-08 Robert Millan <rmh.grub@aybabtu.com>
31562
31563 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
31564 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
31565 `util/devicemap.c'.
31566
e3069ec1
CPE
315672009-12-08 Carles Pina i Estany <carles@pina.cat>
31568
31569 * include/grub/misc.h (grub_printf_): New declaration.
31570 * kern/misc.c (grub_printf_): New definition.
31571 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
31572 instead of `grub_printf' and `_'.
31573 * normal/menu_entry.c (store_completion): Likewise.
31574 (run): Likewise.
31575 (grub_menu_entry_run): Likewise.
31576 * normal/menu_text.c (grub_wait_after_message): Likewise.
31577 (notify_booting): Likewise.
31578 (notify_fallback): Likewise.
31579 (notify_execution_failure): Likewise.
31580
d6ceebf1
CW
315812009-12-07 Colin Watson <cjwatson@ubuntu.com>
31582
31583 * configure.ac: Check for vasprintf.
31584 * util/misc.c (asprintf): Move allocation from here ...
31585 (vasprintf): ... to here. New function.
31586 (xasprintf): New function.
31587 * include/grub/util/misc.h (vasprintf, xasprintf): Add
31588 prototypes.
31589 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
31590 * util/grub-mkfont.c (write_font): Likewise.
31591 * util/grub-probe.c (probe): Likewise.
31592 * util/hostdisk.c (make_device_name): Likewise.
31593
de6daa8b
DM
315942009-12-06 David S. Miller <davem@sunset.davemloft.net>
31595
31596 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
31597 anything even prefixed with 'cdrom' as a cdrom.
31598
0ad46fd7 315992009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
31600
31601 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
31602 mount points.
31603
98d3dc02
CPE
316042009-12-05 Carles Pina i Estany <carles@pina.cat>
31605
31606 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
31607 grub_gettext_msg_list.
31608 (grub_gettext_gettranslation_from_position): Return const char *
31609 and not char *.
a2c1332b 31610 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
31611 returns from the list if existing there.
31612 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
31613 (grub_gettext_delete_list): Delete the list.
31614 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
31615 lang environment variable is changed.
31616 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
31617
b283f108
VS
316182009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31619
31620 Rename kernel.mod to kernel.img.
31621
31622 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
31623 (kernel_mod_EXPORTS): Rename to ...
31624 (kernel_img_EXPORTS): ... this.
31625 (kernel_mod_SOURCES): Rename to ...
31626 (kernel_img_SOURCES): ... this.
31627 (kernel_mod_HEADERS): Rename to ...
31628 (kernel_img_HEADERS): ... this. All users updated.
31629 (kernel_mod_CFLAGS): Rename to ...
31630 (kernel_img_CFLAGS): ... this.
31631 (kernel_mod_ASFLAGS): Rename to ...
31632 (kernel_img_ASFLAGS): ... this.
31633 (kernel_mod_LDFLAGS): Rename to ...
31634 (kernel_img_LDFLAGS): ... this.
31635 * conf/x86_64-efi.rmk: Likewise.
31636 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
31637 (read_kernel_image): ... this. All users updated.
31638 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
31639
69055f8a
CPE
316402009-12-05 Carles Pina i Estany <carles@pina.cat>
31641
31642 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
31643 (print_spaces): New function.
31644 (grub_print_ucs4): New function.
31645 (getstringwidth): New function.
31646 (print_message_indented): New function.
31647 (print_message): Gettexttize strings using print_message_indented.
31648 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
31649 width.
31650 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 31651 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
31652 Gettextize.
31653 * normal/menu_entry.c (store_completion): Cleanup the gettextized
31654 string.
31655 (run): Likewise.
31656 (grub_menu_entry_run): Likewise.
31657 * PO/POTFILES: Add normal/menu_entry.c.
31658
f616f51c
VS
316592009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31660
31661 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
31662
57bbe3be
CPE
316632009-12-05 Carles Pina i Estany <carles@pina.cat>
31664
31665 * util/grub-install.in: Install gettext .mo files.
31666 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
31667
013d67a1
CPE
316682009-12-05 Carles Pina i Estany <carles@pina.cat>
31669
31670 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
31671 grub_dprintf.
31672
fb954db0
RM
316732009-12-05 Robert Millan <rmh.grub@aybabtu.com>
31674
31675 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
31676 non-firmware-dependant one in realmode.S takes precedence.
31677
6b8474f8
RM
316782009-12-04 Robert Millan <rmh.grub@aybabtu.com>
31679
31680 * commands/halt.c: Replace misc arch-specific headers with
31681 `<grub/misc.h>'.
31682 * commands/reboot.c: Likewise.
31683 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
31684 `<grub/misc.h>'.
31685 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
31686 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
31687 (kernel_img_SOURCES): ... to here.
31688
31689 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
31690 * include/grub/i386/pc/init.h: Likewise.
31691 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
31692 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31693
31694 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
31695
31696 * include/grub/i386/halt.h: Remove.
31697 * include/grub/i386/reboot.h: Likewise.
31698
31699 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
31700
4b2e6ca2
DM
317012009-12-03 David S. Miller <davem@sunset.davemloft.net>
31702
31703 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
31704 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
31705 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
31706 "progname.h"
31707 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31708 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31709 (usage): Add missing comma in printf.
31710
5239348f
RM
317112009-12-02 Robert Millan <rmh.grub@aybabtu.com>
31712
31713 Use the same reboot approach on i386 coreboot and qemu as we do on
31714 BIOS.
31715
31716 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
31717 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
31718 * kern/i386/reboot.c: Remove.
31719 * include/grub/i386/reboot.h (grub_reboot): Export function.
31720 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
31721 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
31722 0xf000:0xfff0 instead of 0xffff:0x0000.
31723 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
31724 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
31725
ef34cbd4
RM
317262009-11-30 Robert Millan <rmh.grub@aybabtu.com>
31727
31728 Fix $srcdir != $objdir build.
31729
31730 * Makefile.in (po/%.po): Rewrite as ...
31731 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
31732
dc9837ea
ST
317332009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
31734
31735 Fix GNU/Hurd grub-install crash.
31736 * util/grub-probe.c (probe): Try to access `path' only when it is not
31737 NULL.
31738
2f857f98
VS
317392009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31740
31741 Correct module naming.
31742
31743 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31744 (GRUB_MOD_INIT(efi_uga)): ... to this
31745 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31746 (GRUB_MOD_FINI(efi_uga)): ... to this
31747 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31748 (GRUB_MOD_INIT(efi_gop)): ... to this
31749 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31750 (GRUB_MOD_FINI(efi_gop)): ... to this
31751
c5448046
RM
317522009-11-28 Robert Millan <rmh.grub@aybabtu.com>
31753
31754 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
31755 translatable.
31756 (usage): Translate `arg' strings using gettext().
31757 Thanks to Jordi Mallach for the suggestion.
31758
c85184ad
VS
317592009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31760
31761 GOP support. Based on patch from Bean
31762 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31763
31764 * video/efi_gop.c: New file.
31765 * include/grub/efi/graphics_output.h: Likewise.
31766 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
31767 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31768 variables.
31769 * conf/x86_64-efi.rmk: Likewise.
31770
8a4c48d8
VS
317712009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31772
31773 Rename efi_fb to efi_uga.
31774
31775 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31776 'efi_uga.mod'.
31777 (efi_fb_mod_SOURCES): Rename this ...
31778 (efi_uga_mod_SOURCES): ... to this.
31779 (efi_fb_mod_CFLAGS): Rename this ...
31780 (efi_uga_mod_CFLAGS): ... to this.
31781 (efi_fb_mod_LDFLAGS): Rename this ...
31782 (efi_uga_mod_LDFLAGS): ... to this.
31783 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31784 'efi_uga.mod'.
31785 (efi_fb_mod_SOURCES): Rename this ...
31786 (efi_uga_mod_SOURCES): ... to this.
31787 (efi_fb_mod_CFLAGS): Rename this ...
31788 (efi_uga_mod_CFLAGS): ... to this.
31789 (efi_fb_mod_LDFLAGS): Rename this ...
31790 (efi_uga_mod_LDFLAGS): ... to this.
31791 * video/efi_fb.c: Move this ...
31792 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
31793
fb6c1a7b
RM
317942009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31795
31796 * po/README: New file. Explain our PO file workflow.
31797
3bc7896c
RM
317982009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31799
31800 * po/ChangeLog: Remove. Move relevant entries back to ...
31801 * ChangeLog: ... here.
31802 * po/ca.po: Remove (now handled by TLP).
31803 * po/id.po: Likewise.
31804 * po/zh_CN.po: Likewise.
31805 * Makefile.in (LINGUAS): Initialize in a way that supports
31806 empty set.
31807
9ed4841d
RM
318082009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31809
31810 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
31811 reliing on po/LINGUAS.
31812 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
31813 (po/%.po): ... this.
31814
0ad46fd7 318152009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
31816
31817 * util/i386/efi/grub-mkimage.c: Include "progname.h".
31818 (main): Use `program_name' instead of nonexistent `progname'.
31819
e30dd392
FZ
318202009-11-26 Felix Zielcke <fzielcke@z-51.de>
31821
31822 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31823 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
31824
7656de4f
RM
318252009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31826
31827 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
31828 commit.
31829 * conf/i386-efi.rmk: Likewise.
31830 * conf/i386-ieee1275.rmk: Likewise.
31831 * conf/powerpc-ieee1275.rmk: Likewise.
31832 * conf/sparc64-ieee1275.rmk: Likewise.
31833 * conf/x86_64-efi.rmk: Likewise.
31834
db77c4d4
FZ
318352009-11-26 Felix Zielcke <fzielcke@z-51.de>
31836
31837 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
31838
a755bb04
FZ
318392009-11-26 Felix Zielcke <fzielcke@z-51.de>
31840
31841 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
31842
8a4c07fd
RM
318432009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31844
31845 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
31846 (grub_mkdevicemap_SOURCES): New variable.
31847 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
31848 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
31849 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
31850 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
31851 (grub_mkdevicemap_SOURCES): Remove.
31852 * conf/i386-efi.rmk: Likewise.
31853 * conf/i386-ieee1275.rmk: Likewise.
31854 * conf/i386-pc.rmk: Likewise.
31855 * conf/powerpc-ieee1275.rmk: Likewise.
31856 * conf/sparc64-ieee1275.rmk: Likewise.
31857 * conf/x86_64-efi.rmk: Likewise.
31858 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
31859 (usage): Fix strings to use `program_name'.
31860 (main): Initialize gettext.
31861 * util/grub-editenv.c: Likewise.
31862 * util/grub-emu.c: Likewise.
31863 * util/grub-fstest.c: Likewise.
31864 * util/grub-mkdevicemap.c: Likewise.
31865 * util/grub-mkfont.c: Likewise.
31866 * util/grub-mkrelpath.c: Likewise.
31867 * util/grub-pe2elf.c: Likewise.
31868 * util/grub-probe.c: Likewise.
31869 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
31870 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31871 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31872
31873 * util/misc.c: Include `"progname.h"'.
31874 (progname): Remove variable.
31875 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
31876
6f61ed55
FZ
318772009-11-25 Felix Zielcke <fzielcke@z-51.de>
31878
31879 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
31880 printf and print a newline after the menuentry header line.
31881 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
31882
f022876b
FZ
318832009-11-25 Felix Zielcke <fzielcke@z-51.de>
31884
31885 autoconf >= 2.60 support $(localedir).
31886
31887 * INSTALL: Note that autoconf 2.60 is required.
31888 * configure.ac (AC_PREREQ): Bump to 2.60.
31889 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
31890 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
31891
6717926e
YB
318922009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
31893
31894 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
31895 aclocal is run.
31896
08806a54
RM
318972009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31898
31899 * normal/main.c (grub_normal_read_line): Fix off-by-one
31900 buffer overflow.
31901
13b33fba
RM
319022009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31903
31904 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
31905 "parser.grub" in grub_command_execute() call.
31906
4a8572e9
CPE
319072009-11-24 Carles Pina i Estany <carles@pina.cat>
31908
31909 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
31910 * conf/i386-efi.rmk: Likewise.
31911 * conf/i386-ieee1275.rmk: Likewise.
31912 * conf/i386-pc.rmk: Likewise.
31913 * conf/powerpc-ieee1275.rmk: Likewise.
31914 * conf/sparc64-ieee1275.rmk: Likewise.
31915 * conf/x86_64-efi.rmk: Likewise.
31916 * gettext/gettex.c: Include <grub/i18n.h>.
31917 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
31918 here ...
31919 * include/grub/i18n.h: ... to here
31920 * include/grub/i18n.h: ... to here.
31921 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 31922 (grub_gettext_dummy): Move above user.
4a8572e9 31923
bee48093
FZ
319242009-11-24 Felix Zielcke <fzielcke@z-51.de>
31925
31926 * util/Makefile.in (install-local): Convert a `for' into a normal
31927 shell expansion.
31928
a031e91c
RM
319292009-11-24 Robert Millan <rmh.grub@aybabtu.com>
31930
31931 * autogen.sh: Add automake call.
31932 * config.guess: Remove.
31933 * config.sub: Likewise.
31934 * install-sh: Likewise.
31935
26bec39d
FZ
319362009-11-24 Felix Zielcke <fzielcke@z-51.de>
31937
31938 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
31939
8e2532fd
FZ
319402009-11-24 Felix Zielcke <fzielcke@z-51.de>
31941
31942 * util/Makefile.in (install-local): Convert a make `$(foreach)'
31943 function to a normal shell `for'.
31944
fefa1b7d
FZ
319452009-11-24 Felix Zielcke <fzielcke@z-51.de>
31946
31947 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31948
4501250b
FZ
319492009-11-24 Felix Zielcke <fzielcke@z-51.de>
31950
31951 * util/grub-mkrelpath.c: New file.
31952 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
31953 (grub_mkrelpath_SOURCES): New variable.
31954 * include/grub/util/misc.h: New function prototype.
31955 * util/misc.c (make_system_path_relative_to_its_root): New function.
31956
31957 * util/grub-mkconfig_lib.in (bindir): New variable.
31958 (grub_mkrelpath): Likewise.
31959 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
31960
31961 * util/probe.c (probe): Make the file path relative to its root.
31962 Change a info message to use the GRUB path. Enable again the
31963 check if we can read the file with GRUB facilities.
31964
31965 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
31966 to its root.
31967
11d9778b
FZ
319682009-11-24 Felix Zielcke <fzielcke@z-51.de>
31969
31970 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
31971 platform.
31972
4465287d
FZ
319732009-11-24 Felix Zielcke <fzielcke@z-51.de>
31974
31975 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
31976 strncmp().
31977
62b47f22
FZ
319782009-11-24 Felix Zielcke <fzielcke@z-51.de>
31979
31980 * util/getroot.c (grub_util_is_dmraid): New function.
31981 (grub_util_get_dev_abstraction): Treat dmraid and multipath
31982 devices as normal ones, not as LVM.
31983
1eafb9b9 319842009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
31985
31986 * conf/common.rmk: Add grub-gettext_lib target and updates
31987 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
31988 LDFLAGS.
31989 * gettext/gettext.c: New file. (Reads mo files).
31990 * include/grub/file.h (grub_file_pread): New prototype.
31991 * include/grub/i18n.h (_): New prototype.
31992 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
31993 prototypes.
31994 * kern/misc.c (grub_gettext_dummy): New function.
31995 * normal/menu_text.c: Include <grub/i18n.h>.
31996 * normal/menu_text.c (print_timeout): Gettexttize string.
31997 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
31998 * po/POTFILES: Add `normal/menu_text.c'.
31999 * po/ca.po: Add new translations.
c3ea6bd4
CPE
32000 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
32001 gettext module and defines locale_dir and lang in grub.cfg.
32002 * NEWS: Add gettext support.
32003
0fdb2568
RM
320042009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32005
32006 * util/hostdisk.c: Include `<grub/i18n.h>'.
32007 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
32008 (make_device_name): Rewrite using asprintf.
32009 (convert_system_partition_to_system_disk): Replace 0 with NULL.
32010 (find_system_device): If a device is not found, generate one just
32011 by reusing the OS path name.
32012 (read_device_map): Make it permissible for device.map not to exist.
32013
f515aa62
RM
320142009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32015
32016 * script/sh/execute.c: Move from here ...
32017 * script/execute.c: ... to here. Update all users.
32018 * script/sh/function.c: Move from here ...
32019 * script/function.c: ... to here. Update all users.
32020 * script/sh/lexer.c: Move from here ...
32021 * script/lexer.c: ... to here. Update all users.
32022 * script/sh/main.c: Move from here ...
32023 * script/main.c: ... to here. Update all users.
32024 * script/sh/parser.y: Move from here ...
32025 * script/parser.y: ... to here. Update all users.
32026 * script/sh/script.c: Move from here ...
32027 * script/script.c: ... to here. Update all users.
32028
f84b481b
RM
320292009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32030
32031 * configure.ac: Detect all `emu' platforms. Define
32032 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
32033 --enable-grub-emu logic. Disable include/grub/machine
32034 symlink on `emu' platforms.
32035
32036 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
32037 * gensymlist.sh.in: Likewise.
32038
32039 * include/grub/i386/coreboot/machine.h: Remove file.
32040 * include/grub/i386/efi/machine.h: Likewise.
32041 * include/grub/i386/ieee1275/machine.h: Likewise.
32042 * include/grub/i386/pc/machine.h: Likewise.
32043 * include/grub/i386/qemu/machine.h: Likewise.
32044 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32045 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32046 * include/grub/x86_64/efi/machine.h: Likewise.
32047
32048 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
32049 * commands/halt.c: Likewise.
32050 * commands/reboot.c: Likewise.
32051 * include/grub/autoefi.h: Likewise.
32052 * include/grub/i386/at_keyboard.h: Likewise.
32053 * include/grub/i386/kernel.h: Likewise.
32054 * include/grub/i386/loader.h: Likewise.
32055 * include/grub/i386/pc/memory.h: Likewise.
32056 * kern/dl.c: Likewise.
32057 * kern/i386/coreboot/init.c: Likewise.
32058 * loader/i386/bsd.c: Likewise.
32059 * loader/i386/linux.c: Likewise.
32060 * loader/multiboot_loader.c: Likewise.
32061 * term/i386/pc/serial.c: Likewise.
32062 * term/usb_keyboard.c: Likewise.
32063
32064 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
32065 `<grub/machine/machine.h>'
32066 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
32067 * util/misc.c: Remove `<grub/machine/machine.h>' and
32068 `<grub/machine/time.h>'.
32069
32070 * Makefile.in (enable_grub_emu): Remove variable.
32071 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
32072
32073 * conf/any-emu.rmk: New file.
32074 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
32075 (grub_emu_init.c): Move from here ...
32076 * conf/any-emu.rmk: ... to here.
32077
32078 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
32079 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
32080 * conf/any-emu.rmk: ... to here.
32081
4efeab03
RM
320822009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32083
32084 * include/grub/parser.h (grub_parser_register): Document need
32085 of `name' parameter.
32086 * normal/main.c (grub_normal_read_line): Simplify prompt string.
32087 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
32088 "sh" to "grub".
32089
ea1dd8bf
RM
320902009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32091
32092 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
32093 `$(XGETTEXT)'.
32094 * include/grub/i18n.h (N_): New macro.
32095 * util/mkisofs/mkisofs.h: Likewise.
32096 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
32097 around N_().
32098 (usage): Use gettext() to translate help strings when printing them.
32099
0c140626
RM
321002009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32101
32102 Based on patch from Bean
32103 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32104
32105 * video/efi_fb.c: New file.
32106 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
32107 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32108 variables.
32109 * conf/x86_64-efi.rmk: Likewise.
32110
87d58298
RM
321112009-11-22 Robert Millan <rmh.grub@aybabtu.com>
32112
32113 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
32114 * util/i386/pc/grub-setup.c: Likewise.
32115
994cc3a3
ST
321162009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
32117
32118 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
32119 <hurd/fs.h>
32120 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
32121 file_get_storage_info to implement grub_guess_root_device.
32122
26a61d6a
FZ
321232009-11-21 Felix Zielcke <fzielcke@z-51.de>
32124
32125 * Makefile.in (target): Use make's builtin $(shell) function
32126 instead of calling directly $(SHELL) to create the locale directories,
32127 inside the $(foreach) function.
32128
74ff1dd5
FZ
321292009-11-21 Felix Zielcke <fzielcke@z-51.de>
32130
32131 * util/grub-mkrescue.in: Print an error and usage if output option
32132 has not been given.
32133
0b787d0e
FZ
321342009-11-21 Felix Zielcke <fzielcke@z-51.de>
32135
32136 Patch from Loïc Minier <loic.minier@ubuntu.com>.
32137 * util/grub.d/30_os-prober.in: Cope with Linux entries where
32138 root and /boot are on different devices.
32139
1164b270
RM
321402009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32141
32142 Fix build for srcdir != objdir.
32143
32144 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
32145 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
32146 $(srcdir).
32147 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
32148 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
32149 reference for input.
32150
13774a2f
RM
321512009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32152
32153 * util/grub-mkrescue.in: Use source directory direcly (without copiing
32154 or hardlinking it). Remove -J option, Joliet is not compatible with
32155 multiple source directories.
32156
efda854e
RM
321572009-11-21 Carles Pina i Estany <carles@pina.cat>
321582009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32159
32160 * util/grub-mkrescue.in: Recognize `--override-directory' option.
32161 (process_input_dir): New function. Process an arbitrary input
32162 directory.
32163 Misc adjustments to support both "override mode" and system-wide mode.
32164
6c09890c
FZ
321652009-11-20 Felix Zielcke <fzielcke@z-51.de>
32166
32167 * configure.ac (UNIFONT_BDF): Rename to ...
32168 (FONT_SOURCE): ... this. Update all users.
32169
a797824f
FZ
321702009-11-20 Felix Zielcke <fzielcke@z-51.de>
32171
32172 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
32173 to the list of unifont files to look for.
32174
cd4f42b0
RM
321752009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32176
32177 Patch from Joe Auricchio <jauricchio@gmail.com>
32178 * commands/minicmd.c (grub_mini_cmd_clear): New function.
32179 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
32180 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
32181
393c783d
FZ
321822009-11-19 Felix Zielcke <fzielcke@z-51.de>
32183
32184 * Makefile.in (install-local): Add a missing backslash.
32185
b2f1e327
FZ
321862009-11-19 Felix Zielcke <fzielcke@z-51.de>
32187
32188 * include/grub/x86_64/io.h: New file.
32189
f577f7a0
RM
321902009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32191
32192 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
32193 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
32194 Include `"progname.h"'.
32195 (main): Initialize gettext.
32196 * util/i386/pc/grub-setup.c: Gettexttize.
32197 * util/i386/pc/grub-mkimage.c: Likewise.
32198
32199 * Makefile.in (po/*.po): Redefine as ...
32200 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
32201
3bc7896c
RM
32202 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
32203
c37943b6
RM
322042009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32205
32206 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
32207 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
32208 (program_name): Remove.
32209 (main): Initialize gettext support.
6323f705
RM
32210 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
32211 Include `<libintl.h>'.
32212 (_): New macro.
c37943b6
RM
32213
32214 * util/mkisofs/eltorito.c: Gettexttize.
32215 * util/mkisofs/joliet.c: Likewise.
32216 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
32217 * util/mkisofs/multi.c: Likewise.
32218 * util/mkisofs/rock.c: Likewise.
32219 * util/mkisofs/tree.c: Likewise.
32220 * util/mkisofs/write.c: Likewise.
32221
3bc7896c
RM
32222 * po/POTFILES: Update with new files.
32223
5ce77c6e
RM
322242009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32225
32226 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
32227 * util/mkisofs/iso9660.h: Likewise.
32228 * util/mkisofs/joliet.c: Likewise.
32229 * util/mkisofs/mkisofs.c: Likewise.
32230 * util/mkisofs/mkisofs.h: Likewise.
32231 * util/mkisofs/rock.c: Likewise.
32232 * util/mkisofs/tree.c: Likewise.
32233 * util/mkisofs/write.c: Likewise.
32234
32235 * util/mkisofs/eltorito.c (rcsid): Remove.
32236 * util/mkisofs/hash.c: Likewise.
32237 * util/mkisofs/joliet.c: Likewise.
32238 * util/mkisofs/name.c: Likewise.
32239 * util/mkisofs/rock.c: Likewise.
32240 * util/mkisofs/tree.c: Likewise.
32241 * util/mkisofs/write.c: Likewise.
32242
1dabbc77
RM
322432009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32244
32245 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
32246 instead of static allocation.
32247 * util/mkisofs/match.h: Likewise.
32248
633877cb
RM
322492009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32250
3bc7896c
RM
32251 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
32252 and `util/grub.d/10_linux.in'.
633877cb
RM
32253 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
32254 translatable Shell files.
32255
af1c0c85
RM
322562009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32257
32258 * Makefile.in ($(srcdir)/aclocal.m4): New target.
32259
769ae37b
RM
322602009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32261
32262 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 32263 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
32264 * util/grub.d/10_kfreebsd.in (bindir): New variable.
32265 Add gettext initialization.
32266 (kfreebsd_entry): Make menuentry output translatable.
32267
322682009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32269
32270 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
32271 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
32272 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
32273 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
32274 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 32275 * po/LINGUAS: New file.
769ae37b
RM
32276
322772009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32278
32279 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
32280 other things).
32281 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
32282 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
32283 bindtextdomain() calls for gettext initialization.
32284
322852009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32286
32287 * gnulib/progname.c: New file (imported from Gnulib).
32288 * gnulib/progname.h: Likewise.
32289 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32290 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
32291 (usage): Replace `progname' with `program_name'.
32292 (main): Use set_program_name() for program name initialization.
32293
322942009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32295
32296 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
32297 from here ...
32298 * Makefile.in (CPPFLAGS): ... to here.
32299
323002009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32301
32302 * aclocal.m4: Move from here ...
32303 * acinclude.m4: ... to here.
32304 * autogen.sh: Add call to `aclocal'.
32305 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
32306
323072009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32308
32309 * Makefile.in (CLEANFILES): Add `po/*.mo'.
32310 (LINGUAS): New variable.
32311 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
32312 (install-local): Install MO files.
32313 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
32314 * include/grub/i18n.h: New file.
3bc7896c
RM
32315 * po/POTFILES: New file.
32316 * po/ca.po: New file.
769ae37b
RM
32317 * util/grub.d/10_linux.in (bindir): New variable.
32318 Add gettext initialization.
32319 (linux_entry): Make menuentry output translatable.
32320 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
32321 (usage): Make --help output translatable.
32322 (main): Initialize gettext.
32323
02c0a6ad
RM
323242009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32325
32326 * import_gcry.py: New file (written by Vladimir with minor
32327 adjustments).
32328 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
32329 ciphers.
32330 * INSTALL: Document that Python is required for bootstrap.
32331
323322009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32333
32334 Import ciphers from libgcrypt 1.4.4.
32335
32336 * lib/libgcrypt/cipher/ChangeLog
32337 * lib/libgcrypt/cipher/ac.c
32338 * lib/libgcrypt/cipher/arcfour.c
32339 * lib/libgcrypt/cipher/bithelp.h
32340 * lib/libgcrypt/cipher/blowfish.c
32341 * lib/libgcrypt/cipher/camellia-glue.c
32342 * lib/libgcrypt/cipher/camellia.c
32343 * lib/libgcrypt/cipher/camellia.h
32344 * lib/libgcrypt/cipher/cast5.c
32345 * lib/libgcrypt/cipher/cipher.c
32346 * lib/libgcrypt/cipher/crc.c
32347 * lib/libgcrypt/cipher/des.c
32348 * lib/libgcrypt/cipher/dsa.c
32349 * lib/libgcrypt/cipher/ecc.c
32350 * lib/libgcrypt/cipher/elgamal.c
32351 * lib/libgcrypt/cipher/hash-common.c
32352 * lib/libgcrypt/cipher/hash-common.h
32353 * lib/libgcrypt/cipher/hmac-tests.c
32354 * lib/libgcrypt/cipher/md.c
32355 * lib/libgcrypt/cipher/md4.c
32356 * lib/libgcrypt/cipher/md5.c
32357 * lib/libgcrypt/cipher/primegen.c
32358 * lib/libgcrypt/cipher/pubkey.c
32359 * lib/libgcrypt/cipher/rfc2268.c
32360 * lib/libgcrypt/cipher/rijndael-tables.h
32361 * lib/libgcrypt/cipher/rijndael.c
32362 * lib/libgcrypt/cipher/rmd.h
32363 * lib/libgcrypt/cipher/rmd160.c
32364 * lib/libgcrypt/cipher/rsa.c
32365 * lib/libgcrypt/cipher/seed.c
32366 * lib/libgcrypt/cipher/serpent.c
32367 * lib/libgcrypt/cipher/sha1.c
32368 * lib/libgcrypt/cipher/sha256.c
32369 * lib/libgcrypt/cipher/sha512.c
32370 * lib/libgcrypt/cipher/tiger.c
32371 * lib/libgcrypt/cipher/twofish.c
32372 * lib/libgcrypt/cipher/whirlpool.c
32373
af2f93ac
RM
323742009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32375
32376 Fix build for systems without error().
32377
32378 * gnulib/error.c: New file (imported from Gnulib).
32379 * gnulib/error.h: Likewise.
32380 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
32381 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
32382 (this variable is now used by error()).
32383
73fb3dd5
FZ
323842009-11-16 Felix Zielcke <fzielcke@z-51.de>
32385
814f5e96
FZ
32386 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
32387 instead of relying that char is signed.
73fb3dd5 32388
a691ca33
VS
323892009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
32390
32391 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
32392 blocksize different from specified.
32393 (grub_pxefs_read): Likewise.
32394
2af8f0f4
FZ
323952009-11-16 Felix Zielcke <fzielcke@z-51.de>
32396
32397 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
32398
32399 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
32400 (grub_ata_readwrite): Likewise. Update 2 format strings.
32401 (grub_atapi_read): Likewise.
32402
32403 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
32404 * conf/i386.rmk (pkglib_MODULES): ... to here ...
32405 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
32406 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
32407 (ata_mod_LDFLAGS): Move from here ...
32408 * conf/i386.rmk: ... to here ...
32409 * conf/x86_64-efi.rmk: ... and here.
32410 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
32411 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
32412
83bdecaf
RM
324132009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32414
32415 Relicense multiboot.h, with RMS' blessing.
32416
32417 * include/multiboot.h: Change to X11 license.
32418
fd6fd3d7
RM
324192009-11-15 Robert Millan <rmh.grub@aybabtu.com>
32420
32421 Support --version in grub-mkisofs.
32422
32423 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
32424 (OPTION_VERSION): New macro.
32425 (ld_options): Recognize --version.
32426 (usage): Move `program_name' from here ...
32427 (program_name): ... to here. Add `static' qualifier.
32428 (main): Recognize `OPTION_VERSION'.
32429
16a88c49
FZ
324302009-11-15 Felix Zielcke <fzielcke@z-51.de>
32431
32432 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
32433 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
32434
a4158476
RM
324352009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32436
32437 Fix help2man generation for mkisofs.
32438
32439 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
32440 (usage): Send output to stdout (rather than stderr).
32441
fc2208b0
RM
324422009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32443
32444 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
32445 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32446 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
32447 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32448 (bin_SCRIPTS): Add `grub-mkfloppy'.
32449 (grub_mkfloppy_SOURCES): New variable.
32450
32451 * util/grub-mkrescue.in: New file.
32452 * util/i386/pc/grub-mkfloppy.in: New file.
32453
32454 * util/i386/coreboot/grub-mkrescue.in: Remove.
32455 * util/i386/pc/grub-mkrescue.in: Remove.
32456
8d0edf4a
RM
324572009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32458
32459 * include/grub/multiboot.h (struct grub_multiboot_header): Move
32460 from here ...
32461 * include/multiboot.h (struct multiboot_header): ... to here. Update
32462 all users.
32463 * include/grub/multiboot.h (struct grub_multiboot_info): Move
32464 from here ...
32465 * include/multiboot.h (struct multiboot_info): ... to here. Update
32466 all users.
32467 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
32468 from here ...
32469 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
32470 Update all users.
32471 * include/grub/multiboot.h (struct grub_mod_list): Move
32472 from here ...
32473 * include/multiboot.h (struct multiboot_mod_list): ... to here.
32474 Update all users.
32475
a73f5969
RM
324762009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32477
32478 * include/multiboot2.h (multiboot_word): Rename from this ...
32479 (multiboot2_word): ... to this. Update all users.
32480 (multiboot_header): Rename from this ...
32481 (multiboot2_header): ... to this. Update all users.
32482 (multiboot_tag_header): Rename from this ...
32483 (multiboot2_tag_header): ... to this. Update all users.
32484 (multiboot_tag_start): Rename from this ...
32485 (multiboot2_tag_start): ... to this. Update all users.
32486 (multiboot_tag_name): Rename from this ...
32487 (multiboot2_tag_name): ... to this. Update all users.
32488 (multiboot_tag_module): Rename from this ...
32489 (multiboot2_tag_module): ... to this. Update all users.
32490 (multiboot_tag_memory): Rename from this ...
32491 (multiboot2_tag_memory): ... to this. Update all users.
32492 (multiboot_tag_unused): Rename from this ...
32493 (multiboot2_tag_unused): ... to this. Update all users.
32494 (multiboot_tag_end): Rename from this ...
32495 (multiboot2_tag_end): ... to this. Update all users.
32496
1c8927f0
RM
324972009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32498
32499 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
32500 this platform we should support Multiboot1 first.
32501
32502 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32503 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
32504 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
32505
6e1e0d89
RM
325062009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32507
32508 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
32509 of write calls (converting them to fwrite() if they aren't already).
32510 (get_torito_desc): Likewise.
32511 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
32512
7f2b34d8
RM
325132009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32514
32515 * util/i386/pc/grub-install.in: Move from here ...
32516 * util/grub-install.in: ... to here. Update all users.
32517
c0ef3311
CW
325182009-11-11 Colin Watson <cjwatson@ubuntu.com>
32519
32520 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
32521
e1f240ff
RM
325222009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32523
32524 Support for El Torito without floppy emulation.
32525
32526 * util/mkisofs/eltorito.c: Include `<errno.h>'.
32527 (init_boot_catalog): Improve error handling.
32528 (get_torito_desc): Don't use floppy emulation unless requested by
32529 user. Patch boot information table when requested via
32530 `-boot-info-table'.
32531 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
32532 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
32533 (use_boot_info_table): New variables.
32534 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
32535 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
32536 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
32537 `--eltorito-emul-floppy'.
32538 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
32539 and `OPTION_ELTORITO_EMUL_FLOPPY'.
32540 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
32541 (use_boot_info_table, get_731): New prototypes.
32542 * util/mkisofs/write.c (get_731): New function.
32543
af7d4de5
FZ
325442009-11-11 Felix Zielcke <fzielcke@z-51.de>
32545
32546 Fix the generation of the man page.
32547
32548 * util/pc/i386/grub-install.in: Source
32549 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32550
2c55dbc0
RM
325512009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32552
32553 Large file support for grub-mkisofs.
32554
32555 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
32556 * util/mkisofs/mkisofs.c (next_extent, last_extent)
32557 (session_start): Upgrade type to `uint64_t'. Update all users.
32558 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
32559 (struct directory_entry): Upgrade type of `starting_block' and
32560 `size' to `uint64_t'. Update all users.
32561 (struct deferred): Remove unused structure.
32562 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
32563 Update all users.
32564 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
32565 file is larger than `UINT32_MAX'.
32566 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
32567 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
32568 return value.
32569 (struct deferred_write): Upgrade type of `extent' and `size' to
32570 `uint64_t'. Update all users.
32571 (last_extent_written): Upgrade type to `uint64_t'. Update all
32572 users.
32573 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
32574 Update all users. Upgrade type of `remain' to `int64_t' and
32575 `use' to `size_t'. Use error() to handle fread() errors.
32576 (write_files): Rely on write_one_file() rather than calling
32577 xfwrite() directly.
32578
6a9cead5
FZ
325792009-11-09 Felix Zielcke <fzielcke@z-51.de>
32580
32581 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
32582
4825d790
RM
325832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32584
32585 * util/mkisofs/fnmatch.c: Remove.
32586 * util/mkisofs/getopt1.c: Likewise.
32587 * util/mkisofs/getopt.c: Likewise.
32588 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
32589 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
32590 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
32591 `gnulib/getopt1.c' and `gnulib/getopt.c'.
32592 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
32593
32594 * configure.ac: Detect `mingw32msvc' host_os.
32595 Check for lstat(), getuid() and getgid().
32596
32597 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
32598 instances of `u_char' with `uint8_t'.
32599
32600 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
32601 [!HAVE_GETUID] (getuid): New function (stub).
32602 [!HAVE_GETGID] (getgid): Likewise.
32603 [!HAVE_LSTAT] (lstat): Likewise.
32604 [!S_IROTH] (S_IROTH): New macro (dummy).
32605 [!S_IRGRP] (S_IRGRP): Likewise.
32606
84b860d8
RM
326072009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32608
32609 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
32610 conditional expression).
32611
66e9b712
RM
326122009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32613
32614 Import from Gnulib.
32615
32616 * gnulib/fnmatch.c: New file.
32617 * gnulib/fnmatch.h: Likewise.
32618 * gnulib/fnmatch_loop.c: Likewise.
32619 * gnulib/getopt.c: Likewise.
32620 * gnulib/getopt.h: Likewise.
32621 * gnulib/getopt1.c: Likewise.
32622 * gnulib/getopt_int.h: Likewise.
32623 * gnulib/gettext.h: Likewise.
32624
34f4a5b0
RM
326252009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32626
32627 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
32628 * normal/handler.c (read_handler_list): Likewise.
32629
ac451143
RM
326302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32631
32632 Misc cleanup.
32633
32634 * kern/command.c (grub_register_command_prio): Use
32635 grub_zalloc() instead of explicitly zeroing data.
32636 * kern/list.c: Include `<grub/mm.h>'.
32637 (grub_named_list_find): Replace `0' with `NULL'.
32638 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
32639 (fs_module_list): Change type to `grub_named_list_t'. Update all
32640 users.
32641 * normal/dyncmd.c (read_command_list): Add space between function
32642 call and parenthesis.
32643 * normal/handler.c (read_handler_list): Likewise.
32644
4089b167
RM
326452009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32646
32647 * normal/auth.c (punishment_delay): Moved from here ...
32648 (grub_auth_strcmp): ... to here (inside function).
32649
325f5037
RM
326502009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32651
32652 * include/grub/list.h (struct grub_named_list): Remove `const'
32653 qualifier from `name'.
32654 (struct grub_prio_list): Likewise.
32655
7aea29a3
RM
326562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32657
32658 * normal/auth.c: Include `<grub/time.h>'.
32659 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
32660
3fd6f044
RM
326612009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32662
32663 * normal/auth.c (punishment_delay): New variable.
32664 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
32665 (grub_auth_check_authentication): Punish failed login attempts with
32666 an incremental (2^N) delay.
32667
a4cd68e4
RM
326682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32669
32670 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
32671 path with $(srcdir).
32672
7ad12f43
VS
326732009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32674
32675 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
32676
c1129f03
RM
326772009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32678
32679 * util/i386/coreboot/grub-mkrescue.in: New file.
32680 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
32681 variables.
32682
32683 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
32684 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
32685 * configure.ac: Add header and function checks to satisfy grub-mkisofs
32686 requirements.
32687 * util/mkisofs/defaults.h: New file.
32688 * util/mkisofs/eltorito.c: Likewise.
32689 * util/mkisofs/exclude.h: Likewise.
32690 * util/mkisofs/fnmatch.c: Likewise.
32691 * util/mkisofs/getopt.c: Likewise.
32692 * util/mkisofs/getopt1.c: Likewise.
32693 * util/mkisofs/hash.c: Likewise.
32694 * util/mkisofs/include/fctldefs.h: Likewise.
32695 * util/mkisofs/include/mconfig.h: Likewise.
32696 * util/mkisofs/include/prototyp.h: Likewise.
32697 * util/mkisofs/include/statdefs.h: Likewise.
32698 * util/mkisofs/iso9660.h: Likewise.
32699 * util/mkisofs/joliet.c: Likewise.
32700 * util/mkisofs/match.c: Likewise.
32701 * util/mkisofs/match.h: Likewise.
32702 * util/mkisofs/mkisofs.c: Likewise.
32703 * util/mkisofs/mkisofs.h: Likewise.
32704 * util/mkisofs/multi.c: Likewise.
32705 * util/mkisofs/name.c: Likewise.
32706 * util/mkisofs/rock.c: Likewise.
32707 * util/mkisofs/tree.c: Likewise.
32708 * util/mkisofs/write.c: Likewise.
32709
ec8bb77d
VS
327102009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32711
32712 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
32713 being insecure.
32714
3716b12c
RM
327152009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32716
32717 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
32718 `grub-mkimage' (and use $0 when possible).
32719
b97b7b91
RM
327202009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32721
32722 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
32723 error message for excessively large memory map.
32724
04114812
RM
327252009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32726
32727 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
32728 executable bit.
32729
e4eb2373
RM
327302009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32731
32732 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
32733 message for coreboot users.
32734
c926e1d5 327352009-11-07 Robert Millan <rmh.grub@aybabtu.com>
32736
32737 Fix build with GNU gold.
32738
32739 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
32740 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
32741 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
32742 link addresses.
32743 * aclocal.m4: Likewise.
32744
86e5b1db 327452009-11-04 Felix Zielcke <fzielcke@z-51.de>
32746
32747 * configure.ac (AC_PREREQ): Bump to 2.59d.
32748 * INSTALL: Make it more clear when Autoconf and Ruby are
32749 needed and when to run `./autogen.sh'.
32750
246cd78f 327512009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
32752
32753 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
32754 OSes.
32755
4f9dfb37 327562009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32757
32758 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
32759
b82bd5e1 327602009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32761
32762 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
32763 giving it to GNU Mach.
32764
ff1a9bca 327652009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32766
32767 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
32768 GNU partition number to get internal GRUB partition number.
32769
61697d9c 327702009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32771
32772 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
32773 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
32774
a50569e1 327752009-11-01 Robert Millan <rmh.grub@aybabtu.com>
32776
32777 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
32778 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
32779 case.
32780
5b153867 327812009-11-01 Felix Zielcke <fzielcke@z-51.de>
32782
32783 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
32784
d9e2cd70 327852009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32786
32787 Fix build problem.
32788
32789 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
32790 `-isystem=$(srcdir)/include'.
32791
805111a4 327922009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32793
32794 * util/i386/pc/grub-install.in: Remove hint that device.map should be
32795 checked (grub-install doesn't currently rely on it).
32796
fa6e945f 327972009-10-29 Robert Millan <rmh.grub@aybabtu.com>
32798
32799 Revert SVN r2660.
32800
32801 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
32802 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32803 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
32804 * conf/i386-ieee1275.rmk: Likewise.
32805 * conf/i386-pc.rmk: Likewise.
32806 * conf/powerpc-ieee1275.rmk: Likewise.
32807 * conf/sparc64-ieee1275.rmk: Likewise.
32808 * conf/x86_64-efi.rmk: Likewise.
32809
cee15086 328102009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32811
32812 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
32813
95b9239e 328142009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32815
32816 * include/grub/misc.h: Stop checking for APPLE_CC.
32817
2ed19dfd 328182009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32819
32820 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
32821 doesn't cause an infinite call loop.
32822
fdcdde19 328232009-10-28 Felix Zielcke <fzielcke@z-51.de>
32824
32825 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
32826 strings.
32827
cefabfe1 328282009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32829
32830 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
32831 variable.
32832 * Makefile.in: Likewise.
32833
ed96ab6d 328342009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32835
32836 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
32837
0579b753 328382009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32839
32840 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
32841
478df409 328422009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32843
32844 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
32845
083d1679 328462009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32847
32848 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
32849 from here ...
32850 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
32851
5947ae32 328522009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32853
32854 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
32855 in $(MAKEINFO) invocation. This makes it clear in output that
32856 errors are being ignored.
32857
94180ff6 328582009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32859
32860 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
32861 from here ...
32862 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32863 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
32864 * conf/i386-ieee1275.rmk: Likewise.
32865 * conf/i386-pc.rmk: Likewise.
32866 * conf/powerpc-ieee1275.rmk: Likewise.
32867 * conf/sparc64-ieee1275.rmk: Likewise.
32868 * conf/x86_64-efi.rmk: Likewise.
32869
9031b03a 328702009-10-26 Colin Watson <cjwatson@ubuntu.com>
32871
32872 * util/grub-editenv.c (main): If only a command is given, use
32873 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
32874 (usage): FILENAME is now optional and has a default.
32875
e4f6809b 328762009-10-26 Colin Watson <cjwatson@ubuntu.com>
32877
32878 Improve grub-mkconfig performance when there are several menu
32879 entries on a single filesystem.
32880
32881 * util/grub.d/10_linux.in (linux_entry): Cache the output of
32882 prepare_grub_to_access_device.
32883 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32884 * util/grub.d/30_os-prober.in: Likewise.
32885
67937d4d 328862009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32887
32888 * util/grub.d/10_freebsd.in: Remove.
32889 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
32890 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
32891
ee3756cc 328922009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32893
5c35048e 32894 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 32895
4dea1c6f 328962009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32897
32898 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
32899 grub_util_error() call.
32900
042484d7 329012009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32902
32903 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
32904 `reserved_first_sector' member.
32905 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
32906 `reserved_first_sector' to 1.
32907 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
32908 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
32909 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
32910 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
32911 filesystems which begin at first sector.
32912 (options): New option --skip-fs-probe.
32913 (main): Handle --skip-fs-probe and pass it to setup().
32914
d64448a7 329152009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32916
32917 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
32918 (memset): Fix function prototype.
32919
508d42ec 329202009-10-25 Robert Millan <rmh.grub@aybabtu.com>
329212009-10-25 Vasily Averin <vvs@parallels.com>
32922
32923 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
32924 `dirent.direntlen == 0'.
32925
b240e30c 329262009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32927
32928 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
32929 `cpio'.
32930 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
32931
346e7fbe 329322009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32933
32934 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
32935 `__trampoline_setup' and `__ucmpdi2'.
32936 * include/grub/powerpc/libgcc.h: Only export symbols for functions
32937 that libgcc provides.
32938
cdb308b0 329392009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32940
32941 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
32942 * include/grub/sparc64/libgcc.h (memset): Likewise.
32943 * include/grub/misc.h (memset, memcmp): New function prototypes.
32944
fb26abc2 329452009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32946
32947 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
32948 `cpio'.
32949 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
32950
f6693890 329512009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32952
32953 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
32954 * docs/grub.cfg: Compensate for recent change in multiboot
32955 loader (since 2009-08-14 it won't pass filename to payload).
32956 * util/grub.d/10_hurd.in: Likewise.
32957
0933cdc0 329582009-10-21 Felix Zielcke <fzielcke@z-51.de>
32959
32960 * config.guess: Update to latest version from config git
32961 repository.
32962 * config.sub: Likewise.
32963
3b2fe8c2 329642009-10-20 Robert Millan <rmh.grub@aybabtu.com>
32965
32966 Fix build on sparc64.
32967
32968 * configure.ac: Perform checks for libgcc symbols before
32969 adding `-nostdlib' to LDFLAGS.
32970
46695a62 329712009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
32972
32973 Let user specify OpenBSD root device.
32974
32975 * loader/i386/bsd.c (openbsd_root): New variable.
32976 (openbsd_opts): New option 'root'.
32977 (OPENBSD_ROOT_ARG): New macro.
32978 (grub_openbsd_boot): Use 'openbsd_root'.
32979 (grub_cmd_openbsd): Fill 'openbsd_root'.
32980
d2b6b7fc 329812009-10-16 Robert Millan <rmh.grub@aybabtu.com>
32982
32983 * NEWS: Misc adjustments.
32984
421bd7ac 329852009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
32986
32987 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
32988
f1d29d87 329892009-10-16 Robert Millan <rmh.grub@aybabtu.com>
32990
32991 * configure.ac: Bump version to 1.97.
32992
6f3cd880 329932009-10-16 Colin Watson <cjwatson@ubuntu.com>
32994
32995 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
32996 -mno-3dnow on x86 architectures. Some toolchains enable these
32997 features by default, but they rely on registers that aren't enabled
32998 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
32999
035f7122 330002009-10-15 Robert Millan <rmh.grub@aybabtu.com>
33001
33002 Make entry text a bit more readable.
33003
33004 * util/grub.d/10_linux.in: Add `with' before `Linux'.
33005
44998e58 330062009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33007
33008 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
33009
cd2851b3 330102009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33011
33012 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
33013 operations.
33014
c6f3b249 330152009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33016
33017 * configure.ac: Add missing dollar.
33018
6b5886ba 330192009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33020
33021 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
33022
33023 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
33024 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
33025 exports.
33026 * include/grub/sparc64/libgcc.h: Likewise. Use
33027 preprocessor conditionals.
33028
e9d66f6d 330292009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33030
33031 * conf/common.rmk (grub-dumpbios): Remove rule.
33032 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
33033 * util/grub-dumpbios.in: Remove file.
33034
9155bc17 330352009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33036
33037 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
33038 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
33039
33040 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
33041 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
33042 users.
33043
33044 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
33045 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
33046 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
33047 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
33048 users.
33049
bf7f7a18 330502009-10-12 Robert Millan <rmh.grub@aybabtu.com>
33051
33052 * term/tparm.c: Switch to GPLv3.
33053
86564c26 330542009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33055
33056 * include/grub/i386/cpuid.h: Add header protection.
33057
5c936493 330582009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33059
33060 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
33061
33062 * include/grub/i386/cpuid.h: New file.
33063 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
33064 (has_longmode): Rename to ...
33065 (grub_cpuid_has_longmode): ... this. Update all users. Remove
33066 `static' attribute.
33067 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
33068 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
33069 on a CPU that doesn't implement AMD64 instruction set.
33070
186e7cf2 330712009-10-06 Colin Watson <cjwatson@ubuntu.com>
33072
33073 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
33074 that version.texi is rebuilt on version number changes.
33075
83b65c4a 330762009-10-06 Colin Watson <cjwatson@ubuntu.com>
33077
33078 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
33079 Fixes bug #27602.
33080
d244281c 330812009-10-06 Colin Watson <cjwatson@ubuntu.com>
33082
33083 * util/i386/pc/grub-install.in: Source
33084 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
33085 that the --grub-probe option will work.
33086 * util/sparc64/ieee1275/grub-install.in: Likewise.
33087
da25306d 330882009-10-05 Robert Millan <rmh.grub@aybabtu.com>
33089
33090 * configure.ac: Bump version to 1.97~beta4.
33091
e8ee83c0 330922009-10-03 Robert Millan <rmh.grub@aybabtu.com>
33093
33094 Resync grub-mkdevicemap in x86_64-efi.
33095
33096 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
33097 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
33098 `util/devicemap.c'.
33099
50dcabcf 331002009-10-01 Colin Watson <cjwatson@ubuntu.com>
33101
33102 * util/grub-editenv.c (create_envblk_file): Write new block with a
33103 .new suffix and then rename it into place, to ensure atomic
33104 creation.
33105
0e51c3a7 331062009-09-28 Robert Millan <rmh.grub@aybabtu.com>
33107
33108 Do not automatically install headers.
33109
33110 * Makefile.in (include_DATA): Remove. Update all users.
33111
31299a95 331122009-09-26 Robert Millan <rmh.grub@aybabtu.com>
33113
33114 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
33115 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
33116
33117 * util/osdetect.lua: Remove.
33118 * script/lua/lauxlib.c: Likewise.
33119 * script/lua/ldebug.c: Likewise.
33120 * script/lua/grub_main.c: Likewise.
33121 * script/lua/lauxlib.h: Likewise.
33122 * script/lua/ldebug.h: Likewise.
33123 * script/lua/ltablib.c: Likewise.
33124 * script/lua/liolib.c: Likewise.
33125 * script/lua/lstrlib.c: Likewise.
33126 * script/lua/lualib.h: Likewise.
33127 * script/lua/ldo.c: Likewise.
33128 * script/lua/ldump.c: Likewise.
33129 * script/lua/ldo.h: Likewise.
33130 * script/lua/loslib.c: Likewise.
33131 * script/lua/lundump.c: Likewise.
33132 * script/lua/grub_lib.c: Likewise.
33133 * script/lua/ldblib.c: Likewise.
33134 * script/lua/lundump.h: Likewise.
33135 * script/lua/lmem.c: Likewise.
33136 * script/lua/grub_lib.h: Likewise.
33137 * script/lua/lmathlib.c: Likewise.
33138 * script/lua/lstate.c: Likewise.
33139 * script/lua/ltm.c: Likewise.
33140 * script/lua/lvm.c: Likewise.
33141 * script/lua/lmem.h: Likewise.
33142 * script/lua/lstate.h: Likewise.
33143 * script/lua/ltm.h: Likewise.
33144 * script/lua/ltable.c: Likewise.
33145 * script/lua/lvm.h: Likewise.
33146 * script/lua/llex.c: Likewise.
33147 * script/lua/lgc.c: Likewise.
33148 * script/lua/grub_lua.h: Likewise.
33149 * script/lua/loadlib.c: Likewise.
33150 * script/lua/lfunc.c: Likewise.
33151 * script/lua/lopcodes.c: Likewise.
33152 * script/lua/lparser.c: Likewise.
33153 * script/lua/ltable.h: Likewise.
33154 * script/lua/llex.h: Likewise.
33155 * script/lua/lgc.h: Likewise.
33156 * script/lua/lfunc.h: Likewise.
33157 * script/lua/lbaselib.c: Likewise.
33158 * script/lua/lopcodes.h: Likewise.
33159 * script/lua/lparser.h: Likewise.
33160 * script/lua/lzio.c: Likewise.
33161 * script/lua/linit.c: Likewise.
33162 * script/lua/lobject.c: Likewise.
33163 * script/lua/llimits.h: Likewise.
33164 * script/lua/lstring.c: Likewise.
33165 * script/lua/lzio.h: Likewise.
33166 * script/lua/lapi.c: Likewise.
33167 * script/lua/lcode.c: Likewise.
33168 * script/lua/lua.h: Likewise.
33169 * script/lua/lobject.h: Likewise.
33170 * script/lua/lstring.h: Likewise.
33171 * script/lua/lapi.h: Likewise.
33172 * script/lua/lcode.h: Likewise.
33173 * script/lua/luaconf.h: Likewise.
33174
cb8a2c38 331752009-09-26 Colin Watson <cjwatson@ubuntu.com>
33176
33177 * docs/grub.texi (Command-line and menu entry commands): Document
33178 date and echo commands.
33179
6b9b6276 331802009-09-24 Pavel Roskin <proski@gnu.org>
33181
33182 * include/grub/kernel.h (struct grub_module_header): Remove
33183 `grub_module_header_types'. Make `type' unsigned. Make `size'
33184 32-bit on all platforms.
33185 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
33186 8-bit field. Use grub_host_to_target32() for `size'.
33187 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
33188 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
33189 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
33190
4e5a02a7 331912009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33192
33193 Fix "lost keypress" bug in at_keyboard.
33194
33195 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
33196 Checks for readyness of input buffer (without flushing it).
33197 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
33198 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
33199
c6dcedf6 332002009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33201
33202 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
33203 size check within GRUB_MACHINE_PCBIOS section.
33204
74c958b1 332052009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33206
33207 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
33208 return value.
33209 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
33210 KEYBOARD_ISREADY check.
33211 (grub_at_keyboard_checkkey): Rename to ...
33212 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
33213 Remove gratuitous cast.
33214
ff420223 332152009-09-23 Colin Watson <cjwatson@ubuntu.com>
33216
33217 * configure.ac: Call AC_PROG_MKDIR_P.
33218 * Makefile.in (docs/stamp-vti): Create docs directory. Create
33219 version.texi in $(builddir) rather than $(srcdir).
33220 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
33221 to makeinfo's @include search path.
33222
d96875df 332232009-09-23 Felix Zielcke <fzielcke@z-51.de>
33224
33225 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
33226
9b3f8365 332272009-09-23 Felix Zielcke <fzielcke@z-51.de>
33228
33229 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
33230 for `*.dpkg-new'.
33231
c44c90db 332322009-09-21 Colin Watson <cjwatson@ubuntu.com>
33233
33234 Build info documentation. Some code borrowed from Automake.
33235
33236 * configure.ac: Check for makeinfo.
33237 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
33238 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
33239 docs/version.texi.
33240 (MOSTLYCLEANFILES): Add vti.tmp.
33241 (docs/version.texi, docs/stamp-vti): Update automatically.
33242 (docs/grub.info): Build info documentation. Use --force and ignore
33243 errors for now.
33244 (all-local): Add $(INFOS).
33245 (install-local): Install info files.
33246 (uninstall): Uninstall info files.
33247 * docs/version.texi: Remove from revision control. This file is
33248 automatically generated on build now.
33249 * gendistlist.sh: Add `*.info'.
33250
e0b37bb5 332512009-09-21 Felix Zielcke <fzielcke@z-51.de>
33252
33253 * kern/term.c: Fix indentation.
33254
5a78865b 332552009-09-21 Felix Zielcke <fzielcke@z-51.de>
33256
33257 * util/hostdisk.c: Fix a comment.
33258
dace7e8a 332592009-09-20 Robert Millan <rmh.grub@aybabtu.com>
33260
33261 Fix regression introduced in r2539.
33262
33263 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
33264 to 0xA1.
33265
a83d079b 332662009-09-19 Colin Watson <cjwatson@ubuntu.com>
33267
33268 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 33269 os-prober. Under normal operation, it does not print anything to
33270 stderr; if it does, we need to debug it, and throwing away stderr
33271 makes that excessively difficult.
a83d079b 33272
be94a509 332732009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
33274
33275 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
33276
63f745e8 332772009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33278
33279 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
33280 AC_LANG_PROGRAM from autoconf.
33281 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
33282 prototypes (fixes warning).
33283
33284 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
33285 `--disable-werror' was used.
33286
bbb2a70f 332872009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33288
33289 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
33290 uninitialized `lastaddr'.
33291
77c24f1d 332922009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
33293
0f0b8c87 33294 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 33295
07197f23 332962009-09-14 Colin Watson <cjwatson@ubuntu.com>
33297
33298 * commands/test.c (get_fileinfo): Return immediately if
33299 grub_fs_probe fails.
33300
dabf1798 333012009-09-14 José Martínez <xosemp@gmail.com>
33302
33303 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
33304
d52109a7 333052009-09-14 Colin Watson <cjwatson@ubuntu.com>
33306
33307 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
33308 output.
33309
56532179 333102009-09-13 Robert Millan <rmh.grub@aybabtu.com>
33311
33312 * configure.ac: Remove --enable-grub-pe2elf. Only build
33313 grub-pe2elf when needed by the build system itself.
33314 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
33315
8ef070f5 333162009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33317
33318 * configure.ac: Bump version to 1.97~beta3.
33319 * docs/version.texi: Likewise.
33320
61229557 333212009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33322
33323 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
33324 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
33325 from here ...
33326 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
33327 (grub_linux_setup_video): ... to here (with some adjustments).
33328
5c9f8d84 333292009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33330
33331 Fix memory corruption issue (spotted by Colin Watson).
33332
33333 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
33334 causing returned size to be stored in an incorrect memory location.
33335 Fix use of uninitialized value when storing the returned size.
33336
e8f5d6e9 333372009-09-12 Yves Blusseau <blusseau@zetam.org>
33338
33339 Change clean rules to properly remove files
33340
33341 * genmk.rb: add new clean rules
33342 * Makefile.in (clean): add the new targets
33343 (mostlyclean): likewise
33344
cda2a409 333452009-09-11 Colin Watson <cjwatson@ubuntu.com>
33346
33347 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
33348 to grub_uint64_t.
33349 * fs/ntfs.c (init_file): Understand 64-bit sizes for
33350 non-resident files.
33351
86695375 333522009-09-11 Colin Watson <cjwatson@ubuntu.com>
33353
33354 * configure.ac: Don't look for help2man when cross-compiling. Fixes
33355 part of bug #27349.
33356
8aa1541a 333572009-09-10 Felix Zielcke <fzielcke@z-51.de>
33358
33359 * util/grub-mkconfig.in: Make the created config mode 400 and
33360 print a warning if it fails.
33361
48d9bb0a 333622009-09-10 Robert Millan <rmh.grub@aybabtu.com>
33363
33364 * util/grub.d/40_custom.in: Ask user to type custom entries below
33365 comment, rather than below 'exec tail' line.
33366
3b0521be 333672009-09-10 Colin Watson <cjwatson@ubuntu.com>
33368
33369 * util/grub.d/40_custom.in: Make sure that the explanatory text is
33370 visible in grub.cfg.
33371
50051d55 333722009-09-10 Colin Watson <cjwatson@ubuntu.com>
33373
33374 * util/grub.d/40_custom.in: Make it a little clearer how to use this
33375 file.
33376
c0d34387 333772009-09-10 Felix Zielcke <fzielcke@z-51.de>
33378
33379 * docs/grub.cfg: Add an example menu entry for memtest86+.
33380
80a608f3 333812009-09-09 Felix Zielcke <fzielcke@z-51.de>
33382
a2094832 33383 * config.guess: Update to latest version from config git.
80a608f3 33384 * config.sub: Likewise.
33385
99423078 333862009-09-08 Colin Watson <cjwatson@ubuntu.com>
33387
33388 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
33389 unknown-command case. Fixes bug #27320.
33390
44454e4c 333912009-09-08 Felix Zielcke <fzielcke@z-51.de>
33392
33393 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
33394 `help' if the command exists.
33395
e30d87ad 333962009-09-06 Robert Millan <rmh.grub@aybabtu.com>
33397
33398 * INSTALL: Require GCC 4.1.3 or later.
33399
9a86f1ec 334002009-09-06 Yves Blusseau <blusseau@zetam.org>
33401
33402 * Makefile.in (RMKFILES): add i386-qemu.rmk
33403 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
33404 $(srcdir)/stamp-h.in
33405
7f26d466 334062009-09-05 Robert Millan <rmh.grub@aybabtu.com>
33407
33408 * util/grub-probe.c (probe): Comment out buggy codepath, which
33409 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
33410 should be re-enabled after 1.97.
33411
3a613259 334122009-09-05 Felix Zielcke <fzielcke@z-51.de>
33413
33414 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
33415 find searches for.
33416
197f76c7 334172009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
33418
33419 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
33420 unnecessary calls to grub_error.
33421
70ba68ce 334222009-09-04 Colin Watson <cjwatson@ubuntu.com>
33423
33424 * NEWS: Mention `keystatus' and Unicode fonts.
33425
4ff0d7a4 334262009-09-04 Robert Millan <rmh.grub@aybabtu.com>
33427
33428 * configure.ac: Bump version to 1.97~beta2.
33429 * docs/version.texi: Likewise.
33430
77c55a87 334312009-09-03 Colin Watson <cjwatson@ubuntu.com>
33432
33433 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
33434 containing unwind information in some cases where it previously did
33435 not. Use -fno-dwarf2-cfi-asm if available to restore the old
33436 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
33437 discussion.
33438
f79572cd 334392009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
33440
33441 Embedding loadenv module into grub-emu
33442
33443 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
33444 commands/loadenv.c
33445 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
33446 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
33447 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
33448 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
33449 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
33450 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
33451
93a81088 334522009-09-03 Magnus Granberg <zorry@ume.nu>
33453
33454 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
33455 include -fPIE in the default specs.
33456 * configure.ac: Check if pie_possible is yes and add -fno-PIE
33457 to TARGET_CFLAGS.
33458
160034b2 334592009-09-03 Felix Zielcke <fzielcke@z-51.de>
33460
33461 * INSTALL: Note that GNU Bison 2.3 or later is required.
33462
087c07c4 334632009-09-03 Colin Watson <cjwatson@ubuntu.com>
33464
33465 * kern/i386/pc/startup.S: Fix typo.
33466
cbf978c0 334672009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
33468
33469 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
33470 according to GCS.
33471
334722009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 33473
33474 * docs/grub.texi (Naming convention): Describe one-based partition
33475 numbering.
33476 (Device syntax): Likewise.
33477 (File name syntax): Likewise.
33478 (Block list syntax): Likewise.
33479 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
33480 menu.lst.
33481 (File name syntax): Likewise.
33482 (Command-line and menu entry commands): Document acpi, blocklist,
33483 crc, export, insmod, keystatus, ls, set, and unset commands.
33484
f3e8cdfd 334852009-09-02 Colin Watson <cjwatson@ubuntu.com>
33486
33487 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
33488 to avoid implying that only one of --shift, --ctrl, or --alt may be
33489 used.
33490
c0bc232b 334912009-09-02 Colin Watson <cjwatson@ubuntu.com>
33492
33493 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
33494 rather than comparing against S_IFREG, which will almost never work.
33495
aa0f752d 334962009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
33497
33498 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
33499 (write_blocklists): Likewise.
33500
ecb3166a 335012009-09-01 Colin Watson <cjwatson@ubuntu.com>
33502
33503 * script/lua/grub_lua.h (fputs): Supply a format string as the first
33504 argument to grub_printf.
33505
c403a125 335062009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 33507
33508 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 33509 non GNU test.
31aba781 33510
b5e7312c 335112009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33512
33513 * kern/file.c (grub_file_read): Spelling fix
33514
fe00f472 335152009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33516
33517 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
33518 loading of headers in some cases.
33519
cc55302e 335202009-08-30 Robert Millan <rmh.grub@aybabtu.com>
33521
33522 * configure.ac: Bump version to 1.97~beta1.
33523 * docs/version.texi: Likewise.
33524
5c90cdd2 335252009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 33526
33527 * include/grub/i386/xnu.h: Add license header.
33528 include grub/err.h explicitly.
33529
c90edae4 335302009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33531
33532 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
33533 to `ufs' in the vfs.root.mountfrom kernel parameter.
33534
d8888b5c 335352009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33536
33537 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
33538
33539 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
33540 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
33541
33542 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
33543 `ARRAY_SIZE' macro.
33544
6f07b921 335452009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33546
33547 * kern/file.c (grub_file_read): Check offset.
33548 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
33549 * fs/jfs.c (grub_jfs_read_file): Likewise.
33550 * fs/ntfs.c (grub_ntfs_read): Likewise.
33551 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
33552 * fs/minix.c (grub_minix_read_file): Correct offset check.
33553 * fs/ufs.c (grub_ufs_read_file): Likewise.
33554
b4f34077 335552009-08-28 Colin Watson <cjwatson@ubuntu.com>
33556
33557 * term/i386/pc/console.c (bios_data_area): Cast
33558 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
33559
e7c69859 335602009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33561
33562 1-bit optimised blitters.
33563
33564 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
33565 prototype.
33566 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33567 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33568 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33569 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33570 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33571 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33572 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
33573 function.
33574 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33575 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33576 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33577 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33578 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33579 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33580 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
33581 when possible.
33582 * video/video.c (grub_video_get_blit_format): Return
33583 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
33584
a57da43f 335852009-08-28 Colin Watson <cjwatson@ubuntu.com>
33586
33587 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
33588 the first argument to grub_printf.
33589
4cbe67e5 335902009-08-28 Colin Watson <cjwatson@ubuntu.com>
335912009-08-28 Robert Millan <rmh.grub@aybabtu.com>
33592
33593 Add `getkeystatus' terminal method. Add a new `keystatus' command
33594 to query it.
33595
33596 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
33597 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
33598 modifier key bitmasks.
33599 (struct grub_term_input): Add `getkeystatus' member.
33600 (grub_getkeystatus): Add prototype.
33601 * kern/term.c (grub_getkeystatus): New function.
33602
33603 * include/grub/i386/pc/memory.h
33604 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
33605 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
33606 Data Area layout.
33607 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
33608 (grub_console_term_input): Set `getkeystatus' member.
33609 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
33610 constants.
33611 (grub_usb_keyboard_getreport): Likewise.
33612 (grub_usb_keyboard_checkkey): Likewise.
33613 (grub_usb_keyboard_getkeystatus): New function.
33614 (grub_usb_keyboard_term): Set `getkeystatus' member.
33615
33616 * commands/keystatus.c: New file.
33617 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
33618 (keystatus_mod_SOURCES): New variable.
33619 (keystatus_mod_CFLAGS): Likewise.
33620 (keystatus_mod_LDFLAGS): Likewise.
33621 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
33622 commands/keystatus.c.
33623 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33624 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33625 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33626 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33627 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33628 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 33629
6e2a9085 336302009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33631
33632 Split befs.mod and afs.mod into *_be.mod and *.mod
33633
33634 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
33635 (grub_fstest_SOURCES): Likewise.
33636 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
33637 (afs_be_mod_SOURCES): New variable.
33638 (afs_be_mod_CFLAGS): Likewise.
33639 (afs_be_mod_LDFLAGS): Likewise.
33640 (befs_be_mod_SOURCES): Likewise.
33641 (befs_be_mod_CFLAGS): Likewise.
33642 (befs_be_mod_LDFLAGS): Likewise.
33643 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
33644 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33645 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33646 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33647 (grub_emu_SOURCES): Likewise.
33648 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33649 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33650 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33651 * fs/afs_be.c: New file.
33652 * fs/befs_be.c: New file.
33653 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
33654 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
33655 (U16): Replaced with ...
33656 (grub_afs_to_cpu16): ...this. All users updated.
33657 (U32): Replaced with ...
33658 (grub_afs_to_cpu32): ...this. All users updated.
33659 (U64): Replaced with ...
33660 (grub_afs_to_cpu64): ...this. All users updated.
33661 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
33662 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 33663 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 33664 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33665 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33666 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33667 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33668 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33669 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33670 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33671 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33672
32a71655 336732009-08-26 Bean <bean123ch@gmail.com>
33674
33675 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
33676 64-bit number.
33677 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
33678 (grub_xfs_inode_block): Change return type to grub_uint64_t.
33679 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
33680
552bf6c5 336812009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33682
33683 NetBSD memory map support.
33684
33685 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
33686 (grub_netbsd_btinfo_mmap_header): New structure.
33687 (grub_netbsd_btinfo_mmap_entry): Likewise.
33688 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
33689
1ae2078c 336902009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33691
33692 Enable bsd.mod on coreboot.
33693
33694 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
33695 (bsd_mod_SOURCES): New variable.
33696 (bsd_mod_CFLAGS): Likewise.
33697 (bsd_mod_LDFLAGS): Likewise.
33698 (bsd_mod_ASFLAGS): Likewise.
33699 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
33700 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
33701
beefc598 337022009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33703
33704 Cleanup NetBSD root support.
33705
33706 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
33707 grub_bsd_get_device.
33708 Fix typo.
33709
3b76e68b 337102009-08-25 Felix Zielcke <fzielcke@z-51.de>
33711
33712 * util/grub.d/00_header.in: Move check for the video backend of
33713 gfxterm from here ...
33714 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
33715 a suitable video backend.
33716
aea664ea 337172009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33718
33719 Fix breakage in grub-setup.
33720
33721 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
33722 "msdos_partition_map".
33723
ff747d50 337242009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33725
33726 Fix breakage in normal/auth.c.
33727
33728 * normal/auth.c (grub_iswordseparator): New function.
33729
e7e1f93f 337302009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33731
33732 Authentication support.
33733
33734 * commands/password.c: New file.
33735 * conf/common.rmk (pkglib_MODULES): Add password.mod.
33736 (password_mod_SOURCES): New variable.
33737 (password_mod_CFLAGS): Likewise.
33738 (password_mod_LDFLAGS): Likewise.
33739 (normal_mod_SOURCES): Add normal/auth.c.
33740 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
33741 normal/auth.c.
33742 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33743 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33744 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33745 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33746 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33747 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33748 * include/grub/auth.h: New file.
33749 * include/grub/err.h (grub_err_t): New enum value
33750 GRUB_ERR_ACCESS_DENIED.
33751 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
33752 'users'.
33753 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
33754 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
33755 users updated.
33756 * normal/auth.c: New file.
33757 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
33758 (grub_cmdline_run): Don't allow to go to command line without
33759 authentication.
33760 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
33761 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
33762 menuentry without superuser rights.
33763 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
33764 user isn't a superuser.
33765
70f1161d 337662009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33767
33768 Save space by inlining misc.c functions.
33769
33770 * kern/misc.c (grub_iswordseparator): Made static.
33771 * kern/misc.c (grub_strcat): Moved from here ...
33772 * include/grub/misc.h (grub_strcat): ... here. Inlined.
33773 * kern/misc.c (grub_strncat): Moved from here ...
33774 * include/grub/misc.h (grub_strncat): ... here. Inlined.
33775 * kern/misc.c (grub_strcasecmp): Moved from here ...
33776 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
33777 * kern/misc.c (grub_strncasecmp): Moved from here ...
33778 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
33779 * kern/misc.c (grub_isalpha): Moved from here ...
33780 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
33781 * kern/misc.c (grub_isdigit): Moved from here ...
33782 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
33783 * kern/misc.c (grub_isgraph): Moved from here ...
33784 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
33785 * kern/misc.c (grub_tolower): Moved from here ...
33786 * include/grub/misc.h (grub_tolower): ... here. Inlined.
33787
48e40bff 337882009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33789
33790 * script/sh/function.c (grub_script_function_find): Cut error message
33791 not to flood terminal.
33792 * script/sh/lexer.c (grub_script_yylex): Remove command line length
33793 limit.
33794 * script/sh/script.c (grub_script_arg_add): Duplicate string.
33795
c385bfc3 337962009-08-24 Colin Watson <cjwatson@ubuntu.com>
33797
33798 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
33799 `report' grub_uint8_t *.
33800 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
33801 Use a 50-millisecond timeout rather than just repeating
33802 grub_usb_keyboard_getreport 50 times.
33803 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
33804
2d21e3e8 338052009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33806
33807 Rename *_partition_map to part_*
33808
33809 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
33810 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
33811 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
33812 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
33813 All users updated.
33814 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
33815 All users updated.
33816 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
33817 * util/grub-probe.c (probe_partmap): Don't transform partition name
33818 to get module name.
33819
dd103c4e 338202009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33821
33822 Fix OpenBSD and NetBSD support.
33823
33824 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
33825 memory address conflict.
33826 (OPENBSD_MMAP_ACPI): New definition.
33827 (OPENBSD_MMAP_NVS): Likewise.
33828 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
33829 and OPENBSD_MMAP_NVS.
33830 Add memory map terminator
33831 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 33832 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 33833
16c84d74 338342009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33835
33836 Let user specify NetBSD root device.
33837
33838 * loader/i386/bsd.c (netbsd_root): New variable.
33839 (netbsd_opts): New option 'root'.
33840 (NETBSD_ROOT_ARG): New macro.
33841 (grub_netbsd_boot): Use 'netbsd_root'.
33842 (grub_bsd_unload): Free 'netbsd_root'.
33843 (grub_cmd_netbsd): Fill 'netbsd_root'.
33844
adb29902 338452009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33846
33847 Support for 64-bit NetBSD.
33848
33849 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
33850 point when booting non-FreeBSD.
33851
f5ae9f74 338522009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33853
33854 Support --no-smp and --no-acpi for NetBSD.
33855
33856 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
33857 (NETBSD_AB_NOACPI): Likewise.
33858 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
33859 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
33860
de74f136 338612009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33862
33863 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
33864 errors.
33865 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
33866 errors. Call grub_error when needed.
33867
e9a925da 338682009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33869
33870 * commands/search.c (search_fs): Try searching without autoload first.
33871 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
33872 filesystem module explicitly for faster booting.
33873
5174302b 338742009-08-23 Colin Watson <cjwatson@ubuntu.com>
33875
33876 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
33877
c8c80635 338782009-08-23 Colin Watson <cjwatson@ubuntu.com>
33879
33880 * util/grub.d/30_os-prober.in: Disable os-prober if
33881 `GRUB_DISABLE_OS_PROBER' was set to true.
33882
71acf5e5 338832009-08-23 Robert Millan <rmh.grub@aybabtu.com>
33884
33885 * partmap/pc.c: Rename to ...
33886 * partmap/msdos.c: ... this. Update all users.
33887 (grub_pc_partition_map): Rename to ...
33888 (grub_msdos_partition_map): ... this. Update all users.
33889
33890 * parttool/pcpart.c: Rename to ...
33891 * parttool/msdospart.c: ... this. Update all users.
33892
33893 * include/grub/pc_partition.h: Rename to ...
33894 * include/grub/msdos_partition.h: ... this. Update all users.
33895 (grub_pc_partition_bsd_entry): Rename to ...
33896 (grub_msdos_partition_bsd_entry): ... this. Update all users.
33897 (grub_pc_partition_disk_label): Rename to ...
33898 (grub_msdos_partition_disk_label): ... this. Update all users.
33899 (grub_pc_partition_entry): Rename to ...
33900 (grub_msdos_partition_entry): ... this. Update all users.
33901 (grub_pc_partition_mbr): Rename to ...
33902 (grub_msdos_partition_mbr): ... this. Update all users.
33903 (grub_pc_partition): Rename to ...
33904 (grub_msdos_partition): ... this. Update all users.
33905 (grub_pc_partition_is_empty): Rename to ...
33906 (grub_msdos_partition_is_empty): ... this. Update all users.
33907 (grub_pc_partition_is_extended): Rename to ...
33908 (grub_msdos_partition_is_extended): ... this. Update all users.
33909 (grub_pc_partition_is_bsd): Rename to ...
33910 (grub_msdos_partition_is_bsd): ... this. Update all users.
33911
33912 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
33913 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
33914 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
33915 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
33916 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
33917 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
33918 (gpt_mod_LDFLAGS): Rename to ...
33919 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
33920 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
33921 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
33922 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
33923 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
33924 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
33925 (part_gpt_mod_LDFLAGS): ... this.
33926 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
33927 `pcpart.mod' to `msdospart.mod'.
33928 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
33929 to ...
33930 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
33931 (msdospart_mod_LDFLAGS): ... this.
33932
c11fded5 339332009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33934
33935 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
33936 (openbsd_opts): Likewise.
33937 (netbsd_opts): Likewise.
33938 (freebsd_flags): Added 0 terminator.
33939 (openbsd_flags): Likewise.
33940 (netbsd_flags): Likewise.
33941 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
33942 (grub_cmd_freebsd): Transformed into extended command.
33943 (grub_cmd_openbsd): Likewise.
33944 (grub_cmd_netbsd): Likewise.
33945 (cmd_freebsd): Changed type to grub_extcmd_t.
33946 (cmd_openbsd): Likewise.
33947 (cmd_netbsd): Likewise.
33948 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
33949 grub_cmd_openbsd as extended commands.
33950 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
33951 cmd_netbsd and cmd_openbsd
33952
11d1c769 339532009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
33954
33955 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
33956
7a9094e5 339572009-08-21 Pavel Roskin <proski@gnu.org>
33958
5496c37e 33959 * Makefile.in (install-local): When checking if a file is in the
33960 build directory, use "test -e" to detect symlinks.
33961
7a9094e5 33962 * Makefile.in (install-local): Remove all files in
33963 $(DESTDIR)$(pkglibdir) before installing new files there.
33964
e53cea11 339652009-08-18 Felix Zielcke <fzielcke@z-51.de>
33966
33967 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
33968 grub-mkelfimage.
33969
9aced544 339702009-08-18 Felix Zielcke <fzielcke@z-51.de>
33971
33972 * util/grub-mkconfig.in: Don't use gfxterm by default if not
33973 explicitly specified by the user.
33974
b7da6bab 339752009-08-18 Pavel Roskin <proski@gnu.org>
33976
33977 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
33978 grub_uint8_t pointer for data.
33979 * include/grub/fbutil.h (struct grub_video_fbblit_info):
33980 Likewise.
33981 * video/fb/fbutil.c: Remove unnecessary casts.
33982
19f1b335 339832009-08-17 Michal Suchanek <hramrach@centrum.cz>
33984
33985 VBE cleanup.
33986
33987 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
33988 (grub_vbe_set_video_mode): Save active mode info
33989 only after setting the mode.
33990 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
33991 second argument.
33992
2f467aa9 339932009-08-17 Michal Suchanek <hramrach@centrum.cz>
33994
33995 Rename variables for clarity.
33996
33997 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
33998 (active_vbe_mode_info): ... this. All users updated.
33999 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
34000 All users updated.
34001 (initial_mode): Rename to ...
34002 (initial_vbe_mode): ... this. All users updated.
34003 (mode_in_use): Rename to ..
34004 (vbe_mode_in_use): ... this. All users updated.
34005 (mode_list): Rename to ..
34006 (vbe_mode_list): ... this. All users updated.
34007 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
34008 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
34009 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
34010 'mode_list_size' to 'vbe_mode_list_size'.
34011 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
34012 'best_mode_info' to 'best_vbe_mode_info' and
34013 'best_mode' to 'best_vbe_mode'
34014
6025fcd7 340152009-08-17 Michal Suchanek <hramrach@centrum.cz>
34016
34017 Remove duplicate grub_video_fb_get_video_ptr.
34018
34019 * include/grub/fbutil.h (get_data_ptr): Rename to ...
34020 (grub_video_fb_get_video_ptr): ... this.
34021 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
34022 * video/fb/fbutil.c: Add comment about addressing.
34023 (get_data_ptr): Rename to ...
34024 (grub_video_fb_get_video_ptr): ... this. All users updated.
34025 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
34026
cc8c6faf 340272009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34028
34029 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
34030 grub_dprintf() that was just added.
34031
08aa61f0 340322009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34033
34034 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
34035 (DEFAULT_VIDEO_MODE): Remove macros.
34036 (grub_linux_boot): Remove assumption that Linux has FB support,
34037 and use "text" as default video mode.
34038
7cef4f75 340392009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
34040
34041 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
34042 grub_dprintf.
34043 * fs/fat.c (grub_fat_read_data): Likewise.
34044
e1f39873 340452009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34046
34047 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
34048 payload.
34049 (grub_module): Likewise.
34050
c166d79e 340512009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34052
34053 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
34054 mbi->cmdline but free playground.
34055
c60cee8e 340562009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34057
34058 Handle group offset on UFS1.
34059
34060 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
34061 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
34062
c0d8b5d4 340632009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34064
34065 Split ufs.mod into ufs1.mod and ufs2.mod.
34066
34067 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
34068 (grub_fstest_SOURCES): Likewise.
34069 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
34070 (ufs_mod_SOURCES): Remove.
34071 (ufs_mod_CFLAGS): Likewise.
34072 (ufs_mod_LDFLAGS): Likewise.
34073 (ufs1_mod_SOURCES): New variable.
34074 (ufs1_mod_CFLAGS): Likewise.
34075 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 34076 (ufs2_mod_SOURCES): New variable.
34077 (ufs2_mod_CFLAGS): Likewise.
34078 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 34079 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
34080 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34081 Likewise.
34082 (grub_emu_SOURCES): Likewise.
34083 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34084 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34085 (grub_setup_SOURCES): Likewise.
34086 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34087 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
34088 (grub_setup_SOURCES): Likewise.
34089 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34090 Likewise.
34091 * fs/ufs2.c: New file.
34092 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
34093
d3539132 340942009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34095
34096 Framebuffer split.
34097
34098 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
34099 subsystem at the end.
34100 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
34101 (video_fb_mod_SOURCES): New variable.
34102 (video_fb_mod_CFLAGS): Likewise.
34103 (video_fb_mod_LDFLAGS): Likewise.
34104 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
34105 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
34106 * video/i386/pc/vbeblit.c: Moved from here ...
34107 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
34108 * video/i386/pc/vbefill.c: Moved from here ...
34109 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
34110 * video/i386/pc/vbeutil.c: Moved from here ...
34111 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
34112 * include/grub/i386/pc/vbeblit.h: Moved from here ...
34113 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
34114 * include/grub/i386/pc/vbefill.h: Moved from here ...
34115 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
34116 * include/grub/i386/pc/vbeutil.h: Moved from here ...
34117 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
34118 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
34119 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
34120 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
34121 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
34122 (grub_video_adapter): Added 'get_info_and_fini'.
34123 (grub_video_get_info_and_fini): New prototype.
34124 (grub_video_set_mode): make modestring const char *.
34125 * loader/i386/linux.c (grub_linux_setup_video): Use
34126 grub_video_get_info_and_fini.
34127 (grub_linux_boot): Move modesetting just before booting.
34128 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
34129 grub_video_get_info_and_fini.
34130 * video/i386/pc/vbe.c: Moved framebuffer part ...
34131 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
34132 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
34133 grub_video_fbstd_colors and grub_video_fb_set_palette.
34134 (grub_video_vbe_init): Clear 'framebuffer' variable and use
34135 grub_video_fb_init.
34136 (grub_video_vbe_fini): Use grub_video_fb_fini.
34137 (grub_video_vbe_setup): Use framebuffer.render_target instead of
34138 render_target and use grub_video_fb_set_active_render_target and
34139 grub_video_fb_set_palette.
34140 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
34141 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
34142 (grub_video_vbe_adapter): Use framebuffer.
34143 * video/video.c (grub_video_get_info_and_fini): New function.
34144 (grub_video_set_mode): Make modestring const char *.
34145 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
34146 values are already initialised.
34147
d404ee56 341482009-08-14 Pavel Roskin <proski@gnu.org>
34149
34150 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
34151 ABS and APPLE_CC.
34152 * boot/i386/pc/diskboot.S: Likewise.
34153 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
34154 sectors allow compilation on MacOSX.
34155 * conf/i386-pc.rmk: Enable unconditional compilation of
34156 lnxboot.img.
34157
9a10df16 341582009-08-13 Colin Watson <cjwatson@ubuntu.com>
34159
34160 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
34161 * util/grub.d/00_header.in: Enter interruptible sleep if
34162 GRUB_HIDDEN_TIMEOUT is set.
34163
be3c9ca7 341642009-08-13 Yves Blusseau <blusseau@zetam.org>
34165
34166 * include/grub/symbol.h: Add the LOCAL macro.
34167 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
34168 starting with "L_".
34169
1f9e557e 341702009-08-13 Pavel Roskin <proski@gnu.org>
34171
9ca62843 34172 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
34173 any modern compilers we support.
34174
1f9e557e 34175 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
34176 Use local labels starting with "L_" so that Apple assembler
34177 knows they are local.
34178
81623db6 341792009-08-10 Robert Millan <rmh.grub@aybabtu.com>
34180
34181 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
34182 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
34183 (bsd_kernel_types): ... this enum.
34184
34185 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
34186 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
34187 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
34188
34189 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
34190 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
34191 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
34192 messages.
34193
f5d35e7a 341942009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34195
34196 * util/grub-dumpdevtree: Moved from here ...
34197 * util/i386/efi/grub-dumpdevtree: ... to here.
34198 (hexify): New function. Converts a string to its hex version.
34199 Generate hex versions of "efi" and "device-properties" by calling
34200 hexify() on the ASCII strings rather than by hardcoding numbers.
34201
d1e1d527 342022009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34203
34204 * fs/jfs.c: Update copyright year.
34205
1ebbe064 342062009-08-08 Felix Zielcke <fzielcke@z-51.de>
34207
34208 * util/grub.d/00_header.in: Fix a comment.
34209 * util/grub.d/10_linux.in: Likewise.
34210 * util/grub.d/10_windows.in: Likewise.
34211 * util/grub.d/10_hurd.in: Likewise.
34212
a78c8d24 342132009-08-08 Felix Zielcke <fzielcke@z-51.de>
34214
34215 * util/grub-mkconfig.in: Allow the user to specify the used font
34216 with GRUB_FONT.
34217
29a6b9e8 342182009-08-08 Pavel Roskin <proski@gnu.org>
34219
b5f16cc4 34220 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
34221 available, xfs.mod needs it now.
34222
2f5cb827 34223 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
34224 the "g" modifier in sed when the intention is to strip something
34225 once. This fixes comparison of kernels with multiple dashes.
34226
29a6b9e8 34227 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
34228 on it. Add missing space before closing bracket. Fix
34229 misleading formatting.
34230
892a3d98 342312009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34232
34233 * docs/grub.texi: Major overhaul. Remove all sections that are
34234 specific to GRUB Legacy, or mostly composed of Legacy-specific
34235 information.
34236
ed94253f 342372009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34238
34239 * docs/version.texi: New file. Provides version information for
34240 grub.texi.
34241
126d6628 342422009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34243
34244 * docs/grub.texi: Update CVS information to SVN.
34245 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
34246
998b5aa9 342472009-08-07 Felix Zielcke <fzielcke@z-51.de>
34248
34249 * util/grub-mkconfig.in: Remove a wrong `fi'.
34250
818e094a 342512009-08-07 Felix Zielcke <fzielcke@z-51.de>
34252
34253 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
34254 (grub_jfs_uuid): New function.
34255 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
34256
b969c52f 342572009-08-07 Felix Zielcke <fzielcke@z-51.de>
34258
34259 * util/grub-mkconfig_lib.in (font_path): Move the functionality
34260 of it to ...
34261 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
34262 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
34263
7a4894cc 342642009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34265
34266 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
34267 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
34268 Update all users.
34269
34270 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
34271 not just "vmlinu[zx]".
34272 Moved from here ...
34273 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
34274 all users.
34275
34276 * util/grub.d/10_linux.in (find_latest): Moved from here ...
34277 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
34278 all users.
34279
4e2171f8 342802009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34281
34282 * util/grub.d/10_freebsd.in: Use an absolute device path for
34283 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
34284
6dcfcb32 342852009-08-06 Felix Zielcke <fzielcke@z-51.de>
34286
34287 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
34288 handling of multiple abstraction modules.
34289
f56a8756 342902009-08-04 Robert Millan <rmh.grub@aybabtu.com>
34291
34292 Fix a bug resulting in black screen when loading Linux using a
34293 packed video mode.
34294
34295 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
34296 function.
34297
34298 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
34299 (grub_vbe_bios_getset_dac_palette_width): New function.
34300 (grub_vbe_bios_get_dac_palette_width)
34301 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
34302 grub_vbe_bios_getset_dac_palette_width()).
34303
34304 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
34305 check for return status.
34306 (grub_vbe_get_video_mode_info): When getting information for a packed
34307 mode (<= 8 bpp), obtain DAC palette width using
34308 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
34309 {red,green,blue}_mark_size.
34310
222671b2 343112009-08-04 Felix Zielcke <fzielcke@z-51.de>
34312
ecb1a6d9 34313 * commands/search.c (options): Fix help output to match actual code.
222671b2 34314
f84114f5 343152009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
34316
34317 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
34318 of homegrown code.
34319
bd288a20 343202009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 34321
34322 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
34323 on XFS or ReiserFS.
34324
8aab5e25 343252009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34326
34327 Support Apple partition map with sector size different from 512 bytes.
34328
34329 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
34330 (apple_partition_map_iterate): Respect 'aheader.blocksize'
34331 and 'apart.partmap_size'.
34332
6ad6258a 343332009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
343342009-08-01 Robert Millan <rmh.grub@aybabtu.com>
34335
34336 Fix cpuid command.
34337
34338 * commands/i386/cpuid.c (options): New variable.
34339 (grub_cmd_cpuid): Return real error.
34340 (GRUB_MOD_INIT(cpuid)): Declare options.
34341
67459bc6 343422009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
34343
34344 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
34345 valid.
34346
fbc6ab54 343472009-07-31 Bean <bean123ch@gmail.com>
34348
34349 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
34350 log2_inode.
34351 (grub_fshelp_node): Move inode field to the end.
34352 (grub_xfs_data): Remove inode field.
34353 (grub_xfs_inode_block): Calculate inode size using sblock.
34354 (grub_xfs_inode_offset): Likewise.
34355 (grub_xfs_read_inode): Calculate inode size using sblock.
34356 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
34357 (grub_xfs_iterate_dir): Calculate inode size using sblock.
34358 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
34359 to match inode size.
34360 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
34361 not accessible when data is null.
34362 (grub_xfs_open): Likewise.
34363
f45d6cfc 343642009-07-31 Bean <bean123ch@gmail.com>
34365
34366 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
34367 Don't change pv->disk if it's already set.
34368
34369 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
34370 (grub_raid_register): ... here.
34371 (grub_raid_rescan): Removed.
34372
34373 * include/grub/raid.h (grub_raid_rescan): Removed.
34374
34375 * util/grub-fstest.c: Remove include file <grub/raid.h>.
34376 (fstest): Replace grub_raid_rescan with module fini function followed
34377 by init function.
34378
34379 * util/grub-probe.c: Add include file <grub/raid.h>.
34380 (probe_raid_level): New function.
34381 (probe): Detect abstraction by walking the disk device, support two
34382 level of abstraction (LVM on RAID) when detecting partition map.
34383
24443b5a 343842009-07-31 Pavel Roskin <proski@gnu.org>
34385
34386 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
34387 to grub_zalloc(), it was erroneous.
34388 Reported by Bean <bean123ch@gmail.com>
34389
a275d9e7 343902009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
34391
34392 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 34393 embedding zone, not only the first one.
a275d9e7 34394
56c5a47f 343952009-07-29 Joe Auricchio <jauricchio@gmail.com>
34396
34397 * term/gfxterm.c (clear_char): New function.
34398 (grub_virtual_screen_setup): Use clear_char.
34399 (scroll_up): Likewise.
34400 (grub_virtual_screen_cls): Likewise.
34401
67bb323a 344022009-07-29 Felix Zielcke <fzielcke@z-51.de>
34403
34404 * util/deviceiter.c (get_acceleraid_disk_name): New static
34405 function.
34406 (grub_util_iterate_devices): Handle Accelraid devices.
34407 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
34408
388a7c75 344092009-07-28 Robert Millan <rmh.grub@aybabtu.com>
34410
34411 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
34412 separator for the suggested gfxpayload string (';' collides with the
34413 parser and needs escaping).
34414
3bb7abcf 344152009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
34416
34417 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
34418 Clear direction flag before jumping to OS.
34419 (grub_multiboot2_real_boot): Likewise.
34420
2ddd36d7 344212009-07-28 Felix Zielcke <fzielcke@z-51.de>
34422
34423 * util/i386/pc/grub-install: Fix parsing of --disk-module
34424 option.
34425
c521b62b 344262009-07-28 Felix Zielcke <fzielcke@z-51.de>
34427
34428 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
34429 when embedding.
34430
880e0a0c 344312009-07-26 Felix Zielcke <fzielcke@z-51.de>
34432
34433 * util/grub-mkconfig.in (package_version): New variable.
34434 Use it do display the version.
34435
2366e356 344362009-07-25 Felix Zielcke <fzielcke@z-51.de>
34437
34438 * kern/file.c (grub_file_open): Revert to previous check with
34439 grub_errno.
34440
7ad8c80e 344412009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34442
34443 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
34444 from help line. It's out of sync with code.
34445
72b9658b 344462009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34447
34448 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
34449 entries on failed boot.
34450
77435277 344512009-07-25 Felix Zielcke <fzielcke@z-51.de>
34452
34453 * kern/file.c (grub_file_open): Fix an error check.
34454
fcaa8b21 344552009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
34456
35d16c74 34457 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
34458 partition map couldn't be identified.
fcaa8b21 34459
48904cd1 344602009-07-23 Pavel Roskin <proski@gnu.org>
34461
ef3c317f 34462 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
34463 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
34464 case of little endian words becomes just an optimization.
34465 Respect const modifier.
ad8ea1f4 34466 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 34467
48904cd1 34468 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
34469 to avoid loss of upper bits if align is unsigned and shorter
34470 than addr.
34471
260c9a89 344722009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34473
34474 UUID support for UFS
34475
34476 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
34477 (grub_ufs_uuid): New function.
34478 (grub_ufs_fs): add .uuid
34479
f76ce889 344802009-07-21 Pavel Roskin <proski@gnu.org>
34481
34482 * kern/dl.c (grub_dl_check_header): Make static.
34483
6a6cbcaf 344842009-07-21 Felix Zielcke <fzielcke@z-51.de>
34485
34486 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
34487 add drivemap for Vista. It breaks Windows 7.
34488
cffcddb2 344892009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34490
34491 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
34492 128 bytes
34493
1ef44b80 344942009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34495
34496 Add BFS support
34497
34498 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
34499 (grub_fstest_SOURCES): Likewise.
34500 (pkglib_MODULES): Add befs.mod.
34501 (befs_mod_SOURCES): New variable.
34502 (befs_mod_CFLAGS): Likewise.
34503 (befs_mod_LDFLAGS): Likewise.
34504 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34505 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34506 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34507 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34508 (grub_setup_SOURCES): Likewise.
34509 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34510 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34511 (grub_setup_SOURCES): Likewise.
34512 * fs/befs.c: New file.
34513 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
34514 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
34515 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
34516 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
34517 (B_KEY_INDEX_ALIGN): New declaration.
34518 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
34519 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
34520 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
34521 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
34522 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
34523 (grub_afs_mount) [MODE_BFS]: Likewise.
34524 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
34525 (grub_afs_fs): Use GRUB_AFS_FSNAME
34526 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
34527 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
34528 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
34529 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
34530
4f253044 345312009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
34532
34533 * util/getroot.c (find_root_device): Add support for MacOSX.
34534 * util/hostdisk.c: Likewise.
34535
57a55913 345362009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34537
34538 * font/font.c (find_glyph): Check whether a font is present to avoid
34539 segmentation fault.
75421ca9 34540
345412009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 34542
34543 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
34544
e98cd0c2 345452009-07-20 Pavel Roskin <proski@gnu.org>
34546
34547 * configure.ac: Trim excessively wordy excuses.
34548
1d2d169a 345492009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34550
34551 Add symlink, mtime and label support to AtheFS.
34552
34553 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
34554 (grub_afs_iterate_dir): Handle symlinks.
34555 (grub_afs_open): Use grub_afs_read_symlink.
34556 (grub_afs_dir): Likewise.
34557 Pass mtime.
34558 (grub_afs_label): New function.
34559 (grub_afs_fs): Add grub_afs_label.
34560 (grub_afs_read_symlink): New function.
34561
186f3189 345622009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34563
34564 Fix AtheFS support.
34565
34566 * fs/afs.c: Fix comments style.
34567 (grub_afs_blockrun): Declare as packed.
34568 (grub_afs_datastream): Likewise.
34569 (grub_afs_bnode): Likewise.
34570 (grub_afs_btree): Likewise.
34571 (grub_afs_sblock): Likewise.
34572 Declare `name' as char.
34573 (grub_afs_inode): Declare as packed.
34574 Change void *vnode to grub_uint32_t unused.
34575 (grub_afs_iterate_dir): Check that key_size is positive.
34576 (grub_afs_mount): Don't read superblock twice.
75421ca9 34577 (grub_afs_dir): Don't free node in case of error,
186f3189 34578 grub_fshelp_find_file already handles this.
34579 (grub_afs_open): Likewise.
34580
5680109e 345812009-07-19 Pavel Roskin <proski@gnu.org>
34582
34583 * Makefile.in: Remove LIBLZO and enable_lzo.
34584 * conf/i386-pc.rmk: Remove lzo support.
34585 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
34586 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
34587 support.
34588 * kern/i386/pc/lzo1x.S: Remove.
34589 * kern/i386/pc/startup.S: Remove lzo support.
34590 * util/i386/pc/grub-mkimage.c: Likewise.
34591
ac70fa32 345922009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
34593
34594 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
34595 * fs/xfs.c (grub_xfs_dir): Likewise.
34596 * fs/afs.c (grub_afs_dir): Likewise.
34597 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
34598 (grub_iso9660_open): Likewise.
34599 * fs/jfs.c (grub_jfs_open): Likewise.
34600 * fs/ext2.c (grub_ext2_dir): Likewise.
34601 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
34602 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 34603
eab58da2 346042009-07-16 Pavel Roskin <proski@gnu.org>
34605
d2838156 34606 * configure.ac: Never add "-c" to CFLAGS.
34607
55c70904 34608 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
34609
43e6200c 34610 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
34611 grub_cv_cc_efiemu should be used.
34612
ce7a733d 34613 * configure.ac: Typo fixes.
34614
eab58da2 34615 * kern/mm.c (grub_zalloc): New function.
34616 (grub_debug_zalloc): Likewise.
34617 * include/grub/mm.h: Declare grub_zalloc() and
34618 grub_debug_zalloc().
34619 * util/misc.c (grub_zalloc): New function.
34620 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
34621 instead of grub_malloc(), remove unneeded initializations.
34622 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
34623 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
34624 * commands/parttool.c (grub_cmd_parttool): Likewise.
34625 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
34626 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
34627 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
34628 * disk/usbms.c (grub_usbms_finddevs): Likewise.
34629 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
34630 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
34631 (grub_cmd_efiemu_pnvram): Likewise.
34632 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
34633 * fs/iso9660.c (grub_iso9660_mount): Likewise.
34634 (grub_iso9660_iterate_dir): Likewise.
34635 * fs/jfs.c (grub_jfs_opendir): Likewise.
34636 * fs/ntfs.c (list_file): Likewise.
34637 (grub_ntfs_mount): Likewise.
34638 * kern/disk.c (grub_disk_open): Likewise.
34639 * kern/dl.c (grub_dl_load_core): Likewise.
34640 * kern/elf.c (grub_elf_file): Likewise.
34641 * kern/env.c (grub_env_context_open): Likewise.
34642 (grub_env_set): Likewise.
34643 (grub_env_set_data_slot): Likewise.
34644 * kern/file.c (grub_file_open): Likewise.
34645 * kern/fs.c (grub_fs_blocklist_open): Likewise.
34646 * loader/i386/multiboot.c (grub_module): Likewise.
34647 * loader/xnu.c (grub_xnu_create_key): Likewise.
34648 (grub_xnu_create_value): Likewise.
34649 * normal/main.c (grub_normal_add_menu_entry): Likewise.
34650 (read_config_file): Likewise.
34651 * normal/menu_entry.c (make_screen): Likewise.
34652 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34653 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
34654 * script/sh/script.c (grub_script_parse): Likewise.
34655 * video/bitmap.c (grub_video_bitmap_create): Likewise.
34656 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
34657 * video/readers/png.c (grub_png_output_byte): Likewise.
34658 (grub_video_reader_png): Likewise.
34659
830afef7 346602009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 34661
34662 Enable all targets that can be built by default
34663
830afef7 34664 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 34665 grub-mkfont and grub-fstest if they can be built
34666
ee293aee 346672009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34668
34669 Fix hang and segmentation fault in grub-emu-usb
34670
34671 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
34672 * util/usb.c (grub_libusb_devices): likewise
34673 (grub_libusb_init): rename to ...
34674 (GRUB_MOD_INIT (libusb)):...this
34675 (grub_libusb_fini): rename to ..
34676 (GRUB_MOD_FINI (libusb)):...this
34677 * disk/usbms.c (grub_usbms_transfer): fix retry logic
34678 * include/grub/disk.h (grub_raid_init): removed, it's useless
34679 (grub_raid_fini): likewise
34680 (grub_lvm_init): likewise
34681 (grub_lvm_fini): likewise
34682 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
34683 by grub_init_all
34684
94414221 346852009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34686
34687 Fix libusb
34688
34689 * Makefile.in (LIBUSB): new macro
34690 * genmk.rb (Utility/print_tail): new method
34691 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
34692 (top level): call util.print_tail at the end.
34693
59ade63d 346942009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34695
34696 Make FreeBSD accept zpool.cache
34697
34698 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
34699 type is /boot/zfs/zpool.cache
34700
a58da8c7 347012009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34702
34703 Fix 64-bit efiemu
34704
34705 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
34706 correct wrong typedef
34707 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
34708
20591577 347092009-07-15 Pavel Roskin <proski@gnu.org>
34710
560ca572 34711 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
34712 * kern/disk.c (struct grub_disk_cache): Likewise.
34713
e8e8e4fd 34714 * commands/probe.c (options): Typo fix.
34715
fde24e10 34716 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
34717 Increase to 0x5a to accommodate FAT32. Adjust other offsets
34718 accordingly.
34719 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
34720
379c54c1 34721 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
34722 the end of "Error" to make the message more readable.
34723
7bd8f5bf 34724 * boot/i386/pc/boot.S (kernel_segment): Remove.
34725 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
34726 for destination.
34727
40b132c5 34728 * boot/i386/pc/boot.S (boot_version): Remove.
34729 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
34730 Remove.
34731
20591577 34732 * include/grub/i386/pc/boot.h: Sort all offsets.
34733 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
34734 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
34735 * boot/i386/pc/boot.S: Assert location of every offset listed in
34736 include/grub/i386/pc/boot.h.
34737
2df32b2c 347382009-07-13 Pavel Roskin <proski@gnu.org>
34739
44b5d879 34740 * include/grub/i386/coreboot/machine.h: Rename
34741 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
34742 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
34743 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
34744
17dc3751 34745 * kern/dl.c: Force native word size to suppress warnings when
34746 compiling grub-emu.
34747
2df32b2c 34748 * kern/device.c (grub_device_iterate): Change struct part_ent to
34749 hold the name, not a pointer to it. Use one grub_malloc() per
34750 partition, not two. Free partition_name if grub_malloc() fails.
34751 Set ents to NULL only before grub_partition_iterate() is called.
34752
75c59f59 347532009-07-11 Bean <bean123ch@gmail.com>
34754
34755 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
34756 childname.
34757
0ae1bf88 347582009-07-10 Bean <bean123ch@gmail.com>
347592009-07-10 Robert Millan <rmh.grub@aybabtu.com>
34760
34761 * kern/ieee1275/openfw.c (grub_children_iterate)
34762 (grub_devalias_iterate): Fix size evaluation for property or path
34763 strings, which was broken since r2132.
34764
8279cade 347652009-07-07 Pavel Roskin <proski@gnu.org>
34766
7d8a52d3 34767 * commands/search.c (search_file): Merge into ...
34768 (search_fs): ... this. Accept search type as argument.
34769 (grub_cmd_search): Pass search type to search_fs().
34770
25f9a05a 34771 * include/grub/util/console.h: New file.
34772 * util/console.c: Use it instead of grub/machine/console.h.
34773 * util/grub-emu.c: Likewise.
34774
8279cade 34775 * lib/arg.c (find_long_option): Remove.
34776 (find_long): Add `len' argument, make `s' const char *.
34777 (grub_arg_parse): Parse long options in place, not in a
34778 temporary buffer.
34779
4a11b60f 347802009-07-06 Pavel Roskin <proski@gnu.org>
34781
99f68041 34782 * commands/search.c (search_fs): Fix potential NULL pointer
34783 dereference.
34784
4a11b60f 34785 * commands/search.c (search_fs): Replace QUID macro with quid_fn
34786 function pointer.
34787
e110f4de 347882009-07-06 Daniel Mierswa <impulze@impulze.org>
34789
34790 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
34791 comparison.
34792
46eeb6a2 347932009-07-05 Pavel Roskin <proski@gnu.org>
34794
bab74958 34795 * include/grub/i386/linux.h (struct linux_kernel_params):
34796 Restore padding3, it's still needed.
34797
46eeb6a2 34798 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
34799 FreeBSD.
34800 * util/osdetect.lua: Likewise.
34801
b4a1dc79 348022009-07-05 Bean <bean123ch@gmail.com>
34803
34804 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
34805
34806 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
34807 (grub_lua_getenv): Likewise.
34808 (grub_lua_setenv): Likewise.
34809 (save_errno): New function.
34810 (push_result): Likewise.
34811 (grub_lua_enum_device): Likewise.
34812 (grub_lua_enum_file): Likewise.
34813 (grub_lua_file_open): Likewise.
34814 (grub_lua_file_close): Likewise.
34815 (grub_lua_file_seek): Likewise.
34816 (grub_lua_file_read): Likewise.
34817 (grub_lua_file_getline): Likewise.
34818 (grub_lua_file_getsize): Likewise.
34819 (grub_lua_file_getpos): Likewise.
34820 (grub_lua_file_eof): Likewise.
34821 (grub_lua_file_exist): Likewise.
34822 (grub_lua_add_menu): Likewise.
34823
34824 * script/lua/grub_lua.h (isupper): New inline function.
34825 (islower): Likewise.
34826 (ispunct): Likewise.
34827 (isxdigit): Likewise.
34828 (strcspn): Change to normal function.
34829 (strpbkr): New function declaration.
34830 (memchr): Likewise.
34831
34832 * script/lua/grub_main.c (scan_str): New function.
34833 (strcspn): Likewise.
34834 (strpbrk): Likewise.
34835 (memchr): Likewise.
34836
34837 * script/lua/linit.c (lualibs): Enable the string library.
34838
34839 * util/osdetect.lua: New file.
34840
2da92295 348412009-07-04 Robert Millan <rmh.grub@aybabtu.com>
34842
34843 * include/grub/i386/linux.h (struct linux_kernel_params): Add
34844 `capabilities' member.
34845
b2582ec9 348462009-07-02 Pavel Roskin <proski@gnu.org>
34847
34848 * genparttoollist.sh: Add missing newline at the end.
34849
32622956 348502009-07-01 Pavel Roskin <proski@gnu.org>
34851
87a7339e 34852 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
34853
d23af54e 34854 * util/hostdisk.c (open_device): Remove `const' from
34855 `sysctl_size', as sysctlbyname() can change it (in this case it
34856 doesn't actually happen).
34857
c94b18a9 34858 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
34859 using signed long int constants.
34860
c6cd3ef0 34861 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
34862 constant to avoid a warning on FreeBSD.
34863
0df63420 34864 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
34865 where it's needed.
34866
999577f1 34867 * Makefile.in: Install include/grub/machine symlink.
34868
6f41557f 34869 * Makefile.in: When installing symlinks, use "cp -fR", which
34870 works on FreeBSD and MacOSX.
34871 From Yves Blusseau <cl7m42e02@sneakemail.com>
34872
c8d22988 34873 * kern/dl.c (grub_dl_resolve_symbol): Make static.
34874 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
34875
1b96e952 34876 * util/misc.c: Move grub_reboot() and grub_halt() ...
34877 * util/grub-emu.c: ... here. Make main_env static.
34878 * include/grub/util/misc.h: Remove main_env.
34879
2ef0084d 34880 * kern/mm.c: Use correct format to print size_t.
34881
32622956 34882 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
34883 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
34884 * kern/powerpc/dl.c: Likewise.
34885 * kern/sparc64/dl.c: Likewise.
34886 * kern/x86_64/dl.c: Likewise.
34887
3f7f0cd0 348882009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34889
34890 Fix grub-emu build on sparc64-ieee1275.
34891
75421ca9 34892 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 34893 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
34894
211d06b5 348952009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34896
34897 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
34898 (grub_reboot, grub_halt): New functions.
34899
34900 * util/i386/pc/misc.c: Delete. Update all users.
34901 * util/sparc64/ieee1275/misc.c: Likewise.
34902 * util/powerpc/ieee1275/misc.c: Likewise.
34903
aaf53e3c 349042009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34905
34906 * conf/i386.rmk (setjmp_mod_SOURCES)
34907 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
34908 * conf/common.rmk (setjmp_mod_SOURCES)
34909 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
34910 to use $(target_cpu).
34911 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
34912 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
34913 * conf/powerpc-ieee1275.rmk: Likewise.
34914 * conf/sparc64-ieee1275.rmk: Likewise.
34915
34916 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
34917 $(target_cpu) for kern/$(target_cpu)/dl.c.
34918 * conf/i386-efi.rmk: Likewise.
34919 * conf/i386-ieee1275.rmk: Likewise.
34920 * conf/x86_64-efi.rmk: Likewise.
34921 * conf/i386-coreboot.rmk: Likewise.
34922 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
34923 $(target_cpu) for kern/$(target_cpu)/dl.c and for
34924 kern/$(target_cpu)/cache.S.
34925 * conf/sparc64-ieee1275.rmk: Likewise.
34926
a337130b 349272009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34928
34929 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
34930 type to `grub_uint8_t', and adjust `padding9' accordingly.
34931
c6fe4d53 349322009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34933
b09db61d 34934 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
34935
c6fe4d53 34936 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
34937 assembly in final jump, using register constraints.
34938
b09db61d 34939 (grub_linux_boot): For text mode, initialize `have_vga' using
34940 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
34941
34942 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
34943 right before the final jump.
34944
34945 Set `video_mode' to 0x3.
34946
34947 Document initialization of `video_page', `video_mode' and
34948 `video_ega_bx'.
34949
28333ad0 349502009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34951
34952 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
34953 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 34954 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 34955
02164e1b 349562009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34957
34958 Fix build on Debian / sparc.
34959
34960 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
34961
18b6c557 349622009-06-28 Pavel Roskin <proski@gnu.org>
34963
85f2aab6 34964 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
34965 fix a warning.
34966
18b6c557 34967 * util/grub.d/10_linux.in: Match SUSE style initrd names.
34968
ad760f81 349692009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34970
34971 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
34972 `err'.
34973
87a4623b 349742009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34975
34976 Revert r2338.
34977
34978 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
34979 file can't be opened. grub_file_open() is already supposed to set
75421ca9 34980 grub_errno / grub_errmsg appropriately.
87a4623b 34981 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
34982
8231fb77 349832009-06-27 Pavel Roskin <proski@gnu.org>
349842009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34985
34986 * include/grub/dl.h: Include grub/elf.h.
34987 (struct grub_dl): Add symtab field.
34988 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
34989 GRUB_MODULES_MACHINE_READONLY.
34990 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
34991 of the header for read-only modules.
34992 (grub_dl_unload): Free mod->symtab for read-only modules.
34993 * kern/i386/dl.c: Use mod->symtab.
34994 * kern/powerpc/dl.c: Likewise.
34995 * kern/sparc64/dl.c: Likewise.
34996 * kern/x86_64/dl.c: Likewise.
34997
34998 * conf/i386-qemu.rmk: New file.
34999 * kern/i386/qemu/startup.S: Likewise.
35000 * kern/i386/qemu/mmap.c: Likewise.
35001 * boot/i386/qemu/boot.S: Likewise.
35002 * include/grub/i386/qemu/time.h: Likewise.
35003 * include/grub/i386/qemu/serial.h: Likewise.
35004 * include/grub/i386/qemu/kernel.h: Likewise.
35005 * include/grub/i386/qemu/console.h: Likewise.
35006 * include/grub/i386/qemu/boot.h: Likewise.
35007 * include/grub/i386/qemu/init.h: Likewise.
35008 * include/grub/i386/qemu/machine.h: Likewise.
35009 * include/grub/i386/qemu/loader.h: Likewise.
35010 * include/grub/i386/qemu/memory.h: Likewise.
35011
35012 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
35013 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
35014 [qemu] (pkglib_IMAGES): Add `boot.img'.
35015 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
35016 [qemu] (boot_img_FORMAT): New variables.
35017 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
35018 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
35019 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
35020 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
35021 [qemu] (kernel_img_FORMAT): New variables.
35022
35023 * configure.ac: Recognise `i386-qemu'.
35024
35025 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
35026 (for no compression).
35027 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
35028 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
35029 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
35030 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
35031 ifdefs).
35032
97fe384e 350332009-06-27 Pavel Roskin <proski@gnu.org>
35034
35035 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
35036 read.
35037 * efiemu/prepare32.c: Likewise.
35038 * efiemu/prepare64.c: Likewise.
35039
c402ab17 350402009-06-26 Pavel Roskin <proski@gnu.org>
35041
35042 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
35043 * include/grub/elf.h: Define symbols without "32" or "64" based
35044 on GRUB_TARGET_WORDSIZE.
35045 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
35046 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
35047 ELF definitions.
35048 * efiemu/loadcore64.c: Likewise.
35049 * loader/i386/bsd32.c: Likewise.
35050 * loader/i386/bsd64.c: Likewise.
35051 * kern/dl.c: Remove own ELF definitions.
35052 * util/i386/efi/grub-mkimage.c: Likewise.
35053
9bbdfd4d 350542009-06-23 Robert Millan <rmh.grub@aybabtu.com>
35055
35056 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
35057 segment 0x0 unconditionally, because the reference generated by
35058 GAS is an absolute address.
35059
a42ce6e9 350602009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35061
35062 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
35063 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
35064
c952cf92 350652009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35066
35067 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
35068 indexes. Check for -f explicitly.
cc3752ad 35069 (search_file): Improve error message.
35070 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 35071
132a0a59 350722009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35073
35074 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
35075 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
35076
387a140c 350772009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35078
35079 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
35080 * conf/i386-ieee1275.rmk: Likewise.
35081 * conf/i386-coreboot.rmk: Likewise.
35082
35083 * kern/i386/pc/startup.S (grub_stop): Remove function.
35084 * kern/i386/ieee1275/startup.S: Likewise.
35085 * kern/i386/coreboot/startup.S: Likewise.
35086 * kern/i386/misc.S (grub_stop): New function.
35087
41da9665 350882009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35089
35090 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
35091 * kern/i386/realmode.S (real_to_prot): ... to here.
35092
bf337234 350932009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35094
35095 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
35096 with `kernel.img'.
35097 (kernel_elf_SOURCES): Rename to ...
35098 (kernel_img_SOURCES): ... this.
35099 (kernel_elf_HEADERS): Rename to ...
35100 (kernel_img_HEADERS): ... this. Update all users.
35101 (kernel_elf_ASFLAGS): Rename to ...
35102 (kernel_img_ASFLAGS): ... this.
35103 (kernel_elf_CFLAGS): Rename to ...
35104 (kernel_img_CFLAGS): ... this.
35105 (kernel_elf_LDFLAGS): Rename to ...
35106 (kernel_img_LDFLAGS): ... this.
35107 * conf/i386-coreboot.rmk: Likewise.
35108 * conf/powerpc-ieee1275.rmk: Likewise.
35109
35110 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
35111 with "kernel.img".
35112
f52196ff 351132009-06-21 Pavel Roskin <proski@gnu.org>
35114
c3cee413 35115 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
35116 to match nested functions.
35117 * loader/sparc64/ieee1275/linux.c: Likewise.
35118
f52196ff 35119 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
35120
58750afc 351212009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35122
35123 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
35124 all i386 platforms.
35125
15355c7d 351262009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35127
35128 Fix asm file handling on ELF, and remove workarounds.
35129
35130 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 35131 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 35132 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
35133 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
35134
3f3ec72b 351352009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
35136
35137 Load BSD ELF modules
35138
35139 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
35140 and loader/i386/bsd64.c
35141 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
35142 (FREEBSD_MODTYPE_ELF_MODULE): New definition
35143 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
35144 (grub_freebsd_load_elfmodule32): New declaration
35145 (grub_freebsd_load_elfmoduleobj64): Likewise
35146 (grub_freebsd_load_elf_meta32): Likewise
35147 (grub_freebsd_load_elf_meta64): Likewise
35148 (grub_freebsd_add_meta): Likewise
35149 (grub_freebsd_add_meta_module): Likewise
35150 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
35151 (grub_freebsd_add_meta_module): Likewise and move module-specific
35152 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
35153 (grub_cmd_freebsd): Add elf-kernel specific parts
35154 based on grub_freebsd_add_meta_module
35155 (grub_cmd_freebsd_module): Add type parsing moved from
35156 grub_freebsd_add_meta_module
35157 (grub_cmd_freebsd_module_elf): New function
35158 (cmd_freebsd_module_elf): New variable
35159 (GRUB_MOD_INIT): Register freebsd_module_elf
35160 * loader/i386/bsd32.c: New file
35161 * loader/i386/bsd64.c: Likewise
35162 * loader/i386/bsdXX.c: Likewise
35163 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
35164 (grub_elf64_load): Likewise
35165 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
35166 All users updated
35167 (grub_elf64_load_hook_t): Likewise
35168
0db15301 351692009-06-21 Colin Watson <cjwatson@ubuntu.com>
35170
35171 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
35172 variable.
35173 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
35174 don't write a menu entry for recovery mode.
35175
546796c1 351762009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35177
35178 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
35179 after it's no longer needed.
35180
cd7310d5 351812009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35182
35183 * include/grub/i386/loader.h (grub_linux_prot_size)
35184 (grub_linux_tmp_addr, grub_linux_real_addr)
35185 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
35186 GRUB_MACHINE_PCBIOS.
35187 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
35188 common grub_util_info() call to ...
35189 (generate_image): ... here.
35190 Fix use of uninitialized memory, comparison of signed with
35191 unsigned integers and memory leak.
35192 Remove bogus module address message.
35193
ab32d3b5 351942009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
35195
35196 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
35197 grub_raid_register
35198 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
35199
024ef597 352002009-06-19 Pavel Roskin <proski@gnu.org>
35201
35202 * configure.ac: Remove stray AC_MSG_CHECKING.
35203
3ac72b51 352042009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
35205
35206 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 35207
e14cd814 352082009-06-18 Pavel Roskin <proski@gnu.org>
35209
35210 * conf/common.rmk: Add fs_file.mod.
35211 * disk/fs_file.c: New file.
35212 * include/grub/disk.h (enum grub_disk_dev_id): Add
35213 GRUB_DISK_DEVICE_FILE_ID.
35214
26586d98 352152009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35216
35217 Fix build with Apple's toolchain. Part 2
35218
35219 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
35220 a fake start
35221
26de2bcd 352222009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35223
35224 Fix build with Apple's toolchain. Part 1
35225
35226 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
35227 for long calls
35228 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 35229 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 35230 Apple's toolchain
35231
09b3490b 352322009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35233
35234 Fix warnings
35235
35236 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
35237 (decomp_block): initialize ch
35238 use grub_memcpy instead of memcpy
35239
c22a006a 352402009-06-17 Pavel Roskin <proski@gnu.org>
35241
d3638678 35242 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
35243 version, use declarations needed to use vga_text as the startup
35244 console.
35245
c22a006a 35246 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
35247 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
35248 the kernel.
35249 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
35250 and grub_at_keyboard_fini(), it's done on module load and
35251 unload.
35252
05b129e0 352532009-06-17 Felix Zielcke <fzielcke@z-51.de>
35254
35255 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
35256 file can't be found.
35257 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35258
cf24ed9e 352592009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35260
35261 Fix newline handling
35262
35263 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 35264 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 35265 (grub_script_yylex): don't segfault on unterminated script
35266 newline terminates command and variable
35267
74aa8e4b 352682009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35269
35270 avoid double grub_adjust_range call. Bug reported by David Simner
35271
35272 * kern/disk.c (grub_disk_write): change to raw disk access before
35273 calling disk_read
35274
1bd265f3 352752009-06-17 Colin Watson <cjwatson@ubuntu.com>
35276
35277 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
35278 spaces, for the benefit of help2man.
35279 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35280
a2d08c06 352812009-06-16 Pavel Roskin <proski@gnu.org>
35282
35283 * kern/i386/halt.c: Include grub/machine/init.h.
35284 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
35285
b97bcb19 352862009-06-16 Felix Zielcke <fzielcke@z-51.de>
35287
35288 * util/grub.d/30_os-prober.in: Use ${root} in the generated
35289 drivemap menuentry.
35290
0644f96c 352912009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
35292
35293 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
35294 `echo' command.
35295
3ef17a2e 352962009-06-16 Pavel Roskin <proski@gnu.org>
35297
35298 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
35299 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
35300 save %dx, we only need %dl and we never change it.
35301 * boot/i386/pc/cdboot.S: Don't set the root drive.
35302 * boot/i386/pc/pxeboot.S: Likewise.
35303 * include/grub/i386/pc/boot.h: Remove
35304 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
35305 GRUB_BOOT_MACHINE_DRIVE_CHECK.
35306 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
35307 * kern/i386/pc/init.c (make_install_device): Remove references
35308 to grub_root_drive.
35309 * kern/i386/pc/startup.S: Likewise.
35310 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
35311
693fe637 353122009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35313
35314 xnu_uuid command
35315
35316 * commands/xnu_uuid.c: new file
35317 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
35318 (xnu_uuid_mod_SOURCES): new variable
35319 (xnu_uuid_mod_CFLAGS): likewise
35320 (xnu_uuid_mod_LDFLAGS): likewise
35321 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35322 * conf/i386-ieee1275.rmk: likewise
35323 * conf/i386-pc.rmk: likewise
35324 * conf/powerpc-ieee1275.rmk: likewise
35325 * conf/sparc64-ieee1275.rmk: likewise
35326 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
35327
c9da87d0 353282009-06-16 Pavel Roskin <proski@gnu.org>
35329
35330 * configure.ac: Avoid '==' in test command, it's not portable.
35331
9c6f4596 353322009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35333
35334 Probe command
35335
35336 * commands/probe.c: new file
35337 * conf/common.rmk (pkglib_MODULES): add probe.mod
35338 (probe_mod_SOURCES): new variable
35339 (probe_mod_CFLAGS): likewise
35340 (probe_mod_LDFLAGS): likewise
35341 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35342 * conf/i386-ieee1275.rmk: likewise
35343 * conf/i386-pc.rmk: likewise
35344 * conf/powerpc-ieee1275.rmk: likewise
35345 * conf/sparc64-ieee1275.rmk: likewise
35346
70b7f9fd 353472009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
35348
35349 Fix handling of string like \"hello\" and "a
35350 b"
35351
35352 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
35353 (grub_script_yylex): fix parsing of quoting, escaping and newline
35354
71c79a6b 353552009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
35356
dd74360c 35357 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 35358 handling
dd74360c 35359
0644f96c 353602009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 35361
35362 * util/grub-mkconfig.in: Fix parsing of --output option.
35363
e40893c3 353642009-06-12 Pavel Roskin <proski@gnu.org>
35365
35366 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
35367 genmk.rb don't need to be generated or installed.
35368
3a1acfe2 353692009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
35370
35371 * commands/i386/pc/drivemap_int13h.S: add more comments
35372
3a4575d4 353732009-06-11 Pavel Roskin <proski@gnu.org>
35374
0658e928 35375 * Makefile.in (uninstall): Uninstall manuals.
35376
ca0388f0 35377 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
35378 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
35379 and update-grub_lib in two places.
35380 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
35381
e3b27c39 35382 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
35383 a compiler warning.
35384
3a4575d4 35385 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
35386 `entry_lo' to fix variable shadowing.
35387
af1f4f55 353882009-06-11 Christian Franke <franke@computer.org>
35389
35390 * kern/misc.c (__enable_execute_stack): Add missing return type
35391 to prevent gcc warning.
35392
5225e649 353932009-06-11 Felix Zielcke <fzielcke@z-51.de>
35394
35395 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
35396
7d83bd47 353972009-06-11 Pavel Roskin <proski@gnu.org>
35398
c1cb63ba 35399 * Makefile.in: Don't rely on any scripts being executable.
35400 Always use $(SHELL) to run shell scripts.
35401
7d83bd47 35402 * configure.ac: Always define ___main if using -nostdlib. This
35403 fixes tests on Cygwin.
35404
948f48e7 354052009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
35406
35407 UDF fix
35408
7d83bd47 35409 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 35410 is in bytes and not in blocks
7d83bd47 35411
8ada9bc1 354122009-06-11 Pavel Roskin <proski@gnu.org>
35413
35414 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
35415 warning.
35416
25ad2323 354172009-06-11 Felix Zielcke <fzielcke@z-51.de>
35418
35419 * util/grub.d/30_os-prober.in: Fix a comment. Source
35420 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
35421 to set the root device. Place drivemap command in the generated
35422 chain entry.
35423
e65acb0c 354242009-06-11 Pavel Roskin <proski@gnu.org>
35425
35426 * configure.ac: Remove host_m32. Issues with 64-bit utilities
35427 have long been resolved.
35428
f285fe2d 354292009-06-11 Colin Watson <cjwatson@ubuntu.com>
35430
bd47b0b5 35431 * util/grub.d/10_linux.in: Capitalise "Linux".
35432
f285fe2d 35433 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
35434
a0c62e4e 354352009-06-11 Pavel Roskin <proski@gnu.org>
35436
b6783cb2 35437 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
35438 fix a gcc warning and ensure that the function won't ever exit.
35439
dde032e8 35440 * kern/i386/ieee1275/init.c: Add missing prototype for
35441 grub_stop_floppy().
35442
22cd079d 35443 * loader/ieee1275/multiboot2.c [__i386__]: Include
35444 grub/cpu/multiboot.h.
35445
a0c62e4e 35446 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
35447 casts to short - they are not portable and cause warnings. Fix
35448 use of uninitialized values in input_buf. Use ARRAY_SIZE.
35449
63963d17 354502009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
35451
35452 Drivemap fixes
35453
35454 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
35455 new function
35456 (grub_get_root_biosnumber_saved): new variable
35457 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
35458 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 35459 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 35460 %dx after the call if necessary
35461 * conf/common.rmk (pkglib_MODULES): remove boot.mod
35462 (boot_mod_SOURCES): remove
35463 (boot_mod_CFLAGS): remove
35464 (boot_mod_LDFLAGS): remove
35465 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
35466 (boot_mod_SOURCES): new variable
35467 (boot_mod_CFLAGS): likewise
35468 (boot_mod_LDFLAGS): likewise
35469 * conf/i386-efi.rmk: likewise
35470 * conf/i386-ieee1275.rmk: likewise
35471 * conf/i386-pc.rmk: likewise
35472 * conf/powerpc-ieee1275.rmk: likewise
35473 * conf/sparc64-ieee1275.rmk: likewise
35474 * conf/x86_64-efi.rmk: likewise
35475 * include/grub/i386/pc/biosnum.h: new file
35476 * lib/i386/pc/biosnum.c: likewise
35477 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
35478 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
35479 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 35480
33abf7ae 354812009-06-10 Pavel Roskin <proski@gnu.org>
35482
5ac35b35 35483 * io/gzio.c (test_header): Don't reuse one buffer for all data.
35484 Use separate variables. Read only the file size at the end, but
35485 not the checksum that we don't use.
35486
5c5215d5 35487 * kern/file.c (grub_file_read): Use void pointer for the buffer.
35488 Adjust all callers.
35489
27d5fef7 35490 * kern/ieee1275/openfw.c: Remove libc includes.
35491 * kern/ieee1275/cmain.c: Likewise.
35492 * include/grub/ieee1275/ieee1275.h: Likewise.
35493
33abf7ae 35494 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
35495 compiler warnings.
35496
19d50c2b 354972009-06-10 Felix Zielcke <fzielcke@z-51.de>
35498
35499 * Makefile.in: Remove all trailing whitespace.
35500 * conf/i386-pc.rmk: Likewise.
35501 * conf/powerpc-ieee1275.rmk: Likewise.
35502 * conf/sparc64-ieee1275.rmk: Likewise.
35503 * docs/grub.texi: Likewise.
35504 * docs/texinfo.tex: Likewise.
35505 * disk/fs_uuid.c: Likewise.
35506 * disk/lvm.c: Likewise.
35507 * disk/scsi.c: Likewise.
35508 * disk/ata.c: Likewise.
35509 * disk/ieee1275/ofdisk.c: Likewise.
35510 * disk/i386/pc/biosdisk.c: Likewise.
35511 * disk/host.c: Likewise.
35512 * disk/raid.c: Likewise.
35513 * disk/efi/efidisk.c: Likewise.
35514 * disk/usbms.c: Likewise.
35515 * disk/memdisk.c: Likewise.
35516 * disk/loopback.c: Likewise.
35517 * kern/powerpc/dl.c: Likewise.
35518 * kern/device.c: Likewise.
35519 * kern/dl.c: Likewise.
35520 * kern/sparc64/dl.c: Likewise.
35521 * kern/ieee1275/ieee1275.c: Likewise.
35522 * kern/term.c: Likewise.
35523 * kern/fs.c: Likewise.
35524 * kern/i386/dl.c: Likewise.
35525 * kern/i386/pc/startup.S: Likewise.
35526 * kern/i386/pc/init.c: Likewise.
35527 * kern/i386/pc/mmap.c: Likewise.
35528 * kern/i386/pc/lzo1x.S: Likewise.
35529 * kern/i386/ieee1275/init.c: Likewise.
35530 * kern/i386/realmode.S: Likewise.
35531 * kern/i386/tsc.c: Likewise.
35532 * kern/partition.c: Likewise.
35533 * kern/corecmd.c: Likewise.
35534 * kern/file.c: Likewise.
35535 * kern/efi/efi.c: Likewise.
35536 * kern/efi/init.c: Likewise.
35537 * kern/efi/mm.c: Likewise.
35538 * kern/main.c: Likewise.
35539 * kern/err.c: Likewise.
35540 * kern/env.c: Likewise.
35541 * kern/disk.c: Likewise.
35542 * kern/generic/millisleep.c: Likewise.
35543 * kern/generic/rtc_get_time_ms.c: Likewise.
35544 * kern/misc.c: Likewise.
35545 * kern/parser.c: Likewise.
35546 * genmk.rb: Likewise.
35547 * configure.ac: Likewise.
35548 * boot/i386/pc/diskboot.S: Likewise.
35549 * boot/i386/pc/pxeboot.S: Likewise.
35550 * boot/i386/pc/boot.S: Likewise.
35551 * boot/i386/pc/lnxboot.S: Likewise.
35552 * boot/i386/pc/cdboot.S: Likewise.
35553 * parttool/pcpart.c: Likewise.
35554 * video/readers/tga.c: Likewise.
35555 * video/video.c: Likewise.
35556 * video/bitmap.c: Likewise.
35557 * lib/envblk.c: Likewise.
35558 * lib/i386/setjmp.S: Likewise.
35559 * fs/xfs.c: Likewise.
35560 * fs/afs.c: Likewise.
35561 * fs/fat.c: Likewise.
35562 * fs/ntfs.c: Likewise.
35563 * fs/udf.c: Likewise.
35564 * fs/affs.c: Likewise.
35565 * fs/iso9660.c: Likewise.
35566 * fs/hfs.c: Likewise.
35567 * fs/fshelp.c: Likewise.
35568 * fs/ext2.c: Likewise.
35569 * fs/jfs.c: Likewise.
35570 * fs/reiserfs.c: Likewise.
35571 * fs/hfsplus.c: Likewise.
35572 * fs/minix.c: Likewise.
35573 * fs/cpio.c: Likewise.
35574 * fs/sfs.c: Likewise.
35575 * fs/ufs.c: Likewise.
35576 * efiemu/prepare.c: Likewise.
35577 * efiemu/loadcore_common.c: Likewise.
35578 * efiemu/runtime/efiemu.sh: Likewise.
35579 * efiemu/runtime/efiemu.S: Likewise.
35580 * efiemu/runtime/efiemu.c: Likewise.
35581 * efiemu/pnvram.c: Likewise.
35582 * efiemu/main.c: Likewise.
35583 * efiemu/i386/pc/cfgtables.c: Likewise.
35584 * efiemu/i386/loadcore64.c: Likewise.
35585 * efiemu/i386/loadcore32.c: Likewise.
35586 * efiemu/loadcore.c: Likewise.
35587 * efiemu/symbols.c: Likewise.
35588 * efiemu/mm.c: Likewise.
35589 * include/grub/autoefi.h: Likewise.
35590 * include/grub/datetime.h: Likewise.
35591 * include/grub/term.h: Likewise.
35592 * include/grub/hfs.h: Likewise.
35593 * include/grub/lvm.h: Likewise.
35594 * include/grub/i386/tsc.h: Likewise.
35595 * include/grub/i386/linux.h: Likewise.
35596 * include/grub/i386/xnu.h: Likewise.
35597 * include/grub/i386/efiemu.h: Likewise.
35598 * include/grub/i386/pc/biosdisk.h: Likewise.
35599 * include/grub/i386/pc/memory.h: Likewise.
35600 * include/grub/i386/pc/vbe.h: Likewise.
35601 * include/grub/parttool.h: Likewise.
35602 * include/grub/video.h: Likewise.
35603 * include/grub/memory.h: Likewise.
35604 * include/grub/fs.h: Likewise.
35605 * include/grub/partition.h: Likewise.
35606 * include/grub/xnu.h: Likewise.
35607 * include/grub/efi/api.h: Likewise.
35608 * include/grub/efi/pe32.h: Likewise.
35609 * include/grub/efi/memory.h: Likewise.
35610 * include/grub/multiboot.h: Likewise.
35611 * include/grub/usbdesc.h: Likewise.
35612 * include/grub/multiboot2.h: Likewise.
35613 * include/grub/acpi.h: Likewise.
35614 * include/grub/efiemu/efiemu.h: Likewise.
35615 * include/grub/disk.h: Likewise.
35616 * include/grub/ieee1275/ieee1275.h: Likewise.
35617 * include/grub/net.h: Likewise.
35618 * include/grub/machoload.h: Likewise.
35619 * include/grub/macho.h: Likewise.
35620 * include/multiboot.h: Likewise.
35621 * genmoddep.awk: Likewise.
35622 * normal/main.c: Likewise.
35623 * normal/menu_entry.c: Likewise.
35624 * normal/menu_viewer.c: Likewise.
35625 * normal/completion.c: Likewise.
35626 * normal/cmdline.c: Likewise.
35627 * normal/misc.c: Likewise.
35628 * normal/datetime.c: Likewise.
35629 * bus/usb/usbtrans.c: Likewise.
35630 * bus/usb/ohci.c: Likewise.
35631 * bus/usb/uhci.c: Likewise.
35632 * bus/usb/usb.c: Likewise.
35633 * mmap/efi/mmap.c: Likewise.
35634 * mmap/i386/pc/mmap_helper.S: Likewise.
35635 * mmap/i386/pc/mmap.c: Likewise.
35636 * mmap/i386/mmap.c: Likewise.
35637 * mmap/i386/uppermem.c: Likewise.
35638 * mmap/mmap.c: Likewise.
35639 * commands/acpi.c: Likewise.
35640 * commands/echo.c: Likewise.
35641 * commands/blocklist.c: Likewise.
35642 * commands/loadenv.c: Likewise.
35643 * commands/usbtest.c: Likewise.
35644 * commands/boot.c: Likewise.
35645 * commands/parttool.c: Likewise.
35646 * commands/search.c: Likewise.
35647 * commands/cat.c: Likewise.
35648 * commands/i386/pc/play.c: Likewise.
35649 * commands/i386/pc/drivemap.c: Likewise.
35650 * commands/i386/pc/vbeinfo.c: Likewise.
35651 * commands/i386/pc/acpi.c: Likewise.
35652 * commands/i386/pc/vbetest.c: Likewise.
35653 * commands/ls.c: Likewise.
35654 * commands/cmp.c: Likewise.
35655 * commands/test.c: Likewise.
35656 * commands/efi/acpi.c: Likewise.
35657 * commands/gptsync.c: Likewise.
35658 * commands/help.c: Likewise.
35659 * partmap/amiga.c: Likewise.
35660 * partmap/apple.c: Likewise.
35661 * partmap/acorn.c: Likewise.
35662 * partmap/pc.c: Likewise.
35663 * partmap/sun.c: Likewise.
35664 * partmap/gpt.c: Likewise.
35665 * script/sh/lexer.c: Likewise.
35666 * script/sh/function.c: Likewise.
35667 * font/font.c: Likewise.
35668 * font/font_cmd.c: Likewise.
35669 * loader/powerpc/ieee1275/linux.c: Likewise.
35670 * loader/efi/chainloader.c: Likewise.
35671 * loader/multiboot_loader.c: Likewise.
35672 * loader/macho.c: Likewise.
35673 * loader/i386/multiboot.c: Likewise.
35674 * loader/i386/linux.c: Likewise.
35675 * loader/i386/pc/linux.c: Likewise.
35676 * loader/i386/pc/multiboot2.c: Likewise.
35677 * loader/i386/pc/chainloader.c: Likewise.
35678 * loader/i386/pc/xnu.c: Likewise.
35679 * loader/i386/bsd_trampoline.S: Likewise.
35680 * loader/i386/efi/linux.c: Likewise.
35681 * loader/i386/multiboot_elfxx.c: Likewise.
35682 * loader/i386/bsd_helper.S: Likewise.
35683 * loader/i386/bsd.c: Likewise.
35684 * loader/i386/linux_trampoline.S: Likewise.
35685 * loader/i386/xnu_helper.S: Likewise.
35686 * loader/i386/xnu.c: Likewise.
35687 * loader/i386/bsd_pagetable.c: Likewise.
35688 * loader/i386/multiboot_helper.S: Likewise.
35689 * loader/xnu.c: Likewise.
35690 * loader/xnu_resume.c: Likewise.
35691 * io/gzio.c: Likewise.
35692 * term/efi/console.c: Likewise.
35693 * term/terminfo.c: Likewise.
35694 * term/ieee1275/ofconsole.c: Likewise.
35695 * term/i386/pc/serial.c: Likewise.
35696 * term/i386/pc/vesafb.c: Likewise.
35697 * term/i386/pc/vga.c: Likewise.
35698 * term/usb_keyboard.c: Likewise.
35699 * term/gfxterm.c: Likewise.
35700 * aclocal.m4: Likewise.
35701 * util/lvm.c: Likewise.
35702 * util/grub.d/30_os-prober.in: Likewise.
35703 * util/grub.d/10_hurd.in: Likewise.
35704 * util/console.c: Likewise.
35705 * util/grub-macho2img.c: Likewise.
35706 * util/grub-probe.c: Likewise.
35707 * util/hostfs.c: Likewise.
35708 * util/i386/pc/grub-mkimage.c: Likewise.
35709 * util/i386/pc/grub-setup.c: Likewise.
35710 * util/i386/efi/grub-mkimage.c: Likewise.
35711 * util/grub-mkconfig.in: Likewise.
35712 * util/raid.c: Likewise.
35713 * util/resolve.c: Likewise.
35714 * util/grub-mkdevicemap.c: Likewise.
35715 * util/grub-emu.c: Likewise.
35716 * util/getroot.c: Likewise.
35717 * util/hostdisk.c: Likewise.
35718 * util/usb.c: Likewise.
35719 * util/grub-editenv.c: Likewise.
35720 * util/misc.c: Likewise.
35721
d2d49665 357222009-06-10 Felix Zielcke <fzielcke@z-51.de>
35723
35724 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
35725 `genparttoollist.sh'.
35726 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
35727 Add `*.sh' to the list find searches for and change `mdate.sh'
35728 to `mdate-sh'.
35729
fe052e37 357302009-06-10 Pavel Roskin <proski@gnu.org>
35731
2763ac18 35732 * include/grub/multiboot2.h: Provide compatibility defines for
35733 multiboot2.h.
35734 * include/multiboot2.h: Include stdint.h only if needed, using
35735 angle brackets.
35736 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
35737 grub/multiboot2.h.
35738 * loader/ieee1275/multiboot2.c: Likewise.
35739 * loader/multiboot2.c: Likewise.
35740 * loader/multiboot_loader.c: Likewise.
35741
437e6adc 35742 * configure.ac: Use -nostdlib when probing for the target. It
35743 should not be required to have libc for the target.
35744
06a6836c 35745 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
35746 they fail without libc headers for the target.
35747 * include/grub/powerpc/libgcc.h: Use weak attribute for all
35748 exports.
35749 * include/grub/sparc64/libgcc.h: Likewise. Don't use
35750 preprocessor conditionals.
35751
fe052e37 35752 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
35753 build system doesn't need to be aware of the tar.c internals.
35754
afd22553 357552009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 35756
afd22553 35757 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 35758
6b787c4f 357592009-06-09 Robert Millan <rmh.grub@aybabtu.com>
35760
35761 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
35762 disk limit to 26 for IDE, Virtio, Xen and SCSI.
35763
357642009-06-09 Felix Zielcke <fzielcke@z-51.de>
35765
35766 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 35767 aren't available if ata.mod gets used.
6b787c4f 35768
473d1e45 357692009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 35770
473d1e45 35771 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 35772 initialising controller.
473d1e45 35773 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 35774
255a27d4 357752009-06-08 Felix Zielcke <fzielcke@z-51.de>
35776
35777 * util/i386/pc/grub-install.in: Add a parameter --disk-module
35778 to choose between ata and biosdisk module on i386-pc.
35779
473d1e45 357802009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 35781
d55842d8 35782 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
35783 Subclass and Programming Interface fields in terms of the 3 byte
35784 Class Code register.
35785 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35786
fa5db0b1 35787 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
35788 interface is OHCI. Add grub_dprintf for symmetry with
35789 bus/usb/uhci.c.
35790 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
35791 interface is UHCI. Add interf variable for programming
35792 interface. Print interface with class/subclass.
35793
c0947beb 35794 * bus/usb/ohci.c: Set interf with correct field.
35795
69da8877 35796 * bus/usb/uhci.c: Remove unneeded doubled lines.
35797 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
35798 Remove whitespace inside comment.
35799
9e172e30 358002009-06-08 Robert Millan <rmh.grub@aybabtu.com>
35801
35802 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
35803 as fallback an equivalent option without depth.
35804
de65ee2b 358052009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35806
35807 Not fail if unable to retrieve C/H/S on LBA disks
35808
473d1e45 35809 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 35810 if unable to retrieve C/H/S on LBA disks
35811
b57ea2c9 358122009-06-08 Pavel Roskin <proski@gnu.org>
35813
35814 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
35815 about aliasing.
35816
af361263 358172009-06-08 Felix Zielcke <fzielcke@z-51.de>
35818
35819 * Makefile.in (uninstall): Remove all $lib_DATA files.
35820
4c9ec6b3 358212009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35822
35823 Bugfix: install on partitionless device
35824
35825 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
35826 is a whole disk
35827
e76fc924 358282009-06-08 Felix Zielcke <fzielcke@z-51.de>
35829
35830 * Makefile.in (uninstall): Remove all $include_DATA files.
35831
ba5a0d05 358322009-06-08 Felix Zielcke <fzielcke@z-51.de>
35833
35834 * commands/true.c: New file. Implement the true and false commands.
35835 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
35836 (true_mod_SOURCES): New variable.
35837 (true_mod_CFLAGS): Likewise.
35838 (true_mod_LDFLAGS): Likewise.
35839
c8048e32 358402009-06-05 Colin D Bennett <colin@gibibit.com>
35841
35842 Optimized font character lookup using binary search instead of linear
35843 search. Fonts now are required to have the character index ordered by
35844 code point.
35845
35846 * font/font.c (load_font_index): Verify that fonts have ordered
35847 character indices.
35848 (find_glyph): Use binary search instead of linear search to find a
35849 character in a font.
35850
408305be 358512009-06-05 Michael Scherer <misc@mandriva.org>
35852
35853 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
35854 uses case sensitive btree.
35855 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
35856 only for case insensitive filesystems.
35857
8ee1e0d9 358582009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
35859
35860 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
35861 * conf/common.rmk (search_mod_CFLAGS): likewise
35862
a9966eb1 358632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35864
473d1e45 35865 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 35866 compensate a compiler bug
35867
9e7100fb 358682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35869
473d1e45 35870 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 35871 instead of '\b'
473d1e45 35872
ede21d71 358732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35874
35875 Definitions for creating asm symbols with Apple's CC
35876
35877 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
35878 [APPLE_CC] (VARIABLE): likewise
35879
9dbf7653 358802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35881
35882 Disable lnxboot.img when compiled
35883 with Apple's CC
35884
35885 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
35886 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
35887 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
35888 [! APPLE_CC] (CODE_LENG): skip
35889 [! APPLE_CC] (setup_sects): likewise
35890 [! APPLE_CC]: skip filling
473d1e45 35891
e93cdc3d 358922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35893
35894 Address in trampolines based on 32-bit registers when compiled
35895 with Apple's CC
35896
473d1e45 35897 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 35898 for addresses
35899 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
35900
6c688477 359012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35902
35903 Avoid aliases when compiling with Apple's CC for PCBIOS machine
35904
35905 * kern/misc.c [APPLE_CC] (memcpy): new function
35906 [APPLE_CC] (memmove): likewise
35907 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 35908 (memcpy): define alias conditionally on !APPLE_CC
6c688477 35909 (memset): likewise
35910 (abort): likewise
35911 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
35912 APPLE_CC are defined
35913 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
35914 (grub_assert_fail): make prototype conditional
35915
e37ffc5c 359162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35917
35918 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
35919
473d1e45 35920 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
35921 grub-macho2img
e37ffc5c 35922 (CLEANFILES): add grub-macho2img
35923 (grub_macho2img_SOURCES): new variable
35924 * kern/i386/pc/startup.S (bss_start): new variable
35925 (bss_end): likewise
35926 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
35927 * util/grub-macho2img.c: new file
35928
cf00df31 359292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35930
35931 Use objconv when compiling with Apple's CC
35932
35933 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
35934 (efiemu64.o): likewise
35935 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
35936 when compiling with Apple's CC
35937 (efiemu64_s.o): likewise
35938 * configure.ac: check for objconv when compiling with Apple's CC
35939 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 35940
d119a20c 359412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35942
35943 Define segment as well as section when compiling with
35944 Apple's CC
35945
35946 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
35947 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
35948 (efiemu_convert_pointer): likewise
35949 (efiemu_set_virtual_address_map): likewise
35950 (efiemu_convert_pointer): likewise
35951 (efiemu_getcrc32): likewise
35952 (init_crc32_table): likewise
35953 (reflect): likewise
35954 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
35955 (GRUB_MOD_DEP): likewise
473d1e45 35956
c8600122 359572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35958
35959 Allow a compilation without -mcmodel=large
35960
35961 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
35962 when compiled without -mcmodel=large
473d1e45 35963 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 35964 without -mcmodel=large
473d1e45 35965 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 35966 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 35967
e8df1d4e 359682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35969
35970 Remove nested functions in efiemu core
35971
35972 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 35973
cc6c3ac1 359742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35975
35976 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
35977
35978 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
35979 temporary storage
473d1e45 35980 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
35981 using Apple's CC
cc6c3ac1 35982 (grub_cpu_is_tsc_supported): likewise
35983 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 35984
3e325901 359852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35986
35987 Absolute addressing through constant with Apple's cc
35988
35989 * kern/i386/pc/startup.S: Define necessary constants
35990 and address through it when using ABS with Apple's CC
35991 * boot/i386/pc/diskboot.S: likewise
35992 * boot/i386/pc/boot.S: likewise
35993 * boot/i386/pc/lnxboot.S: likewise
35994 * boot/i386/pc/cdboot.S: likewise
35995 * mmap/i386/pc/mmap_helper.S: likewise
35996 * commands/i386/pc/drivemap_int13h.S: likewise
35997
2b167a72 359982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35999
36000 Check if compiler is apple cc
36001
36002 * Makefile.in (ASFLAGS): new variable
36003 (TARGET_ASFLAGS): likewise
36004 (TARGET_MODULE_FORMAT): likewise
36005 (TARGET_APPLE_CC): likewise
36006 (OBJCONV): likewise
36007 (TARGET_IMG_CFLAGS): likewise
36008 (TARGET_CPPFLAGS): add includedir
36009 * configure.ac: call grub_apple_cc and grub_apple_target_cc
36010 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
36011 Check for linker script only if compiler isn't Apple's CC
36012 (TARGET_MODULE_FORMAT): set
36013 (TARGET_APPLE_CC): likewise
36014 (TARGET_ASFLAGS): likewise
36015 (ASFLAGS): likewise
36016 Check for objcopy only if compiler isn't Apple's CC
36017 Check for BSS symbol only if compiler isn't Apple's CC
36018 * genmk.rb: adapt nm options if we use Apple's utils
36019 * aclocal.m4 (grub_apple_cc): new test
36020 (grub_apple_target_cc): likewise
473d1e45 36021
fb14123e 360222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36023
36024 Simplify sed expressions and improve awk
36025
36026 * Makefile.in (install-local): simplify sed expression
36027 * gencmdlist.sh: likewise
36028 * genmoddep.awk: avoid adding module as a dependency of itself
36029
5b889789 360302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36031
36032 Add missing start symbols
36033
36034 * boot/i386/pc/boot.S: add start
fb14123e 36035 * boot/i386/pc/pxeboot.S: likewise
473d1e45 36036
fd2bf2e3 360372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36038
36039 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 36040
36041 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 36042 (relocate_addresses): consider both r_addend and value at offset
36043 (make_mods_section): zerofill modinfo and header
36044 (convert_elf): write prefix here
473d1e45 36045
5389763d 360462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36047
36048 Use .asciz instead of .string
36049
36050 * i386/pc/diskboot.S: use .asciz instead of .string
36051 * i386/pc/boot.S: likewise
36052 * include/grub/dl.h (GRUB_MOD_DEP): likewise
36053 (GRUB_MOD_NAME): likewise
473d1e45 36054
3eb5ed4e 360552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36056
36057 gfxpayload support
36058
36059 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
36060 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
36061 (grub_video_setup): remove
36062 (grub_video_set_mode): new prototype
36063 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
36064 (vid_mode): remove
36065 (linux_vesafb_res): compile only on PCBIOS
36066 (grub_linux_boot): support gfxpayload
36067 * loader/i386/pc/xnu.c (video_hook): new function
36068 (grub_xnu_set_video): support gfxpayload
36069 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
36070 (DEFAULT_VIDEO_HEIGHT): likewise
36071 (DEFAULT_VIDEO_FLAGS): likewise
36072 (DEFAULT_VIDEO_MODE): new definition
36073 (video_hook): new function
36074 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 36075 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 36076 loading xnu
36077 * video/video.c (grub_video_setup): removed
473d1e45 36078 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 36079 grub_video_setup
36080
4b0e1143 360812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36082
36083 Avoid calling biosdisk in drivemap
36084
36085 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
36086 (revparse_biosdisk): likewise
36087 (list_mappings): derive name from id directly
36088 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 36089
fda6cb98 360902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36091
36092 Script fixes
36093
36094 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
36095 (grub_lexer_param): add tokenonhold
36096 (grub_script_create_cmdline): remove cmdline. All callers updated
36097 (grub_script_function_create): make functionname
36098 grub_script_arg. All callers updated
36099 (grub_script_execute_argument_to_string): new prototype
36100 * kern/parser.c (state_transitions): reorder
36101 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 36102 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 36103 make global
36104 (grub_script_execute_cmdline): use new format
36105 * script/sh/function.c (grub_script_function_create): make functionname
36106 grub_script_arg. All callers updated
473d1e45 36107 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 36108 (grub_script_yylex): remove
36109 (grub_script_yylex2): renamed to ...
36110 (grub_script_yylex): ...renamed
36111 parse the expressions like a${b}c
36112 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
36113 (GRUB_PARSER_TOKEN_VAR): remove
36114 (GRUB_PARSER_TOKEN_NAME): likewise
36115 ("if"): declare as typeless
36116 ("while"): likewise
36117 ("function"): likewise
36118 ("else"): likewise
36119 ("then"): likewise
36120 ("fi"): likewise
36121 (text): remove
36122 (argument): likewise
36123 (script): accept empty scripts and make exit on error
36124 (arguments): use GRUB_PARSER_TOKEN_ARG
36125 (function): likewise
36126 (command): move error handling to script
36127 (menuentry): move grub_script_lexer_ref before
473d1e45 36128 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 36129 argument. All callers updated
36130
f4448a07 361312009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36132
36133 Prevent GRUB from probing floppies during boot.
36134
36135 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
36136 * commands/search.c (options): Add --no-floppy.
36137 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
36138 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
36139 --no-floppy when searching for UUIDs.
36140
2bf5885a 361412009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36142
36143 Simplify the code duplication in commands/search.c.
36144
36145 * commands/search.c (search_label, search_fs_uuid): Merge into ...
36146 (search_fs): ... this. Update all users.
36147
f6fd460a 361482009-06-03 Felix Zielcke <fzielcke@z-51.de>
36149
36150 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
36151
cbb3c83e 361522009-05-28 Pavel Roskin <proski@gnu.org>
36153
57788cfd 36154 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
36155 Remove the original symlink explicitly.
36156
cbb3c83e 36157 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
36158 just one slash. That's how grub_fshelp_find_file() does it.
36159
cd0d5e30 361602009-05-26 Pavel Roskin <proski@gnu.org>
36161
f0f8bbe2 36162 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
36163 to `str'.
36164
cd0d5e30 36165 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
36166 possibly unused.
36167
8c2cab51 361682009-05-25 Christian Franke <franke@computer.org>
36169
36170 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
36171 register.
36172 (grub_atapi_identify): Add wait after drive select.
36173 (grub_ata_identify): Do more strict status register check before
36174 calling grub_atapi_identify (). Suppress error message if status
36175 register is 0x00 after command failure. Add status register
36176 check after PIO read to avoid bogus identify due to stuck DRQ.
36177 Thanks to Pavel Roskin for testing.
36178 (grub_device_initialize): Remove unsafe status register check.
36179 Thanks to 'phcoder' for problem report and patch.
36180 Prevent sign extension in debug message.
36181
230c0ad6 361822009-05-23 Colin D Bennett <colin@gibibit.com>
36183
36184 Cleaned up `include/grub/normal.h'. Grouped prototypes by
36185 definition file, and functions defined in `normal/menu.c' have had
36186 their prototypes moved to `include/grub/menu.h' for consistency.
36187
36188 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
36189 from normal.h.
36190 (grub_menu_get_entry): Likewise.
36191 (grub_menu_get_timeout): Likewise.
36192 (grub_menu_set_timeout): Likewise.
36193 (grub_menu_execute_entry): Likewise.
36194 (grub_menu_execute_with_fallback): Likewise.
36195 (grub_menu_entry_run): Likewise.
36196
36197 * include/grub/normal.h: Re-ordered and grouped function
36198 prototypes by file that the function is defined in.
36199 (grub_menu_execute_callback): Removed; moved to menu.h.
36200 (grub_menu_get_entry): Likewise.
36201 (grub_menu_get_timeout): Likewise.
36202 (grub_menu_set_timeout): Likewise.
36203 (grub_menu_execute_entry): Likewise.
36204 (grub_menu_execute_with_fallback): Likewise.
36205 (grub_menu_entry_run): Likewise.
36206 (grub_menu_addentry): Renamed from this ...
36207 (grub_normal_add_menu_entry): ... to this.
36208
36209 * normal/main.c (grub_menu_addentry): Renamed from this ...
36210 (grub_normal_add_menu_entry): ... to this.
36211
36212 * script/sh/execute.c (grub_script_execute_menuentry): Update
36213 reference to renamed grub_menu_addentry function.
36214
861f03a5 362152009-05-23 Felix Zielcke <fzielcke@z-51.de>
36216
36217 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
36218
96b1619a 362192009-05-22 Pavel Roskin <proski@gnu.org>
36220
bf6a5fb2 36221 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
36222 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
36223 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
36224 compiling for the i386 targets, but not for the utilities.
36225
96b1619a 36226 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
36227 to grub_uint8_t.
36228 (grub_root_drive): Likewise.
36229 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
36230 remove alignment.
36231 (grub_root_drive): Change size to byte.
36232 (grub_start_addr): Remove.
36233 (grub_end_addr): Likewise.
36234 (grub_apm_bios_info): Likewise.
36235
b729776b 362362009-05-21 Felix Zielcke <fzielcke@z-51.de>
36237
36238 * normal/i386: Remove.
36239 * normal/powerpc: Likewise.
36240 * normal/sparc64: Likewise.
36241 * normal/x86_64: Likewise.
36242
0a15ce80 362432009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
36244
36245 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 36246 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 36247 * loader/i386/xnu_helper.S: Likewise
d6da58e6 36248
33db9015 362492009-05-18 Colin D Bennett <colin@gibibit.com>
36250
d6da58e6 36251 Display error messages when parsing a Lua statement fails.
36252 Previously, executing a syntactically invalid statement like
36253 ")foo" or "bar;" would silently fail.
33db9015 36254
36255 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 36256 (grub_lua_parse_line): Improved reporting of Lua parser and
36257 execution errors.
33db9015 36258
46422c89 362592009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36260
36261 Remove -Werror which causes build to fail on some systems
36262
36263 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
36264 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
36265 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 36266
22f53a96 362672009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36268
36269 trampoline for linux on 64-bit platform
36270
18f547ad 36271 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
36272 loader/i386/efi/linux_trampoline.S
36273 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 36274 declaration
d6da58e6 36275 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
36276 here
22f53a96 36277 * loader/i386/linux_trampoline.S: moved here
d6da58e6 36278 * loader/i386/efi/linux.c (allocate_pages): reserve space for
36279 trampoline
22f53a96 36280 (jumpvector): removed
36281 (grub_linux_trampoline_start): new declaration
36282 (grub_linux_trampoline_end): likewise
36283 (grub_linux_boot): use trampoline when on 64-bit platform
36284 * loader/i386/linux.c: likewise
36285
cb5a0f40 362862009-05-16 Pavel Roskin <proski@gnu.org>
36287
36288 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
36289 const to avoid a warning.
36290 (grub_lua_setenv): Likewise.
36291 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
36292 lmsg to fix a warning.
36293
334f2c28 362942009-05-16 Felix Zielcke <fzielcke@z-51.de>
36295
36296 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 36297 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36298 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
36299 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36300 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36301 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36302 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36303 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 36304
59e5d3ec 363052009-05-16 Felix Zielcke <fzielcke@z-51.de>
36306
36307 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
36308
9d87a1ba 363092009-05-16 Bean <bean123ch@gmail.com>
36310
36311 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
36312 (lua_mod_SOURCES): New variable.
36313 (lua_mod_CFLAGS): Likewise.
36314 (lua_mod_LDFLAGS): Likewise.
36315
36316 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
36317 (setjmp_mod_SOURCES): New variable.
36318 (setjmp_mod_CFLAGS): Likewise.
36319 (setjmp_LDFLAGS): Likewise.
36320
36321 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
36322 (setjmp_mod_SOURCES): New variable.
36323 (setjmp_mod_CFLAGS): Likewise.
36324 (setjmp_LDFLAGS): Likewise.
36325
36326 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36327 (setjmp_mod_SOURCES): New variable.
36328 (setjmp_mod_CFLAGS): Likewise.
36329 (setjmp_LDFLAGS): Likewise.
36330
36331 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36332 (setjmp_mod_SOURCES): New variable.
36333 (setjmp_mod_CFLAGS): Likewise.
36334 (setjmp_LDFLAGS): Likewise.
36335
36336 * normal/i386/setjmp.S: Moved from here ...
36337 * lib/i386/setjmp.S: ... Moved here
36338 * normal/x86_64/setjmp.S: Moved from here ...
36339 * lib/x86_64/setjmp.S: ... Moved here
36340 * normal/powerpc/setjmp.S: Moved from here ...
36341 * lib/powerpc/setjmp.S: ... Moved here
36342 * normal/sparc64/setjmp.S: Moved from here ...
36343 * lib/sparc64/setjmp.S: ... Moved here
36344
36345 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
36346 returns_twice in mingw.
36347
36348 * script/lua/grub_lib.c: New file.
36349 * script/lua/grub_lib.h: Likewise.
36350 * script/lua/grub_lua.h: Likewise.
36351 * script/lua/grub_main.c: Likewise.
36352 * script/lua/lapi.c: Likewise.
36353 * script/lua/lapi.h: Likewise.
36354 * script/lua/lauxlib.c: Likewise.
36355 * script/lua/lauxlib.h: Likewise.
36356 * script/lua/lbaselib.c: Likewise.
36357 * script/lua/lcode.c: Likewise.
36358 * script/lua/lcode.h: Likewise.
36359 * script/lua/ldblib.c: Likewise.
36360 * script/lua/ldebug.c: Likewise.
36361 * script/lua/ldebug.h: Likewise.
36362 * script/lua/ldo.c: Likewise.
36363 * script/lua/ldo.h: Likewise.
36364 * script/lua/ldump.c: Likewise.
36365 * script/lua/lfunc.c: Likewise.
36366 * script/lua/lfunc.h: Likewise.
36367 * script/lua/lgc.c: Likewise.
36368 * script/lua/lgc.h: Likewise.
36369 * script/lua/linit.c: Likewise.
36370 * script/lua/liolib.c: Likewise.
36371 * script/lua/llex.c: Likewise.
36372 * script/lua/llex.h: Likewise.
36373 * script/lua/llimits.h: Likewise.
36374 * script/lua/lmathlib.c: Likewise.
36375 * script/lua/lmem.c: Likewise.
36376 * script/lua/lmem.h: Likewise.
36377 * script/lua/loadlib.c: Likewise.
36378 * script/lua/lobject.c: Likewise.
36379 * script/lua/lobject.h: Likewise.
36380 * script/lua/lopcodes.c: Likewise.
36381 * script/lua/lopcodes.h: Likewise.
36382 * script/lua/loslib.c: Likewise.
36383 * script/lua/lparser.c: Likewise.
36384 * script/lua/lparser.h: Likewise.
36385 * script/lua/lstate.c: Likewise.
36386 * script/lua/lstate.h: Likewise.
36387 * script/lua/lstring.c: Likewise.
36388 * script/lua/lstring.h: Likewise.
36389 * script/lua/lstrlib.c: Likewise.
36390 * script/lua/ltable.c: Likewise.
36391 * script/lua/ltable.h: Likewise.
36392 * script/lua/ltablib.c: Likewise.
36393 * script/lua/ltm.c: Likewise.
36394 * script/lua/ltm.h: Likewise.
36395 * script/lua/lua.h: Likewise.
36396 * script/lua/luaconf.h: Likewise.
36397 * script/lua/lualib.h: Likewise.
36398 * script/lua/lundump.c: Likewise.
36399 * script/lua/lundump.h: Likewise.
36400 * script/lua/lvm.c: Likewise.
36401 * script/lua/lvm.h: Likewise.
36402 * script/lua/lzio.c: Likewise.
36403 * script/lua/lzio.h: Likewise.
36404
5e898c9d 364052009-05-16 Bean <bean123ch@gmail.com>
36406
36407 * include/grub/kernel.h (grub_module_header_types): Add type
36408 OBJ_TYPE_CONFIG.
36409
36410 * kern/main.c (grub_load_config): New function.
36411 (grub_main): Call grub_load_config to read boot config.
36412
36413 * grub-mkimage (generate_image): New parameter config_path.
36414 (options): New option --config.
36415 (main): Parse --config option, and pass it to generate_image.
36416
cf353a47 364172009-05-14 Christian Franke <franke@computer.org>
36418
36419 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
36420 This fixes build on Cygwin.
36421
3834887f 364222009-05-14 Pavel Roskin <proski@gnu.org>
36423
36424 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
36425 jump. This saves two bytes, so the typical case of 2 swapped
36426 drives would fit 32 bytes.
36427
8090fc01 364282009-05-13 Pavel Roskin <proski@gnu.org>
36429
ac963883 36430 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
36431 grub_uint32_t to avoid a warning.
36432
8090fc01 36433 * loader/i386/linux.c (allocate_pages): When assigning
36434 real_mode_mem, cast through grub_size_t to fix a warning. The
36435 code already makes sure that the value would fit a pointer.
36436 (grub_linux_setup_video): Cast render_target->data to
36437 grub_size_t to fix a warning.
36438
18f547ad 364392009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 36440
36441 * commands/i386/pc/drivemap.c: New file - implement drivemap
36442 command.
36443 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
36444 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
36445
6f6a8b28 364462009-05-13 Pavel Roskin <proski@gnu.org>
36447
36448 * util/i386/pc/grub-setup.c (setup): Remove unused variable
36449 embedding_area_exists.
36450
15fbf4c4 364512009-05-13 Robert Millan <rmh.grub@aybabtu.com>
36452
36453 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
36454 it easier to understand / work with.
59978c8a 36455 Improve warning messages for cases where there's no embedding area,
36456 or when it is too small (or core.img too large).
15fbf4c4 36457
238e871f 364582009-05-13 Pavel Roskin <proski@gnu.org>
36459
0ab3a9a4 36460 * loader/i386/pc/multiboot2.c: Add necessary includes for
36461 grub_multiboot2_real_boot().
36462
a2c8c5f8 36463 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
36464 PX record is always little-endian. We only need the lower 2
36465 bytes of the mode.
36466
faec96af 36467 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
36468 facilitate code reuse.
36469 (grub_cpio_mount): Use "struct head", not a char buffer. This
36470 fixes a warning reported by gcc 4.4.
36471
238e871f 36472 * kernel/disk.c (grub_disk_read): Use void pointer for the
36473 buffer.
36474 (grub_disk_write): Use const void pointer for the buffer.
36475 Adjust all callers. Remove unnecessary casts.
36476
901d2f0c 364772009-05-10 Robert Millan <rmh.grub@aybabtu.com>
36478
36479 * util/i386/pc/grub-install.in: Update copyright year.
36480
18f547ad 364812009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 36482
36483 gptsync
36484
36485 * commands/gptsync.c: new file
36486 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
36487 (gptsync_mod_SOURCES): new variable
36488 (gptsync_mod_CFLAGS): likewise
36489 (gptsync_mod_LDFLAGS): likewise
18f547ad 36490 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 36491 new definition
36492 (GRUB_PC_PARTITION_TYPE_HFS): likewise
36493 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
36494 * conf/i386-ieee1275.rmk: likewise
36495 * conf/i386-pc.rmk: likewise
36496 * conf/powerpc-ieee1275.rmk: likewise
36497
b4ba690a 364982009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
36499
36500 Fixed grub-emu
36501
36502 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
36503 (grub_dl_ref): likewise
36504
317e1a44 365052009-05-08 Robert Millan <rmh.grub@aybabtu.com>
36506
36507 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
36508 split in two functions (one for msdos and one for gpt).
36509
041b8094 365102009-05-08 Pavel Roskin <proski@gnu.org>
36511
752473c2 36512 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
36513 not modified.
36514
041b8094 36515 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
36516 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
36517 Initialize them with -1. Add sanity check for bad1. Eliminate
36518 nerr variable.
36519
172800ce 365202009-05-08 David S. Miller <davem@davemloft.net>
36521
36522 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
36523
29aa5e81 365242009-05-06 Robert Millan <rmh.grub@aybabtu.com>
36525
36526 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 36527 existence.
29aa5e81 36528
96613b62 365292009-05-05 Felix Zielcke <fzielcke@z-51.de>
36530
36531 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 36532 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 36533
eef73c8a 365342009-05-05 David S. Miller <davem@davemloft.net>
36535
36536 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
36537
119494b5 365382009-05-05 Pavel Roskin <proski@gnu.org>
36539
36540 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
36541 of grub_dl_ref() and grub_dl_unref().
36542 * commands/parttool.c: Remove preprocessor conditionals around
36543 grub_dl_ref() and grub_dl_unref().
36544 * fs/affs.c: Likewise.
36545 * fs/afs.c: Likewise.
36546 * fs/cpio.c: Likewise.
36547 * fs/ext2.c: Likewise.
36548 * fs/fat.c: Likewise.
36549 * fs/hfs.c: Likewise.
36550 * fs/hfsplus.c: Likewise.
36551 * fs/iso9660.c: Likewise.
36552 * fs/jfs.c: Likewise.
36553 * fs/minix.c: Likewise.
36554 * fs/ntfs.c: Likewise.
36555 * fs/reiserfs.c: Likewise.
36556 * fs/sfs.c: Likewise.
36557 * fs/udf.c: Likewise.
36558 * fs/ufs.c: Likewise.
36559 * fs/xfs.c: Likewise.
36560 * include/grub/dl.h: Likewise.
36561 * loader/xnu.c: Likewise.
36562
de5fd76e 365632009-05-04 Pavel Roskin <proski@gnu.org>
36564
36565 * commands/acpi.c: Remove unused variable my_mod.
36566 * partmap/amiga.c: Likewise.
36567 * partmap/apple.c: Likewise.
36568 * partmap/gpt.c: Likewise.
36569 * partmap/pc.c: Likewise.
36570 * partmap/sun.c: Likewise.
36571 * term/gfxterm.c: Likewise.
36572 * term/i386/pc/vesafb.c: Likewise.
36573 * term/i386/pc/vga.c: Likewise.
36574
983598ad 365752009-05-04 David S. Miller <davem@davemloft.net>
36576
36577 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
36578 pointer args to grub_ieee1275_get_property().
36579
8aadec43 36580 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
36581
9554b15e 36582 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
36583 devices, and do not traverse down under controller nodes.
36584
67e23c90 36585 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
36586 (grub_ofdisk_open): Use it to un-escape "," characters.
36587 * kern/disk.c (find_part_sep): New.
36588 (grub_disk_open): Use it to find the first non-escaped ','
36589 character in the disk name.
36590 * util/ieee1275/devicemap.c (escape_of_path): New.
36591 (grub_util_emit_devicemap_entry): Use it.
36592 * util/sparc64/ieee1275/grub-install.in: Update script to
36593 strip partition specifiers properly by not triggering on
36594 '\' escaped ',' characters.
36595
74bfdd2f 365962009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36597
36598 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
36599 to 0x300.
36600 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
36601 resolutions.
36602 (linux_vesafb_modes): Add a lot of additional modes to the list (based
36603 on documentation from Wikipedia).
36604
4241d2b1 366052009-05-04 Pavel Roskin <proski@gnu.org>
36606
36607 * disk/ata.c: Spelling fixes.
36608 * disk/raid.c: Likewise.
36609 * disk/usbms.c: Likewise.
36610 * disk/dmraid_nvidia.c: Likewise.
36611 * kern/ieee1275/openfw.c: Likewise.
36612 * kern/ieee1275/init.c: Likewise.
36613 * kern/ieee1275/cmain.c: Likewise.
36614 * boot/i386/pc/cdboot.S: Likewise.
36615 * video/readers/png.c: Likewise.
36616 * video/i386/pc/vbe.c: Likewise.
36617 * fs/udf.c: Likewise.
36618 * fs/hfs.c: Likewise.
36619 * fs/reiserfs.c: Likewise.
36620 * efiemu/runtime/efiemu.c: Likewise.
36621 * efiemu/main.c: Likewise.
36622 * efiemu/mm.c: Likewise.
36623 * include/grub/elf.h: Likewise.
36624 * include/grub/xnu.h: Likewise.
36625 * include/grub/usbdesc.h: Likewise.
36626 * include/grub/usb.h: Likewise.
36627 * include/grub/script_sh.h: Likewise.
36628 * include/grub/lib/LzmaEnc.h: Likewise.
36629 * include/grub/efiemu/efiemu.h: Likewise.
36630 * include/grub/command.h: Likewise.
36631 * normal/menu.c: Likewise.
36632 * normal/main.c: Likewise.
36633 * normal/datetime.c: Likewise.
36634 * bus/usb/uhci.c: Likewise.
36635 * mmap/i386/uppermem.c: Likewise.
36636 * mmap/mmap.c: Likewise.
36637 * commands/acpi.c: Likewise.
36638 * commands/test.c: Likewise.
36639 * partmap/apple.c: Likewise.
36640 * font/font.c: Likewise.
36641 * loader/sparc64/ieee1275/linux.c: Likewise.
36642 * loader/macho.c: Likewise.
36643 * loader/i386/bsd_trampoline.S: Likewise.
36644 * loader/i386/bsd.c: Likewise.
36645 * loader/xnu.c: Likewise.
36646 * term/i386/pc/vesafb.c: Likewise.
36647 * term/usb_keyboard.c: Likewise.
36648 * util/resolve.c: Likewise.
36649 * util/getroot.c: Likewise.
36650
0cfc0083 366512009-05-04 Felix Zielcke <fzielcke@z-51.de>
36652
36653 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
36654
7c1d00cd 366552009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36656
36657 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
36658 build error.
36659
b01f0548 366602009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36661
36662 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
36663 parameter only available on BIOS.
36664
ecc3eb22 366652009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36666
36667 Removed wrong semicolon in declaration
36668
36669 * grub/misc.h (grub_dprintf): remove semicolon
36670
112972a9 366712009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36672
36673 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
36674 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
36675 is done by grub_cmd_linux() now).
36676 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
36677 restore video to text mode.
36678 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
36679 indicates lack of "vga=" parameter. "vga=0" is mapped to
36680 `GRUB_LINUX_VID_MODE_NORMAL'.
36681
afd5c115 366822009-05-04 Felix Zielcke <fzielcke@z-51.de>
36683
36684 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
36685 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
36686 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 36687 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 36688 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
36689 `grub_script.tab.c'.
36690
36691 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36692 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36693 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36694 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36695 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36696
faa517ce 36697 * Makefile.in: Remove duplicated 2008 in Copyright line.
36698
ae0c0bdc 366992009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36700
473d1e45 36701 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 36702 unconditionally.
36703 * include/grub/util/misc.h (grub_util_warn): New declaration.
36704
36705 * util/i386/pc/grub-install.in: Understand --force and pass it down
36706 to grub-setup.
36707
36708 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
36709 down to setup().
36710 (setup): Improve error messages and add warnings when requested to
36711 install in odd layouts. Refuse to install using blocklists unless
36712 --force was set.
36713
18f547ad 367142009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 36715
36716 * disk/raid.c (grub_raid_scan_device): Improve debug message.
36717
6d260daa 367182009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36719
36720 Updated copyright year
36721
36722 * fs/hfsplus.c: updated copyright year
18f547ad 36723
69f853f8 367242009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36725
36726 HFS+ UUID
36727
18f547ad 36728 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 36729 in the space previously used by unused3
36730 (grub_hfsplus_uuid): new function
36731 (grub_hfsplus_fs): added uuid field
36732
4c402e73 367332009-05-03 Pavel Roskin <proski@gnu.org>
36734
36735 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
36736 suppress warnings. It's no longer needed.
36737 * disk/host.c: Likewise.
36738 * disk/ata_pthru.c: Likewise.
36739 * disk/loopback.c: Likewise.
36740 * hook/datehook.c: Likewise.
36741 * parttool/pcpart.c: Likewise.
36742 * fs/i386/pc/pxe.c: Likewise.
36743 * fs/ntfscomp.c: Likewise.
36744 * efiemu/main.c: Likewise.
36745 * mmap/mmap.c: Likewise.
36746 * commands/crc.c: Likewise.
36747 * commands/hexdump.c: Likewise.
36748 * commands/hdparm.c: Likewise.
36749 * commands/acpi.c: Likewise.
36750 * commands/echo.c: Likewise.
36751 * commands/minicmd.c: Likewise.
36752 * commands/blocklist.c: Likewise.
36753 * commands/memrw.c: Likewise.
36754 * commands/loadenv.c: Likewise.
36755 * commands/usbtest.c: Likewise.
36756 * commands/lsmmap.c: Likewise.
36757 * commands/boot.c: Likewise.
36758 * commands/parttool.c: Likewise.
36759 * commands/configfile.c: Likewise.
36760 * commands/search.c: Likewise.
36761 * commands/ieee1275/suspend.c: Likewise.
36762 * commands/cat.c: Likewise.
36763 * commands/i386/pc/pxecmd.c: Likewise.
36764 * commands/i386/pc/play.c: Likewise.
36765 * commands/i386/pc/halt.c: Likewise.
36766 * commands/i386/pc/vbeinfo.c: Likewise.
36767 * commands/i386/pc/vbetest.c: Likewise.
36768 * commands/lspci.c: Likewise.
36769 * commands/date.c: Likewise.
36770 * commands/handler.c: Likewise.
36771 * commands/ls.c: Likewise.
36772 * commands/test.c: Likewise.
36773 * commands/cmp.c: Likewise.
36774 * commands/efi/loadbios.c: Likewise.
36775 * commands/efi/fixvideo.c: Likewise.
36776 * commands/halt.c: Likewise.
36777 * commands/help.c: Likewise.
36778 * commands/reboot.c: Likewise.
36779 * hello/hello.c: Likewise.
36780 * script/sh/main.c: Likewise.
36781 * loader/xnu.c: Likewise.
36782 * term/terminfo.c: Likewise.
36783 * term/i386/pc/serial.c: Likewise.
36784 * term/usb_keyboard.c: Likewise.
36785
515b5079 367862009-05-03 David S. Miller <davem@davemloft.net>
36787
36788 * normal/menu.c: Include grub/parser.h
36789
dfc31a22 367902009-05-03 Pavel Roskin <proski@gnu.org>
36791
2fee74f1 36792 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
36793 not char*.
36794 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
36795 Suggested by Javier Martín <lordhabbit@gmail.com>
36796
dfc31a22 36797 * util/i386/pc/grub-mkrescue.in: Allow for the case when
36798 efiemu??.o doesn't exist.
36799 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
36800 copying.
36801
18f547ad 368022009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 36803
36804 FreeBSD 64-bit support
36805
18f547ad 36806 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 36807 and loader/i386/bsd_trampoline.S
36808 (bsd_mod_ASFLAGS): new variable
36809 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
36810 (FREEBSD_MODTYPE_KERNEL64): likewise
36811 (grub_bsd64_trampoline_start): likewise
36812 (grub_bsd64_trampoline_end): likewise
36813 (grub_bsd64_trampoline_selfjump): likewise
36814 (grub_bsd64_trampoline_gdt): likewise
36815 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
36816 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
36817 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
36818 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 36819 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 36820 of "attrib" member
36821 * loader/i386/bsd_pagetable.c: new file
36822 * loader/i386/bsd_trampoline.S: likewise
36823 * loader/i386/bsd.c (ALIGN_QWORD): new macro
36824 (ALIGN_VAR): likewise
36825 (entry_hi): new variable
36826 (kern_end_mdofs): likewise
36827 (is_64bit): likewise
36828 (grub_freebsd_add_meta): use ALIGN_VAR
36829 (grub_e820_mmap): new declaration
36830 (grub_freebsd_add_mmap): new function
36831 (grub_freebsd_add_meta_module): support 64 bit kernels
36832 (grub_freebsd_list_modules): use ALIGN_VAR
36833 (gdt_descriptor): new declaration
36834 (grub_freebsd_boot): support 64 bit kernels
36835 (grub_bsd_elf64_hook): new function
36836 (grub_bsd_load_elf): support elf64
36837
038c5720 368382009-05-03 Bean <bean123ch@gmail.com>
36839
36840 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
36841 after we get the result of if statement.
36842
fc45fb58 368432009-05-03 Bean <bean123ch@gmail.com>
36844
36845 * Makefile.in (enable_efiemu): New variable.
36846
36847 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
36848 set.
36849 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
36850 path.
36851 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
36852 path, add -mno-red-zone option.
36853 (efiemu64_s.o): Likewise.
36854 (efiemu64.o): Use macro $^ for source file.
36855
36856 * configure.ac (--enable-efiemu): New option.
36857
bbee0f2b 368582009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
36859
36860 xnu support
36861
36862 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
36863 (pkglib_MODULES): add xnu.mod
36864 (xnu_mod_SOURCES): new variable
36865 (xnu_mod_CFLAGS): likewise
36866 (xnu_mod_LDFLAGS): likewise
36867 (xnu_mod_ASFLAGS): likewise
36868 * conf/i386-pc.rmk: likewise
36869 * conf/x86_64-efi.rmk: likewise
7dd4a573 36870 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 36871 new declaration
36872 * include/grub/i386/macho.h: new file
36873 * include/grub/i386/xnu.h: likewise
36874 * include/grub/macho.h: likewise
36875 * include/grub/machoload.h: likewise
36876 * include/grub/x86_64/macho.h: likewise
36877 * include/grub/x86_64/xnu.h: likewise
36878 * include/grub/xnu.h: likewise
36879 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
36880 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
36881 * loader/i386/efi/xnu.c: new file
36882 * loader/i386/pc/xnu.c: likewise
36883 * loader/i386/xnu.c: likewise
36884 * loader/i386/xnu_helper.S: likewise
36885 * loader/macho.c: likewise
36886 * loader/xnu.c: likewise
36887 * loader/xnu_resume.c: likewise
36888 * util/grub-dumpdevtree: likewise
36889 * include/grub/i386/pit.h: include grub/err.h
36890 (grub_pit_wait): export
36891 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 36892
5caf964d 368932009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
36894
36895 Efiemu
7dd4a573 36896
5caf964d 36897 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 36898 _linux_efi, linux_efi.
36899 new files in grub-emu
5caf964d 36900 new targets efiemu32.o and efiemu64.o
36901 * loader/linux_normal_efiemu.c: likewise
36902 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 36903 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 36904 files to copy
36905 * include/grub/autoefi.h: new file
7dd4a573 36906 * include/grub/i386/efiemu.h: likewise
5caf964d 36907 * include/grub/i386/pc/efiemu.h: likewise
36908 * include/grub/efi/api.h: add LL suffix when necessary
36909 new definitions relating to tables
36910 * include/grub/efiemu/efiemu.h: new file
36911 * include/grub/efiemu/runtime.h: likewise
36912 * efiemu/prepare.c: likewise
36913 * efiemu/loadcore_common.c: likewise
36914 * efiemu/loadcore64.c: likewise
36915 * efiemu/runtime/efiemu.sh: likewise
36916 * efiemu/runtime/efiemu.S: likewise
36917 * efiemu/runtime/efiemu.c: likewise
36918 * efiemu/runtime/config.h: likewise
36919 * efiemu/prepare32.c: likewise
36920 * efiemu/main.c: likewise
36921 * efiemu/modules/pnvram.c: likewise
36922 * efiemu/modules/i386: likewise
36923 * efiemu/modules/i386/pc: likewise
36924 * efiemu/modules/acpi.c: likewise
36925 * efiemu/i386/pc/cfgtables.c: likewise
36926 * efiemu/i386/loadcore64.c: likewise
36927 * efiemu/i386/loadcore32.c: likewise
36928 * efiemu/prepare64.c: likewise
36929 * efiemu/loadcore.c: likewise
36930 * efiemu/symbols.c: likewise
36931 * efiemu/mm.c: likewise
36932 * efiemu/loadcore32.c: likewise
7dd4a573 36933
369342009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 36935
36936 ACPI spoofing
36937
36938 * commands/acpi.c: new file
36939 * commands/i386/pc/acpi.c: likewise
36940 * commands/efi/acpi.c: likewise
36941 * include/grub/acpi.h: likewise
36942 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
36943 (acpi_mod_SOURCES): new variable
36944 (acpi_mod_CFLAGS): likewise
36945 (acpi_mod_LDFLAGS): likewise
36946 * conf/i386-efi.rmk: likewise
36947 * conf/x86_64-efi.rmk: likewise
36948
7dd4a573 369492009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 36950
36951 Missing part from mmap patch
36952
36953 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
36954 (grub_mmap_unregister)
36955 (grub_mmap_free_and_unregister): use grub_mmap_register
36956
7dd4a573 369572009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 36958
36959 Mmap services
36960
36961 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
36962 * loader/i386/linux.c (find_mmap_size): likewise
36963 (allocate_pages): likewise
36964 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
36965 (grub_fill_multiboot_mmap): likewise
36966 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
36967 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
36968 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
36969 (OPENBSD_MMAP_RESERVED): likewise
36970 * include/grub/i386/pc/memory.h: include grub/memory.h
36971 (grub_lower_mem): removed
36972 (grub_upper_mem): likewise
36973 (GRUB_MACHINE_MEMORY_ACPI): new definition
36974 (GRUB_MACHINE_MEMORY_NVS): likewise
36975 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
36976 (GRUB_MACHINE_MEMORY_HOLE): likewise
36977 (grub_machine_mmap_register): likewise
36978 (grub_machine_mmap_unregister): likewise
36979 (grub_machine_get_upper): likewise
36980 (grub_machine_get_lower): likewise
36981 (grub_machine_get_post64): likewise
36982 * include/grub/i386/efi/memory.h: new file
36983 * include/grub/x86_64/efi/memory.h: likewise
36984 * include/grub/efi/memory.h: likewise
36985 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
36986 (mmap_mod_SOURCES): new variable
36987 (mmap_mod_LDFLAGS): likewise
36988 (mmap_mod_ASFLAGS): likewise
36989 * conf/i386-coreboot.rmk: likewise
36990 * conf/i386-ieee1275.rmk: likewise
36991 * conf/i386-efi.rmk: likewise
36992 * conf/x86_64-efi.rmk: likewise
36993 * include/grub/types.h (UINT_TO_PTR): new macro
36994 (PTR_TO_UINT32): likewise
36995 (PTR_TO_UINT64): likewise
36996 * include/grub/memory.h: new file
36997 * mmap/i386/pc/mmap.c: likewise
36998 * mmap/i386/pc/mmap_helper.S: likewise
36999 * mmap/i386/uppermem.c: likewise
37000 * mmap/mmap.c: likewise
37001 * mmap/efi/mmap.c: likewise
7dd4a573 37002 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 37003 grub_upper_mem
37004 * kern/i386/pc/init.c (grub_lower_mem): removed variable
37005 (grub_upper_mem): likewise
37006 (grub_machine_init): don't use grub_upper_mem,
37007 make grub_lower_mem local
37008 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
37009 grub_mmap_iterate and grub_mmap_get_upper
37010 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
37011
d558e6b5 370122009-05-02 Bean <bean123ch@gmail.com>
37013
37014 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
37015 script/sh/parser.y.
37016 (pkglib_MODULES): Add normal.mod and sh.mod.
37017 (normal_SOURCES): New variable.
37018 (normal_mod_CFLAGS): Likewise.
37019 (normal_mod_LDFLAGS): Likewise.
37020 (sh_mod_SOURCES): Likewise.
37021 (sh_mod_CFLAGS): Likewise.
37022 (sh_mod_LDFLAGS): Likewise.
37023
37024 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
37025 script/sh/lexer.c_DEPENDENCIES.
37026 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
37027 kern/rescue_reader.c and kern/rescue_parser.c.
37028 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
37029 (grub_emu_SOURCES): Change source files.
37030 (pkglib_MODULES): Remove normal.mod.
37031 (normal_SOURCES): Removed.
37032 (normal_mod_CFLAGS): Likewise.
37033 (normal_mod_LDFLAGS): Likewise.
37034 * conf/i386-coreboot.rmk: Likewise.
37035 * conf/i386-efi.rmk: Likewise.
37036 * conf/i386-ieee1276.rmk: Likewise.
37037 * conf/powerpc-ieee1275.rmk: Likewise.
37038 * conf/sparc64-ieee1275.rmk: Likewise.
37039 * conf/x86_64-efi.rmk: Likewise.
37040
37041 * include/grub/command.h (grub_command_execute): New inline function.
37042
37043 * include/grub/menu.h (grub_menu_entry): Removed commands field.
37044
37045 * include/grub/normal.h: Remove <grub/setjmp.h>.
37046 (grub_fs_module_list): Moved to normal/autofs.c.
37047 (grub_exit_env): Removed.
37048 (grub_command_execute): Likewise.
37049 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
37050 parameter script.
37051 (read_command_list): New function declaration.
37052 (read_fs_list): Likewise.
37053
37054 * include/parser.h: Include <grub/reader.h>.
37055 (grub_parser_split_cmdline): Change type of getline parameter.
37056 (grub_parser): New structure.
37057 (grub_parser_class): New variable.
37058 (grub_parser_execute): New function declaration.
37059 (grub_register_rescue_parser): Likewise.
37060 (grub_parser_register): New inline function.
37061 (grub_parser_unregister): Likewise.
37062 (grub_parser_get_current): Likewise.
37063 (grub_parser_set_current): Likewise.
37064
37065 * include/grub/reader.h: New file.
37066 * kern/reader.c: Likewise.
37067 * kern/rescue_parser.c: Likewise.
37068 * kern/rescue_reader.c: Likewise.
37069 * normal/autofs.c: Likewise.
37070 * normal/dyncmd.c: Likewise.
37071
37072 * include/grub/rescue.h: Removed.
37073 * normal/command.h: Likewise.
37074
37075 * include/grub/script.h: Moved to ...
37076 * include/grub/script_sh.h: ... Moved here.
37077 * normal/execute.c: Moved to ...
37078 * script/sh/execute.c: ... Moved here.
37079 * normal/function.c: Moved to ...
37080 * script/sh/function.c: ... Moved here.
37081 * normal/lexer.c: Moved to ...
37082 * script/sh/lexer.c: ... Moved here.
37083 * normal/parser.y: Moved to ...
37084 * script/sh/parser.y: ... Moved here.
37085 * normal/script.c: Moved to ...
37086 * script/sh/script.c: ... Moved here.
37087
37088 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
37089 <grub/reader.h>.
37090 (grub_exit_env): Removed.
37091 (fs_module_list): Moved to normal/autofs.c.
37092 (grub_file_getline): Don't handle comment here.
37093 (free_menu): Skip removed field entry->commands.
37094 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
37095 script parameter.
37096 (read_config_file): Removed nested parameter, change getline function.
37097 (grub_enter_normal_mode): Removed.
37098 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
37099 (read_command_list): Likewise.
37100 (autoload_fs_module): Moved to normal/autofs.c.
37101 (read_fs_list): Likewise.
37102 (reader_nested): New variable.
37103 (grub_normal_execute): Run parser.sh to switch to sh parser.
37104 (grub_cmd_rescue): Removed.
37105 (cmd_normal): Removed.
37106 (grub_cmd_normal): Unregister itself at the beginning. Don't register
37107 rescue command.
37108 (grub_cmdline_run): New function.
37109 (grub_normal_reader_init): Likewise.
37110 (grub_normal_read_line): Likewise.
37111 (grub_env_write_pager): Likewise.
37112 (cmdline): New variable.
37113 (grub_normal_reader): Likewise.
37114 (GRUB_MOD_INIT): Register normal reader and set as current, register
37115 pager hook, register normal command with grub_register_command_prio,
37116 so that it won't show up in command.lst.
37117 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
37118 grub_fs_autoload_hook.
37119
37120 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
37121 (grub_menu_execute_entry): Replace grub_script_execute with
37122 grub_parser_execute, change parameter to grub_command_execute.
37123
37124 * normal/menu_text.c: Remove <grub/script.h>.
37125
37126 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
37127 and <grub/parser.h>.
37128 (run): Change editor_getline to use new parser interface. Change
37129 parameter to grub_command_execute.
37130
37131 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
37132 <grub/reader.h> and <grub/parser.h>.
37133 (grub_load_normal_mode): Execute normal command.
37134 (grub_main): Call grub_register_core_commands,
37135 grub_register_rescue_parser and grub_register_rescue_reader, use
37136 grub_reader_loop to enter input loop.
37137
7dd4a573 37138 * kern/parser.c (grub_parser_split_cmdline): Change type of
37139 getline parameter.
d558e6b5 37140 (grub_parser_class): New variable.
37141 (grub_parser_execute): New function.
37142
37143 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
37144 * loader/multiboot2.c: Likewise.
37145 * loader/sparc64/ieee1275/linux.c: Likewise.
37146
37147 * util/grub-emu.c (read_command_list): New dummy function.
37148
18db813d 371492009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37150
37151 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
37152 count to 16 for CCISS and IDA.
37153
6c67de15 371542009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37155
37156 * normal/menu_text.c (grub_wait_after_message): Print a newline
37157 after waiting for user input.
37158
37159 * loader/i386/linux.c: Include `<grub/normal.h>'.
37160 (grub_cmd_linux): Improve the error message about `ask' mode, by
37161 waiting for user input so it's not missed (we can do this, since
37162 user requested interaction).
37163
d9dc87b0 371642009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37165
37166 Added missing lst to grub-mkrescue
37167
37168 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
37169 and ${input_dir}/parttool.lst
37170
ac8a2baa 371712009-04-30 David S. Miller <davem@davemloft.net>
37172
ad22a610 37173 * util/hostdisk.c (device_is_wholedisk): New function.
37174 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
37175 zero only if device_is_wholedisk() returns true.
37176
6966215d 37177 * util/hostdisk.c (convert_system_partition_to_system_disk):
37178 Handle virtual disk devices named /dev/vdiskX as found on sparc
37179 and powerpc.
37180
ac8a2baa 37181 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
37182 lettered partition specifier is found, convert to numbered.
37183
979b4fb4 371842009-04-29 David S. Miller <davem@davemloft.net>
37185
e2bf39b2 37186 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
37187 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37188
3c64e104 37189 * normal/command.c: Add missing newline at end of file.
37190
979b4fb4 37191 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
37192 warnings.
37193 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
37194 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
37195 grub_ofdisk_read): Likewise, and deal similarly with the fact that
37196 ihandles have a 32-bit type but need to be stored in a "void *".
37197
136d9f82 371982009-04-28 Pavel Roskin <proski@gnu.org>
37199
9459c306 37200 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
37201 not disk. Adjust all dependencies.
2e08a26a 37202 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 37203 grub_disk_close().
37204
136d9f82 37205 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
37206 parent's partition, don't copy it by reference, as it gets freed
37207 on close.
37208
7dd4a573 372092009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 37210
37211 Preboot hooks support
37212
37213 * commands/boot.c (struct grub_preboot_t): new declaration
37214 (preboots_head): new variable
37215 (preboots_tail): likewise
37216 (grub_loader_register_preboot_hook): new function
37217 (grub_loader_unregister_preboot_hook): likewise
37218 (grub_loader_set): launch preboot hooks
37219 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
37220 (grub_loader_register_preboot_hook): new declaration
37221 (grub_loader_unregister_preboot_hook): likewise
37222
5af922b5 372232009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
37224
37225 Warning fix
37226
7dd4a573 37227 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 37228 calling grub_dprintf
37229
a5562c30 372302009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
37231
37232 Bug and warning fixes
37233
7dd4a573 37234 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 37235 declaration
37236 * commands/test.c (test_parse): fixed bug with file tests and corrected
37237 declaration of find_file
37238
4006f85c 372392009-04-26 Pavel Roskin <proski@gnu.org>
37240
37241 * Makefile.in: Don't install empty manual pages if help2man is
37242 missing. Use help2man option for output, not shell redirection.
37243
5c77c3de 372442009-04-26 David S. Miller <davem@davemloft.net>
37245
37246 * util/grub-mkdevicemap.c (make_device_map): Add missing
37247 NESTED_FUNC_ATTR to process_device().
37248
033b10a8 372492009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37250
37251 Test command
37252
37253 * commands/test.c: rewritten to use bash-like test
37254
e4343593 372552009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37256
37257 Parttool autoloading and improvements
37258
7dd4a573 37259 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 37260 (parttool.lst): new target
37261 * genmk.rb: generate parttool-*
37262 (CLEANFILES): add #{parttool}
37263 (PARTTOOLFILES): new variable
37264 * genparttoollist.sh: new file
7dd4a573 37265 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 37266 (grub_pcpart_type): likewise
37267 * commands/parttool.c (helpmsg): new variable
37268 (grub_cmd_parttool): output help if not enough arguments are supplied
37269 autoload modules
37270 (GRUB_MOD_INIT(parttool)): use helpmsg
37271
0d312500 372722009-04-24 David S. Miller <davem@davemloft.net>
37273
7dd4a573 37274 Avoiding opening same device multiple times in device iterator.
0d312500 37275
37276 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 37277 and use it to build a list of partitions in iterate_disk() and
0d312500 37278 iterate_partition().
37279
ac20caff 37280 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
37281 on disk->data.
37282
0dcf7495 37283 * disk/ieee1275/nand.c (grub_nand_iterate): Return
37284 grub_devalias_iterate() result instead of unconditional 0.
37285 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
37286 Also, capture hook return value, either directly or via
37287 grub_children_iterate(), and propagate to caller.
37288 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
37289 grub_children_iterate): Return value is now 'int' instead of
37290 'grub_err_t'.
37291 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
37292 like a proper iterator, stopping when hooks return non-zero.
37293 (grub_devalias_iterate): Likewise.
37294
c8c08833 372952009-04-23 David S. Miller <davem@davemloft.net>
37296
37297 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
37298
f01005a8 372992009-04-22 David S. Miller <davem@davemloft.net>
37300
37301 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
37302 is larger than address_cells, use that value for address_cells too.
37303
4e8269da 37304 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
37305 IEEE1275_MAX_PATH_LEN): Define.
37306 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
37307 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
37308 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
37309 'devtype'. Explicitly NULL terminate devalias expansion.
37310
a1447506 37311 * util/sparc64/ieee1275/misc.c: New file.
37312 * util/sparc64/ieee1275/grub-setup.c: New file.
37313 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
37314 * util/sparc64/ieee1275/grub-mkimage.c: New file.
37315 * util/sparc64/ieee1275/grub-install.in: New file.
37316 * util/ieee1275/ofpath.c: New file.
37317 * util/ieee1275/devicemap.c: New file.
37318 * util/devicemap.c: New file.
37319 * util/deviceiter.c: New file.
37320 * kern/sparc64/ieee1275/init.c: New file.
37321 * include/grub/util/ofpath.h: New file.
37322 * include/grub/util/deviceiter.h: New file.
37323 * util/grub-mkdevicemap.c: Include deviceiter.h.
37324 Implement using grub_util_emit_devicemap_entry and
37325 grub_util_iterate_devices.
37326 * conf/i386-corebook.rmk: Build util/deviceiter.c and
37327 util/devicemap.c into grub-mkdevicemap
37328 * conf/i386-efi.rmk: Likewise.
37329 * conf/i386-ieee1275.rmk: Likewise.
37330 * conf/i386-pc.rmk: Likewise.
37331 * conf/powerpc-ieee1275.rmk: Likewise.
37332 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
37333 images and installation utilities. Build kernel as image
37334 instead of as elf binary. Use common rules as much as possible.
37335
7dd4a573 373362009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 37337
37338 Correct GPT definition
37339
7dd4a573 37340 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 37341 of "attrib" member
37342
c6c5219f 373432009-04-19 Felix Zielcke <fzielcke@z-51.de>
37344
37345 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
37346
0552ff9f 373472009-04-19 David S. Miller <davem@davemloft.net>
37348
37349 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
37350 (grub_rescue_cmd_linux): Rename to...
37351 (grub_cmd_linux): and fix prototype.
37352 (grub_rescue_cmd_initrd): Rename to...
37353 (grub_cmd_initrd): and fix prototype.
37354 (cmd_linux, cmd_initrd): New.
37355 (GRUB_MOD_INIT(linux)): Use grub_register_command().
37356 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
37357
d1a282fc 373582009-04-17 Pavel Roskin <proski@gnu.org>
37359
07c5039f 37360 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
37361 format.
37362 (grub_ohci_transfer): Likewise.
37363
b012002d 37364 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
37365
1bc09c35 37366 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
37367 return without a value. Fix inconsistent indentation.
37368
e0ff9126 37369 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
37370 match struct grub_fs.
37371
d1a282fc 37372 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
37373 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
37374 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37375 * commands/lspci.c (grub_lspci_iter): Likewise.
37376
a96df3f2 373772009-04-16 Bean <bean123ch@gmail.com>
37378
37379 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
37380 value.
37381
41bb0fe9 373822009-04-15 Pavel Roskin <proski@gnu.org>
37383
37384 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
37385 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
37386 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
37387 definitions.
37388
596c6970 373892009-04-15 Felix Zielcke <fzielcke@z-51.de>
37390
37391 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 37392 that no multiple data or metadata areas are supported and `Unknown
596c6970 37393 metadata header'.
37394
7dd4a573 373952009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 37396
37397 Move loader out of the kernel
37398
37399 * kern/loader.c: moved to ...
37400 * commands/boot.c: ... moved here
37401 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
37402 * commands/boot.c (grub_cmd_boot): moved here. All users updated
37403 * include/grub/kernel.h (grub_machine_fini): export
37404 * include/grub/loader.h (grub_loader_is_loaded): update declaration
37405 (grub_loader_set): likewise
37406 (grub_loader_unset): likewise
37407 (grub_loader_boot): likewise
37408 * conf/common.rmk: new module boot.mod
37409 (pkglib_MODULES): add boot.mod
37410 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
37411 (grub_emu_SOURCES): likewise
37412 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
37413 (grub_emu_SOURCES): likewise
37414 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
37415 (grub_emu_SOURCES): likewise
37416 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
37417 (grub_emu_SOURCES): likewise
37418 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
37419 (grub_emu_SOURCES): likewise
7dd4a573 37420 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
37421 (grub_emu_SOURCES): likewise
0d5d5653 37422 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 37423 (grub_emu_SOURCES): likewise
0d5d5653 37424
7dd4a573 374252009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 37426
37427 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 37428
5999d619 37429 * kern/misc.c (grub_itoa): Removed function
37430 (grub_ltoa): likewise
37431 (grub_vsprintf): use grub_lltoa
37432
7dd4a573 374332009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 37434
37435 Restore grub-emu
37436
37437 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
37438 * conf/i386-coreboot.rmk: likewise
37439 * conf/i386-ieee1275.rmk: likewise
37440 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37441
20318222 374422009-04-15 Felix Zielcke <fzielcke@z-51.de>
37443
37444 * INSTALL: Add that `./autogen.sh' needs to be run before
37445 `./configure.'.
37446
d05f0df3 374472009-04-14 Bean <bean123ch@gmail.com>
37448
37449 * Makefile.in (pkglib_DATA): Add handler.lst.
37450 (handler.lst): New rule.
37451
37452 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
37453 * conf/i386-coreboot.rmk: Likewise.
37454 * conf/i386-ieee1275.rmk: Likewise.
37455 * conf/i386-efi.rmk: Likewise.
37456 * conf/x86_64-efi.rmk: Likewise.
37457 * conf/powerpc-ieee1275.rmk: Likewise.
37458 * conf/sparc64-ieee1275.rmk: Likewise.
37459
37460 * genhandlerlist.sh: New file.
37461
37462 * genmk.rb: Add rules to generate handler.lst.
37463
37464 * include/grub/normal.h (grub_file_getline): New function definition.
37465 (read_handler_list): Likewise.
37466 (free_handler_list): Likewise.
37467
37468 * include/grub/term.h (grub_term_register_input): Add name parameter
37469 for auto generation of handler.lst.
37470 (grub_term_register_output): Likewise.
37471
37472 * normal/handler.c: New file.
37473
37474 * normal/main.c (get_line): Renamed to grub_file_getline.
37475 (read_config_file): Use the newly renamed grub_file_getline.
37476 (read_command_list): Likewise.
37477 (read_fs_list): Likewise.
37478 (grub_normal_execute): Call read_handler_list to parse handler.lst.
37479 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
37480
37481 * term/efi/console.c (grub_console_init): Add name parameter for auto
37482 generation of handler.lst.
37483 * term/gfxterm.c: Likewise.
37484 * term/i386/pc/at_keyboard.c: Likewise.
37485 * term/i386/pc/console.c: Likewise.
37486 * term/i386/pc/serial.c: Likewise.
37487 * term/i386/pc/vesafb.c: Likewise.
37488 * term/i386/pc/vga.c: Likewise.
37489 * term/i386/pc/vga_text.c: Likewise.
37490 * term/ieee1275/ofconsole.c: Likewise.
37491 * term/usb_keyboard.c: Likewise.
37492
33c846be 374932009-04-14 Bean <bean123ch@gmail.com>
37494
37495 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
37496 properly with null character.
37497
4484e01e 374982009-04-14 Felix Zielcke <fzielcke@z-51.de>
37499
37500 * configure: Remove.
37501 * config.h.in: Likewise.
f93d668e 37502 * stamp-h.in: Likewise.
4484e01e 37503 * DISTLIST: Likewise.
37504 * conf/common.mk: Likewise.
37505 * conf/i386-coreboot.mk: Likewise.
37506 * conf/i386-efi.mk: Likewise.
37507 * conf/i386-ieee1275.mk: Likewise.
37508 * conf/i386.mk: Likewise.
37509 * conf/i386-pc.mk: Likewise.
37510 * conf/powerpc-ieee1275.mk: Likewise.
37511 * conf/sparc64-ieee1275.mk: Likewise.
37512 * conf/x86_64-efi.mk: Likewise.
37513
37514 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
37515 develop on GRUB.
37516
7dd4a573 375172009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 37518 David S. Miller <davem@davemloft.net>
37519
37520 * util/hostdisk.c (make_device_name): Fix buffer length
37521 calculations.
37522
e25b5a8c 375232009-04-14 Felix Zielcke <fzielcke@z-51.de>
37524
37525 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
37526 <sys/param.h> and <sys/sysctl.h>.
37527 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
37528 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
37529 opening the device and reset them afterwards.
37530
1f1f580c 375312009-04-13 Pavel Roskin <proski@gnu.org>
37532
37533 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
37534 Reported by John Stanley <jpsinthemix@verizon.net>
37535
7ebc2d6b 375362009-04-13 Robert Millan <rmh@aybabtu.com>
37537
37538 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 37539 that name for menuentries when appropriate.
7ebc2d6b 37540
d8ba3667 375412009-04-13 Felix Zielcke <fzielcke@z-51.de>
37542
37543 * util/grub.d/10_freebsd.in: Add a missing `fi'.
37544
cba416eb 375452009-04-13 Robert Millan <rmh@aybabtu.com>
37546
37547 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
37548 to Linux, simply abort telling the user it's no longer supported.
37549
a547a745 375502009-04-13 Felix Zielcke <fzielcke@z-51.de>
37551
37552 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 37553 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 37554 `freebsd_loadenv' only when devices.hints exist.
37555
232a769c 375562009-04-13 Pavel Roskin <proski@gnu.org>
37557
37558 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
37559
c3012039 375602009-04-13 Felix Zielcke <fzielcke@z-51.de>
37561
37562 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
37563 partition number.
37564 (grub_drive): Likewise.
37565
234022fe 375662009-04-13 David S. Miller <davem@davemloft.net>
37567
37568 * kern/sparc64/ieee1275/ieee1275.c: New file.
37569 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
37570 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
37571 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
37572 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
37573 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
37574 grub_ieee1275_alloc_physmem): Declare new exported functions.
37575
d8e1836c 37576 * include/grub/sparc64/ieee1275/loader.h: New file.
37577 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37578 * include/grub/sparc64/kernel.h: Likewise.
37579 * loader/sparc64/ieee1275/linux.c: Likewise.
37580
96bd81ec 37581 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
37582 (grub_fstest_SOURCES): Likewise.
37583
6a4737e5 37584 * util/hostdisk.c (make_device_name): Do not make any assumptions
37585 about the length of drive names.
37586
1d7a72fd 37587 * kern/dl.c (grub_dl_load_file): Close file immediately when
37588 we are done using it.
37589
56bc2471 375902009-04-12 David S. Miller <davem@davemloft.net>
37591
37592 * kern/misc.c (grub_ltoa): Fix cast when handling negative
37593 values. Noticed by Pavel Roskin.
37594
df38d0bb 37595 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
37596 target compiler.
7dd4a573 37597
e382e93a 37598 * genmk.rb: Add more flexible image type specification, also
37599 pass --strip-unneeded to objcopy.
37600 * conf/i386-pc.rmk: Use *_FORMAT.
37601 * conf/i386-pc.mk: Rebuilt.
37602
f5dbbca9 37603 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
37604 (OFDISK_HASH_SZ): Define.
37605 (ofdisk_hash): New hash table.
37606 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
37607 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
37608 instead of device phandle which is not unique.
37609
91c88b12 37610 * kern/sparc64/ieee1275/init.c: Delete, replace with...
37611 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
37612 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
37613 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
37614 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
37615 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
37616 GRUB_KERNEL_MACHINE_DATA_END): Define.
37617 (grub_kernel_image_size, grub_total_module_size): Declare.
37618
5b5d4aa5 376192009-04-12 Pavel Roskin <proski@gnu.org>
37620
7dd4a573 37621 * configure.ac: Change the logic when we check for target tools.
37622 Do it when the target is specified and it's different from the
37623 specified value of the host.
5b5d4aa5 37624
c91e1793 376252009-04-11 Felix Zielcke <fzielcke@z-51.de>
37626
37627 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
37628 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
37629 GNU/kFreeBSD. Check if a device is a character device. Use
37630 DIOCGMEDIASIZE to get the size.
37631 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
37632 support for GNU/kFreeBSD.
37633 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
37634 is a character device instead of a block device. Add support for
37635 FreeBSD device names.
37636
37637 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
37638 is a character device instead of a block device.
37639
37640 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
37641 is a character device instead of a block device.
37642
b1ac8644 376432009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
37644
37645 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
37646 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
37647 FreeBSD. Check if a device is a character device. Use
37648 DIOCGMEDIASIZE to get the size.
37649 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
37650 support for FreeBSD.
37651 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
37652 is a character device instead of a block device. Add support for
37653 FreeBSD device names.
37654
37655 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
37656 a character device instead of a block device.
37657 (grub_util_check_char_device): New function.
37658
37659 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
37660 a character device instead of a block device.
37661
37662 * include/grub/util/getroot.h (grub_util_check_char_device): New
37663 prototype.
37664
a3f7515a 376652009-04-11 David S. Miller <davem@davemloft.net>
37666
37667 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
37668 static libgcc.
37669 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
37670 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
37671 function, if present.
37672 (__bswapdi2): Likewise.
37673
0d44993d 37674 * include/grub/sparc64/ieee1275/boot.h: New file.
37675 * boot/sparc64/ieee1275/boot.S: Likewise.
37676 * boot/sparc64/ieee1275/diskboot.S: Likewise.
37677
ed3d2bc2 37678 * kern/misc.c (grub_ltoa): New function.
37679 (grub_vsprintf): Use it to format 'long' integers.
37680
d3bfb59c 376812009-04-10 David S. Miller <davem@davemloft.net>
37682
37683 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
37684 slots are of type grub_ieee1275_cell_t.
37685 (grub_nand_read): Likewise.
37686 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
37687 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
37688 macros are used to compare values in arg/ret block of the call.
37689 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37690 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
37691 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
37692 grub_ieee1275_instance_to_path, grub_ieee1275_write,
37693 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
37694 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
37695 grub_ieee1275_close, grub_ieee1275_set_property,
37696 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
37697 grub_ieee1275_cell_t.
37698 * kern/ieee1275/openfw.c (grub_map): Likewise.
37699 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
37700 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
37701
450e2238 37702 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
37703 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
37704 (grub_devalias_iterate): Likewise.
37705
7dd4a573 377062009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 37707
37708 UFS improvements
37709
37710 * fs/ufs.c (INODE_NBLOCKS): new definition
37711 (struct grub_ufs_dirent): added fields for non-BSD dirents
37712 (grub_ufs_get_file_block): fixed double indirect handling
37713 (grub_ufs_lookup_symlink): use more robust way to determine whether
37714 symlink is inline
37715 (grub_ufs_find_file): support for non-BSD dirents
37716 (grub_ufs_dir): support for non-BSD dirents
37717
e7e6862a 377182009-04-10 Bean <bean123ch@gnail.com>
37719
37720 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
37721 attribute, otherwise the size would be wrong for i386 platform.
37722
37723 * include/grub/pci.h (grub_pci_read_word): New inline function.
37724 (grub_pci_read_byte): Likewise.
37725 (grub_pci_write): Likewise.
37726 (grub_pci_write_word): Likewise.
37727 (grub_pci_write_byte): Likewise.
37728
37729 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
37730
37731 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
37732 (find_framebuf): Scan pci to locate the frame buffer address.
37733
37734 * commands/efi/fixvideo.c: New file.
37735
37736 * commands/efi/loadbios.c: Likewise.
37737
37738 * commands/memrw.c: Likewise.
37739
37740 * util/grub-dumpbios.in: Likewise.
37741
37742 * conf/common.rmk (grub-dumpbios): New utility.
37743 (pkglib_MODULES): New module memrw.mod.
37744 (memrw_mod_SOURCE): New macro.
37745 (memrw_mod_CFLAGS): Likewise.
37746 (memrw_mod_LDFLAGS): Likewise.
37747
7dd4a573 37748 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37749 fixvideo.mod.
37750 (loadbios_mod_SOURCE): New macro.
37751 (loadbios_mod_CFLAGS): Likewise.
37752 (loadbios_mod_LDFLAGS): Likewise.
37753 (fixvideo_mod_SOURCE): Likewise.
37754 (fixvideo_mod_CFLAGS): Likewise.
37755 (fixvideo_mod_LDFLAGS): Likewise.
37756
7dd4a573 37757 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37758 fixvideo.mod.
37759 (loadbios_mod_SOURCE): New macro.
37760 (loadbios_mod_CFLAGS): Likewise.
37761 (loadbios_mod_LDFLAGS): Likewise.
37762 (fixvideo_mod_SOURCE): Likewise.
37763 (fixvideo_mod_CFLAGS): Likewise.
37764 (fixvideo_mod_LDFLAGS): Likewise.
37765
af63ada2 377662009-04-08 Felix Zielcke <fzielcke@z-51.de>
37767
37768 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
37769
c2cdde70 377702009-04-07 David S. Miller <davem@davemloft.net>
37771
37772 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
37773 support for R_SPARC_OLO10 relocations. Fix compile warning for
37774 R_SPARC_WDISP30 case.
ea3f72cf 37775 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 37776
761319cf 377772009-04-06 Pavel Roskin <proski@gnu.org>
37778
1007d1f5 37779 * include/grub/misc.h (ARRAY_SIZE): New macro.
37780 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
37781 New macro.
37782 * loader/i386/linux.c (allocate_pages): Use free_pages().
37783 (grub_linux_unload): Don't use free_pages().
37784 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
37785 wrong index. Treat all other modes as text modes.
37786 (grub_cmd_linux): Initialize vid_mode unconditionally to
37787 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
37788
761319cf 37789 * commands/help.c (print_command_help): Use cmd->prio, not
37790 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
37791
ea761d40 377922009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 37793
ea761d40 37794 Parttool
37795
37796 * parttool/pcpart.c: new file
37797 * commands/parttool.c: likewise
37798 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
37799 (parttool_mod_SOURCES): new variable
37800 (parttool_mod_CFLAGS): likewise
37801 (parttool_mod_LDFLAGS): likewise
37802 (pcpart_mod_SOURCES): likewise
37803 (pcpart_mod_CFLAGS): likewise
37804 (pcpart_mod_LDFLAGS): likewise
7dd4a573 37805 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 37806 and parttool/pcpart.c
37807 * conf/i386-efi.rmk: likewise
37808 * conf/i386-ieee1275.rmk: likewise
37809 * conf/i386-pc.rmk: likewise
37810 * conf/powerpc-ieee1275.rmk: likewise
37811 * conf/sparc64-ieee1275.rmk: likewise
37812 * conf/x86_64-ieee1275.rmk: likewise
37813
05aaebfb 378142009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37815
37816 Support for mtime and further expandability of dir command
37817
37818 * include/grub/lib/datetime.h: moved to ...
7dd4a573 37819 * include/grub/datetime.h: ... moved here and added
05aaebfb 37820 declaration of grub_unixtime2datetime. All users updated
7dd4a573 37821 * include/grub/fs.h: new syntax for dir and mtime functions in
37822 struct grub_fs
05aaebfb 37823 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
37824 and GRUB_FSHELP_FLAGS_MASK
37825 * commands/ls.c (grub_ls_list_files): Write mtime in long format
37826 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
37827 (grub_ext2_mtime): new function
37828 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
37829 (grub_hfsplus_mtime): new function
37830 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
37831 (GRUB_UFS_ATTR_FILE): likewise
37832 (GRUB_UFS_ATTR_LNK): likewise
37833 (struct grub_ufs_sblock): new fields mtime
37834 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
37835 all users updated
37836 (grub_ufs_dir): mtime support
37837 (grub_ufs_mtime): new function
37838 * fs/affs.c (grub_affs_dir): use new dir syntax
37839 * fs/afs.c (grub_afs_dir): likewise
37840 * fs/cpio.c (grub_cpio_dir): likewise
37841 * fs/fat.c (grub_fat_find_dir): likewise
37842 * fs/hfs.c (grub_hfs_dir): likewise
37843 * fs/iso9660.c (grub_iso9660_dir): likewise
37844 * fs/jfs.c (grub_jfs_dir): likewise
37845 * fs/minix.c (grub_minix_dir): likewise
37846 * fs/ntfs.c (grub_ntfs_dir): likewise
37847 * fs/reiserfs.c (grub_reiserfs_dir): likewise
37848 * fs/sfs.c (grub_sfs_dir): likewise
37849 * fs/xfs.c (grub_xfs_dir): likewise
37850 * util/hostfs.c (grub_hostfs_dir): likewise
37851 * lib/datetime.c: moved to ...
37852 * normal/datetime.c: ... moved here
37853 (grub_unixtime2datetime): new function
37854 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 37855 * normal/completion.c (iterate_dir): use new dir syntax
37856 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 37857 last modification time of a volume
7dd4a573 37858 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 37859 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 37860 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 37861 (normal_mod_SOURCES): likewise
37862 (datetime_mod_SOURCES): Removed lib/datetime.c
37863 * conf/i386-efi.rmk: likewise
7dd4a573 37864 * conf/i386-ieee1275.rmk: likewise
05aaebfb 37865 * conf/i386-pc.rmk: likewise
37866 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37867 * conf/sparc64-ieee1275.rmk: likewise
37868 * conf/x86_64-efi.rmk: likewise
05aaebfb 37869
8a7e1a14 378702009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37871
37872 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 37873
37874 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 37875 on grub_fat_find_dir
37876 (grub_fat_find_dir): use grub_fat_iterate_dir
37877 (grub_fat_label): likewise
37878
04186a9c 378792009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
37880
7dd4a573 37881 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 37882 and command.h
37883 remove extraneous kernel_elf_HEADERS
37884
da4c0bb6 378852009-04-04 Bean <bean123ch@gnail.com>
37886
37887 * include/grub/util/misc.h: Add dummy function fsync for mingw.
37888
37889 * util/misc.c: Likewise.
37890
54ad9555 378912009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37892
37893 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
37894 instead of grub_printf.
37895
7a6bf9f2 378962009-04-03 Robert Millan <rmh@aybabtu.com>
37897
37898 * loader/i386/linux.c (grub_linux_setup_video): Fill
37899 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
37900 values from `mode info' structure instead of hardcoded
37901 values.
37902
3fcc2083 379032009-04-01 Pavel Roskin <proski@gnu.org>
37904
37905 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
37906 unused now.
37907 * genmk.rb: Likewise.
37908 * configure.ac: Likewise.
37909
5ec9740b 379102009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
37911
37912 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
37913 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
37914
5270cec8 379152009-04-01 David S. Miller <davem@davemloft.net>
37916
37917 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 37918 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 37919 (grub_setjmp): Mark with 'returns_twice' attribute.
37920 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
37921 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
37922 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
37923
9c3dd854 379242009-04-01 Robert Millan <rmh@aybabtu.com>
37925
37926 Reapply fix from 2008-07-28 which was accidentally reverted; also
37927 perform the same fix to a similar check in same function.
37928
37929 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
37930 with the same number are found, just use issue a warning with
37931 grub_dprintf(), as this error has been reported to be non-fatal.
37932
0d818b7e 379332009-03-31 Pavel Roskin <proski@gnu.org>
37934
37935 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
37936 for cross-compilation.
37937
95646d92 379382009-03-30 Robert Millan <rmh@aybabtu.com>
37939
37940 Fix i386-ieee1275 build.
37941
37942 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
37943 Remove declaration.
37944
6a003ed1 379452009-03-30 Pavel Roskin <proski@gnu.org>
37946
37947 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
37948 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
37949 zero-terminated, rely only on the strlen value. Fix comparison
37950 of strings differing in length.
37951
92f33540 379522009-03-30 Robert Millan <rmh@aybabtu.com>
37953
37954 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
37955 checking for abi version. Improve error messages on BIOS to notify
37956 user about `linux16' command.
37957
a8c48fd5 379582009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
37959
f968172e 37960 Leak fixes
a8c48fd5 37961
f968172e 37962 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
37963 in case of collision
37964 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 37965
9c323f09 379662009-03-29 Robert Millan <rmh@aybabtu.com>
37967
37968 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
37969 set `vid_mode' accordingly.
37970 (grub_linux_boot): Process `vid_mode' and set video mode.
37971
ae68f423 379722009-03-29 Robert Millan <rmh@aybabtu.com>
37973
37974 * util/grub.d/10_linux.in (linux_entry): New function.
37975 Factorize generation of Linux boot entries.
37976
5709cfc4 379772009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
37978
37979 Make the format of Environment Block plain text. The boot loader
37980 part is not tested well yet.
7dd4a573 37981
5709cfc4 37982 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
37983 (buffer): Removed.
37984 (envblk): Likewise.
37985 (usage): Remove "info" and "clear". Add "unset". Update the
37986 description of "set", as this does not delete variables any
37987 longer.
37988 (create_envblk_file): Complete rewrite.
37989 (open_envblk_file): Likewise.
37990 (cmd_info): Removed.
37991 (cmd_list): Likewise.
37992 (cmd_set): Likewise.
37993 (cmd_clear): Likewise.
37994 (list_variables): New function.
37995 (write_envblk): Likewise.
37996 (set_variables): Likewise.
37997 (unset_variables): Likewise.
37998 (main): Complete rewrite.
37999
38000 * commands/loadenv.c (buffer): Removed.
38001 (envblk): Likewise.
38002 (open_envblk_file): New function.
38003 (read_envblk_file): Complete rewrite.
38004 (grub_cmd_load_env): Likewise.
38005 (grub_cmd_list_env): Likewise.
38006 (struct blocklist): New struct.
38007 (free_blocklists): New function.
38008 (check_blocklists): Likewise.
38009 (write_blocklists): Likewise.
38010 (grub_cmd_save_env): Complete rewrite.
38011
38012 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
38013 a plain text signature.
38014 (GRUB_ENVBLK_MAXLEN): Removed.
38015 (struct grub_envblk): Complete rewrite.
38016 (grub_envblk_find): Removed.
38017 (grub_envblk_insert): Likewise.
38018 (grub_envblk_open): New prototype.
38019 (grub_envblk_set): Likewise.
38020 (grub_envblk_delete): Put const to VALUE.
38021 (grub_envblk_iterate): Put const to NAME and VALUE.
38022 (grub_envblk_close): New prototype.
38023 (grub_envblk_buffer): New inline function.
38024 (grub_envblk_size): Likewise.
38025
38026 * lib/envblk.c: Include grub/mm.h.
38027 (grub_env_find): Removed.
38028 (grub_envblk_open): New function.
38029 (grub_envblk_close): Likewise.
38030 (escaped_value_len): Likewise.
38031 (find_next_line): Likewise.
38032 (grub_envblk_insert): Removed.
38033 (grub_envblk_set): New function.
38034 (grub_envblk_delete): Complete rewrite.
38035 (grub_envblk_iterate): Likewise.
38036
a9368fd3 380372009-03-28 Robert Millan <rmh@aybabtu.com>
38038
38039 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
38040 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
38041 variables. Use 16-bit loader.
38042 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
38043 loader.
38044 * kern/i386/loader.S (grub_linux_boot): Rename to ...
38045 (grub_linux16_boot): ... this. Update all users.
38046 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
38047 (grub_linux_boot): ... this. Update all users.
38048
38049 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
38050 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
38051 commands to `linux16' and `initrd16'.
38052 (GRUB_MOD_FINI(linux)): Rename to ...
38053 (GRUB_MOD_FINI(linux16)): ... this.
38054
e4dd5a7e 380552009-03-24 Pavel Roskin <proski@gnu.org>
38056
38057 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
38058 not just for compilation.
38059
c04d6e05 380602009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
38061
38062 Move multiboot helper out of kernel
38063
38064 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
38065 `loader/i386/multiboot_helper.S'.
38066 * conf/i386-coreboot.rmk: Likewise
38067 * conf/i386-ieee1275.rmk: Likewise
38068
38069 * kern/i386/loader.S: Move multiboot helpers from here...
38070 * loader/i386/multiboot_helper.S: ...moved here
38071 * include/grub/i386/loader.h: Move declarations of multiboot
38072 helpers from here...
38073 * include/grub/i386/multiboot.h: ...moved here
38074 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
38075
42a5b3fc 380762009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38077
38078 * kern/env.c (grub_env_context_open): Added an argument to specify
38079 whether a new context inherits exported variables from current
38080 one. This is useful when making a sandbox to interpret a config
38081 file.
38082 All callers updated.
38083
38084 * include/grub/env.h (grub_env_context_open): Updated the prototype.
38085
b28bbc4e 380862009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38087
38088 * kern/env.c (grub_env_context_close): Fix memory leaks.
38089
f04f02e4 380902009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38091
38092 * normal/main.c (grub_normal_execute): Added an argument
38093 BATCH to specify if an interactive interface should be provided
38094 after reading a config file.
38095 All callers updated.
38096 (read_command_list): Prevent being executed twice.
38097 (read_fs_list): Likewise.
38098
42a5b3fc 38099 * include/grub/normal.h (grub_normal_execute): Updated the
38100 prototype.
f04f02e4 38101
41473ac2 381022009-03-22 Pavel Roskin <proski@gno.org>
38103
fbc00b0c 38104 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
38105 _start.
38106 * kern/i386/pc/startup.S: Likewise.
38107 * kern/i386/efi/startup.S: Likewise.
38108 * kern/i386/ieee1275/startup.S: Likewise.
38109 * kern/i386/coreboot/startup.S: Likewise.
38110 * kern/x86_64/efi/startup.S: Likewise.
38111
41473ac2 38112 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
38113 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
38114 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
38115
2274cc8f 381162009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
38117
38118 Bugfixes in multiboot for bugs uncovered by solaris kernel.
38119
38120 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
38121 limit detection.
38122 Use vaddr of correct segment for entry_point.
38123
b1b797cb 381242009-03-21 Bean <bean123ch@gmail.com>
38125
38126 * commands/blocklist.c: Add include file <grub/command.h>, remove
38127 <grub/normal.h> and <grub/arg.h>.
38128 (grub_cmd_blocklist): Use the new command interface.
38129 (GRUB_MOD_INIT): Likewise.
38130 (GRUB_MOD_FINI): Likewise.
38131 * commands/boot.c: Likewise.
38132 * commands/cat.c: Likewise.
38133 * commands/cmp.c: Likewise.
38134 * commands/configfile.c: Likewise.
38135 * commands/crc.c: Likewise.
38136 * commands/echo.c: Likewise.
38137 * commands/halt.c: Likewise.
38138 * commands/handler.c: Likewise.
38139 * commands/hdparm.c: Likewise.
38140 * commands/help.c: Likewise.
38141 * commands/hexdump.c: Likewise.
38142 * commands/loadenv.c: Likewise.
38143 * commands/ls.c: Likewise.
38144 * commands/lsmmap.c: Likewise.
38145 * commands/lspci.c: Likewise.
38146 * commands/loadenv.c: Likewise.
38147 * commands/read.c: Likewise.
38148 * commands/reboot.c: Likewise.
38149 * commands/search.c: Likewise.
38150 * commands/sleep.c: Likewise.
38151 * commands/test.c: Likewise.
38152 * commands/usbtest.c: Likewise.
38153 * commands/videotest.c: Likewise.
38154 * commands/i386/cpuid.c: Likewise.
38155 * commands/i386/pc/halt.c: Likewise.
38156 * commands/i386/pc/play.c: Likewise.
38157 * commands/i386/pc/pxecmd.c: Likewise.
38158 * commands/i386/pc/vbeinfo.c: Likewise.
38159 * commands/i386/pc/vbetest.c: Likewise.
38160 * commands/ieee1275/suspend.c: Likewise.
38161 * disk/loopback.c: Likewise.
38162 * font/font_cmd.c: Likewise.
38163 * hello/hello.c: Likewise.
38164 * loader/efi/appleloader.c: Likewise.
38165 * loader/efi/chainloader.c: Likewise.
38166 * loader/i386/bsd.c: Likewise.
38167 * loader/i386/efi/linux.c: Likewise.
38168 * loader/i386/ieee1275/linux.c: Likewise.
38169 * loader/i386/linux.c: Likewise.
38170 * loader/i386/pc/chainloader.c: Likewise.
38171 * loader/i386/pc/linux.c: Likewise.
38172 * loader/powerpc/ieee1275/linux.c: Likewise.
38173 * loader/multiboot_loader.c: Likewise.
38174 * term/gfxterm.c: Likewise.
38175 * term/i386/pc/serial.c: Likewise.
38176 * term/terminfo.c: Likewise.
38177
38178 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
38179 * term/i386/pc/vga.c: Likewise.
38180 * video/readers/jpeg.c: Likewise.
38181 * video/readers/png.c: Likewise.
38182 * video/readers/tga.c: Likewise.
38183
38184 * util/grub-fstest (cmd_loopback): Removed.
38185 (cmd_blocklist): Likewise.
38186 (cmd_ls): Likewise.
38187 (grub_register_command): Likewise.
38188 (grub_unregister_command): Likewise.
38189 (execute_command): Use grub_command_find to locate command and execute
38190 it.
38191
38192 * include/grub/efi/chainloader.h: Removed.
38193 * loader/efi/chainloader_normal.c: Likewise.
38194 * loader/i386/bsd_normal.c: Likewise.
38195 * loader/i386/pc/chainloader_normal.c: Likewise.
38196 * loader/i386/pc/multiboot_normal.c: Likewise.
38197 * loader/linux_normal.c: Likewise.
38198 * loader/multiboot_loader_normal.c: Likewise.
38199 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38200
38201 * gencmdlist.sh: Scan new registration command grub_register_extcmd
38202 and grub_register_command_p1.
38203
38204 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
38205 kern/command.c, lib/arg.c and commands/extcmd.c.
38206 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
38207 (minicmd_mod_SOURCES): New variable.
38208 (minicmd_mod_CFLAGS): Likewise.
38209 (minicmd_mod_LDFLAGS): Likewise.
38210 (extcmd_mod_SOURCES): Likewise.
38211 (extcmd_mod_CFLAGS): Likewise.
38212 (extcmd_mod_LDFLAGS): Likewise.
38213 (boot_mod_SOURCES): Removed.
38214 (boot_mod_CFLAGS): Likewise.
38215 (boot_mod_LDFLAGS): Likewise.
38216
38217 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
38218 kern/corecmd.c.
38219 (kernel_img_HEADERS): Add command.h.
38220 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
38221 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
38222 and lib/arg.c.
38223 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
38224 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
38225 remove the corresponding normal mode command.
38226 (normal_mod_SOURCES): Remove normal/arg.c.
38227 * conf/i386-coreboot.rmk: Likewise.
38228 * conf/i386-efi.rmk: Likewise.
38229 * conf/i386-ieee1275.rmk: Likewise.
38230 * conf/powerpc-ieee1275.rmk: Likewise.
38231 * conf/x86_64-efi.rmk: Likewise.
38232
38233 * include/grub/arg.h: Move from here ...
38234 * include/grub/lib/arg.h: ... to here.
38235
38236 * normal/arg.c: Move from here ...
38237 * lib/arg.c: ... to here.
38238
38239 * commands/extcmd.c: New file.
38240 * commands/minicmd.c: Likewise.
38241 * include/grub/command.h: Likewise.
38242 * include/grub/extcmd.h: Likewise.
38243 * kern/command.c: Likewise.
38244 * kern/corecmd.c: Likewise.
38245
38246 * kern/list.c (grub_list_iterate): Return int instead of void.
38247 (grub_list_insert): New function.
38248 (grub_prio_list_insert): Likewise.
38249
38250 * kern/rescue.c (grub_rescue_command): Removed.
38251 (grub_rescue_command_list): Likewise.
38252 (grub_rescue_register_command): Likewise.
38253 (grub_rescue_unregister_command): Likewise.
38254 (grub_rescue_cmd_boot): Move to minicmd.c
38255 (grub_rescue_cmd_help): Likewise.
38256 (grub_rescue_cmd_info): Likewise.
38257 (grub_rescue_cmd_boot): Likewise.
38258 (grub_rescue_cmd_testload): Likewise.
38259 (grub_rescue_cmd_dump): Likewise.
38260 (grub_rescue_cmd_rmmod): Likewise.
38261 (grub_rescue_cmd_lsmod): Likewise.
38262 (grub_rescue_cmd_exit): Likewise.
38263 (grub_rescue_print_devices): Moved to corecmd.c.
38264 (grub_rescue_print_files): Likewise.
38265 (grub_rescue_cmd_ls): Likewise.
38266 (grub_rescue_cmd_insmod): Likewise.
38267 (grub_rescue_cmd_set): Likewise.
38268 (grub_rescue_cmd_unset): Likewise.
7d074e3c 38269 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 38270 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 38271 commands, remove grub_rescue_register_command calls.
b1b797cb 38272
7d074e3c 38273 * normal/command.c (grub_register_command): Removed.
b1b797cb 38274 (grub_unregister_command): Likewise.
38275 (grub_command_find): Likewise.
38276 (grub_iterate_commands): Likewise.
38277 (rescue_command): Likewise.
38278 (export_command): Moved to corecmd.c.
38279 (set_command): Removed.
38280 (unset_command): Likewise.
38281 (insmod_command): Likewise.
38282 (rmmod_command): Likewise.
38283 (lsmod_command): Likewise.
38284 (grub_command_init): Likewise.
38285
38286 * normal/completion.c (iterate_command): Use cmd->prio to check for
38287 active command.
38288 (complete_arguments): Use grub_extcmd_t structure to find options.
38289 (grub_normal_do_completion): Change function grub_iterate_commands to
38290 grub_command_iterate.
38291
38292 * normal/execute.c (grub_script_execute_cmd): No need to parse
38293 argument here.
38294
38295 * normal/main.c (grub_dyncmd_dispatcher): New function.
38296 (read_command_list): Register unload commands as dyncmd.
38297 (grub_cmd_normal): Use new command interface, register rescue,
38298 unregister normal at entry, register normal, unregister rescue at exit.
38299
38300 * include/grub/list.h (grub_list_test_t): New type.
38301 (grub_list_iterate): Return int instead of void.
38302 (grub_list_insert): New function.
38303 (GRUB_AS_NAMED_LIST_P): New macro.
38304 (GRUB_AS_PRIO_LIST): Likewise.
38305 (GRUB_AS_PRIO_LIST_P): Likewise.
38306 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
38307 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
38308 (grub_prio_list): New structure.
38309 (grub_prio_list_insert): New function.
38310 (grub_prio_list_remove): New inline function.
38311
38312 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
38313 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
38314 (GRUB_COMMAND_FLAG_MENU): Likewise.
38315 (GRUB_COMMAND_FLAG_BOTH): Likewise.
38316 (GRUB_COMMAND_FLAG_TITLE): Likewise.
38317 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
38318 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
38319 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
38320 (grub_command): Likewise.
38321 (grub_register_command): Likewise.
38322 (grub_command_find): Likewise.
38323 (grub_iterate_commands): Likewise.
38324 (grub_command_init): Likewise.
38325 (grub_arg_parse): Likewise.
38326 (grub_arg_show_help): Likewise.
38327
38328 * include/grub/rescue.h (grub_rescue_register_command): Removed.
38329 (grub_rescue_unregister_command): Likewise.
38330
38331 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
38332 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
38333 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
38334
38335 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
38336 grub_rescue_cmd_initrd.
38337 * include/grub/i386/loader.h: Likewise.
38338 * include/grub/x86_64/loader.h: Likewise.
38339
38340 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
38341
1f4147aa 383422009-03-21 Bean <bean123ch@gmail.com>
38343
38344 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
38345 instead of stat in mingw environment.
38346
38347 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
38348
38349 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
38350
38351 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
38352 AC_CONFIG_LINKS.
38353
2156d5ba 383542009-03-21 Bean <bean123ch@gmail.com>
38355
38356 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
38357 out of range error.
38358
177b82ca 383592009-03-18 Michel Dänzer <michel@daenzer.net>
38360
38361 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
38362 checking inode flags for EXT4_EXTENTS_FLAG.
38363
14aad807 383642009-03-18 Robert Millan <rmh@aybabtu.com>
38365
38366 * loader/i386/linux.c: Include `<grub/video.h>' and
38367 `<grub/i386/pc/vbe.h>'..
38368 (grub_linux_setup_video): New function. Loosely based on the EFI one.
38369 (grub_linux32_boot): Attempt to configure video settings with
38370 grub_linux_setup_video().
38371 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
38372 to avoid grub_console_fini() which would step out of graphical mode
38373 unconditionally.
38374
8cf83a27 383752009-03-14 Robert Millan <rmh@aybabtu.com>
38376
38377 Fix build on powerpc.
38378 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
38379
40164e75 383802009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
38381
38382 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
38383 background image command.
38384
c58bc32a 383852009-03-12 Colin D Bennett <colin@gibibit.com>
38386
38387 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
38388 (grub_gfxterm_putchar): Extract pairs of identical calls to
38389 draw_cursor out of conditional blocks.
38390
5415144a 383912009-03-11 Pavel Roskin <proski@gnu.org>
38392
38393 * fs/hfs.c (grub_hfs_strncasecmp): New function.
38394 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
38395
6394042e 383962009-03-11 Robert Millan <rmh@aybabtu.com>
38397
38398 * loader/i386/multiboot_elfxx.c
38399 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
38400
b7b50e5f 384012009-03-11 Felix Zielcke <fzielcke@z-51.de>
38402
38403 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
38404 `kern/handler.c'.
38405
1ca7fc96 384062009-03-11 Robert Millan <rmh@aybabtu.com>
38407
38408 * loader/i386/multiboot.c (code_size): New variable.
38409 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 38410 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 38411 4-byte alignment to MBI and others by increasing
7d074e3c 38412 `boot_loader_name_length' appropriately.
1ca7fc96 38413
38414 * loader/i386/multiboot_elfxx.c
38415 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
38416
a83ea1d2 384172009-03-09 Felix Zielcke <fzielcke@z-51.de>
38418
38419 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
38420 `fs/ext2.c'.
38421
aa9f3bff 384222009-03-08 Robert Millan <rmh@aybabtu.com>
38423
38424 Make loader/i386/linux.c usable on i386-pc again.
38425
38426 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
38427 memory to heap.
38428 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
38429 `#error' stanza.
38430
d8b3b60e 384312009-03-07 Bean <bean123ch@gmail.com>
38432
38433 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
38434 allocation.
38435
b362c9e9 384362009-03-06 Robert Millan <rmh@aybabtu.com>
38437
38438 Fix display issue on terminals with screen size other than 80x25
38439 (e.g. gfxterm with resolution higher than 640x480).
38440
38441 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 38442 position relative to the center of the terminal instead of relying
b362c9e9 38443 on a hardcoded offset.
38444
9304eef1 384452009-03-04 Robert Millan <rmh@aybabtu.com>
38446
38447 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
38448 installed.
38449
38450 * Makefile.in (host_kernel): New variable.
38451 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
38452 scripts instead of just the windows one.
38453 * configure.ac: Initialize and AC_SUBST `host_kernel'.
38454
eabc95fb 384552009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 38456
38457 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
38458 `kern/handler.c'.
38459 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38460 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38461 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38462 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38463 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38464 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38465
ceb1223c 384662009-03-04 Felix Zielcke <fzielcke@z-51.de>
38467
38468 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
38469 or if there's no space for the disk label and print the partition number on a
38470 invalid magic.
38471
4910684a 384722009-03-04 Felix Zielcke <fzielcke@z-51.de>
38473
38474 * util/misc.c: Include <time.h>.
38475 (grub_millisleep): New function.
38476
7e9ca17a 384772009-03-04 Bean <bean123ch@gmail.com>
38478
38479 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
38480 another option -mno-red-zone.
38481
38482 * commands/handler.c: Change module description.
38483
38484 * kern/handler.c: Add missing space at the end of description line.
38485
38486 * kern/list.c: Likewise.
38487
f501677c 384882009-03-03 Robert Millan <rmh@aybabtu.com>
38489
38490 Move more components to the relocation area, and fix mbi pointer
38491 handling to use the destination rather than the origin (thanks to
38492 Vladimir Serbinenko for spotting).
38493
38494 * loader/i386/multiboot.c (mbi_dest): New variable.
38495 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
38496 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
38497 relocation area.
38498
9902d047 384992009-03-01 Bean <bean123ch@gmail.com>
38500
50fb7002 38501 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 38502 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
38503 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
38504 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
38505
38506 * loader/i386/efi/linux.c (acpi_guid): New variable.
38507 (acpi_guid): Likewise.
38508 (EBDA_SEG_ADDR): New constant.
38509 (LOW_MEM_ADDR): Likewise.
38510 (FAKE_EBDA_SEG): Likewise.
38511 (fake_bios_data): New function.
38512 (grub_linux_boot): Call fake_bios_data.
38513
71b9f361 385142009-03-01 Bean <bean123ch@gmail.com>
38515
38516 * commands/terminal.c: Removed.
38517
38518 * commands/handler.c: New file.
38519
38520 * include/grub/list.h: Likewise.
38521
38522 * include/grub/handler.h: Likewise.
38523
38524 * kern/list.c: Likewise.
38525
38526 * kern/handler.c: Likewise.
38527
38528 * kern/term.h: Include header file <grub/handler.h>.
38529 (grub_term_input): Move next field to the beginning.
38530 (grub_term_output): Likewise.
38531 (grub_term_input_class): New variable.
38532 (grub_term_output_class): Likewise.
38533 (grub_term_register_input): Changed to inline function.
38534 (grub_term_register_output): Likewise.
38535 (grub_term_unregister_input): Likewise.
38536 (grub_term_unregister_output): Likewise.
38537 (grub_term_set_current_input): Likewise.
38538 (grub_term_set_current_output): Likewise.
38539 (grub_term_get_current_input): Likewise.
38540 (grub_term_get_current_output): Likewise.
38541 (grub_term_iterate_input): Removed.
38542 (grub_term_iterate_output): Likewise.
38543
38544 * kern/term.c (grub_term_list_input): Removed.
38545 (grub_term_list_output): Likewise.
38546 (grub_term_input_class): New variable.
38547 (grub_term_output_class): Likewise.
50fb7002 38548 (grub_cur_term_input): Change variable as macro.
71b9f361 38549 (grub_cur_term_output): Likewise.
38550 (grub_term_register_input): Removed.
38551 (grub_term_register_output): Likewise.
38552 (grub_term_unregister_input): Likewise.
38553 (grub_term_unregister_output): Likewise.
38554 (grub_term_set_current_input): Likewise.
38555 (grub_term_set_current_output): Likewise.
38556 (grub_term_iterate_input): Likewise.
38557 (grub_term_iterate_output): Likewise.
38558 (grub_term_get_current_input): Likewise.
38559 (grub_term_get_current_output): Likewise.
38560
38561 * util/grub-editenv.c: Include header file <grub/handler.h>.
38562 (grub_term_get_current_input): Removed.
38563 (grub_term_get_current_output): Likewise.
38564 (grub_term_input_class): New variable.
50fb7002 38565 (grub_term_output_class): Likewise.
71b9f361 38566
38567 * util/grub-fstest.c (grub_term_get_current_input): Removed.
38568 (grub_term_get_current_output): Likewise.
38569 (grub_term_input_class): New variable.
50fb7002 38570 (grub_term_output_class): Likewise.
71b9f361 38571
38572 * util/grub-probe.c (grub_term_get_current_input): Removed.
38573 (grub_term_get_current_output): Likewise.
38574 (grub_term_input_class): New variable.
50fb7002 38575 (grub_term_output_class): Likewise.
71b9f361 38576
38577 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
38578 (grub_term_get_current_output): Likewise.
38579 (grub_term_input_class): New variable.
50fb7002 38580 (grub_term_output_class): Likewise.
71b9f361 38581
38582 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
38583 (terminal_mod_SOURCES): Likewise.
38584 (terminal_mod_CFLAGS): Likewise.
38585 (terminal_mod_LDFLAGS): Likewise.
38586
38587 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
38588 handler.c.
38589 (kernel_img_SOURCES): Add list.c and handler.c.
38590 (kernel_img_HEADERS): Add list.h and handler.h.
38591
38592 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38593 handler.c.
38594 (kernel_mod_SOURCES): Add list.c and handler.c.
38595 (kernel_mod_HEADERS): Add list.h and handler.h.
38596
38597 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
38598 handler.c.
38599 (kernel_elf_SOURCES): Add list.c and handler.c.
38600 (kernel_elf_HEADERS): Add list.h and handler.h.
38601
38602 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38603 handler.c.
38604 (kernel_elf_SOURCES): Add list.c and handler.c.
38605 (kernel_elf_HEADERS): Add list.h and handler.h.
38606
38607 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38608 handler.c.
38609 (kernel_mod_SOURCES): Add list.c and handler.c.
38610 (kernel_mod_HEADERS): Add list.h and handler.h.
38611
38612 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38613 handler.c.
38614 (kernel_elf_SOURCES): Add list.c and handler.c.
38615 (kernel_elf_HEADERS): Add list.h and handler.h.
38616
8a31787f 386172009-02-27 Robert Millan <rmh@aybabtu.com>
38618
38619 Factorize elf32 / elf64 code in Multiboot loader. This will
38620 prevent it from getting out of sync again.
38621
38622 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
38623 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
38624 grub_multiboot_load_elf64): Move from here ...
38625 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
38626 grub_multiboot_load_elf): ... to here (new file).
38627
51cd3dfc 386282009-02-27 Robert Millan <rmh@aybabtu.com>
38629
38630 * util/grub.d/10_linux.in: Rename "single-user mode" to
38631 "recovery mode".
38632
6e8c9c3a 386332009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
38634
38635 Don't leak in SCSI code.
38636 * disk/scsi.c (grub_scsi_close): free `scsi'.
38637
4b6bf4f9 386382009-02-27 Robert Millan <rmh@aybabtu.com>
38639
38640 * loader/i386/pc/multiboot.c: Move from here ...
38641 * loader/i386/multiboot.c: ... to here. Update all users.
38642
b9413424 386432009-02-27 Robert Millan <rmh@aybabtu.com>
38644
38645 Patch from Alexandre Bique <bique.alexandre@gmail.com>
38646 * util/i386/pc/grub-setup.c (setup): Fix directory path.
38647
50fb7002 386482009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 38649
38650 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
38651 b-tree.
38652
8cc50345 386532009-02-27 Robert Millan <rmh@aybabtu.com>
38654
38655 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
38656 `0x' qualifier as 0 when base is specified as parameter).
38657
6e09b8b7 386582009-02-24 Bean <bean123ch@gmail.com>
38659
38660 * configure.ac: Check for -mcmodel=large in x86_64 target.
38661
38662 * include/grub/efi/api.h (efi_call_10): New macro.
38663 (efi_wrap_10): New function.
38664
38665 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
38666 (GRUB_PE32_REL_BASED_HIGH): Likewise.
38667 (GRUB_PE32_REL_BASED_LOW): Likewise.
38668 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
38669 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
38670 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
38671 (GRUB_PE32_REL_BASED_SECTION): Likewise.
38672 (GRUB_PE32_REL_BASED_REL): Likewise.
38673 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
38674 (GRUB_PE32_REL_BASED_DIR64): Likewise.
38675 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
38676
38677 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
38678 issue.
38679
38680 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
38681 (efi_wrap_10): New function.
38682
38683 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
38684
38685 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
38686 MB/MBP model (NV chipset).
38687 (devdata_devs): Add devpath_5 to the list.
38688
38689 * load/i386/efi/linux.c (video_base): Remove variable.
38690 (RGB_MASK): New macro.
38691 (RGB_MAGIC): Likewise.
38692 (LINE_MIN): Likewise.
38693 (LINE_MAX): Likewise.
38694 (FBTEST_STEP): Likewise.
38695 (FBTEST_COUNT): Likewise.
38696 (fb_list): New variable.
38697 (grub_find_video_card): Remove function.
38698 (find_framebuf): New function.
38699 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
38700 line length.
38701
38702 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
38703 problem for x86_64.
38704
74b21bee 387052009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
38706
38707 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
38708
38709 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
38710 coding tool name.
38711
a455f472 387122009-02-22 Robert Millan <rmh@aybabtu.com>
38713
38714 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
38715 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
38716 in our relocation, instead of using it directly from heap. Also
38717 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
38718
6374daf3 387192009-02-21 Robert Millan <rmh@aybabtu.com>
38720
38721 Implement USB keyboard support (based on patch by Marco Gerards)
38722
38723 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
38724 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
38725 (usb_keyboard_mod_LDFLAGS): New variables.
38726
38727 * term/usb_keyboard.c: New file.
38728
8fa4ea70 387292009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
38730
38731 Corrected wrong declaration
38732
38733 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
38734
353976ac 387352009-02-14 Christian Franke <franke@computer.org>
38736
38737 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
38738 (grub_lspci_iter): Print class code and programming interface byte.
38739
6aa1169b 387402009-02-14 Christian Franke <franke@computer.org>
38741
38742 * gendistlist.sh: Ignore `.svn' directories.
38743
265372ca 387442009-02-14 Felix Zielcke <fzielcke@z-51.de>
38745
38746 * fs/fat.c: Add 2009 to Copyright line.
38747
9ff516f3 387482009-02-14 Christian Franke <franke@computer.org>
38749
38750 * commands/hdparm.c: New file. Provides `hdparm' command
38751 which sends ATA commands via grub_disk_ata_pass_through ().
38752
38753 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
38754
38755 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
38756 and <grub/cpu/io.h> to include/grub/ata.h.
38757 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
38758 (GRUB_CDROM_SECTOR_SIZE): Remove.
38759 (GRUB_ATA_*): Move to include/grub/ata.h.
38760 (GRUB_ATAPI_*): Likewise.
38761 (enum grub_ata_commands): Likewise.
38762 (enum grub_ata_timeout_milliseconds): Likewise.
38763 (struct grub_ata_device): Likewise.
38764 (grub_ata_regset): Likewise.
38765 (grub_ata_regget): Likewise.
38766 (grub_ata_regset2): Likewise.
38767 (grub_ata_regget2): Likewise.
38768 (grub_ata_check_ready): Likewise.
38769 (grub_ata_wait_not_busy): Remove static, exported in
38770 include/grub/ata.h.
38771 (grub_ata_wait_drq): Likewise.
38772 (grub_ata_pio_read): Likewise.
38773
38774 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
38775 function for hdparm.mod.
38776
38777 * include/grub/ata.h: New file, contains declarations from
38778 disk/ata.c.
38779 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
38780
38781 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
38782 (grub_disk_ata_pass_through): New exported variable.
38783
38784 * kern/disk.c (grub_disk_ata_pass_through): New variable.
38785
772e23da 387862009-02-13 Colin D Bennett <colin@gibibit.com>
38787
38788 Support multiple fallback entries, and provide an API to support
38789 executing default+fallback menu entries. Renamed the `terminal' menu
38790 viewer to `text'.
38791
38792 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
38793 variable declaration.
38794 (grub_menu_execute_callback): New structure declaration.
38795 (grub_menu_execute_callback_t): New typedef.
38796 (grub_menu_execute_with_fallback): New function declaration.
38797 (grub_menu_get_entry): Likewise.
38798 (grub_menu_get_timeout): Likewise.
38799 (grub_menu_set_timeout): Likewise.
38800
38801 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
38802
38803 * normal/menu.c (grub_wait_after_message): Moved to
38804 `normal/menu_text.c'.
38805 (draw_border): Likewise.
38806 (print_message): Likewise.
38807 (print_entry): Likewise.
38808 (print_entries): Likewise.
38809 (grub_menu_init_page): Likewise.
38810 (get_entry_number): Likewise.
38811 (print_timeout): Likewise.
38812 (run_menu): Likewise.
38813 (grub_menu_execute_entry): Likewise.
38814 (show_text_menu): Likewise.
38815 (get_and_remove_first_entry_number): New function.
38816 (grub_menu_execute_with_fallback): Likewise.
38817 (get_entry): Renamed to ...
38818 (grub_menu_get_entry): .. this and made it global.
38819 (get_timeout): Renamed to ...
38820 (grub_menu_get_timeout): ... this and made it global.
38821 (set_timeout): Renamed to ...
38822 (grub_menu_set_timeout): ... this and made it global.
38823 (grub_normal_terminal_menu_viewer): Renamed to ...
38824 (grub_normal_text_menu_viewer): ... this.
38825
38826 * normal/menu_text.c: New file. Extracted text-menu-specific code
38827 from normal/menu.c.
38828
38829 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
38830 (normal_mod_SOURCES): Likewise.
38831
38832 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38833 (normal_mod_SOURCES): Likewise.
38834
38835 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38836 (normal_mod_SOURCES): Likewise.
38837
38838 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
38839 (normal_mod_SOURCES): Likewise.
38840
38841 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38842 (normal_mod_SOURCES): Likewise.
38843
38844 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38845 (normal_mod_SOURCES): Likewise.
38846
38847 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38848 (normal_mod_SOURCES): Likewise.
38849
16ac430e 388502009-02-11 Robert Millan <rmh@aybabtu.com>
38851
38852 * util/grub.d/00_header.in: Update old reference to `font' command.
38853
06ff20fc 388542009-02-10 Felix Zielcke <fzielcke@z-51.de>
38855
38856 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
38857
38858 Based on patch from Javier Martín.
38859
96da9407 388602009-02-09 Felix Zielcke <fzielcke@z-51.de>
38861
38862 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 38863 to avoid false positives with FAT.
96da9407 38864 (grub_fstest_SOURCES): Likewise.
38865 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38866 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38867 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38868 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38869 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38870 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38871
6dca6fe4 388722009-02-09 Felix Zielcke <fzielcke@z-51.de>
38873
06ff20fc 38874 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 38875 bpb.version_specific.fat12_or_fat16.fstype and
38876 bpb.version_specific.fat32.fstype.
38877
2550c62f 388782009-02-08 Robert Millan <rmh@aybabtu.com>
38879
be110b30 38880 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 38881
56978920 388822009-02-08 Robert Millan <rmh@aybabtu.com>
38883
38884 * Makefile.in (host_os, host_cpu): New variables.
38885 (target_os): Remove. Update all users.
38886
d64399b5 388872009-02-08 Marco Gerards <marco@gnu.org>
38888
38889 * Makefile.in (enable_grub_emu_usb): New variable.
38890 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
38891 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
38892 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
38893 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
38894 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
38895 `usbtest.mod' and `usbms.mod'.
38896 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
38897 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
38898 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
38899 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
38900 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
38901 variables.
38902
38903 * disk/usbms.c: New file.
38904
38905 * include/grub/usb.h: Likewise.
38906
38907 * include/grub/usbtrans.h: Likewise.
38908
38909 * include/grub/usbdesc.h: Likewise.
38910
38911 * bus/usb/usbtrans.c: Likewise.
38912
38913 * bus/usb/ohci.c: Likewise.
38914
38915 * bus/usb/uhci.c: Likewise.
38916
38917 * bus/usb/usbhub.c: Likewise.
38918
38919 * bus/usb/usb.c: Likewise.
38920
38921 * commands/usbtest.c: Likewise.
38922
38923 * util/usb.c: Likewise.
50fb7002 38924
d64399b5 38925 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
38926
38927 * configure.ac: Test for libusb presence.
50fb7002 38928
d64399b5 38929 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
38930
2b40d6bb 389312009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
38932
38933 * kern/mm.c: Add more comments.
38934
73a4ce81 389352009-02-08 Robert Millan <rmh@aybabtu.com>
38936
38937 Patch from Javier Martín.
38938 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
38939 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
38940
f821ce59 389412009-02-08 Robert Millan <rmh@aybabtu.com>
38942
38943 * fs/cpio.c: Split tar functionality to ...
38944 * fs/tar.c: ... here (new file). Update all users.
38945
aebfc4b0 389462009-02-07 Robert Millan <rmh@aybabtu.com>
38947
38948 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
38949 backward-incompatible features.
38950
38951 Based on patch from Javier Martín, with some adjustments.
38952
50fb7002 389532009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 38954
38955 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
38956
0bb5115e 389572009-02-07 Robert Millan <rmh@aybabtu.com>
38958
38959 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
38960 position of `disk/lvm.c' to ensure grub_init_all() always picks it
38961 after the RAID stuff.
38962
38a0f8e7 389632009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
38964
50fb7002 38965 Fixes problem when running vbetest command as reported by
38a0f8e7 38966 Vladimir Serbinenko <phcoder@gmail.com>.
38967
38968 * (grub_vbe_set_video_mode): Fixed problem with text modes.
38969
3143cc1c 389702009-02-04 Felix Zielcke <fzielcke@z-51.de>
38971
38972 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
38973 /dev/md/NpN style mdraid devices.
38974
9cba6fce 389752009-02-03 Felix Zielcke <fzielcke@z-51.de>
38976
38977 * util/unifont2pff.rb: Remove.
38978
e507a2c1 389792009-02-03 Felix Zielcke <fzielcke@z-51.de>
38980
38981 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
38982 `#'.
38983
d2c2b4cd 389842009-02-03 Felix Zielcke <fzielcke@z-51.de>
38985
38986 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
38987 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38988 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38989 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38990 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38991 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38992 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38993
b4315fb0 389942009-02-02 Christian Franke <franke@computer.org>
38995
38996 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
38997
de3aa260 389982009-02-01 Felix Zielcke <fzielcke@z-51.de>
38999
7c3ff286 39000 * INSTALL: Note that we now require at least autoconf 2.59 and
39001 that LZO is optional.
de3aa260 39002
825a182b 390032009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39004
39005 Base on patch on bug #24154 created by Tomas Tintera
39006 <trosos@seznam.cz>.
39007
39008 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
39009
a69ef770 390102009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39011
7c3ff286 39012 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 39013 <bero@arklinux.org>.
39014
39015 * normal/parser.y (script_init): Add missing semicolon.
39016
6fa42fa6 390172009-01-31 Colin D Bennett <colin@gibibit.com>
39018
7c3ff286 39019 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 39020 (free_menu_entry_classes): Added.
39021 (grub_normal_menu_addentry): Added class property handling.
39022 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
39023 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
39024
39025 * normal/menu_viewer.c: New file.
39026
39027 * normal/menu.c (run_menu_entry): Renamed to ...
39028 (grub_menu_execute_entry): ... this and made it as global.
39029 (grub_menu_run): Renamed to ...
39030 (show_text_menu): ... this and made it local.
39031 (show_text_menu): Adapt to new function names.
39032 (grub_normal_terminal_menu_viewer): New global variable.
39033
39034 * include/grub/menu.h: New file.
39035
39036 * include/grub/menu_viewer.h: New file.
39037
39038 * include/grub/normal.h: Added include to grub/menu.h.
39039 (grub_menu_entry): Moved to include/grub/menu.h.
39040 (grub_menu_entry_t): Likewise.
39041 (grub_menu): Likewise.
39042 (grub_menu_t): Likewise.
39043 (grub_normal_terminal_menu_viewer): Added.
39044 (grub_menu_execute_entry): Likewise.
39045 (grub_menu_run): Removed.
39046
39047 * DISTLIST: Added include/grub/menu.h.
39048 Added include/grub/menu_viewer.h.
39049 Added normal/menu_viewer.c.
39050
390512009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
39052
39053 * normal/execute.c (grub_script_execute_menuentry): Changed to use
39054 arglist for menutitle arguments.
39055
39056 * normal/main.c (grub_normal_menu_addentry): Likewise.
39057
39058 * normal/parser.y (menuentry): Likewise.
39059
39060 * normal/script.c (grub_script_create_cmdmenu): Likewise.
39061
39062 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
39063 (grub_script_create_cmdmenu): Likewise.
39064
39065 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
39066
39067 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
39068 changes.
39069
39070 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
39071
39072 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
39073
39074 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
39075
39076 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39077
39078 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39079
39080 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39081
56192c23 390822009-01-30 Christian Franke <franke@computer.org>
39083
39084 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
39085 in option help text.
39086
d72521b3 390872009-01-27 Pavel Roskin <proski@gnu.org>
39088
39089 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
39090
994b5e84 390912009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39092
39093 * commands/lsmmap.c: Add include to grub/machine/memory.h.
39094
39095 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
39096
39097 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
39098 unregister function.
39099
6a7eab2c 391002009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39101
39102 * disk/scsi.c (grub_scsi_read): Fix sign problem.
39103
39104 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
39105
39106 * util/grub-mkfont.c (usage): Fix typo.
39107
39108 * util/elf/grub-mkimage.c (load_modules): Fix warning.
39109
1806b56e 391102009-01-26 Daniel Mierswa <impulze@impulze.org>
39111
3fb18f09 39112 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
39113
336e1fb9 39114 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
39115
1806b56e 39116 * kern/misc.c (grub_strcasecmp): New function.
39117 (grub_strcasecmp): Use grub_size_t instead of int for length.
39118 Fix return value.
39119 * include/grub/misc.h: Update function prototypes.
39120
580b2a0f 391212009-01-26 Robert Millan <rmh@aybabtu.com>
39122
39123 * configure.ac: Fix cross-compilation check.
ef257b36 39124
d31c24f1 391252009-01-22 Christian Franke <franke@computer.org>
39126
39127 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
39128 (precision) digit string. Allow `.format2' without `format1' (width).
39129 Limit input chars for `%s' output to `format2' if specified. This is
39130 compatible with standard printf ().
39131
3138b44c 391322009-01-22 Christian Franke <franke@computer.org>
39133
39134 * disk/ata.c (grub_ata_wait_status): Replace by ...
39135 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
39136 other status bits may be invalid while BSY is asserted.
39137 (grub_ata_check_ready): New function.
39138 (grub_ata_cmd): Removed.
39139 (grub_ata_wait_drq): New function.
39140 (grub_ata_strncpy): Remove inline.
39141 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
39142 and error check now done by grub_ata_wait_drq ().
39143 (grub_ata_pio_write): Likewise.
39144 (grub_atapi_identify): Set DEV before check for !BSY. Use
39145 grub_ata_wait_drq () to wait for data.
39146 (grub_ata_device_initialize): Add status register check to
39147 detect missing SATA slave devices. Add debug messages.
39148 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
39149 (grub_atapi_packet): Set DEV before check for !BSY. Replace
39150 transfer loop by grub_ata_pio_write ().
39151 (grub_ata_identify): Set DEV before check for !BSY. Use
39152 grub_ata_wait_drq () to wait for data.
ef257b36 39153 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 39154 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
39155 read/write in one loop. Fix invalid command on write. Fix incomplete
39156 command on (size % batch) == 0. Add missing error check after write of
39157 last block. Add debug messages.
39158 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
39159
59a64ef6 391602009-01-19 Christian Franke <franke@computer.org>
39161
39162 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
39163 (GRUB_ATAPI_IREASON_*): Likewise.
39164 (grub_ata_pio_write): Fix timeout error return.
39165 (grub_atapi_identify): Add grub_ata_wait () after cmd.
39166 (grub_atapi_wait_drq): New function.
39167 (grub_atapi_packet): New parameter `size'.
39168 Use grub_atapi_wait_drq () and direct write instead of
39169 grub_ata_pio_write ().
39170 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
39171 reads the number of bytes requested by the device for each DRQ
39172 assertion.
39173 (grub_atapi_write): Remove old implementation, return not
39174 implemented instead.
39175
1cfe20b3 391762009-01-19 Christian Franke <franke@computer.org>
39177
39178 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
39179 of 512 to calculate data size.
39180 (grub_scsi_read12): Likewise.
39181 (grub_scsi_write10): Likewise.
39182 (grub_scsi_write12): Likewise.
39183 (grub_scsi_read): Adjust size according to blocksize.
39184 Add checks for invalid blocksize and unaligned transfer.
39185
bee5fe5d 391862009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
39187
39188 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
39189
ef257b36 39190 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 39191 width glyphs.
39192
3e643f8c 391932009-01-19 Robert Millan <rmh@aybabtu.com>
39194
39195 * config.guess: Update to latest version from config git.
39196 * config.sub: Likewise.
39197
4fa80998 391982009-01-17 Felix Zielcke <fzielcke@z-51.de>
39199
39200 * Makefile.in: Change font compilation to use new grub-mkfont instead
39201 of java version.
39202
39203 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
39204 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
39205 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39206 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39207 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
39208 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
39209 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
39210 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
39211 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39212
7086085b 392132009-01-16 Christian Franke <franke@computer.org>
39214
39215 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
39216 (enum grub_ata_timeout_milliseconds): New enum.
39217 (grub_ata_wait_status): Add parameter milliseconds.
39218 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
39219 recovery from timed-out commands.
39220 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
39221 return grub_errno instead of REG_ERROR.
39222 (grub_ata_pio_write): Add parameter milliseconds.
39223 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
39224 Pass milliseconds to grub_ata_wait_status () and
39225 grub_ata_pio_read ().
39226 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
39227 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
39228 grub_ata_wait_status (). Fix IDENTIFY timeout check.
39229 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
39230 It is not suitable for device detection, because DEV bit is ignored,
39231 the command may run too long, and not all devices set the signature
39232 properly.
39233 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
39234 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
39235 Fix device selection, DEV bit must be set first to address the registers
39236 of the correct device.
39237 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
39238 grub_ata_pio_read/write ().
39239 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
39240 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
39241
4a412913 392422009-01-13 Carles Pina i Estany <carles@pina.cat>
39243
39244 * util/grub-editenv.c (main): Use fseeko(), not fseek().
39245
7795c55e 392462009-01-13 Bean <bean123ch@gmail.com>
d913988c 39247
39248 * util/grub-mkfont.c (write_font): forget to remove some debug code.
39249
7795c55e 392502009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 39251
39252 * Makefile.in: (enable_grub_mkfont): New variable.
39253 (freetype_cflags): Likewise.
39254 (freetype_libs): Likewise.
39255
39256 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
39257 (grub_mkfont_SOURCES): New variable.
39258 (grub_mkfont_CFLAGS): Likewise.
39259 (grub_mkfont_LDFLAGS): Likewise.
39260
39261 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
39262 library if `--enable-grub-mkfont' is requested.
39263 (enable_grub_mkfont): New variable.
39264 (freetype_cflags): Likewise.
39265 (freetype_libs): Likewise.
39266
39267 * util/grub-mkfont.c: New file.
39268
093af1fe 392692009-01-12 Christian Franke <franke@computer.org>
39270
39271 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
39272 mode check. Fix setting of compat_use[].
39273
f36cc108 392742009-01-10 Robert Millan <rmh@aybabtu.com>
39275
39276 Update a few copyright years which we forgot to do in 2008 (only for
39277 files whose changes made in 2008 were copyright-significant)
39278
39279 * Makefile.in: Add 2008 to Copyright line.
39280 * disk/ieee1275/ofdisk.c: Likewise.
39281 * disk/efi/efidisk.c: Likewise.
39282 * kern/dl.c: Likewise.
39283 * kern/sparc64/ieee1275/init.c: Likewise.
39284 * kern/mm.c: Likewise.
39285 * kern/efi/mm.c: Likewise.
39286 * boot/i386/pc/boot.S: Likewise.
39287 * genfslist.sh: Likewise.
39288 * fs/iso9660.c: Likewise.
39289 * fs/hfs.c: Likewise.
39290 * fs/jfs.c: Likewise.
39291 * fs/minix.c: Likewise.
39292 * fs/ufs.c: Likewise.
39293 * gensymlist.sh.in: Likewise.
39294 * genkernsyms.sh.in: Likewise.
39295 * include/grub/misc.h: Likewise.
39296 * include/grub/types.h: Likewise.
39297 * include/grub/symbol.h: Likewise.
39298 * include/grub/elf.h: Likewise.
39299 * include/grub/kernel.h: Likewise.
39300 * include/grub/disk.h: Likewise.
39301 * include/grub/dl.h: Likewise.
39302 * include/grub/i386/linux.h: Likewise.
39303 * include/grub/i386/pc/biosdisk.h: Likewise.
39304 * include/grub/efi/api.h: Likewise.
39305 * include/grub/efi/pe32.h: Likewise.
39306 * include/grub/util/misc.h: Likewise.
39307 * normal/execute.c: Likewise.
39308 * normal/arg.c: Likewise.
39309 * normal/completion.c: Likewise.
39310 * normal/lexer.c: Likewise.
39311 * normal/parser.y: Likewise.
39312 * normal/misc.c: Likewise.
39313 * commands/i386/pc/vbeinfo.c: Likewise.
39314 * commands/hexdump.c: Likewise.
39315 * commands/terminal.c: Likewise.
39316 * commands/ls.c: Likewise.
39317 * commands/help.c: Likewise.
39318 * partmap/pc.c: Likewise.
39319 * loader/efi/chainloader.c: Likewise.
39320 * loader/multiboot_loader.c: Likewise.
39321 * loader/i386/pc/multiboot2.c: Likewise.
39322 * term/efi/console.c: Likewise.
39323 * term/i386/pc/serial.c: Likewise.
39324 * util/lvm.c: Likewise.
39325 * util/console.c: Likewise.
39326 * util/i386/efi/grub-mkimage.c: Likewise.
39327 * util/raid.c: Likewise.
39328
7f02114b 393292009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
39330
39331 * commands/videotest.c: Removed include to grub/machine/memory.h.
39332
39333 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
39334 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
39335 (video_mod_SOURCES): Removed.
39336 (video_mod_CFLAGS): Likewise.
39337 (video_mod_LDFLAGS): Likewise.
39338 (gfxterm_mod_SOURCES): Likewise.
39339 (gfxterm_mod_CFLAGS): Likewise.
39340 (gfxterm_mod_LDFLAGS): Likewise.
39341 (videotest_mod_SOURCES): Likewise.
39342 (videotest_mod_CFLAGS): Likewise.
39343 (videotest_mod_LDFLAGS): Likewise.
39344 (bitmap_mod_SOURCES): Likewise.
39345 (bitmap_mod_CFLAGS): Likewise.
39346 (bitmap_mod_LDFLAGS): Likewise.
39347 (tga_mod_SOURCES): Likewise.
39348 (tga_mod_CFLAGS): Likewise.
39349 (tga_mod_LDFLAGS): Likewise.
39350 (jpeg_mod_SOURCES): Likewise.
39351 (jpeg_mod_CFLAGS): Likewise.
39352 (jpeg_mod_LDFLAGS): Likewise.
39353 (png_mod_SOURCES): Likewise.
39354 (png_mod_CFLAGS): Likewise.
39355 (png_mod_LDFLAGS): Likewise.
39356
39357 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
39358 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
39359 (video_mod_SOURCES): Added.
39360 (video_mod_CFLAGS): Likewise.
39361 (video_mod_LDFLAGS): Likewise.
39362 (videotest_mod_SOURCES): Likewise.
39363 (videotest_mod_CFLAGS): Likewise.
39364 (videotest_mod_LDFLAGS): Likewise.
39365 (bitmap_mod_SOURCES): Likewise.
39366 (bitmap_mod_CFLAGS): Likewise.
39367 (bitmap_mod_LDFLAGS): Likewise.
39368 (tga_mod_SOURCES): Likewise.
39369 (tga_mod_CFLAGS): Likewise.
39370 (tga_mod_LDFLAGS): Likewise.
39371 (jpeg_mod_SOURCES): Likewise.
39372 (jpeg_mod_CFLAGS): Likewise.
39373 (jpeg_mod_LDFLAGS): Likewise.
39374 (png_mod_SOURCES): Likewise.
39375 (png_mod_CFLAGS): Likewise.
39376 (png_mod_LDFLAGS): Likewise.
39377 (gfxterm_mod_SOURCES): Likewise.
39378 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 39379 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 39380
39381 * term/gfxterm.c: Removed include to grub/machine/memory.h,
39382 grub/machine/console.h.
39383
644fff97 393842009-01-04 Jerone Young <jerone@gmail.com>
39385
39386 Make on screen instructions clearer
39387
39388 Based on patch created by Jidanni <jidanni@jidanni.org>
39389
39390 * normal/menu.c: print clearer instructions on the screen
39391
1e901a75 393922009-01-02 Colin D Bennett <colin@gibibit.com>
39393
39394 New font engine.
34c44600 39395
1e901a75 39396 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
39397 build system and fixed gfxterm.c to work with different sized fonts.
39398
39399 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 39400
1e901a75 39401 * configure: Re-generated.
34c44600 39402
1e901a75 39403 * DISTLIST: Removed font/manager.c.
39404 Added font/font.c.
39405 Added font/font_cmd.c.
34c44600 39406
1e901a75 39407 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
39408 compilation.
34c44600 39409
1e901a75 39410 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 39411
39412 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 39413
39414 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 39415
1e901a75 39416 * normal/menu.c: Likewise.
34c44600 39417
1e901a75 39418 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
39419 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 39420
1e901a75 39421 * include/grub/font.h: Replaced with new file.
34c44600 39422
1e901a75 39423 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
39424 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
39425 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
39426 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
39427 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 39428 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 39429 fg_red, fg_green, fg_blue, fg_alpha.
39430 (grub_video_adapter): Removed blit_glyph.
34c44600 39431 (grub_video_blit_glyph): Removed.
39432
1e901a75 39433 * font/manager.c: Removed file.
34c44600 39434
39435 * font/font.c: New file.
39436
1e901a75 39437 * font/font_cmd.c: Likewise.
34c44600 39438
1e901a75 39439 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 39440
1e901a75 39441 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
39442 (grub_video_vbe_map_rgba): Likewise.
39443 (grub_video_vbe_unmap_color_int): Likewise.
39444 (grub_video_vbe_blit_glyph): Removed.
39445 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 39446
1e901a75 39447 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
39448 (get_pixel): Likewise.
34c44600 39449 (set_pixel): Likewise.
39450
1e901a75 39451 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 39452
1e901a75 39453 * term/gfxterm.c: Adapted to new font engine.
34c44600 39454
1e901a75 39455 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 39456
1e901a75 39457 * term/i386/pc/vga.c: Likewise.
34c44600 39458
1e901a75 39459 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 39460
1e901a75 39461 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 39462
1e901a75 39463 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39464
1e901a75 39465 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39466
1e901a75 39467 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 39468
1e901a75 39469 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 39470
1e901a75 39471 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 39472
1e901a75 39473 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 39474
1e901a75 39475 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39476
39477 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 39478
1e901a75 39479 * util/grub-mkconfig_lib.in: Changed font extension.
39480
278922e8 394812008-12-28 Felix Zielcke <fzielcke@z-51.de>
39482
39483 * util/getroot.c (grub_util_get_grub_dev): Add support for
39484 /dev/md/dNNpNN style partitionable mdraid devices.
39485
3ced05cf 394862008-12-12 Alex Smith <alex@alex-smith.me.uk>
39487
39488 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
39489 at a time limit of the PXE TFTP API correctly.
39490 (grub_pxefs_close): Likewise.
39491
7fd0ee30 394922008-11-29 Robert Millan <rmh@aybabtu.com>
39493
34c44600 39494 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 39495 grub_ata_device_initialize() calls.
39496
34c44600 394972008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 39498
39499 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
39500 iteration failed.
39501 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
39502
89313780 395032008-11-28 Robert Millan <rmh@aybabtu.com>
39504
39505 Fix build on powerpc-ieee1275. Based on patch created by
39506 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
39507 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39508 `kern/ieee1275/mmap.c'.
39509 * include/grub/powerpc/ieee1275/memory.h: New file.
39510
15257703 39511 Provide grub-install on coreboot.
39512 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
39513 (grub_install_SOURCES): New variable.
39514 * util/i386/pc/grub-install.in: Add a few condition checks to make it
39515 usable on coreboot.
39516
9fc5388a 395172008-11-25 Felix Zielcke <fzielcke@z-51.de>
39518
39519 * util/grub-fstest.c (grub_term_get_current_input): Change return type
39520 to `grub_term_input_t'.
39521 (grub_term_get_current_output): Change return type to
39522 `grub_term_output_t'.
39523
bc3a2f31 395242008-11-22 Robert Millan <rmh@aybabtu.com>
39525
34c44600 39526 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 39527 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
39528 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
39529 grub_vga_text_cls().
39530
80fc88f2 39531 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 39532 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 39533
cbf36fd3 39534 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
39535 to 0x200000 (avoids trouble with some OFW implementations, and matches
39536 with the one in Yaboot).
39537 Reported by Manoel Abranches
39538
73e8e268 395392008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 39540
39541 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
39542 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
39543
73e8e268 39544 * util/grub-mkconfig_lib.in (grub_warn): New function.
39545 (convert_system_path_to_grub_path): Use grub_warn() when issuing
39546 warnings, to obtain consistent formatting.
39547 * util/grub.d/00_header.in: Likewise.
39548 * util/update-grub_lib.in: Likewise.
39549
e94045a1 39550 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 39551 Move comment text to `#error' stanza.
e94045a1 39552
79d29fd7 39553 Harmonize ieee1275's grub_available_iterate() with the generic
39554 grub_machine_mmap_iterate() interface (fixes a recently-introduced
39555 build problem on i386-ieee1275):
39556 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
39557 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
39558 parameter `type'. Update all users of this function.
39559 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39560 `kern/ieee1275/mmap.c'.
39561 * kern/ieee1275/init.c
39562 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
39563 with ...
39564 (grub_machine_mmap_iterate): ... this.
39565 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
39566 return type to `grub_err_t'. Update all implementations of this
39567 function prototype.
39568 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
39569 Likewise.
39570
60d6b16e 39571 Add `lsmmap' command (lists firmware-provided memory map):
39572 * commands/lsmmap.c: New file.
39573 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
39574 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
39575 variables.
39576 * conf/powerpc-ieee1275.rmk: Likewise.
39577 * conf/i386-coreboot.rmk: Likewise.
39578 * conf/i386-ieee1275.rmk: Likewise.
39579
ebaaf49b 395802008-11-19 Robert Millan <rmh@aybabtu.com>
39581
39582 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 39583 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
39584 constraints to initrd allocation (based on code from
39585 loader/i386/pc/linux.c). Without them, initrd was allocated too high
39586 for Linux to find it.
ebaaf49b 39587
dfab719f 395882008-11-14 Robert Millan <rmh@aybabtu.com>
39589
39590 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
39591 order to cope with duplicate slashes.
39592
10fc3eb9 395932008-11-14 Robert Millan <rmh@aybabtu.com>
39594
39595 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
39596 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
39597 don't want to mess with lower memory, because it is used in the Linux
39598 loader.
39599
39600 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 39601 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 39602 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
39603 is in our heap (probably as a result of it being corrupted during
2f2a3442 39604 decompression). Add #error instance with comment to explain why this
39605 loader isn't currently usable on PC/BIOS.
10fc3eb9 39606
e2e07847 396072008-11-14 Robert Millan <rmh@aybabtu.com>
39608
39609 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 39610 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 39611
fe8e8d69 396122008-11-12 Robert Millan <rmh@aybabtu.com>
39613
39614 Make loader/i386/linux.c buildable on i386-pc (although disabled).
39615
39616 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
39617 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
39618 from here ...
39619 * include/grub/i386/pc/memory.h: ... to here.
39620
976b07d0 396212008-11-12 Robert Millan <rmh@aybabtu.com>
39622
39623 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
39624 split).
39625
39626 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
39627 (grub_console_cur_color, grub_console_real_putchar)
39628 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39629 (grub_console_setcolorstate, grub_console_setcolor)
39630 (grub_console_getcolor): Move from here ...
39631 * include/grub/i386/vga_common.h: ... to here (new file).
39632
39633 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
39634 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
39635 `<grub/i386/io.h>'.
39636 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
39637 `<grub/i386/vga_common.h>'.
39638
76679cd3 396392008-11-12 Robert Millan <rmh@aybabtu.com>
39640
39641 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
39642 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
39643 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
39644 variables.
39645 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39646 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
39647
39648 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
39649 grub_console_init() with call to grub_vga_text_init().
39650 (grub_machine_fini): Replace call to
39651 grub_console_fini() with call to grub_vga_text_fini() and
39652 grub_at_keyboard_fini().
39653
39654 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
39655 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39656 (grub_console_setcolorstate, grub_console_setcolor)
39657 (grub_console_getcolor): New function prototypes.
39658
39659 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
39660 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
39661 (grub_vga_text_setcursor): Static-ize.
39662 (grub_vga_text_term): New structure.
39663 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
39664
39665 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
39666 (grub_console_cur_color, grub_console_standard_color)
39667 (grub_console_normal_color, grub_console_highlight_color)
39668 (map_char, grub_console_putchar, grub_console_getcharwidth)
39669 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
39670 (grub_console_getcolor): Move from here ...
39671 * term/i386/vga_common.c: ... to here (same function names).
39672
95b841d3 396732008-11-12 Robert Millan <rmh@aybabtu.com>
39674
39675 Use newly-added Multiboot support in coreboot.
39676
39677 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39678 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
39679
39680 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
39681 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
39682 (codestart): Store the MBI in `startup_multiboot_info' when we're
39683 being loaded using Multiboot.
39684
39685 * kern/i386/coreboot/init.c (grub_machine_init): Move
39686 grub_at_keyboard_init() call to beginning of function (useful for
39687 debugging). Call grub_machine_mmap_init() before attempting to use
39688 grub_machine_mmap_iterate().
39689 (grub_lower_mem, grub_upper_mem): Move from here ...
39690 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
39691 here (new file).
39692
39693 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
39694 function prototype.
39695
761ca975 396962008-11-12 Robert Millan <rmh@aybabtu.com>
39697
39698 Fix a regression introduced by the at_keyboard.mod split. Because
39699 some terminals are default on some platforms and non-default on
39700 others, the first terminal being registered determines which is
39701 going to be default.
39702
39703 * kern/term.c (grub_term_register_input): If this is the first
39704 terminal being registered, set it as the current one.
39705 (grub_term_register_output): Likewise.
39706
39707 * term/efi/console.c (grub_console_init): Do not call
39708 grub_term_set_current_output() or grub_term_set_current_input().
39709 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
39710 * term/i386/pc/console.c (grub_console_init): Likewise.
39711 (grub_console_fini): Do not call grub_term_set_current_input()
39712 (but leave grub_term_set_current_output() to restore text mode).
39713
6c529df7 397142008-11-10 Robert Millan <rmh@aybabtu.com>
39715
39716 * util/grub.d/00_header.in: Add backward compatibility check for
39717 versions of terminal.mod that don't understand `terminal_input' or
39718 `terminal_output'.
39719
132e4113 397202008-11-09 Robert Millan <rmh@aybabtu.com>
39721
39722 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
39723 `terminal_input' / `terminal_output', not `terminal'.
39724
ac293d50 397252008-11-08 Robert Millan <rmh@aybabtu.com>
39726
39727 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 39728 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 39729
0025933a 397302008-11-08 Robert Millan <rmh@aybabtu.com>
39731
39732 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 39733 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 39734 members. Update all users.
39735 * util/console.c (grub_ncurses_term): Split in ...
39736 (grub_ncurses_term_input): ... this, and ...
39737 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 39738 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 39739
37c86336 397402008-11-08 Robert Millan <rmh@aybabtu.com>
39741
39742 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
39743 (PKGDATA): Add $(pkgdata_SRCDIR).
39744 (pkglib_BUILDDIR): New variable.
39745 (pkgdata_SRCDIR): New variable.
39746 (build_env.mk): New target.
39747 (include_DATA): New variable.
39748 (install-local): Install $(include_DATA) files in $(includedir).
39749
b6c15a2d 397502008-11-07 Pavel Roskin <proski@gnu.org>
39751
d99d46f1 39752 * gendistlist.sh: Use C locale for sorting to ensure consistent
39753 output on all systems.
39754
b6c15a2d 39755 * util/grub.d/00_header.in: Remove incorrect space before
39756 "serial".
39757
c32ee8c9 397582008-11-07 Robert Millan <rmh@aybabtu.com>
39759
39760 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
39761 per specification.
39762 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
39763 * loader/multiboot_loader.c (find_multi_boot2_header): New function
39764 (based on find_multi_boot1_header).
39765 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
39766 using find_multi_boot2_header(), and abort if neither Multiboot or
39767 Multiboot headers were found.
39768
651c29b7 397692008-11-07 Robert Millan <rmh@aybabtu.com>
39770
39771 Modularize at_keyboard.mod:
39772
39773 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
39774 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
39775 (at_keyboard_mod_LDFLAGS): New variables.
39776
39777 Actual terminal split:
39778
39779 * include/grub/term.h (struct grub_term): Split in ...
39780 (struct grub_term_input): ... this, and ...
39781 (struct grub_term_output): ... this. Update all users.
39782 (grub_term_set_current): Split in ...
39783 (grub_term_set_current_input): ... this, and ...
39784 (grub_term_set_current_output): ... this.
39785 (grub_term_get_current): Split in ...
39786 (grub_term_get_current_input): ... this, and ...
39787 (grub_term_get_current_output): ... this.
39788 (grub_term_register): Split in ...
39789 (grub_term_register_input): ... this, and ...
39790 (grub_term_register_output): ... this.
39791 (grub_term_unregister): Split in ...
39792 (grub_term_unregister_input): ... this, and ...
39793 (grub_term_unregister_output): ... this.
39794 (grub_term_iterate): Split in ...
39795 (grub_term_iterate_input): ... this, and ...
39796 (grub_term_iterate_output): ... this.
39797
39798 * kern/term.c (grub_term_list): Split in ...
39799 (grub_term_list_input): ... this, and ...
39800 (grub_term_list_output): ... this. Update all users.
39801 (grub_cur_term): Split in ...
39802 (grub_cur_term_input): ... this, and ...
39803 (grub_cur_term_output): ... this. Update all users.
39804 (grub_term_set_current): Split in ...
39805 (grub_term_set_current_input): ... this, and ...
39806 (grub_term_set_current_output): ... this.
39807 (grub_term_get_current): Split in ...
39808 (grub_term_get_current_input): ... this, and ...
39809 (grub_term_get_current_output): ... this.
39810 (grub_term_register): Split in ...
39811 (grub_term_register_input): ... this, and ...
39812 (grub_term_register_output): ... this.
39813 (grub_term_unregister): Split in ...
39814 (grub_term_unregister_input): ... this, and ...
39815 (grub_term_unregister_output): ... this.
39816 (grub_term_iterate): Split in ...
39817 (grub_term_iterate_input): ... this, and ...
39818 (grub_term_iterate_output): ... this.
39819
39820 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
39821 a check for input and one for output (and only attempt to get keys
39822 from user when input works).
39823
39824 * util/grub-probe.c (grub_term_get_current): Split in ...
39825 (grub_term_get_current_input): ... this, and ...
39826 (grub_term_get_current_output): ... this.
39827 * util/grub-fstest.c: Likewise.
39828 * util/i386/pc/grub-setup.c: Likewise.
39829 * util/grub-editenv.c: Likewise.
39830
39831 Portability adjustments:
39832
39833 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
39834 `term/i386/pc/at_keyboard.c'.
39835 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
39836 grub_keyboard_controller_init() (now handled by terminal .init).
39837 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
39838 grub_at_keyboard_init().
39839 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
39840 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
39841 at_keyboard.mod via input terminal interface).
39842 * include/grub/i386/coreboot/console.h: Convert into a stub for
39843 `<grub/i386/pc/console.h>'.
39844
39845 Migrate full terminals to new API:
39846
39847 * term/efi/console.c (grub_console_term): Split into ...
39848 (grub_console_term_input): ... this, and ...
39849 (grub_console_term_output): ... this. Update all users.
39850 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
39851 (grub_ofconsole_init): Split into ...
39852 (grub_ofconsole_init_input): ... this, and ...
39853 (grub_ofconsole_init_output): ... this.
39854 (grub_ofconsole_term): Split into ...
39855 (grub_ofconsole_term_input): ... this, and ...
39856 (grub_ofconsole_term_output): ... this. Update all users.
39857 * term/i386/pc/serial.c (grub_serial_term): Split into ...
39858 (grub_serial_term_input): ... this, and ...
39859 (grub_serial_term_output): ... this. Update all users.
39860 * term/i386/pc/console.c (grub_console_term): Split into ...
39861 (grub_console_term_input): ... this, and ...
39862 (grub_console_term_output): ... this. Update all users.
39863 (grub_console_term_input): Only enable it on PC/BIOS platform.
39864 (grub_console_init): Remove grub_keyboard_controller_init() call.
39865
39866 Migrate input terminals to new API:
39867
39868 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
39869 `i386' and `i386/pc' to enable build on x86_64 (this driver is
39870 i386-specific anyway).
39871 (grub_console_checkkey): Rename to ...
39872 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
39873 users.
39874 (grub_keyboard_controller_orig): New variable.
39875 (grub_console_getkey): Rename to ...
39876 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
39877 users.
39878 (grub_keyboard_controller_init): Static-ize. Save original
39879 controller value so that it can be restored ...
39880 (grub_keyboard_controller_fini): ... here (new function).
39881 (grub_at_keyboard_term): New structure.
39882 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
39883 functions.
39884
39885 Migrate output terminals to new API:
39886
39887 * term/i386/pc/vga.c (grub_vga_term): Change type to
39888 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39889 members. Update all users.
39890 * term/gfxterm.c (grub_video_term): Change type to
39891 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39892 members. Update all users.
39893 * include/grub/i386/pc/console.h (grub_console_checkkey)
39894 (grub_console_getkey): Do not export (no longer needed by gfxterm,
39895 etc).
39896
39897 Migrate `terminal' command and userland tools to new API:
39898
39899 * commands/terminal.c (grub_cmd_terminal): Split into ...
39900 (grub_cmd_terminal_input): ... this, and ...
39901 (grub_cmd_terminal_output): ... this.
39902 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
39903 `terminal_input' and `terminal_output'.
39904 * util/grub.d/00_header.in: Adjust `terminal' calls to new
39905 `terminal_input' / `terminal_output' API.
39906 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
39907 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
39908 provided ${GRUB_TERMINAL}, convert it).
39909
96e5d876 399102008-11-04 Robert Millan <rmh@aybabtu.com>
39911
39912 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
39913 for FreeBSD.
39914 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
39915
556f3775 399162008-11-03 Bean <bean123ch@gmail.com>
39917
39918 * kern/elf.c (grub_elf32_load): Revert to previous code.
39919 (grub_elf64_load): Likewise.
39920
39921 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
39922
926b9823 399232008-11-01 Robert Millan <rmh@aybabtu.com>
39924
39925 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
39926 (TARGET_CPPFLAGS): Likewise.
39927 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
39928
1432e958 399292008-11-01 Carles Pina i Estany <carles@pina.cat>
39930
39931 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
39932
dba3f844 399332008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 39934
39935 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
39936 addition of objects until the code is not going to be able to fail.
39937
dba3f844 399382008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 39939
39940 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
39941 (add a missing NULL check, and correct them by moving the pointer
39942 operations after the actual check).
39943
7ab28c21 399442008-10-29 Robert Millan <rmh@aybabtu.com>
39945
39946 * util/i386/pc/grub-install.in: Handle empty string as output from
39947 make_system_path_relative_to_its_root().
39948
1b7748eb 399492008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
39950
39951 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
39952 circular metadata worst case scenario. If the metadata is circular
39953 then copy the wrap in place.
39954 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
39955 project lib/format_text/layout.h
39956 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
39957
c9618ab2 399582008-10-03 Felix Zielcke <fzielcke@z-51.de>
39959
7a36edca 39960 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 39961
bf981c62 399622008-10-03 Felix Zielcke <fzielcke@z-51.de>
39963
39964 * util/update-grub_lib.in: Mention filename in warning message.
39965
6d994591 399662008-09-29 Felix Zielcke <fzielcke@z-51.de>
39967
39968 * NEWS: Update for rename of update-grub to grub-mkconfig.
39969
18ade780 399702008-09-29 Felix Zielcke <fzielcke@z-51.de>
39971
39972 * util/update-grub_lib.in: Copy to ...
39973 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 39974 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 39975 * util/update-grub.in: Rename to ...
39976 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
39977 option. Add `--output' option to allow users to specify the generated
39978 configuration file. Default to stdout.
39979 (update_grub_dir): Rename to ...
39980 (grub_mkconfig_dir): ... this.
39981 (grub_cfg): Default to an empty string.
39982 * conf/common.rmk (update-grub): Rename to ...
39983 (grub-mkconfig): ... this.
39984 (update-grub_lib): Copy to ...
39985 (grub-mkconfig_lib): ... this.
39986 (update-grub_SCRIPTS): Copy to ...
39987 (grub-mkconfig_SCRIPTS): ... this. Update all users.
39988 (update-grub_DATA): Rename to ...
39989 (grub-mkconfig_DATA): ... this.
39990
556ce6ac 399912008-09-28 Robert Millan <rmh@aybabtu.com>
39992
39993 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
39994 to `modified'. Add the real `created' field.
39995 (grub_iso9660_uuid): Use `modified' rather than `created' for
39996 constructing the UUID.
39997
399982008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 39999
40000 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
40001 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
40002
92274e85 400032008-09-28 Bean <bean123ch@gmail.com>
40004
40005 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
40006 Thanks to Christian Franke for finding this bug.
40007
add6f17a 400082008-09-25 Robert Millan <rmh@aybabtu.com>
40009
40010 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
40011 instances of grub_util_get_disk_name() (see previous commit).
40012
d2a367b8 400132008-09-25 Robert Millan <rmh@aybabtu.com>
40014
40015 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
40016 `util/i386/get_disk_name.c'.
40017 * conf/i386-efi.rmk: Likewise.
40018 * conf/x86_64-efi.rmk: Likewise.
40019 * conf/i386-coreboot.rmk: Likewise.
40020 * conf/i386-ieee1275.rmk: Likewise.
40021 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
40022 `util/ieee1275/get_disk_name.c'.
40023 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
40024 * util/ieee1275/get_disk_name.c: Remove file.
40025 * util/i386/get_disk_name.c: Remove file.
40026 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
40027 "hd%d" for device.map entries, rather than using
40028 grub_util_get_disk_name().
40029
81a06771 400302008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 40031
40032 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
40033 warning.
40034 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
40035
5a004279 400362008-09-24 Carles Pina i Estany <carles@pina.cat>
40037
40038 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
40039 Changed to 0x5100.
40040 (GRUB_TERM_PPAGE): Changed to 0x4900.
40041
397093d3 400422008-09-24 Robert Millan <rmh@aybabtu.com>
40043
40044 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
40045 macros (they were i386-pc specific).
40046 * include/grub/sparc64/ieee1275/console.h: Likewise.
40047 * include/grub/efi/console.h: Likewise.
40048
a91b6c7c 400492008-09-22 Bean <bean123ch@gmail.com>
40050
40051 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
40052 resident and in attribute list.
40053
40054 * include/grub/ntfs.h (BMP_LEN): Removed.
40055
c40fd116 400562008-09-22 Bean <bean123ch@gmail.com>
40057
81a06771 40058 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 40059 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
40060
40061 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
40062 error occurs, as grub_disk_open will call grub_disk_close, which will
40063 call p->close (scsi).
40064
81a06771 400652008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 40066
40067 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
40068 (AC_PREREQ): Bumped to 2.59.
40069 (AC_TRY_COMPILE): Replace obsolete macro with ...
40070 (AC_COMPILE_IFELSE): ... this.
40071 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
40072 (AC_LINK_IFELSE): ... this.
40073
5dc43410 400742008-09-21 Felix Zielcke <fzielcke@z-51.de>
40075
40076 * autogen.sh: Add a call to `gendistlist.sh'.
40077
9035dce4 400782008-09-19 Christian Franke <franke@computer.org>
40079
40080 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
40081 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
40082 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
40083 Export __enable_execute_stack() to modules.
40084 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
40085 New function.
40086
7fd75377 400872008-09-09 Felix Zielcke <fzielcke@z-51.de>
40088
040030b3 40089 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
40090 Sort the list.
40091
400922008-09-09 Felix Zielcke <fzielcke@z-51.de>
40093
40094 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 40095 #include <grub/util/hostdisk.h>.
40096
89d5ffcf 400972008-09-08 Robert Millan <rmh@aybabtu.com>
40098
40099 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
40100 segments when their filesz is zero (grub_file_read() interprets
81a06771 40101 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 40102 Use `lowest_segment' rather than 0 for calculating the current
40103 segment load address.
40104
40da438f 401052008-09-08 Robert Millan <rmh@aybabtu.com>
40106
40107 * util/hostdisk.c (open_device): Replace a grub_util_info() call
40108 with grub_dprintf("hostdisk", ...), as it was so verbose that it
40109 clobbered useful information.
40110
ddbf5556 401112008-09-08 Robert Millan <rmh@aybabtu.com>
40112
40113 * include/grub/util/biosdisk.h: Move to ...
40114 * include/grub/util/hostdisk.h: ... here. Update all users.
40115 * util/biosdisk.c: Move to ...
40116 * util/hostdisk.c: ... here. Update all users.
40117
783d0f48 401182008-09-07 Robert Millan <rmh@aybabtu.com>
40119
40120 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
40121 variables.
40122 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
40123 and length can be stored directly in the `mbi->mmap_addr' and
40124 `mbi->mmap_length' struct fields.
40125
548e2ea5 401262008-09-07 Robert Millan <rmh@aybabtu.com>
40127
40128 * conf/i386.rmk: New file. Provides declaration for building
40129 `cpuid.mod'.
40130 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
40131 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
40132 variables.
40133 Include `conf/i386.mk'.
40134 * conf/i386-efi.rmk: Likewise.
40135 * conf/x86_64-efi.rmk: Likewise.
40136 * conf/i386-coreboot.rmk: Likewise.
40137 * conf/i386-ieee1275.rmk: Likewise.
40138
0ea85a37 401392008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
40140
40141 Based on patch created by Colin D Bennett <colin@gibibit.com>.
40142 Adds optimization support for BGR based modes.
40143
40144 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
40145 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40146 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40147 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40148 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40149 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40150 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40151 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40152 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40153 (grub_video_i386_vbeblit_index_index): Likewise.
40154 (grub_video_i386_vbeblit_replace_directN): Added.
40155 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40156 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40157 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40158 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40159 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40160 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 40161 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 40162 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40163 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40164 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40165 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40166 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40167 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
40168
40169 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
40170 (grub_video_i386_vbefill_R8G8B8): Likewise.
40171 (grub_video_i386_vbefill_index): Likewise.
40172 (grub_video_i386_vbefill_direct32): Added.
40173 (grub_video_i386_vbefill_direct24): Likewise.
40174 (grub_video_i386_vbefill_direct16): Likewise.
40175 (grub_video_i386_vbefill_direct8): Likewise.
40176
81a06771 40177 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 40178 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
40179 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
40180 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
40181 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
40182 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 40183
0ea85a37 40184 * video/video.c (grub_video_get_blit_format): Updated to use new
40185 blit formats. Added handling for 16 bit color modes.
81a06771 40186
40187 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 40188 fillers.
40189 (common_blitter): Updated to use new blitters.
40190
40191 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
40192 Removed.
40193 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40194 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40195 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40196 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40197 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40198 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40199 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40200 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40201 (grub_video_i386_vbeblit_index_index): Likewise.
40202 (grub_video_i386_vbeblit_replace_directN): Added.
40203 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40204 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40205 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40206 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40207 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40208 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
40209 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
40210 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40211 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40212 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40213 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40214 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40215 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 40216
0ea85a37 40217 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
40218 (grub_video_i386_vbefill_R8G8B8): Likewise.
40219 (grub_video_i386_vbefill_index): Likewise.
40220 (grub_video_i386_vbefill_direct32): Added.
40221 (grub_video_i386_vbefill_direct24): Likewise.
40222 (grub_video_i386_vbefill_direct16): Likewise.
40223 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 40224
0ea85a37 40225 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
40226 types.
81a06771 40227
0ea85a37 40228 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
40229 types.
81a06771 40230
0ea85a37 40231 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
40232 blitter types.
81a06771 40233
0ea85a37 40234 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
40235 types.
40236
e8a83df6 402372008-09-06 Felix Zielcke <fzielcke@z-51.de>
40238
40239 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
40240 RAID level 1.
40241
6bcd8ee5 402422008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 40243
6bcd8ee5 40244 * fs/iso9660.c (grub_iso9660_date): New structure.
40245 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
40246 (grub_iso9660_uuid): New function.
c375ae58 40247
59261157 402482008-09-05 Bean <bean123ch@gmail.com>
40249
40250 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
40251
40252 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
40253 insensitive bit for names in Win32 and Win32 & DOS namespace.
40254
40255 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
40256
40257 * include/grub/types.h (LONG_MAX): Likewise.
40258
58b6645a 402592008-09-04 Felix Zielcke <fzielcke@z-51.de>
40260
4ee55921 40261 * util/getroot.c: Include <config.h>.
40262 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
40263 add support for /dev/md/N devices and handle LVM double dash escaping.
40264
402652008-09-04 Felix Zielcke <fzielcke@z-51.de>
40266
40267 * config.guess: Update to latest version from config git.
40268 * config.sub: Likewise.
58b6645a 40269
9124f65d 402702008-09-03 Robert Millan <rmh@aybabtu.com>
40271
40272 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
40273 `disk->total_sectors'.
40274
81a06771 402752008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 40276
40277 * include/grub/normal.h: Fixed incorrect comment for
40278 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
40279
81a06771 402802008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 40281
40282 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
40283 values with defines.
40284
40285 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
40286 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
40287 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
40288 (GRUB_VBE_MODEATTR_COLOR): Likewise.
40289 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
40290 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
40291 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
40292 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
40293 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
40294 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
40295 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
40296 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
40297 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
40298 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
40299 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
40300 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
40301 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
40302 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
40303 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
40304
93d5cbf8 403052008-08-31 Robert Millan <rmh@aybabtu.com>
40306
40307 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
40308 declaration.
40309 (grub_multiboot): Fix a few warnings.
40310
21751d50 403112008-08-31 Robert Millan <rmh@aybabtu.com>
40312
40313 * loader/i386/pc/multiboot.c: Update comment not to say that
40314 boot_device support is unimplemented.
40315
e27a75c5 403162008-08-31 Robert Millan <rmh@aybabtu.com>
40317
40318 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
40319 or memory map support are unimplemented.
40320
81a06771 403212008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 40322
40323 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
40324
81a06771 403252008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 40326
40327 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
40328 total video memory in 'vbeinfo' output; show color format details for
40329 each video mode.
40330
7c5d8d95 403312008-08-30 Pavel Roskin <proski@gnu.org>
40332
40333 * util/genmoddep.c: Remove for real this time.
40334 * DISTLIST: Remove util/genmoddep.c.
40335
4cebd25a 403362008-08-30 Robert Millan <rmh@aybabtu.com>
40337
40338 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
40339 as required by Multiboot spec (it was already 4-byte aligned, but
40340 only by chance).
40341
b497a269 403422008-08-29 Pavel Roskin <proski@gnu.org>
40343
e3925185 40344 * kern/powerpc/ieee1275/crt0.S: Rename to ...
40345 * kern/powerpc/ieee1275/startup.S: ... this.
40346 * conf/powerpc-ieee1275.rmk: Adjust for the above.
40347 * DISTLIST: Likewise.
40348
b497a269 40349 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
40350 grub/cpu/kernel.h. Add start label for consistency with other
40351 platforms. Add grub_prefix immediately after start. Add jump
40352 to the code after grub_prefix.
40353 * include/grub/powerpc/kernel.h: Provide valid values for
40354 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
40355
6e5a42fe 403562008-08-29 Bean <bean123ch@gmail.com>
40357
40358 * configure.ac: Change host_os to cygwin for mingw.
40359 (asprintf): New check for function.
40360
40361 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
40362 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
40363
40364 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 40365 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 40366 sync, sleep and grub_util_get_disk_size for mingw.
40367
40368 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
40369 to get size in mingw.
40370 (open_device): Use flag O_BINARY if it's defined.
40371 (find_root_device): Add dummy code for mingw.
40372
40373 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
40374 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
40375 (get_scsi_disk_name): Return 0 for mingw.
40376
40377 * util/hostfs.c: #include <grub/util/misc.h>.
40378 (grub_hostfs_open): Use "rb" flag to open file, use
40379 grub_util_get_disk_size to get disk size for mingw.
40380
40381 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
40382 (asprintf): New function if HAVE_ASPRINTF is not set.
40383 (sync): New function for mingw.
40384 (sleep): Likewise.
40385 (grub_util_get_disk_size): Likewise.
40386
ab3f2673 403872008-08-28 Pavel Roskin <proski@gnu.org>
40388
40389 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40390 kern/time.c.
40391
1c282483 403922008-08-28 Robert Millan <rmh@aybabtu.com>
40393
40394 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
40395
678e849c 403962008-08-28 Robert Millan <rmh@aybabtu.com>
40397
40398 Change find_grub_drive() syntax so it doesn't prevent it from
40399 detecting NULL names as errors.
40400
40401 * util/biosdisk.c (find_grub_drive): Move free slot search code
40402 from here ...
40403 (find_free_slot): ... to here.
40404 (read_device_map): Use find_free_slot() to search for free slots.
40405
965c75ca 404062008-08-27 Marco Gerards <marco@gnu.org>
40407
40408 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
40409 (scsi_mod_SOURCES): New variable.
40410 (scsi_mod_CFLAGS): Likewise
40411 (scsi_mod_LDFLAGS): Likewise.
40412
40413 * disk/scsi.c: New file.
40414
40415 * include/grub/scsi.h: Likewise.
40416
40417 * include/grub/scsicmd.h: Likewise.
40418
40419 * disk/ata.c: Include <grub/scsi.h>.
40420 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
40421 instead.
40422 (grub_ata_iterate): Skip ATAPI devices.
40423 (grub_ata_open): Only handle ATAPI devices.
40424 (struct grub_atapi_read): Removed.
40425 (grub_atapi_readsector): Likewise.
40426 (grub_ata_read): No longer handle ATAPI devices.
40427 (grub_ata_write): Likewise.
40428 (grub_atapi_iterate): New function.
40429 (grub_atapi_read): Likewise.
40430 (grub_atapi_write): Likewise.
40431 (grub_atapi_open): Likewise.
40432 (grub_atapi_close): Likewise.
40433 (grub_atapi_dev): New variable.
40434 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
40435 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
40436
40437 * include/grub/disk.h (enum grub_disk_dev_id): Add
40438 `GRUB_DISK_DEVICE_SCSI_ID'.
40439
c07ae501 404402008-08-26 Robert Millan <rmh@aybabtu.com>
40441
40442 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
40443 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
40444 descriptive.
40445
5ed20adc 404462008-08-23 Bean <bean123ch@gmail.com>
40447
40448 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
40449 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40450 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
40451 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
40452 dm_nv.mod.
40453 (raid5rec_mod_SOURCES): New macro.
40454 (raid5rec_mod_CFLAGS): Likewise.
40455 (raid5rec_mod_LDFLAGS): Likewise.
40456 (raid6rec_mod_SOURCES): Likewise.
40457 (raid6rec_mod_CFLAGS): Likewise.
40458 (raid6rec_mod_LDFLAGS): Likewise.
40459 (mdraid_mod_SOURCES): Likewise.
40460 (mdraid_mod_CFLAGS): Likewise.
40461 (mdraid_mod_LDFLAGS): Likewise.
40462 (dm_nv_mod_SOURCES): Likewise.
40463 (dm_nv_mod_CFLAGS): Likewise.
40464 (dm_nv_mod_LDFLAGS): Likewise.
40465
40466 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
40467 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40468 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40469
40470 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
40471 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40472
40473 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40474
40475 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40476
40477 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40478
40479 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40480
40481 * disk/raid5_recover.c: New file.
40482
40483 * disk/raid6_recover.c: Likewise.
40484
40485 * disk/mdraid_linux.c: Likewise.
40486
40487 * disk/dmraid_nvidia.c: Likewise.
40488
40489 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
40490 ULONG_MAX.
40491
40492 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
40493 calculate the size of raid device.
40494 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
40495 different layout of raid5.
40496 (grub_raid_scan_device): Remove code specific to mdraid.
40497 (grub_raid_list): New variable.
40498 (free_array): New function.
40499 (grub_raid_register): Likewise.
40500 (grub_raid_unregister): Likewise.
40501 (grub_raid_rescan): Likewise.
40502 (GRUB_MOD_INIT): Don't iterate device here.
40503 (GRUB_MOD_FINI): Use free_array to release resource.
40504
40505 * include/grub/raid.h: Remove macro and structure specific to mdraid.
40506 (grub_raid5_recover_func_t): New function variable type.
40507 (grub_raid6_recover_func_t): Likewise.
40508 (grub_raid5_recover_func): New variable.
40509 (grub_raid6_recover_func): Likewise.
40510 (grub_raid_register): New function.
40511 (grub_raid_unregister): Likewise.
40512 (grub_raid_rescan): Likewise.
40513 (grub_raid_block_xor): Likewise.
40514
40515 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
40516 (CMD_CRC): New macro.
40517 (part): Removed.
40518 (read_file): Handle device as well as file.
40519 (cmd_crc): New function.
40520 (fstest): Handle multiple disks.
40521 (options): Remove part, raw and long, add root and diskcount.
40522 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 40523 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 40524 add handling for the new options, support multiple disks.
40525
40526 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
40527
29c18915 405282008-08-23 Bean <bean123ch@gmail.com>
40529
40530 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
40531
40532 * genfslist.sh: Ignore kernel.mod.
40533
40534 * genpartmaplist.sh: Likewise.
40535
8415f261 405362008-08-23 Robert Millan <rmh@aybabtu.com>
40537
40538 * util/getroot.c (find_root_device): Skip anything that starts with
40539 a dot, not just directories. This avoids things like /dev/.tmp.md0.
40540
d5a7dc5b 405412008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 40542
d5a7dc5b 40543 * util/update-grub.in (GRUB_GFXMODE): Export variable.
40544 * util/grub.d/00_header.in: Allow the administrator to change default
40545 gfxmode via ${GRUB_GFXMODE}.
40546
380cfbb4 405472008-08-21 Felix Zielcke <fzielcke@z-51.de>
40548
40549 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
40550
c9baafe7 405512008-08-21 Robert Millan <rmh@aybabtu.com>
40552
40553 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
40554 loader.
40555 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
40556 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
40557
e290bef2 405582008-08-20 Carles Pina i Estany <carles@pina.cat>
40559
40560 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
40561 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
40562
f9dbfc96 405632008-08-19 Robert Millan <rmh@aybabtu.com>
40564
40565 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
40566 (struct grub_virtual_screen): Remove `cursor_color'.
40567 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
40568 initialization.
40569 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
40570
dd6bd6ab 405712008-08-18 Robert Millan <rmh@aybabtu.com>
40572
40573 Unify (identical) linux_normal.c files.
40574 * loader/i386/efi/linux_normal.c: Move from here ...
40575 * loader/linux_normal.c: ... to here. Update all users.
40576 * loader/i386/pc/linux_normal.c: Delete. Update all users.
40577 * loader/i386/ieee1275/linux_normal.c: Likewise.
40578
7f42f83e 405792008-08-18 Robert Millan <rmh@aybabtu.com>
40580
40581 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
40582 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
40583 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
40584 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
40585 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
40586 New macros.
40587 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
40588 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
40589 (GRUB_LINUX_CL_END_OFFSET): ... to here.
40590 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
40591 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
40592 (GRUB_EFI_CL_END_OFFSET): Rename to ...
40593 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
40594 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
40595 Initialize `params->video_cursor_x' and `params->video_cursor_y'
40596 portably using grub_getxy().
40597 Replace `-EFI' with `-bzImage' in boot message.
40598
38487ddb 405992008-08-17 Robert Millan <rmh@aybabtu.com>
40600
40601 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
40602
deceb3ec 406032008-08-17 Robert Millan <rmh@aybabtu.com>
40604
40605 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
40606
40607 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
40608 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
40609 (grub_machine_mmap_iterate): New function declaration.
40610 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
40611 structure.
40612 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
40613 macros.
40614
40615 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
40616 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
40617 Move e820 parsing from here ...
40618 * kern/i386/pc/mmap.c: New file.
40619 (grub_machine_mmap_iterate): ... to here.
40620
40621 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
40622 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
40623 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
40624 (grub_available_iterate): Redeclare to return `void', and redeclare
40625 its hook to use grub_uint64_t as addr and size parameters, and rename
40626 to ...
40627 (grub_machine_mmap_iterate): ... this. Update all users.
40628
40629 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
40630 to make it more readable. Rename to ...
40631 (grub_machine_mmap_iterate): ... this.
40632
40633 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
40634 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
40635 (grub_multiboot): Allocate an extra region after the payload, and fill
40636 it with a Multiboot memory map. Adjust a.out loader to calculate size
40637 with the extra space.
40638 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
40639 with the extra space.
40640
f8aa0f43 406412008-08-17 Carles Pina i Estany <carles@pina.cat>
40642
9807deb9 40643 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 40644
605f5bb6 406452008-08-17 Felix Zielcke <fzielcke@z-51.de>
40646
40647 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
40648 mdate-sh to the list `find' searches for.
40649 * DISTLIST: Regenerated.
40650
210db6c6 406512008-08-16 Felix Zielcke <fzielcke@z-51.de>
40652
40653 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
40654 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 40655 genmoddep.awk, gensymlist.sh.in.
40656 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 40657 * DISTLIST: Regenerated.
48cdbfd4 40658 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 40659
1082b929 406602008-08-16 Robert Millan <rmh@aybabtu.com>
40661
40662 * disk/raid.c (grub_raid_init): Handle/report errors set by
40663 grub_device_iterate().
40664 * disk/lvm.c (grub_lvm_init): Likewise.
40665
42ce5170 406662008-08-15 Bean <bean123ch@gmail.com>
40667
40668 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40669 and datehook.mod.
40670 (datetime_mod_SOURCES): New macro.
40671 (datetime_mod_CFLAGS): Likewise.
40672 (datetime_mod_LDFLAGS): Likewise.
40673 (date_mod_SOURCES): Likewise.
40674 (date_mod_CFLAGS): Likewise.
40675 (date_mod_LDFLAGS): Likewise.
40676 (datehook_mod_SOURCES): Likewise.
40677 (datehook_mod_CFLAGS): Likewise.
40678 (datehook_mod_LDFLAGS): Likewise.
40679
40680 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40681 and datehook.mod.
40682 (datetime_mod_SOURCES): New macro.
40683 (datetime_mod_CFLAGS): Likewise.
40684 (datetime_mod_LDFLAGS): Likewise.
40685 (date_mod_SOURCES): Likewise.
40686 (date_mod_CFLAGS): Likewise.
40687 (date_mod_LDFLAGS): Likewise.
40688 (datehook_mod_SOURCES): Likewise.
40689 (datehook_mod_CFLAGS): Likewise.
40690 (datehook_mod_LDFLAGS): Likewise.
40691
40692 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40693 and datehook.mod.
40694 (datetime_mod_SOURCES): New macro.
40695 (datetime_mod_CFLAGS): Likewise.
40696 (datetime_mod_LDFLAGS): Likewise.
40697 (date_mod_SOURCES): Likewise.
40698 (date_mod_CFLAGS): Likewise.
40699 (date_mod_LDFLAGS): Likewise.
40700 (datehook_mod_SOURCES): Likewise.
40701 (datehook_mod_CFLAGS): Likewise.
40702 (datehook_mod_LDFLAGS): Likewise.
40703
40704 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40705 and datehook.mod.
40706 (datetime_mod_SOURCES): New macro.
40707 (datetime_mod_CFLAGS): Likewise.
40708 (datetime_mod_LDFLAGS): Likewise.
40709 (date_mod_SOURCES): Likewise.
40710 (date_mod_CFLAGS): Likewise.
40711 (date_mod_LDFLAGS): Likewise.
40712 (datehook_mod_SOURCES): Likewise.
40713 (datehook_mod_CFLAGS): Likewise.
40714 (datehook_mod_LDFLAGS): Likewise.
40715
40716 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40717 and datehook.mod.
40718 (datetime_mod_SOURCES): New macro.
40719 (datetime_mod_CFLAGS): Likewise.
40720 (datetime_mod_LDFLAGS): Likewise.
40721 (date_mod_SOURCES): Likewise.
40722 (date_mod_CFLAGS): Likewise.
40723 (date_mod_LDFLAGS): Likewise.
40724 (datehook_mod_SOURCES): Likewise.
40725 (datehook_mod_CFLAGS): Likewise.
40726 (datehook_mod_LDFLAGS): Likewise.
40727
40728 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
40729
40730 * commands/date.c: New file.
40731
40732 * hook/datehook.c: Likewise.
40733
40734 * include/grub/lib/datetime.h: Likewise.
40735
40736 * include/grub/i386/cmos.h: Likewise.
40737
40738 * lib/datetime.c: Likewise.
40739
40740 * lib/i386/datetime.c: Likewise.
40741
40742 * lib/efi/datetime.c: Likewise.
40743
0e9242da 407442008-08-14 Robert Millan <rmh@aybabtu.com>
40745
40746 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
40747 (grub_mkelfimage_SOURCES): New variable.
40748 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
40749
40750 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
40751 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
40752 * conf/powerpc-ieee1275.rmk: Likewise.
40753 * conf/i386-ieee1275.rmk: Likewise.
40754
40755 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
40756 * kern/i386/coreboot/init.c: Likewise.
40757
40758 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
40759 with `<grub/cpu/kernel.h>'.
40760 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
40761 to ...
40762 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
40763 * kern/i386/coreboot/startup.S: Likewise.
40764
40765 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
40766 (GRUB_MOD_GAP): Remove.
40767 * include/grub/powerpc/kernel.h: New file.
40768 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
40769 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40770 * include/grub/i386/kernel.h: New file.
40771 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
40772 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
40773 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40774
40775 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
40776 `grub-mkelfimage'.
40777 Use --directory when invoking grub_mkimage.
40778
40779 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
40780 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
40781 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
40782 and GRUB_KERNEL_CPU_PREFIX.
40783
b86408f8 407842008-08-14 Felix Zielcke <fzielcke@z-51.de>
40785
d5e619ca 40786 * include/grub/err.h (grub_err_printf): New function prototype.
40787 * util/misc.c (grub_err_printf): New function.
40788 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
40789 grub_printf.
40790 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 40791
7161f0e0 407922008-08-13 Robert Millan <rmh@aybabtu.com>
40793
40794 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
40795
a1967522 407962008-08-13 Robert Millan <rmh@aybabtu.com>
40797
40798 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
40799 boot entry.
40800
371458b5 408012008-08-12 Robert Millan <rmh@aybabtu.com>
40802
40803 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
40804 of the relocation code from here ...
40805 (grub_multiboot): ... to here.
40806 (forward_relocator, backward_relocator): Move from here ...
40807 * kern/i386/loader.S (grub_multiboot_forward_relocator)
40808 (grub_multiboot_backward_relocator): ... to here.
40809 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
40810 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
40811 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
40812 (grub_multiboot_forward_relocator_end)
40813 (grub_multiboot_backward_relocator)
40814 (grub_multiboot_backward_relocator_end): New variables.
40815
05f9452b 408162008-08-12 Bean <bean123ch@gmail.com>
40817
40818 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
40819
20024ab0 408202008-08-11 Robert Millan <rmh@aybabtu.com>
40821
40822 * kern/i386/linuxbios/startup.S: Move from here ...
40823 * kern/i386/coreboot/startup.S: ... to here.
40824
40825 * kern/i386/linuxbios/init.c: Move from here ...
40826 * kern/i386/coreboot/init.c: ... to here.
40827
40828 * kern/i386/linuxbios/table.c: Move from here ...
40829 * kern/i386/coreboot/mmap.c: ... to here.
40830
40831 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
40832
e352e9cd 408332008-08-11 Robert Millan <rmh@aybabtu.com>
40834
40835 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
40836 errors. Leave it to the upper layer to handle them.
40837
2d05bc6a 408382008-08-09 Christian Franke <franke@computer.org>
40839
40840 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
40841 * conf/common.rmk: Install `grub-pe2elf' only if requested.
40842 Install `grub.d/10_windows' only on Cygwin.
40843 * configure.ac: Add subst of `target_os'.
40844 Check `target_os' also before setting TARGET_OBJ2ELF.
40845 Add `--enable-grub-pe2elf'.
40846
042bd419 408472008-08-08 Robert Millan <rmh@aybabtu.com>
40848
40849 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40850 (grub_last_time): Change type to grub_uint64_t.
40851 (grub_disk_open): Migrate code from to using grub_get_time_ms().
40852 (grub_disk_close): Likewise.
40853
40854 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40855 (run_menu): Migrate code from to using grub_get_time_ms().
40856
40857 * util/misc.c (grub_get_time_ms): New function.
40858
7f280db5 408592008-08-08 Marco Gerards <marco@gnu.org>
40860
40861 * disk/ata.c (grub_ata_regget): Change return type to
40862 `grub_uint8_t'.
40863 (grub_ata_regget2): Likewise.
40864 (grub_ata_wait_status): New function.
40865 (grub_ata_wait_busy): Removed function, updated all users to use
40866 `grub_ata_wait_status'.
40867 (grub_ata_wait_drq): Likewise.
40868 (grub_ata_cmd): New function.
40869 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
40870 error handling.
40871 (grub_ata_pio_write): Add error handling.
40872 (grub_atapi_identify): Likewise.
40873 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
40874 handling.
40875 (grub_ata_identify): Use `grub_ata_cmd' and improve error
40876 handling. Actually use the detected registers. Reorder the
40877 detection logic such that it is easier to read.
40878 (grub_ata_pciinit): Do not assign the same ID to each controller.
40879 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
40880 handling.
40881 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
40882
40883 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
40884
1fbc5e66 408852008-08-08 Marco Gerards <marco@gnu.org>
40886
40887 * NEWS: Update.
40888
819ce6c0 408892008-08-07 Bean <bean123ch@gmail.com>
40890
40891 * include/grub/x86_64/pci.h: New file.
40892
5c41d44d 408932008-08-07 Christian Franke <franke@computer.org>
40894
40895 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
40896 (TIMER2_GATE): Likewise.
40897 (grub_pit_wait): Add enable/disable of the timer2 gate
40898 bit of port 0x61. This fixes a possible infinite loop.
40899
5ebc275d 409002008-08-07 Bean <bean123ch@gmail.com>
40901
40902 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
40903 kern/i386/tsc.c and kern/i386/pit.c.
40904
40905 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
40906 x86_64 platform.
40907
40908 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
40909 <grub/i386/tsc.h>.
40910
40911 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
40912
e383b3d0 409132008-08-07 Bean <bean123ch@gmail.com>
40914
40915 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
40916
40917 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
40918
40919 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
40920 multiple inclusion. Add #include <grub/types.h>.
40921
1cbb58ac 409222008-08-06 Christian Franke <franke@computer.org>
40923
40924 * conf/common.rmk: Build and install `10_windows'.
40925 * util/grub.d/10_windows.in: New script.
40926
337f5a1e 409272008-08-06 Pavel Roskin <proski@gnu.org>
40928
40929 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
40930
057bc4ac 409312008-08-06 Robert Millan <rmh@aybabtu.com>
40932
40933 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
40934 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
40935
2b99f123 409362008-08-06 Bean <bean123ch@gmail.com>
40937
40938 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
40939 (grub_pxefs_fs_int): Remove dummy definition.
40940 (grub_pxefs_open): Use data->block_size to store the current block
40941 size setting.
40942 (grub_pxefs_read): Use block size stored in data->block_size. As the
40943 value of grub_pxe_blksize can be changed after the file is opened.
40944
9f0234cb 409452008-08-06 Bean <bean123ch@gmail.com>
40946
40947 * fs/i386/pc/pxe.c (curr_file): new variable.
40948 (grub_pxefs_open): Simply the handling of pxe file system. Don't
40949 require the dummy internal file system anymore.
40950 (grub_pxefs_read): Removed.
40951 (grub_pxefs_close): Likewise.
40952 (grub_pxefs_fs_int): Likewise.
40953 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
40954 connection when we switch file.
40955 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
40956
a55d42e0 409572008-08-06 Robert Millan <rmh@aybabtu.com>
40958
40959 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
40960 `halt.mod'.
40961 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
40962 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
40963
40964 * kern/i386/halt.c: New file.
40965 * kern/i386/reboot.c: Likewise.
40966 * include/grub/i386/reboot.h: Likewise.
40967 * include/grub/i386/halt.h: Likewise.
40968
40969 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
40970 Include `<grub/cpu/halt.h>'.
40971 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
40972 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
40973
40974 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
40975 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
40976 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
40977 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
40978 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
40979 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
40980 from here ...
40981 * include/grub/i386/at_keyboard.h: ... to here.
40982
24371d26 409832008-08-05 Robert Millan <rmh@aybabtu.com>
40984
40985 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
40986 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
40987 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
40988 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
40989 `kern/generic/millisleep.c'.
40990
40991 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
40992 instead of grub_get_rtc().
40993 (grub_tsc_init): Initialize `tsc_boot_time'.
40994
40995 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
40996 (grub_machine_init): Use grub_tsc_init() rather than
40997 installing an RTC-based handler via grub_install_get_time_ms().
40998
40999 * kern/i386/pit.c: New file.
41000 * include/grub/i386/pit.h: Likewise.
41001
9e7007b3 410022008-08-05 Bean <bean123ch@gmail.com>
41003
41004 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
41005
41006 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
41007 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
41008 (pxe_mod_SOURCES): New macro.
41009 (pxe_mod_CFLAGS): Likewise.
41010 (pxe_mod_LDFLAGS): Likewise.
41011 (pxecmd_mod_SOURCES): Likewise.
41012 (pxecmd_mod_CFLAGS): Likewise.
41013 (pxecmd_mod_LDFLAGS): Likewise.
41014
41015 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
41016 (grub_pxe_call): Likewise.
41017
41018 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
41019
41020 * commands/i386/pc/pxecmd.c: New file.
41021
9f0234cb 41022 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 41023
41024 * include/grub/i386/pc/pxe.h: Likewise.
41025
6977d49f 410262008-08-05 Bean <bean123ch@gmail.com>
41027
41028 * util/console.c (grub_console_cur_color): New variable.
41029 (grub_console_standard_color): Likewise.
41030 (grub_console_normal_color): Likewise.
41031 (grub_console_highlight_color): Likewise.
41032 (color_map): Likewise.
41033 (use_color): Likewise.
41034 (NUM_COLORS): New macro.
41035 (grub_ncurses_setcolorstate): Handle color properly.
41036 (grub_ncurses_setcolor): Don't change color here, just remember the
41037 settings, color will be set in grub_ncurses_setcolorstate.
41038 (grub_ncurses_getcolor): New function.
41039 (grub_ncurses_init): Initialize color pairs.
41040 (grub_ncurses_term): New member grub_ncurses_getcolor.
41041
9c2ff3ee 410422008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 41043
9c2ff3ee 41044 High resolution timer support. Implemented for x86 CPUs using TSC.
41045 Extracted generic grub_millisleep() so it's linked in only as needed.
41046 This requires a Pentium compatible CPU; if the RDTSC instruction is
41047 not supported, then it falls back on the generic grub_get_time_ms()
41048 implementation that uses the machine's RTC.
41049
41050 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
41051 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41052 `kern/generic/millisleep.c'.
41053
41054 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
41055 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
41056
41057 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
41058 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
41059
41060 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41061
41062 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41063 `kern/generic/millisleep.c'.
41064
41065 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41066
41067 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
41068
41069 * kern/generic/rtc_get_time_ms.c: New file.
41070
41071 * kern/generic/millisleep.c: New file.
337f5a1e 41072
9c2ff3ee 41073 * kern/misc.c: Don't include
41074 <kern/time.h> anymore.
41075 (grub_millisleep_generic): Removed.
41076
41077 * commands/sleep.c (grub_interruptible_millisleep): Uses
41078 grub_get_time_ms() instead of grub_get_rtc().
41079
41080 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
41081 function.
41082 (grub_cpu_is_cpuid_supported): New inline function.
41083 (grub_cpu_is_tsc_supported): New inline function.
41084 (grub_tsc_init): New function prototype.
41085 (grub_tsc_get_time_ms): New function prototype.
41086
41087 * kern/i386/tsc.c (grub_get_time_ms): New file.
41088
41089 * include/grub/time.h: Include <grub/types.h.
41090 (grub_millisleep_generic): Removed.
41091 (grub_get_time_ms): New prototype.
41092 (grub_install_get_time_ms): New prototype.
41093 (grub_rtc_get_time_ms): New prototype.
41094
41095 * kern/time.c (grub_get_time_ms): New function.
41096 (grub_install_get_time_ms): New function.
41097
41098 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
41099 <grub/time.h> anymore.
41100 (grub_millisleep): Removed.
41101 (grub_machine_init): Call grub_tsc_init.
41102
41103 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
41104 get_time_ms() implementation.
41105
41106 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
41107 (ieee1275_get_time_ms): New function.
41108 (grub_machine_init): Install get_time_ms() implementation.
41109
41110 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
41111 (grub_machine_init): Call grub_tsc_init().
41112 (grub_millisleep): Removed.
bf06a93f 41113
9c2ff3ee 41114 * kern/ieee1275/init.c (grub_millisleep): Removed.
41115 (grub_machine_init): Install ieee1275_get_time_ms()
41116 implementation.
41117 (ieee1275_get_time_ms): New function.
41118 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
41119 real work.
41120
9ec92aaf 411212008-08-05 Marco Gerards <marco@gnu.org>
41122
41123 * disk/ata.c: Include <grub/pci.h>.
41124 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
41125 (grub_ata_initialize): Rewritten.
41126 (grub_ata_device_initialize): New function.
41127
8d23f507 411282008-08-04 Pavel Roskin <proski@gnu.org>
41129
41130 * kern/main.c: Include grub/mm.h.
41131
5e15ee3d 411322008-08-04 Robert Millan <rmh@aybabtu.com>
41133
41134 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
41135 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
41136 corruption problem).
41137
a9053f8f 411382008-08-04 Robert Millan <rmh@aybabtu.com>
41139
41140 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
41141 warnings introduced in my last commit.
41142
dd19c7d7 411432008-08-03 Robert Millan <rmh@aybabtu.com>
41144
41145 Make PCI available on all i386 architectures.
41146
41147 * include/grub/i386/pc/pci.h: Move from here ...
41148 * include/grub/i386/pci.h: ... to here.
41149
41150 * include/grub/i386/pc/pci.h: Remove.
41151 * include/grub/i386/efi/pci.h: Remove.
41152 * include/grub/x86_64/efi/pci.h: Remove.
41153
41154 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
41155 `<grub/cpu/pci.h>'.
41156
41157 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
41158 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
41159 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
41160
41161 * conf/i386-ieee1275.rmk: Likewise.
41162
e14a6184 411632008-08-03 Robert Millan <rmh@aybabtu.com>
41164
41165 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
41166 (grub_console_setcursor): Make it possible to set cursor off.
41167
52768e37 411682008-08-03 Robert Millan <rmh@aybabtu.com>
41169
41170 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
41171 of modules instead of assuming which platform provides what.
41172 * util/update-grub.in: Likewise.
41173
2d52f57f 411742008-08-03 Robert Millan <rmh@aybabtu.com>
41175
41176 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
41177 instead of `grub_install_dos_part' to determine whether a drive needs
41178 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 41179 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 41180
2a5cd121 411812008-08-02 Robert Millan <rmh@aybabtu.com>
41182
41183 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
41184
93808428 411852008-08-02 Robert Millan <rmh@aybabtu.com>
41186
41187 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
41188 of informational grub_dprintf() calls.
41189
3bd0a12a 411902008-08-02 Robert Millan <rmh@aybabtu.com>
41191
41192 * disk/memdisk.c (memdisk_size): Don't initialize.
41193 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
41194
41195 * include/grub/i386/pc/kernel.h
41196 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
41197 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
41198 (grub_memdisk_image_size, grub_arch_memdisk_addr)
41199 (grub_arch_memdisk_size): Remove.
41200
41201 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
41202 field (was only used to transfer a constant). Add `type' field to
41203 support multiple module types.
41204 (grub_module_iterate): New function.
41205
41206 * kern/device.c (grub_device_open): Do not hide error messages
41207 when grub_disk_open() fails. Use grub_print_error() instead.
41208
41209 * kern/i386/pc/init.c (grub_arch_modules_addr)
41210 (grub_arch_memdisk_size): Remove functions.
41211 (grub_arch_modules_addr): Return the module address in high memory
41212 (now that it isn't copied anymore).
41213
41214 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
41215 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
41216 decompression routine (grub_total_module_size already includes that
41217 now). Don't copy modules back to low memory.
41218
41219 * kern/main.c: Include `<grub/mm.h>'.
41220 (grub_load_modules): Split out (and use) ...
41221 (grub_module_iterate): ... this function, which iterates through
41222 module objects and runs a hook.
41223 Comment out grub_mm_init_region() call, as it would cause non-ELF
41224 modules to be overwritten.
41225
41226 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
41227 the memdisk image in its own region, make it part of the module list.
41228 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
41229 (main): Parse --memdisk|-m option, and pass user-provided path as
41230 parameter to generate_image().
41231 (add_segments): Pass `memdisk_path' down to load_modules().
41232 (load_modules): Embed memdisk image in module section when requested.
41233 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
41234 `header.type' instead of `header.offset'.
41235
41236 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
41237 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
41238 (memdisk_mod_LDFLAGS): New variables.
41239 * conf/i386-coreboot.rmk: Likewise.
41240 * conf/i386-ieee1275.rmk: Likewise.
41241
a927cc73 412422008-08-02 Robert Millan <rmh@aybabtu.com>
41243
41244 * loader/i386/pc/multiboot.c (playground, forward_relocator)
41245 (backward_relocator): New variables. Used to allocate and relocate
41246 the payload, respectively.
41247 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 41248 address, install the appropriate relocator code in each bound of
a927cc73 41249 the payload, and set the entry point such that
41250 grub_multiboot_real_boot() will jump to one of them.
41251
41252 * kern/i386/loader.S (grub_multiboot_payload_size)
41253 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41254 (grub_multiboot_payload_entry_offset): New variables.
41255 (grub_multiboot_real_boot): Set cpu context to what the relocator
41256 expects, and jump to the relocator instead of the payload.
41257
41258 * include/grub/i386/loader.h (grub_multiboot_payload_size)
41259 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41260 (grub_multiboot_payload_entry_offset): Export.
41261
b15d8a0c 412622008-08-01 Bean <bean123ch@gmail.com>
41263
41264 * normal/menu_entry.c (editor_getline): Don't return the original
41265 string as result, as it will be released by lexer once it has done
41266 using it.
41267
cdfb3d22 412682008-08-01 Robert Millan <rmh@aybabtu.com>
41269
41270 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
41271 within menuentries, not before them.
41272 util/grub.d/10_hurd.in: Likewise.
41273
9175e93d 412742008-08-01 Bean <bean123ch@gmail.com>
41275
41276 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
41277 (bufio_mod_SOURCES): New macro.
41278 (bufio_mod_CFLAGS): Likewise.
41279 (bufio_mod_LDFLAGS): Likewise.
41280
41281 * include/grub/bufio.h: New file.
41282
41283 * io/bufio.c: Likewise.
41284
41285 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
41286 (grub_video_reader_png): Use grub_buffile_open to open file.
41287
41288 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
41289 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
41290
41291 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
41292 (grub_video_reader_tga): Use grub_buffile_open to open file.
41293
41294 * font/manager.c: Include <grub/bufio.h>.
41295 (add_font): Use grub_buffile_open to open file.
41296
3d8383e7 412972008-07-31 Robert Millan <rmh@aybabtu.com>
41298
41299 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
41300 ELF segments, use a macro for arbitrarily accessing any of them instead
41301 of preparing a pointer that allows access to one at a time.
41302 (grub_multiboot_load_elf64): Likewise.
41303
16e641b6 413042008-07-31 Bean <bean123ch@gmail.com>
41305
41306 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
41307 GRUB_KERNEL_MACHINE_DATA_END.
41308
59198b72 413092008-07-30 Robert Millan <rmh@aybabtu.com>
41310
41311 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
41312 Increase from 0x50 to 0x60.
41313 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
41314 use UUIDs to identify the root drive for them. If that's not
41315 possible, abort.
41316 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
41317 check, for cross-disk installs.
41318
ae88bca3 413192008-07-30 Robert Millan <rmh@aybabtu.com>
41320
41321 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
41322 is non-empty, use it to set the `prefix' environment variable instead
41323 of the usual approach.
41324 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
41325 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
41326 environment variable instead of dummy make_install_device().
41327
41328 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
41329 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 41330 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 41331
41332 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
41333 New variable reference.
41334 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
41335 New macro. Defines offset of `grub_prefix' within startup.S (relative
41336 to `start').
41337 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
41338 section within startup.S (relative to `start').
41339 * include/grub/i386/coreboot/kernel.h: Likewise.
41340
41341 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
41342 Overwrite grub_prefix with its contents, at the beginning of the
41343 first segment.
41344 (main): Understand -p|--prefix.
41345
14f41dd1 413462008-07-30 Robert Millan <rmh@aybabtu.com>
41347
41348 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
41349
4ca049a3 413502008-07-30 Robert Millan <rmh@aybabtu.com>
41351
41352 * term/i386/pc/vga_text.c (grub_console_cls): Use
41353 grub_console_gotoxy() to go back to beginning of the screen.
41354 Found by Patrick Georgi <patrick.georgi@coresystems.de>
41355
2921d337 413562008-07-29 Christian Franke <franke@computer.org>
41357
41358 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41359 Add conversion of emulated mount points on Cygwin.
41360
b609876d 413612008-07-29 Christian Franke <franke@computer.org>
41362
41363 * util/update-grub.in: Add a check for admin
41364 group on Cygwin.
41365 Remove old `grub.cfg.new' before creation.
41366 Add `-f' to `mv' to handle the different filesystem
41367 semantics of Windows.
41368
e93e4679 413692008-07-29 Bean <bean123ch@gmail.com>
41370
41371 * normal/main.c (get_line): Fix buffer overflow bug.
41372
41694fd0 413732008-07-28 Robert Millan <rmh@aybabtu.com>
41374
41375 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
41376 (struct grub_apple_header): New struct. Describes the layout of
41377 the partmap header.
41378 (apple_partition_map_iterate): Check the header magic as well as the
41379 partition magic (which was already being checked).
41380
cfd0b4e6 413812008-07-28 Pavel Roskin <proski@gnu.org>
41382
41383 * genmk.rb: Add a warning to the beginning of the output that
41384 it's a generated file and should not be edited.
41385
93cce016 413862008-07-28 Robert Millan <rmh@aybabtu.com>
41387
41388 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
41389 with the same number are found, just use issue a warning with
41390 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 41391
cd1df915 413922008-07-27 Robert Millan <rmh@aybabtu.com>
41393
41394 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
41395 information.
41396
b70a8427 413972008-07-27 Bean <bean123ch@gmail.com>
41398
41399 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
41400 (grub_fat_find_dir): Ignore case when comparing filename.
41401
8f5e379f 414022008-07-27 Bean <bean123ch@gmail.com>
41403
41404 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
41405 smallino, as it's more descriptive, and i8count can be confused with
41406 the other field count.
41407 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
41408 inode type.
41409
a85cd5a0 414102008-07-27 Bean <bean123ch@gmail.com>
41411
41412 * commands/crc.c: New file.
41413
41414 * lib/crc.c: Likewise.
41415
41416 * include/grub/lib/crc.h: Likewise.
41417
41418 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
41419
41420 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
41421 (hexdump): Move this function to ...
41422
41423 * lib/hexdump.c: ... here.
41424
41425 * include/grub/hexdump.h: Renamed to ...
41426
41427 * include/grub/lib/hexdump.h: ... this.
41428
41429 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
41430
41431 * util/grub-editenv.c: Likewise.
41432
41433 * include/envblk.h: Renamed to ...
41434
41435 * include/lib/envblk.h: ... this.
41436
41437 * util/envblk.c: Renamed to ...
41438
41439 * lib/envblk.c: ... this.
41440
41441 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
41442 lib/hexdump.c.
41443 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
41444 (pkglib_MODULES): Add crc.mod.
41445 (hexdump_mod_SOURCES): Add lib/hexdump.c.
41446 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
41447 (crc_mod_SOURCES): New macro.
41448 (crc_mod_CFLAGS): Likewise.
41449 (crc_mod_LDFLAGS): Likewise.
41450
41451 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
41452
41453 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41454
41455 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41456
41457 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41458
41459 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41460
c298def0 414612008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 41462
41463 * commands/help.c: Include <grub/term.h>.
41464 (TERM_WIDTH): Removed. Updated all users.
41465
cc349fb3 414662008-07-27 Pavel Roskin <proski@gnu.org>
41467
41468 * util/getroot.c (find_root_device): Rephrase a comment to avoid
41469 spurious warnings about a comment within a comment.
41470
9051607e 414712008-07-25 Robert Millan <rmh@aybabtu.com>
41472
41473 * util/getroot.c (find_root_device): Skip devices that match
41474 /dev/dm-[0-9]. This lets the real device be found for any type of
41475 abstraction (LVM, EVMS, RAID..).
41476 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
41477 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
41478 device is found first, find_root_device() will now skip it.
41479
01453bfc 414802008-07-24 Pavel Roskin <proski@gnu.org>
41481
41482 * include/grub/types.h: Use __builtin_bswap32() and
41483 __builtin_bswap64() with gcc 4.3 and newer.
41484
6af9849f 414852008-07-24 Christian Franke <franke@computer.org>
41486
3a0fa256 41487 * util/i386/pc/grub-install.in: If `--debug' is specified,
41488 pass `--verbose' to grub-setup.
41489 Abort script if make_system_path_relative_to_its_root() fails.
41490
7810e747 414912008-07-24 Bean <bean123ch@gmail.com>
41492
41493 * configure.ac: Fixed a bug caused by the previous cygwin patch,
41494 variable `target_platform' should be `platform'.
41495
42290e17 414962008-07-24 Bean <bean123ch@gmail.com>
41497
51cc5193 41498 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 41499 (grub_png_init_fixed_block): New function.
41500 (grub_png_decode_image_data): Handle fixed huffman code compression.
41501
2a8a80e4 415022008-07-24 Bean <bean123ch@gmail.com>
41503
41504 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
41505 (grub_pe2elf_SOURCES): New macro.
41506 (CLEANFILES): Add grub-pe2elf.
41507
41508 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
41509 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
41510 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
41511 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
41512 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
41513 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
41514 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
41515 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
41516 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
41517 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
41518 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
41519 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
41520 (GRUB_PE32_DT_FUNCTION): Likewise.
41521 (GRUB_PE32_REL_I386_DIR32): Likewise.
41522 (GRUB_PE32_REL_I386_REL32): Likewise.
41523 (grub_pe32_symbol): New structure.
41524 (grub_pe32_reloc): Likewise.
41525
41526 * util/grub-pe2elf.c: New file.
41527
41528 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
41529 start symbol in non pc platform.
41530
41531 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
41532
41533 The following patches are from Christian Franke.
41534
41535 * include/grub/dl.h: Remove .previous, gas supports this only
41536 for ELF format.
41537
41538 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
41539 Remove .type, gas supports this only for ELF format.
41540
41541 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
41542 nullbytes in symbol table. This fixes an infinite loop if table is
41543 zero filled.
41544
41545 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
41546 TARGET_IMG_LDFLAGS and EXEEXT.
41547
41548 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
41549 TARGET_IMG_LDFLAGS_AC.
41550 (grub_CHECK_STACK_ARG_PROBE): New function.
41551
41552 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
41553
41554 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
41555
41556 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
41557 to set TARGET_IMG_LD* accordingly.
41558 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
41559 Add call to grub_CHECK_STACK_ARG_PROBE.
41560 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
41561
41562 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
41563
41564 * genmk.rb: Add EXEEXT to CLEANFILES.
41565
12ccdb75 415662008-07-23 Robert Millan <rmh@aybabtu.com>
41567
41568 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
41569 define the codes for arrows and lines used for the menu).
41570 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
41571 as well.
41572
41573 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
41574 fonts, because the latter are too slow.
41575
18eeaf04 415762008-07-21 Bean <bean123ch@gmail.com>
41577
41578 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
41579 a20. Run keyboard test last, as it will cause macbook to halt.
41580
b095e2ad 415812008-07-18 Pavel Roskin <proski@gnu.org>
41582
41583 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
41584 load foreign architecture modules correctly anyway. Keep
41585 support for loading host architecture modules, whether we
41586 compile them or not.
41587
737feb35 415882008-07-17 Pavel Roskin <proski@gnu.org>
41589
3f4ce737 41590 * configure.ac: Use -m32 or -m64 regardless of whether we had to
41591 change target_cpu. The compiler default can mismatch target_cpu
41592 in any case.
41593
4ad2d049 41594 * disk/efi/efidisk.c: Fix format warnings on x86_64.
41595 * kern/efi/efi.c: Likewise.
41596
f6130a12 41597 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
41598 target compiler is functional.
41599 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
41600 are set up.
41601
58393a2d 41602 * configure.ac: Default to efi platform for x86_64-apple. Allow
41603 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
41604 adjustments from the rest, only do them if target is not
41605 explicitly given. Merge other adjustments with the final sanity
41606 check. Remove an extraneous check for supported CPU. Be
41607 specific which CPU and which platform is not supported.
41608
737feb35 41609 * configure.ac: Default to pc platform for x86_64.
41610
546f966a 416112008-07-17 Robert Millan <rmh@aybabtu.com>
41612
41613 Partial LinuxBIOS -> Coreboot rename.
41614
41615 * conf/i386-linuxbios.rmk: Renamed to ...
41616 * conf/i386-coreboot.rmk: ... this.
41617 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
41618 * configure.ac: Accept "coreboot" as input platform (but maintain
41619 compatibility with "linuxbios").
41620 * include/grub/i386/linuxbios: Renamed to ...
41621 * include/grub/i386/coreboot: ... this.
41622
20011694 416232008-07-17 Bean <bean123ch@gmail.com>
41624
41625 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 41626 (appleldr_mod_SOURCE): New variable.
20011694 41627 (appleldr_mod_CFLAGS): Likewise.
41628 (appleldr_mod_LDFLAGS): Likewise.
41629 (pci_mod_SOURCES): Likewise.
41630 (pci_mod_CFLAGS): Likewise.
41631 (pci_mod_LDFLAGS): Likewise.
41632 (lspci_mod_SOURCES): Likewise.
41633 (lspci_mod_CFLAGS): Likewise.
41634 (lspci_mod_LDFLAGS): Likewise.
41635
41636 * conf/x86_64-efi.rmk: New file.
41637
41638 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
41639 macro.
41640 (grub_efidisk_write): Likewise.
41641
41642 * include/efi/api.h (efi_call_0): New macro.
41643 (efi_call_1): Likewise.
41644 (efi_call_2): Likewise.
41645 (efi_call_3): Likewise.
41646 (efi_call_4): Likewise.
41647 (efi_call_5): Likewise.
41648 (efi_call_6): Likewise.
41649
41650 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
41651 grub_rescue_cmd_chainloader.
41652
41653 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
41654 (grub_pe32_optional_header): Change some fields based on i386 or
41655 x86_64 platform.
41656 (GRUB_PE32_PE32_MAGIC): Likewise.
41657
41658 * include/grub/efi/uga_draw.h: New file.
41659
41660 * include/grub/elf.h (STN_ABS): New constant.
41661 (R_X86_64_NONE): Relocation constant for x86_64.
41662 (R_X86_64_64): Likewise.
41663 (R_X86_64_PC32): Likewise.
41664 (R_X86_64_GOT32): Likewise.
41665 (R_X86_64_PLT32): Likewise.
41666 (R_X86_64_COPY): Likewise.
41667 (R_X86_64_GLOB_DAT): Likewise.
41668 (R_X86_64_JUMP_SLOT): Likewise.
41669 (R_X86_64_RELATIVE): Likewise.
41670 (R_X86_64_GOTPCREL): Likewise.
41671 (R_X86_64_32): Likewise.
41672 (R_X86_64_32S): Likewise.
41673 (R_X86_64_16): Likewise.
41674 (R_X86_64_PC16): Likewise.
41675 (R_X86_64_8): Likewise.
41676 (R_X86_64_PC8): Likewise.
41677
41678 * include/grub/i386/efi/pci.h: New file.
41679
41680 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
41681 Change it value based on platform.
41682 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
41683 (GRUB_E820_RAM): Likewise.
41684 (GRUB_E820_RESERVED): Likewise.
41685 (GRUB_E820_ACPI): Likewise.
41686 (GRUB_E820_NVS): Likewise.
41687 (GRUB_E820_EXEC_CODE): Likewise.
41688 (GRUB_E820_MAX_ENTRY): Likewise.
41689 (grub_e820_mmap): New structure.
41690 (linux_kernel_header): Change the efi field according to different
41691 kernel version, also field from linux_kernel_header.
41692
41693 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
41694
41695 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
41696 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
41697 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
41698 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
41699 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
41700 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
41701 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
41702 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
41703 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
41704 (GRUB_PCI_ADDR_IO_MASK): Likewise.
41705
41706 * include/grub/x86_64/efi/kernel.h: New file.
41707
41708 * include/grub/x86_64/efi/loader.h: Likewise.
41709
41710 * include/grub/x86_64/efi/machine.h: Likewise.
41711
41712 * include/grub/x86_64/efi/pci.h: Likewise.
41713
41714 * include/grub/x86_64/efi/time.h: Likewise.
41715
41716 * include/grub/x86_64/linux.h: Likewise.
41717
41718 * include/grub/x86_64/setjmp.h: Likewise.
41719
41720 * include/grub/x86_64/time.h: Likewise.
41721
41722 * include/grub/x86_64/types.h: Likewise.
41723
41724 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
41725 GRUB_TARGET_SIZEOF_VOID_P.
41726
41727 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
41728 (grub_efi_locate_handle): Likewise.
41729 (grub_efi_open_protocol): Likewise.
41730 (grub_efi_set_text_mode): Likewise.
41731 (grub_efi_stall): Likewise.
41732 (grub_exit): Likewise.
41733 (grub_reboot): Likewise.
41734 (grub_halt): Likewise.
41735 (grub_efi_exit_boot_services): Likewise.
41736 (grub_get_rtc): Likewise.
41737
41738 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
41739 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
41740 (grub_efi_allocate_pages): Wrap efi calls.
41741 (grub_efi_free_pages): Wrap efi calls.
41742 (grub_efi_get_memory_map): Wrap efi calls.
41743
41744 * kern/x86_64/dl.c: New file.
41745
41746 * kern/x86_64/efi/callwrap.S: Likewise.
41747
41748 * kern/x86_64/efi/startup.S: Likewise.
41749
41750 * loader/efi/appleloader.c: Likewise.
41751
41752 * loader/efi/chainloader.c (cmdline): New variable.
41753 (grub_chainloader_unload): Wrap efi calls.
41754 (grub_chainloader_boot): Likewise.
41755 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
41756 command line.
41757
41758 * loader/efi/chainloader_normal.c (chainloader_command):
41759 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
41760 command line.
41761
41762 * loader/i386/efi/linux.c (allocate_pages): Change allocation
41763 method.
41764 (grub_e820_add_region): New function.
41765 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
41766 booting.
41767 (grub_find_video_card): New function.
41768 (grub_linux_setup_video): New function.
41769 (grub_rescue_cmd_linux): Probe for video information.
41770
41771 * normal/x86_64/setjmp.S: New file.
41772
41773 * term/efi/console.c (map_char): New function.
41774 (grub_console_putchar): Map unicode char.
41775 (grub_console_checkkey): Wrap efi calls.
41776 (grub_console_getkey): Likewise.
41777 (grub_console_getwh): Likewise.
41778 (grub_console_gotoxy): Likewise.
41779 (grub_console_cls): Likewise.
41780 (grub_console_setcolorstate): Likewise.
41781 (grub_console_setcursor): Likewise.
41782
41783 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
41784
59652a20 417852008-07-16 Pavel Roskin <proski@gnu.org>
41786
ef294055 41787 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
41788 format strings.
41789
59652a20 41790 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
41791 pointer, not an integer. This fixes a warning and prevents
41792 precision loss on 64-bit systems.
41793 (relocate_addresses): Remove unneeded cast.
41794
afc3b5d7 417952008-07-15 Pavel Roskin <proski@gnu.org>
41796
506b2b3e 41797 * kern/i386/ieee1275/init.c: Include grub/cache.h.
41798
62ead89c 41799 * term/ieee1275/ofconsole.c: Disable code unused on i386.
41800
c4cd51d7 41801 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
41802 Fix comparison between signed and unsigned.
41803
0d3d8f28 41804 * include/grub/i386/ieee1275/console.h: Declare
41805 grub_console_init() and grub_console_fini().
41806
8804b286 41807 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
41808 It's empty and unused.
41809
ee01cf35 41810 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
41811 beginning to avoid warnings with some compilers.
41812
afc3b5d7 41813 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
41814 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
41815
e4e8eaa5 418162008-07-14 Pavel Roskin <proski@gnu.org>
41817
407aceb4 41818 * kern/env.c (grub_register_variable_hook): Don't copy empty
41819 string, it leaks memory. Pass "" to grub_env_set(), it should
41820 handle constant strings.
41821
e4e8eaa5 41822 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
41823 * commands/cmp.c (grub_cmd_cmp): Likewise.
41824 * kern/dl.c (grub_dl_flush_cache): Likewise.
41825 (grub_dl_load_core): Likewise.
41826 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
41827 (grub_elf64_load_phdrs): Likewise.
41828
d4e2dad3 418292008-07-13 Pavel Roskin <proski@gnu.org>
41830
41831 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
41832 between signed and unsigned.
41833 (LzmaEnc_Finish): Fix warning about an unused parameter.
41834
aa24b516 418352008-07-13 Bean <bean123ch@gmail.com>
41836
41837 * Makefile.in (enable_lzo): New rule.
41838
41839 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
41840
41841 * configure.ac (ENABLE_LZO): New option --enable-lzo.
41842
41843 * boot/i386/pc/lnxboot.S: #include <config.h>.
41844
41845 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 41846 its value according to the compression algorithm used, lzo or lzma.
aa24b516 41847
41848 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
41849 compression algorithm according to configure macro.
41850
41851 * kern/i386/pc/startup.S (codestart): Likewise.
41852
41853 * kern/i386/pc/lzma_decode.S: New file.
41854
41855 * include/grub/lib/LzFind.h: Likewise.
41856
41857 * include/grub/lib/LzHash.h: Likewise.
41858
41859 * include/grub/lib/LzmaDec.h: Likewise.
41860
41861 * include/grub/lib/LzmaEnc.h: Likewise.
41862
41863 * include/grub/lib/LzmaTypes.h: Likewise.
41864
41865 * lib/LzFind.c: Likewise.
41866
41867 * lib/LzmaDec.c: Likewise.
41868
41869 * lib/LzmaEnc.c: Likewise.
41870
4ae821ac 418712008-07-13 Bean <bean123ch@gmail.com>
41872
41873 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
41874 (grub_ext4_extent_header): New structure.
41875 (grub_ext4_extent): Likewise.
41876 (grub_ext4_extent_idx): Likewise.
41877 (grub_ext4_find_leaf): New function.
41878 (grub_ext2_read_block): Handle extents.
41879
9a745147 418802008-07-12 Robert Millan <rmh@aybabtu.com>
41881
41882 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
41883
d49a4cf6 418842008-07-11 Robert Millan <rmh@aybabtu.com>
41885
41886 * util/grub.d/40_custom.in: New file. Example on how to add custom
41887 entries to /etc/grub.d.
41888 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
41889 40_custom (implicitly, by merging all the grub.d rules).
41890
947414b4 418912008-07-11 Pavel Roskin <proski@gnu.org>
41892
0059cf6f 41893 * commands/read.c (grub_getline): Fix invalid memory access.
41894 Don't add newline to the variable value.
41895
947414b4 41896 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
41897 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
41898 (serial_hw_get_port): Check validity of the port number.
41899 (grub_cmd_serial): Check return value of serial_hw_get_port().
41900
62a02d00 419012008-07-07 Pavel Roskin <proski@gnu.org>
41902
41903 * boot/i386/pc/diskboot.S (notification_string): Replace
41904 "Loading kernel" with just "loading". This is shorter, less
41905 confusing and saves a few bytes for possible future changes.
41906
3e5581b0 419072008-07-05 Pavel Roskin <proski@gnu.org>
41908
ea387a48 41909 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
41910 size for ATAPI devices, they are undefined. Output sector
41911 number in decimal form.
41912
3e5581b0 41913 * disk/ata.c: Use named constants for status bits.
41914
fdecb8fd 419152008-07-04 Pavel Roskin <proski@gnu.org>
41916
bcd35b90 41917 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
41918 grub_addr_t before casting it to the void pointer to fix a
41919 warning. Non-addressable regions are discarded earlier.
41920 (grub_arch_modules_addr): Cast _end to grub_addr_t.
41921 * kern/i386/linuxbios/table.c: Include grub/misc.h.
41922 (check_signature): Don't shadow table_header.
41923 (grub_linuxbios_table_iterate): Cast numeric constants to
41924 grub_linuxbios_table_header_t.
41925 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
41926 grub_stop().
41927
af58ab3d 41928 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
41929 prevent warnings.
41930
1759aa57 41931 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
41932 pointer, which can cause warnings. Support 64-bit addresses.
41933
fdecb8fd 41934 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
41935 of sizeof(long). This fixes PowerPC image generation on x86_64.
41936
8516d2a8 419372008-07-04 Robert Millan <rmh@aybabtu.com>
41938
41939 This fixes a performance issue when pc & gpt partmap iterators
41940 didn't abort iteration even after our hook found what it was
fe987087 41941 looking for (often causing expensive probes of non-existent drives).
8516d2a8 41942
41943 Some callers relied on previous buggy behaviour, since they would
34c44600 41944 raise an error when their own hooks caused early abortion of its
8516d2a8 41945 iteration.
41946
41947 * kern/device.c (grub_device_open): Improve error message.
41948 * disk/lvm.c (grub_lvm_open): Likewise.
41949 * disk/raid.c (grub_raid_open): Likewise.
41950
41951 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
41952 when hook requests it, independently of grub_errno.
41953 (pc_partition_map_probe): Do not fail when find_func() caused
41954 early abortion of pc_partition_map_iterate().
41955
41956 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
41957 when hook requests it, independently of grub_errno.
41958 (gpt_partition_map_probe): Do not fail when find_func() caused
41959 early abortion of gpt_partition_map_iterate().
41960
41961 * kern/partition.c (grub_partition_iterate): Abort parent iteration
41962 when hook requests it, independently of grub_errno. Do not fail when
41963 part_map_iterate_hook() caused early abortion of p->iterate().
41964
41965 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
41966 when grub_partition_iterate() returned with non-zero.
41967
277d0de9 419682008-07-03 Pavel Roskin <proski@gnu.org>
41969
41970 * disk/ata.c (grub_ata_pio_write): Check status before writing,
41971 like we do in grub_ata_pio_read().
41972 (grub_ata_readwrite): Always write individual sectors. Fix the
41973 sector count for the remainder.
41974 (grub_ata_write): Enable writing to ATA devices. Correctly
41975 report error for ATAPI devices.
41976
d4c9b428 419772008-07-02 Pavel Roskin <proski@gnu.org>
41978
e43fc690 41979 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
41980 warning.
41981
f707af42 41982 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
41983 for every read sector, we already increment it for the whole
41984 batch. This fixes reading more than 256 sectors at once.
41985
11e16b15 41986 * util/grub-editenv.c (cmd_info): Cast argument to long
41987 explicitly. ptrdiff_t reduces to int on i386.
41988
cbabfdd4 41989 * util/grub-editenv.c (main): Be specific which parameter is
41990 missing.
41991
b8fbce0a 41992 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
41993 (memdisk): Make memdisk_orig_addr a pointer.
41994
c9c8e606 41995 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
41996 for file offsets, use grub_off_t instead. Fix printf format
41997 warnings.
41998
ca62e598 41999 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
42000 there. Real unexpected warnings should not drown in the noise
42001 about known problems.
42002
ce8d1766 42003 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
42004 grub_disk_addr_t for memory addresses.
42005
00c7a56a 42006 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
42007 explicitly to fix a warning.
42008
08d3ef09 42009 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
42010
cb71ba20 42011 * Makefile.in (MODULE_LDFLAGS): New variable.
42012 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
42013 the linker accepts --build-id=none.
42014 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
42015 MODULE_LDFLAGS.
42016 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
42017
d4c9b428 42018 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
42019 those in Linux XFS code. Provide a way to access 64-bit parent
42020 inode.
42021 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
42022 the end of struct grub_xfs_dir_header.
42023
d4156eee 420242008-07-02 Bean <bean123ch@gmail.com>
42025
42026 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
42027 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42028 and GRUB_IEEE1275_FLAG_NO_ANSI.
42029
42030 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
42031 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42032 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
42033
42034 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
42035 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
42036
42037 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
42038 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
42039
42040 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
42041 esc sequence on non ANSI terminal.
42042 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
42043
42044 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
42045 beginning of file.
42046
2270f77b 420472008-07-02 Bean <bean123ch@gmail.com>
42048
42049 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
42050 (grub_editenv_SOURCES): New variable.
42051 (pkglib_MODULES): Add loadenv.mod.
42052 (loadenv_mod_SOURCES): New variable.
42053 (loadenv_mod_CFLAGS): Likewise.
42054 (loadenv_mod_LDFLAGS): Likewise.
42055
42056 * include/grub/envblk.h: New file.
42057
42058 * util/envblk.c: New file.
42059
42060 * util/grub-editenv.c: New file.
42061
42062 * commands/loadenv.c: New file.
42063
0e9e51ec 420642008-07-01 Pavel Roskin <proski@gnu.org>
42065
d89b7634 42066 * include/multiboot2.h (struct multiboot_tag_module): Use char,
42067 not unsigned char. This fixes warnings and is consistent with
42068 other tags.
42069
bf1835b1 42070 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
42071
8222a04b 42072 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
42073
6a42d99d 42074 * term/tparm.c (analyze): Always set *popcount.
42075
10b159d1 42076 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
42077 cast to fix a warning.
42078
b8789f6c 42079 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
42080 cast to suppress a warning.
42081
29d7e38a 42082 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
42083 grub_fshelp_read_file() expects.
42084
f341f669 42085 * fs/fat.c: Fix UUID calculation on big-endian systems. We
42086 write uuid as a 32-bit value in CPU byte order, so declare and
42087 use it as such.
42088
0e9e51ec 42089 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
42090 long if the format specifier expects it.
42091 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
42092 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42093 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
42094 long to fix a warning.
42095 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
42096 grub_dprintf() arguments to fix warnings.
42097
3aefa857 420982008-06-30 Pavel Roskin <proski@gnu.org>
42099
56c7668b 42100 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
42101 install_bsd_part immediately before core.img is embedded or
42102 modified on disk. This fixes core.img verification if core.img
42103 cannot be embedded.
42104
3aefa857 42105 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
42106 core_path to calculate the blocklist.
42107 Patch from Javier Martín <lordhabbit@gmail.com>
42108
5444088d 421092008-06-29 Robert Millan <rmh@aybabtu.com>
42110
42111 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
42112 block to disk block.
42113 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
42114 Patch from Niels Böhm <bitbucket@arcor.de>
42115
674835c8 421162008-06-29 Robert Millan <rmh@aybabtu.com>
42117
42118 * util/update-grub_lib.in (font_path): Search for fonts in
42119 /boot/grub first, which is more likely to be readable (we aren't
42120 deciding where fonts live, just looking for them).
42121
f527dbc8 421222008-06-26 Pavel Roskin <proski@gnu.org>
42123
6c2d8df6 42124 * util/biosdisk.c (read_device_map): Don't leave dead map
42125 entries for devices failing stat() check.
42126
f527dbc8 42127 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
42128 core_path_dev for the core.img path on the target device.
42129
aebe3d13 421302008-06-26 Robert Millan <rmh@aybabtu.com>
42131
42132 * disk/fs_uuid.c: New file.
42133 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
42134 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
42135 (fs_uuid_mod_LDFLAGS): New variables.
42136 * include/grub/disk.h (grub_disk_dev_id): Add
42137 `GRUB_DISK_DEVICE_UUID_ID'.
42138 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
42139 implement iterate().
42140
37aaf354 421412008-06-26 Robert Millan <rmh@aybabtu.com>
42142
42143 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
42144 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
42145 Linux image includes no initrd.
42146
25ff262a 421472008-06-21 Javier Martín <lordhabbit@gmail.com>
42148
42149 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
42150 call to resolve the core image location that effectively appended the
42151 name twice.
42152
76a2bd44 421532008-06-21 Robert Millan <rmh@aybabtu.com>
42154
42155 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
42156 call from here ...
42157
42158 * util/grub.d/10_hurd.in: ... to here ...
42159 * util/grub.d/10_linux.in: ... and here.
42160
650e1c79 421612008-06-19 Robert Millan <rmh@aybabtu.com>
42162
fe987087 42163 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 42164 after it has been set by grub_machine_set_prefix().
42165
6ce63911 421662008-06-19 Robert Millan <rmh@aybabtu.com>
42167
42168 * commands/search.c (search_label, search_fs_uuid, search_file): Print
42169 search result when not saving to variable, not the other way around.
42170 When saving to variable, abort iteration as soon as a match is found.
42171
73940cec 421722008-06-19 Robert Millan <rmh@aybabtu.com>
42173
42174 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
42175 check for partition that provides /boot/grub. Its logic is flawed,
42176 as it prevents prepare_grub_to_access_device() from being called
42177 multiple times.
42178
3c62a39d 421792008-06-19 Robert Millan <rmh@aybabtu.com>
42180
42181 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
42182 "insmod" command directly when abstraction modules are needed,
fe987087 42183 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 42184 since it had already been processed).
42185
47395a42 421862008-06-19 Pavel Roskin <proski@gnu.org>
42187
42188 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
42189 changed. This is needed in case GRUB_LIBDIR changes.
42190 * conf/i386-ieee1275.rmk: Likewise.
42191 * conf/i386-linuxbios.rmk: Likewise.
42192 * conf/i386-pc.rmk: Likewise.
42193 * conf/powerpc-ieee1275.rmk: Likewise.
42194
a145ac2d 421952008-06-18 Pavel Roskin <proski@gnu.org>
42196
42197 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
42198 kernel_elf_symlist.c to symlist.c for consistency with other
42199 architectures. Update all users.
42200 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42201
7847c51e 422022008-06-18 Robert Millan <rmh@aybabtu.com>
42203
42204 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
42205 it in prefix.
42206
42207 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
42208 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
42209 a RAID device, run setup() for all members independently on whether
42210 LVM abstraction is being used.
42211 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
42212 If grub-mkimage has set `*install_dos_part == -2', don't override this
42213 value.
42214 Perform *install_dos_part adjustments independently on whether
42215 we're embedding or not.
42216 Clarify error message when image is too big for embedding.
42217 Remove duplicate *install_dos_part stanza.
42218
b23e5644 422192008-06-17 Robert Millan <rmh@aybabtu.com>
42220
42221 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
42222 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
42223 variables.
42224 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
42225 values in grub_ofconsole_normal_color and
42226 grub_ofconsole_highlight_color (they're not directly related to
42227 background and foreground).
42228 (grub_ofconsole_setcolorstate): Extract background and foreground
42229 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
42230
0aac2f79 422312008-06-17 Robert Millan <rmh@aybabtu.com>
42232
42233 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
42234 /boot/grub for the check in last commit, not /boot (they could be
42235 different partitions).
42236
3cca7ef3 422372008-06-16 Robert Millan <rmh@aybabtu.com>
42238
42239 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
42240 asked to setup access for the same partition that provides /boot,
42241 don't bother using UUIDs since our root already has the value we
42242 want.
42243
347396d8 422442008-06-16 Robert Millan <rmh@aybabtu.com>
42245
42246 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
42247 I2O devices.
42248 Patch from Sven Mueller <sven@debian.org>.
42249
991477f8 422502008-06-16 Robert Millan <rmh@aybabtu.com>
42251
42252 * util/update-grub.in: Check for $EUID instead of $UID.
42253 Reported by Vincent Zweije.
42254
d31a32a1 422552008-06-16 Bean <bean123ch@gmail.com>
42256
fe987087 42257 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 42258 (grub_ext2_read_block): Likewise.
42259 (grub_ext2_read_inode): Likewise.
42260 (grub_ext2_mount): Likewise.
42261 (grub_ext2_close): Likewise.
42262 (grub_ext3_get_journal): Removed.
42263
fe987087 42264 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 42265 (grub_reiserfs_read_symlink): Likewise.
42266 (grub_reiserfs_mount): Likewise.
42267 (grub_reiserfs_open): Likewise.
42268 (grub_reiserfs_read): Likewise.
42269 (grub_reiserfs_close): Likewise.
42270 (grub_reiserfs_get_journal): Removed.
42271
42272 * fs/fshelp.c (grub_fshelp_read): Removed.
42273 (grub_fshelp_map_block): Likewise.
42274
42275 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
42276 (grub_fshelp_journal): Likewise.
42277 (grub_fshelp_read): Likewise.
42278 (grub_fshelp_map_block): Likewise.
42279
3540a760 422802008-06-16 Pavel Roskin <proski@gnu.org>
42281
42282 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
42283 floating point anymore.
42284 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
42285
95614c84 422862008-06-15 Pavel Roskin <proski@gnu.org>
42287
42288 * commands/ls.c (grub_ls_list_files): Use integer calculations
42289 for human readable format, avoid floating point use.
42290 * kern/misc.c (grub_ftoa): Remove.
42291 (grub_vsprintf): Remove floating point support.
42292
50465dd6 422932008-06-15 Robert Millan <rmh@aybabtu.com>
42294
fe6b695a 42295 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 42296 devices.
42297 Reported by Max Vozeler.
42298
a9207284 422992008-06-15 Robert Millan <rmh@aybabtu.com>
42300
42301 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
42302 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
42303 skipped later.
42304 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
42305 the beginning of the prefix.
42306
42307 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
42308 It is assumed that if we have a memdisk, grub-mkimage has set
42309 grub_prefix to include the "(memdisk)" drive in it.
42310
a7cbd45a 423112008-06-15 Robert Millan <rmh@aybabtu.com>
42312
42313 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
42314 Initialize keyboard controller after registering the terminal, so that
42315 grub_printf() can be called from grub_keyboard_controller_init().
42316
21cf716a 423172008-06-15 Robert Millan <rmh@aybabtu.com>
42318
42319 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
42320 extent-btree which is written as big endian on disk.
42321 Reported by Alain Greppin <al@chilibi.org>.
42322
23a64d8e 423232008-06-14 Robert Millan <rmh@aybabtu.com>
42324
42325 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
42326 * util/i386/pc/grub-install.in (modules): Likewise.
42327
d687651c 423282008-06-13 Pavel Roskin <proski@gnu.org>
42329
42330 * commands/ls.c (grub_ls_list_files): Fix format warnings.
42331
dfe9ddd4 423322008-06-13 Bean <bean123ch@gmail.com>
42333
42334 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
42335
42336 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
42337
42338 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
42339 to indicate sparse block.
42340
16ae7781 423412008-06-12 Pavel Roskin <proski@gnu.org>
42342
e6d1a308 42343 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
42344 number, grub_fshelp_read() does it for us.
42345
16ae7781 42346 * fs/fshelp.c (grub_fshelp_read): New function. Implement
42347 linear disk read with journal translation.
42348 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
42349 * include/grub/fshelp.h: Declare grub_fshelp_read().
42350
40fd3a2b 423512008-06-09 Pavel Roskin <proski@gnu.org>
42352
42353 * fs/minix.c (grub_minix_mount): Handle error reading
42354 superblock.
42355
f5679726 423562008-06-08 Robert Millan <rmh@aybabtu.com>
42357
42358 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
42359 don't append the RAID prefix afterwards.
42360 Reported by Clint Adams.
42361
ce525529 423622008-06-08 Robert Millan <rmh@aybabtu.com>
42363
42364 Based on description from Pavel:
42365 * kern/disk.c (grub_disk_check_range): Rename to ...
42366 (grub_disk_adjust_range): ... this. Add a comment explaining the
42367 tasks performed by this function.
42368
ad4936a0 423692008-06-08 Robert Millan <rmh@aybabtu.com>
42370
42371 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
42372 `num_serial' (for consistency with other variables).
42373 (struct grub_ntfs_data): Add `uuid' member.
42374 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
42375 (grub_ntfs_uuid): New function.
42376 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
42377
dc20b0f9 423782008-06-07 Pavel Roskin <proski@gnu.org>
42379
42380 * util/biosdisk.c (open_device): Revert last change to the
42381 function, it broke installation. The sector needs to be
42382 different dependent on which device is opened.
42383
c5e3cfba 423842008-06-06 Robert Millan <rmh@aybabtu.com>
42385
42386 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
42387 rest of GRUB, and breakage doesn't happen if its value were modified.
42388
42389 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42390 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
42391 a constant (same value).
42392 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
42393 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
42394
26a1f8c4 423952008-06-06 Robert Millan <rmh@aybabtu.com>
42396
42397 * util/biosdisk.c (open_device): Do not modify sector offset when
42398 accessing a partition. kern/disk.c already handles this for us.
42399
25d6b327 424002008-06-06 Robert Millan <rmh@aybabtu.com>
42401
42402 * util/grub-emu.c (grub_machine_init): Move code in this function from
42403 here ...
42404 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
42405 segfault in case grub_printf() is called).
42406
42407 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
42408 grub_probe. Update all users not to explicitly add it again.
42409 (grub_device): New variable; contains corresponding device for grubdir.
42410 (fs_module, partmap_module, devabstraction_module): Pass
42411 `--device ${grub_device}' to grub_probe to avoid traversing /dev
42412 every time.
42413
9ece62fb 424142008-06-05 Robert Millan <rmh@aybabtu.com>
42415
42416 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
42417 is found, print it (same layout as with labels).
42418
1ad36d37 424192008-06-04 Robert Millan <rmh@aybabtu.com>
42420
42421 * util/biosdisk.c (get_drive): Rename to ...
42422 (find_grub_drive): ... this. Update all users.
42423
42424 (get_os_disk): Rename to ...
42425 (convert_system_partition_to_system_disk): ... this. Update all users.
42426
42427 (find_drive): Rename to ...
42428 (find_system_device): ... this. Update all users.
42429
e6a30859 424302008-06-04 Robert Millan <rmh@aybabtu.com>
42431
42432 * util/biosdisk.c (get_os_disk): Handle IDA devices.
42433 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42434 (make_device_map): Likewise.
42435
00c108a4 424362008-06-01 Robert Millan <rmh@aybabtu.com>
42437
42438 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
42439 before dereferencing it.
42440
42441 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
42442 union with fat12/fat16-specific ones. Add some new fields, including
42443 `num_serial' for both versions.
42444 (struct grub_fat_data): Add `uuid' member.
42445 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
42446 names. Initialize `data->uuid' using `num_serial'.
42447 (grub_fat_uuid): New function.
42448 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
42449
42450 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
42451 (grub_reiserfs_uuid): New function.
42452 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
42453 member.
42454
42455 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
42456 (grub_xfs_uuid): New function.
42457 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
42458
1385c5bb 424592008-06-01 Robert Millan <rmh@aybabtu.com>
42460
42461 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
42462 code that is backward compatible with pre-uuid search command.
42463
c682dfd7 424642008-05-31 Robert Millan <rmh@aybabtu.com>
42465
42466 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
42467 floppies after everything else, to ensure floppy drive isn't accessed
42468 unnecessarily (patch from Bean).
42469
b7db5d47 424702008-05-31 Robert Millan <rmh@aybabtu.com>
42471
42472 * commands/search.c (search_label, search_fs_uuid, search_file): Do
42473 not print device names when we were asked to set a variable.
42474
6e037aa9 424752008-05-31 Robert Millan <rmh@aybabtu.com>
42476
42477 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
42478 using "cursor-on" and "cursor-off" commands (understood at least by
42479 the Open Firmware flavour on OLPC).
42480
41305bc8 424812008-05-31 Michael Gorven <michael@gorven.za.net>
42482
42483 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
42484 on and off sequences.
42485
69ba137e 424862008-05-31 Robert Millan <rmh@aybabtu.com>
42487
42488 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
42489 * util/update-grub.in: Likewise.
42490
520ae21b 424912008-05-30 Pavel Roskin <proski@gnu.org>
42492
42493 * util/biosdisk.c (linux_find_partition): Simplify logic and
42494 make the code more universal. Keep special processing for
42495 devfs, but use a simple rule for all other devices. If the
42496 device ends with a number, append 'p' and the partition number.
42497 Otherwise, append only the partition number.
42498
5786569b 424992008-05-30 Robert Millan <rmh@aybabtu.com>
42500
42501 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
42502 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
42503 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
42504 the `root' parameter to Linux.
42505
51500452 425062008-05-30 Robert Millan <rmh@aybabtu.com>
42507
42508 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
42509 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
42510 --fs_uuid with --fs-uuid.
42511 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
42512 all filesystems support them).
42513
811d3878 425142008-05-30 Robert Millan <rmh@aybabtu.com>
42515
42516 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 42517 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 42518
cab63c95 425192008-05-30 Robert Millan <rmh@aybabtu.com>
42520
42521 * util/grub.d/00_header.in: Remove obsolete comment referencing
42522 convert_system_path_to_grub_path().
42523 * util/update-grub.in: Likewise.
42524 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
42525 (convert_system_path_to_grub_path): Add a warning message explaining
42526 that this function is deprecated. Rely on is_path_readable_by_grub()
42527 for the readability checks.
42528 (font_path): Use is_path_readable_by_grub() for the readability
42529 check rather than convert_system_path_to_grub_path().
42530
972e2f7a 425312008-05-30 Robert Millan <rmh@aybabtu.com>
42532
42533 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
42534 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
42535 converting it first.
42536 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
42537 grub.cfg for access to font file, and afterwards call it again to set
42538 the root device.
42539
62191274 425402008-05-30 Robert Millan <rmh@aybabtu.com>
42541
42542 * commands/search.c (options): Add --fs_uuid option.
42543 (search_fs_uuid): New function.
42544 (grub_cmd_search): Fix --set argument passing.
42545 Use search_fs_uuid() when requested via --fs_uuid.
42546 (grub_search_init): Update help message.
42547 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
42548 and redeclare it as an array of 16-bit words.
42549 (grub_ext2_uuid): New function.
42550 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
42551 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
42552 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
42553 (GRUB_DEVICE_BOOT_UUID): New variables.
42554 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
42555 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
42556 whenever possible.
42557 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
42558 just assume `root' variable has the right value.
42559 * util/grub.d/10_linux.in: Likewise.
42560 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
42561 via PRINT_FS_UUID.
42562 (main): Recognise `-t fs_uuid' argument.
42563
01b73ec8 425642008-05-30 Robert Millan <rmh@aybabtu.com>
42565
42566 * util/biosdisk.c (map): Redefine structure to hold information
42567 about GRUB drive name.
fe6b695a 42568 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 42569 drive names.
42570 (call_hook): Remove.
42571 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
42572 member. Assume drive has partitions.
42573 (grub_util_biosdisk_open): Access device names via `.device' struct
42574 member.
42575 (open_device): Likewise.
42576 (find_drive): Likewise.
42577 (read_device_map): Adjust map[] usage to match the new struct
42578 definition. Don't check for duplicates (still possible, but not cheap
42579 anymore).
42580 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
42581 (make_device_name): Remove assumption of BIOS-like drive names.
42582
22f16596 425832008-05-30 Pavel Roskin <proski@gnu.org>
42584
42585 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
42586 compiling execute.c doesn't need grub_script.tab.h anymore.
42587 (normal/command.c_DEPENDENCIES): Likewise.
42588 (normal/function.c_DEPENDENCIES): Likewise.
42589 * conf/i386-ieee1275.rmk: Likewise.
42590 * conf/i386-linuxbios.rmk: Likewise.
42591 * conf/i386-pc.rmk: Likewise.
42592 * conf/powerpc-ieee1275.rmk: Likewise.
42593 * conf/sparc64-ieee1275.rmk: Likewise.
42594
528ad8f2 425952008-05-29 Pavel Roskin <proski@gnu.org>
42596
d1dff95d 42597 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
42598 when scanning metadata for volume group name.
42599
528ad8f2 42600 * include/grub/script.h: Don't include grub_script.tab.h. It's
42601 a generated file, which may only be included from the files with
42602 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
42603 use union YYSTYPE, as the later allows forward declaration.
42604 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
42605
47248e08 426062008-05-29 Robert Millan <rmh@aybabtu.com>
42607
42608 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
42609 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
42610 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
42611 (grub_console_checkkey): Add grub_dprintf() call to report unknown
42612 scan codes.
42613
ee632529 426142008-05-29 Robert Millan <rmh@aybabtu.com>
42615
42616 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
42617 control key combinations.
42618
eee96e08 426192008-05-29 Robert Millan <rmh@aybabtu.com>
42620
42621 * util/powerpc/ieee1275/grub-install.in: Move from here ...
42622 * util/ieee1275/grub-install.in: ... to here.
42623 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
42624 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
42625 (grub_install_SOURCES): Likewise.
42626
da9a6a94 426272008-05-29 Robert Millan <rmh@aybabtu.com>
42628
42629 * fs/affs.c: Update copyright year.
42630 * fs/ext2.c: Likewise.
42631 * fs/fshelp.c: Likewise.
42632 * fs/hfsplus.c: Likewise.
42633 * fs/ntfs.c: Likewise.
42634 * fs/xfs.c: Likewise.
42635 * include/grub/fshelp.h: Likewise.
42636 * util/grub-mkdevicemap.c: Likewise.
42637
12e65f3a 426382008-05-28 Robert Millan <rmh@aybabtu.com>
42639
42640 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
42641 might need to be fatfs to support some firmware implementations
42642 (e.g. OFW or EFI).
42643
23023641 426442008-05-28 Robert Millan <rmh@aybabtu.com>
42645
42646 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
42647 devices.
42648 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42649 (make_device_map): Likewise.
42650
887d2619 426512008-05-20 Bean <bean123ch@gmail.com>
42652
42653 * fs/fshelp.c (grub_fshelp_map_block): New function.
42654 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
42655 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
42656
42657 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
42658 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
42659 (grub_fshelp_journal): New structure.
42660 (grub_fshelp_map_block): New function prototype.
42661 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
42662 (grub_fshelp_map_block): Likewise.
42663
42664 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
42665 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
42666 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
42667 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
42668 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
42669 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
42670 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
42671 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
42672 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
42673 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
42674 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
42675 (grub_ext2_sblock): New members for journal support.
42676 (grub_ext3_journal_header): New structure.
42677 (grub_ext3_journal_revoke_header): Likewise.
42678 (grub_ext3_journal_block_tag): Likewise.
42679 (grub_ext3_journal_sblock): Likewise.
42680 (grub_fshelp_node): New members logfile and journal.
42681 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
42682 grub_fshelp_map_block to get real block number.
42683 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
42684 number.
42685 (grub_ext2_read_inode): Likewise.
42686 (grub_ext3_get_journal): New function.
42687 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
42688 (grub_ext2_close): Release memory used by journal.
42689
42690 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
42691 (REISERFS_MAGIC_DESC_BLOCK): New macro.
42692 (grub_reiserfs_transaction_header): Renamed to
42693 grub_reiserfs_description_block, replace field data with real_blocks.
42694 (grub_reiserfs_commit_block): New structure.
42695 (grub_reiserfs_data): New member journal.
42696 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
42697 number.
42698 (grub_reiserfs_read_symlink): Likewise.
42699 (grub_reiserfs_iterate_dir): Likewise.
42700 (grub_reiserfs_open): Likewise.
42701 (grub_reiserfs_read): Likewise.
42702 (grub_reiserfs_get_journal): New function.
42703 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
42704 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
42705 using grub_reiserfs_get_journal.
42706 (grub_reiserfs_close): Release memory used by journal.
42707
42708 * fs/affs.c (grub_affs_read_block): Change block type to
42709 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
42710
42711 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
42712
42713 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
42714
42715 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
42716
42717 * fs/udf.c (grub_udf_read_block): Change block type to
42718 grub_disk_addr_t. Use type cast to avoid warning.
42719
42720 * fs/xfs.c (grub_xfs_read_block): Likewise.
42721
b7c6bed5 427222008-05-16 Christian Franke <franke@computer.org>
42723
42724 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
42725 to ensure that break with ESC will always work.
42726 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
42727 Remove ESC from keyboard queue.
42728
eedf167f 427292008-05-16 Christian Franke <franke@computer.org>
42730
42731 * util/biosdisk.c: [__CYGWIN__] Add includes.
42732 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
42733 (get_os_disk): Move variable declarations to OS specific
42734 parts to avoid warning.
42735 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
42736 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
42737 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
42738 Cygwin.
42739 * util/getroot.c: [__CYGWIN__] Add includes.
42740 (strip_extra_slashes): Fix "/" case.
42741 [__CYGWIN__] (get_win32_path): New function.
42742 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
42743 [__CYGWIN__] (find_root_device): Disable.
42744 [__CYGWIN__] (get_bootsec_serial): New function.
42745 [__CYGWIN__] (find_cygwin_root_device): Likewise.
42746 [__linux__] (grub_guess_root_device): Add early returns to simplify
42747 structure.
42748 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
42749 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
42750 check for Linux only.
42751
a079699e 427522008-05-15 Bean <bean123ch@gmail.com>
42753
42754 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
42755 keyboard hang problem in apple's intel mac.
42756
1cf4059a 427572008-05-09 Robert Millan <rmh@aybabtu.com>
42758
42759 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
42760 devices.
42761 * util/grub-mkdevicemap.c (get_virtio_disk_name)
42762 (make_device_map): Likewise.
42763 Reported by Aurelien Jarno <aurel32@debian.org>
42764
ed759390 427652008-05-07 Ian Campbell <ijc@hellion.org.uk>
42766
42767 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
42768 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
42769 (make_device_map): Output entries for xvd type disks.
42770
b56c4eaa 427712008-05-07 Robert Millan <rmh@aybabtu.com>
42772
42773 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
42774 devices.
42775 * util/grub-mkdevicemap.c (get_cciss_disk_name)
42776 (make_device_map): Likewise.
42777 Reported by Roland Dreier <rdreier@cisco.com>
42778
7f8866ed 427792008-05-07 Robert Millan <rmh@aybabtu.com>
42780
42781 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
42782 grub_strstr() call. Correct a few mistakes in failure path handling.
42783
b0346e0f 427842008-05-06 Robert Millan <rmh@aybabtu.com>
42785
42786 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42787 Do not print a trailing slash (therefore, the root directory is an
42788 empty string).
42789 (convert_system_path_to_grub_path): Do not remove trailing slash
42790 from make_system_path_relative_to_its_root() output.
42791
42792 * util/i386/pc/grub-install.in: Add trailing slash to output from
42793 make_system_path_relative_to_its_root().
42794
6cf12cbd 427952008-05-06 Robert Millan <rmh@aybabtu.com>
42796
42797 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
42798 ensures that output lines aren't intermangled with those sent to
42799 stderr (via grub_util_info()).
42800 * util/grub-probe.c (grub_refresh): Likewise.
42801 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
42802
0fbb3117 428032008-05-05 Christian Franke <franke@computer.org>
42804
42805 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
42806 Add Cygwin device names.
42807 (get_ide_disk_name) [__CYGWIN__]: Likewise.
42808 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
42809 (check_device): Return error instead of success on empty name.
42810 (make_device_map): Move label inside linux specific code to
42811 prevent compiler warning.
42812
8124cdb7 428132008-04-30 Robert Millan <rmh@aybabtu.com>
42814
42815 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
42816 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
42817 first boot option.
42818 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
42819
094c01d0 428202008-04-29 Robert Millan <rmh@aybabtu.com>
42821
42822 * docs/grub.cfg: New file (example GRUB configuration).
42823
f4b1fc02 428242008-04-26 Robert Millan <rmh@aybabtu.com>
42825
329ce2a5 42826 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
42827 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
42828 and `disk/ieee1275/nand.c'.
f4b1fc02 42829
25f16ec1 428302008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 42831
25f16ec1 42832 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
42833 i386-linuxbios.
42834
42835 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
42836 change the buffer size to 4096 for cdrom device.
42837
42838 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
42839 and nand.mod.
42840 (_linux_mod_SOURCES): New variable.
42841 (_linux_mod_CFLAGS): Likewise.
42842 (_linux_mod_LDFLAGS): Likewise.
42843 (linux_mod_SOURCES): Likewise.
42844 (linux_mod_CFLAGS): Likewise.
42845 (linux_mod_LDFLAGS): Likewise.
42846 (nand_mod_SOURCES): Likewise.
42847 (nand_mod_CFLAGS): Likewise.
42848 (nand_mod_LDFLAGS): Likewise.
42849
42850 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
42851 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
42852 type property. (nand device in olpc don't have this property)
42853
42854 * include/grub/disk.h (grub_disk_dev_id): New macro
42855 GRUB_DISK_DEVICE_NAND_ID.
42856
42857 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
42858 function prototype.
42859 (grub_rescue_cmd_initrd): Likewise.
42860
42861 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
42862 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
42863 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 42864
25f16ec1 42865 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
42866 GRUB_MACHINE_IEEE1275 is defined.
42867
42868 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
42869 Use NESTED_FUNC_ATTR attribute on the hook parameter.
42870
42871 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
42872 on nested function heap_init.
42873 (grub_upper_mem): New variable for i386-ieee1275.
42874 (grub_get_extended_memory): New function for i386-ieee1275.
42875 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
42876
42877 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
42878 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
42879 property.
f19dbdb7 42880
25f16ec1 42881 * loader/i386/ieee1275/linux.c: New file.
42882
42883 * loader/i386/ieee1275/linux_normal.c: New file.
42884
42885 * disk/ieee1275/nand.c: New file.
42886
e89d61e9 428872008-04-18 Thomas Schwinge <tschwinge@gnu.org>
42888
42889 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
42890 value.
42891 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
42892
602566f6 428932008-04-18 Robert Millan <rmh@aybabtu.com>
42894
42895 Restructures early code path on ieee1275 to unify grub_main() as
42896 the first C function that is executed in every platform.
42897
42898 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
42899 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
42900 cmain().
42901 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
42902 * kern/ieee1275/cmain.c (cmain): Rename to ...
42903 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
42904 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
42905 at the beginning.
42906
57490c2b 429072008-04-18 Robert Millan <rmh@aybabtu.com>
42908
42909 * util/update-grub.in: Fix syntax error when setting
42910 `GRUB_PRELOAD_MODULES'.
42911 Reported by Stephane Chazelas <stephane@artesyncp.com>
42912
1977517d 429132008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
42914
42915 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
42916 section into account, newer toolchains generate unique build ids
42917 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 42918 we want build ids to be preserved
1977517d 42919 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
42920 far from other sections don't cause the raw binary images grow
42921 size
42922
bfb1f1a2 429232008-04-15 Robert Millan <rmh@aybabtu.com>
42924
42925 * disk/lvm.c: Update copyright year.
42926 * kern/misc.c: Likewise.
42927
01979850 429282008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42929
42930 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 42931 there is no memory left for physical volume name.
01979850 42932
0a1150e2 429332008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42934
42935 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
42936 volume name mapping to support bigger than 9 character names properly.
42937
82ead3fe 429382008-04-13 Robert Millan <rmh@aybabtu.com>
42939
42940 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
42941 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
42942
e54a72f5 429432008-04-13 Christian Franke <franke@computer.org>
42944
42945 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
42946 to create a floppy emulation boot CD when non emulation mode
42947 does not work.
42948 Enable Joliet CD filesystem extension.
42949
9fe86034 429502008-04-13 Robert Millan <rmh@aybabtu.com>
42951
42952 * kern/misc.c (grub_strncat): Fix off-by-one error.
42953 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
42954
42955 * kern/env.c (grub_env_context_close): Clear current context, not
42956 previous one.
42957 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
42958
42959 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
42960
7ceeee39 429612008-04-13 Robert Millan <rmh@aybabtu.com>
42962
42963 Improve robustness when handling LVM.
42964
42965 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 42966 (and leave `*p' unmodified).
7ceeee39 42967 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
42968 through it.
42969 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
42970 iterating through it.
42971 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
42972 through it.
fe6b695a 42973 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 42974 when due) on each grub_lvm_getvalue() or grub_strstr() call.
42975 Don't assume `vg->pvs != NULL' when iterating through it.
42976
58cd3d85 429772008-04-13 Robert Millan <rmh@aybabtu.com>
42978
42979 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
42980 * genmk.rb (partmap): New variable.
42981 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
42982 (#{partmap}): New target rule.
42983 * genpartmaplist.sh: New file.
42984 * Makefile.in (pkglib_DATA): Add partmap.lst.
42985 (partmap.lst): New target rule.
42986 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
42987 modules (including all partition maps), instead of preloading them.
42988
78b51059 429892007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
42990
42991 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
42992 `linux-boot-prober' (if installed) to detect other operating
42993 systems which are installed on the computer and add them to
42994 the boot menu.
42995 * conf/common.rmk: Build and install 30_os-prober.
42996
a91627b4 429972008-04-12 Robert Millan <rmh@aybabtu.com>
42998
42999 * kern/powerpc/ieee1275/init.c: Move from here ...
43000 * kern/ieee1275/init.c: ... to here. Update all users.
43001
43002 * kern/powerpc/ieee1275/cmain.c: Move from here ...
43003 * kern/ieee1275/cmain.c: ... to here. Update all users.
43004
43005 * kern/powerpc/ieee1275/openfw.c: Move from here ...
43006 * kern/ieee1275/openfw.c: ... to here. Update all users.
43007
43008 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
43009 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
43010
322562ea 430112008-04-10 Pavel Roskin <proski@gnu.org>
43012
43013 * configure.ac: Always use "_cv_" in cache variables for
43014 compatibility with Autoconf 2.62.
43015
a02a73c5 430162008-04-07 Robert Millan <rmh@aybabtu.com>
43017
43018 Revert grub/machine/init.h addition by Pavel (since it breaks on
43019 i386-ieee1275 and others):
43020 * util/i386/pc/misc.c: Remove grub/machine/init.h.
43021 * util/powerpc/ieee1275/misc.c: Likewise.
43022
25c024b1 430232008-04-07 Robert Millan <rmh@aybabtu.com>
43024
43025 * util/grub-probe.c (probe): Improve error message.
43026
3cbd2f98 430272008-04-07 Robert Millan <rmh@aybabtu.com>
43028
43029 * util/biosdisk.c (read_device_map): Skip devices that don't exist
43030 (this prevents the presence of a bogus entry from ruining the whole
43031 thing).
43032
87a297bf 430332008-04-06 Pavel Roskin <proski@gnu.org>
43034
36747a62 43035 * util/biosdisk.c: Include grub/util/biosdisk.h.
43036 * util/grub-fstest.c (execute_command): Make static.
43037 * util/grub-mkdevicemap.c (check_device): Likewise.
43038 * util/i386/pc/misc.c: Include grub/machine/init.h.
43039 * util/powerpc/ieee1275/misc.c: Likewise.
43040 * util/lvm.c: Include grub/util/lvm.h.
43041 * util/misc.c: Include grub/kernel.h, grub/misc.h and
43042 grub/cache.h.
43043 * util/raid.c: Include grub/util/raid.h.
43044 (grub_util_getdiskname): Make static.
43045
87a297bf 43046 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
43047 grub_hostfs_fini(), as they are called from grub_init_all() and
43048 grub_fini_all() respectively. This fixes an infinite loop in
43049 grub-fstest due to double registration of hostfs.
43050 Reported by Christian Franke <Christian.Franke@t-online.de>
43051
f6ce7629 430522008-04-05 Pavel Roskin <proski@gnu.org>
43053
43054 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
43055 all 8 functions. Otherwise, probe function 0 only.
43056
070e49e4 430572008-04-04 Pavel Roskin <proski@gnu.org>
43058
8b088a4c 43059 * commands/lspci.c (grub_lspci_iter): Print the bus number
43060 correctly.
43061
4f657021 43062 * commands/lspci.c (grub_pci_classes): Fix typos.
43063 (grub_lspci_iter): Don't print func twice. Print vendor ID
43064 before device ID, as it's normally done.
43065
070e49e4 43066 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43067 Fix signedness warnings.
43068 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
43069 Likewise.
43070 * util/ieee1275/get_disk_name.c: Include config.h so that
43071 _GNU_SOURCE is defined and getline() is declared. Mark an
43072 unused argument as such. Fix a signedness warning.
43073
ba7328dc 430742008-04-02 Pavel Roskin <proski@gnu.org>
43075
26887f22 43076 * genkernsyms.sh.in: Use more robust assignments for CC and
43077 srcdir. Quote srcdir.
43078 * gensymlist.sh.in: Likewise. Assert at the compile time that
43079 the symbol table is not empty.
43080
ba7328dc 43081 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
43082 * fs/cpio.c (grub_cpio_read): Likewise.
43083
0f582c6b 430842008-04-01 Pavel Roskin <proski@gnu.org>
43085
4b6e1995 43086 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
43087 * disk/host.c (grub_host_open): Likewise.
43088 * disk/loopback.c (grub_loopback_open): Likewise.
43089 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
43090 disk->id as in disk/host.c, not a multi-character constant.
43091
828a2768 43092 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
43093 later is obsolete, potentially dangerous and sets a bad example.
43094 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
43095 * util/misc.c (grub_util_get_image_size): Likewise.
43096
2bb4fb47 43097 * disk/loopback.c (options): Improve help for "--partitions".
43098
0f582c6b 43099 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
43100 options to align them with the short options, e.g. "echo -e".
43101
a33224e0 431022008-03-31 Bean <bean123ch@gmail.com>
43103
43104 * video/reader/png.c (grub_png_data): New member is_16bit and
43105 image_data.
43106 (grub_png_decode_image_header): Detect 16 bit png image.
43107 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
43108 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
43109 (grub_video_reader_png): Release memory occupied by image_data.
43110
43111 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
43112 4096 bytes.
43113 (grub_nfs_mount): Skip the test for sector per cluster.
43114
43115 * include/grub/ntfs.h (MAX_SPC): Removed.
43116
86cb4f54 431172008-03-31 Bean <bean123ch@gmail.com>
43118
43119 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
43120 (grub_probe_SOURCES): Add fs/afs.c.
43121 (grub_fstest_SOURCES): Likewise.
43122 (afs_mod_SOURCES): New variable.
43123 (afs_mod_CFLAGS): Likewise.
43124 (afs_mod_LDFLAGS): Likewise.
43125
43126 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
43127 (grub_emu_SOURCES): Likewise.
43128
43129 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43130
43131 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43132
43133 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43134
43135 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43136
43137 * fs/afs.c: New file.
43138
17c74c21 431392008-03-30 Pavel Roskin <proski@gnu.org>
43140
4cb68e89 43141 * disk/host.c: Include grub/misc.h to fix a warning.
43142 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
43143 warnings about implicit declarations.
43144
8790bb04 43145 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
43146 variable.
43147 * include/grub/i386/loader.h: Change declaration of
43148 grub_linux_boot() to match what grub_loader_set() expects.
43149 * util/getroot.c (grub_guess_root_device): Return const char* to
43150 fix a warning.
43151 * util/grub-probe.c (probe): Fix a warning about uninitialized
43152 abstraction_name variable.
43153 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
43154 second argument as unused to fix a warning.
43155
9a3f3296 43156 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
43157 missing grub_error() call.
43158
0ecef90d 43159 * util/update-grub_lib.in: Define datarootdir, since Autoconf
43160 2.60 and newer uses it to define datadir.
43161
0bf6d401 43162 * commands/sleep.c: Fix warning about implicit declaration.
43163 * disk/memdisk.c: Likewise.
43164 * loader/aout.c: Likewise.
43165 * loader/i386/bsd_normal.c: Likewise.
43166 * util/grub-probe.c: Likewise.
43167
7cdacf97 43168 * commands/i386/cpuid.c (has_longmode): Make static.
43169 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
43170 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
43171
17c74c21 43172 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
43173 GDT. This is more robust, as %ds can change.
43174 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
43175 calling real_to_prot().
43176 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
43177
80a3e68b 431782008-03-28 Pavel Roskin <proski@gnu.org>
43179
43180 * kern/i386/pc/startup.S: Assert that uncompressed functions
43181 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
43182 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
43183 code, as they push parts of the code (error handlers) beyond
43184 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
43185 code as correctness and size.
43186
77bcd272 431872008-03-28 Pavel Roskin <proski@gnu.org>
43188
43189 * kern/i386/pc/startup.S
43190 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
43191 data block address to the real mode, keep offset minimal. This
43192 works around a bug in AWARD BIOS on old Athlon systems, which
43193 makes CD detection hang.
43194
c5dfd43b 431952008-03-26 Pavel Roskin <proski@gnu.org>
43196
43197 * normal/color.c (grub_parse_color_name_pair): Make `name' a
43198 const.
43199 * include/grub/normal.h: Add grub_parse_color_name_pair()
43200 declaration.
43201
bf962df2 432022008-03-24 Bean <bean123ch@gmail.com>
43203
43204 * disk/i386/pc/biosdisk.c (cd_start): Removed.
43205 (cd_count): Removed.
43206 (cd_drive): New variable.
43207 (grub_biosdisk_get_drive): Don't check for (cdN) device.
43208 (grub_biosdisk_call_hook): Likewise.
43209 (grub_biosdisk_iterate): Change cdrom detection method.
43210 (grub_biosdisk_open): Replace cd_start with cd_drive.
43211 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
43212 detect cdrom device.
43213
43214 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
43215 Removed.
43216 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
43217 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
43218 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
43219 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
43220 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
43221 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
43222 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
43223 (grub_biosdisk_cdrp): New structure.
43224 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
43225
43226 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
43227
43228 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
43229 device.
43230
43231 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
43232 New function.
43233
68e7fc7a 432342008-03-20 Robert Millan <rmh@aybabtu.com>
43235
43236 Remove 2 TiB limit in ata.mod.
43237 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
43238 (grub_ata_dumpinfo): Print sector count with 0x%llx.
43239 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
43240 grub_uint64_t instead of grub_uint32_t.
43241
38ad2cf5 432422008-03-05 Bean <bean123ch@gmail.com>
43243
43244 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
43245 (grub_multiboot): Set boot device.
43246
43247 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
43248
2b89344e 432492008-03-02 Bean <bean123ch@gmail.com>
43250
43251 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
43252 symlink_buffer.
43253
87a95d1f 432542008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
43255
43256 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
43257 texinfo.tex.
43258
43259 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
43260 modified.
43261
43262 * docs/fdl.texi: New file.
f19dbdb7 43263
87a95d1f 43264 * docs/mdate-sh: New file. Copied from gnulib.
43265 * docs/texinfo.tex: Likewise.
43266
43267 * config.guess: Updated from gnulib.
43268 * install-sh: Likewise.
43269
7dc15d8e 432702008-02-28 Robert Millan <rmh@aybabtu.com>
43271
43272 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
43273 (aout_mod_SOURCES): New variable.
43274 (aout_mod_CFLAGS): Likewise.
43275 (aout_mod_LDFLAGS): Likewise.
43276
43277 * conf/i386-ieee1275.rmk: Likewise.
43278
b00ab696 432792008-02-28 Robert Millan <rmh@aybabtu.com>
43280
43281 * util/update-grub.in: Reorganise terminal validity check. Accept
43282 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
43283 Based on suggestion by Franklin PIAT.
43284
79ca2d78 432852008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
43286
43287 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
43288 function.
43289 * util/getroot.c (grub_util_check_block_device): New function that
43290 returns the given argument if it is a block device and returns NULL else.
43291 * util/grub-probe.c (argument_is_device): New variable.
43292 (probe): Promote device_name from a variable to an argument. Receive
43293 device_name from grub_util_check_block_device() if path is NULL and from
43294 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 43295 (options): Introduce new parameter '-d, --device'.
79ca2d78 43296 (main): Add description of the new parameter to the help screen.
43297 Rename path variable to argument. Set argument_is_device if the '-d'
43298 option is given. Pass argument to probe() depending on
43299 argument_is_device.
43300
0d16e571 433012008-02-24 Bean <bean123ch@gmail.com>
43302
43303 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
43304 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
43305 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
43306 (GRUB_ISO9660_VOLDESC_PART): Likewise.
43307 (GRUB_ISO9660_VOLDESC_END): Likewise.
43308 (grub_iso9660_primary_voldesc): New member escape.
43309 (grub_iso9660_data): New member joliet.
43310 (grub_iso9660_convert_string): New function.
43311 (grub_iso9660_mount): Detect joliet extension.
43312 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
43313 (grub_iso9660_iso9660_label): Likewise.
43314
43315 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
43316 (grub_setup_SOURCES): Add fs/udf.c.
43317 (grub_fstest_SOURCES): Likewise.
43318 (udf_mod_SOURCES): New variable.
43319 (udf_mod_CFLAGS): Likewise.
43320 (udf_mod_LDFLAGS): Likewise.
43321
43322 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
43323 (grub_emu_SOURCES): Likewise.
43324
43325 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43326
43327 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43328
43329 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43330
43331 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43332
43333 * fs/udf.c: New file.
43334
8a594a17 433352008-02-24 Robert Millan <rmh@aybabtu.com>
43336
43337 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
43338 (normal/lexer.c_DEPENDENCIES): New variables.
43339 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43340 (normal/lexer.c_DEPENDENCIES): Likewise.
43341 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
43342 (normal/lexer.c_DEPENDENCIES): Likewise.
43343 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
43344 (normal/lexer.c_DEPENDENCIES): Likewise.
43345 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43346 (normal/lexer.c_DEPENDENCIES): Likewise.
43347 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43348 (normal/lexer.c_DEPENDENCIES): Likewise.
43349
2dc33c03 433502008-02-23 Robert Millan <rmh@aybabtu.com>
43351
43352 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
43353 since they were intended to be in hex. This didn't break previously
43354 because of a bug in gpt_partition_map_iterate() (see below).
43355
43356 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
43357 when checking the validity of GPT header.
43358 Remove `partno', since it always provides the same information as `i'.
43359
f6f4cfb0 433602008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
43361
43362 * include/grub/efi/time.h: Fix a wrong comment.
43363
79ff665f 433642008-02-19 Pavel Roskin <proski@gnu.org>
43365
43366 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
43367 message.
43368
d38e24c2 433692008-02-19 Bean <bean123ch@gmail.com>
43370
43371 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
43372 (aout_mod_SOURCES): New variable.
43373 (aout_mod_CFLAGS): Likewise.
43374 (aout_mod_LDFLAGS): Likewise.
43375 (_bsd_mod_SOURCES): New variable.
43376 (_bsd_mod_CFLAGS): Likewise.
43377 (_bsd_mod_LDFLAGS): Likewise.
43378 (bsd_mod_SOURCES): New variable.
43379 (bsd_mod_CFLAGS): Likewise.
43380 (bsd_mod_LDFLAGS): Likewise.
43381
43382 * include/grub/aout.h: New file.
43383
43384 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
43385
43386 * include/grub/i386/bsd.h: New file.
43387
43388 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
43389 to make it public.
43390
43391 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
43392 function is called, so that it's possible to change it inside the hook.
43393 (grub_elf64_load): Likewise.
43394 (grub_elf_file): Don't close the file if elf header is not found.
43395 (grub_elf_close): Close the file if grub_elf_file fails (The new
43396 grub_elf_file won't close it).
43397 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
43398 (grub_elf64_size): Likewise.
43399
43400 * kern/i386/loader.S (grub_unix_real_boot): New function.
43401
43402 * loader/aout.c: New file.
43403
43404 * loader/i386/bsd.c: New file.
43405
43406 * loader/i386/bsd_normal.c: New file.
43407
43408 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
43409
43410 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 43411 can test other formats.
d38e24c2 43412
b93bdb0f 434132008-02-19 Robert Millan <rmh@aybabtu.com>
43414
43415 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
43416 (grub_gpt_partition_type_empty): Redefine with macro from
43417 `<grub/gpt_partition.h>'.
43418 (gpt_partition_map_iterate): Adjust partition type comparison.
43419
43420 Export `entry' as partmap-specific `part.data' struct.
43421 (grub_gpt_header, grub_gpt_partentry): Move from here ...
43422
43423 * include/grub/gpt_partition.h (grub_gpt_header)
43424 (grub_gpt_partentry): ... to here (new file).
43425
43426 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
43427
43428 (grub_gpt_partition_type_bios_boot): New const variable, defined
43429 with macro from `<grub/gpt_partition.h>'.
43430
43431 (setup): Replace `first_start' with `embed_region', which keeps
43432 track of the embed region (and is partmap-agnostic).
43433
43434 Replace find_first_partition_start() with find_usable_region(),
43435 which finds a usable region for embedding using partmap-specific
43436 knowledge (supports PC/MSDOS and GPT).
43437
43438 Fix all assumptions that the embed region start at sector 1, using
43439 `embed_region.start' from now on. Similarly, use `embed_region.end'
43440 rather than `first_start' to calculate available size.
43441
43442 In grub_util_info() message, replace "into after the MBR" with an
43443 indication of the specific sector our embed region starts at.
43444
66cb40f6 434452008-02-19 Robert Millan <rmh@aybabtu.com>
43446
43447 * DISTLIST: Replace `commands/ieee1275/halt.c' and
43448 `commands/ieee1275/reboot.c' with `commands/halt.c' and
43449 `commands/reboot.c'.
43450 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43451 (halt_mod_SOURCES): Likewise.
43452 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43453 (halt_mod_SOURCES): Likewise.
43454
b7202015 434552008-02-17 Christian Franke <franke@computer.org>
43456
43457 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
43458
32b0fc49 434592008-02-17 Robert Millan <rmh@aybabtu.com>
43460
43461 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43462 set `first_start' to 0 for non-PC/MSDOS partition maps.
43463
aca63502 434642008-02-16 Robert Millan <rmh@aybabtu.com>
43465
43466 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43467 do not assume partition map is PC/MSDOS before performing checks that
43468 are specific to that layout.
43469
0de8be86 434702008-02-13 Robert Millan <rmh@aybabtu.com>
43471
43472 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
43473 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
43474 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
43475
c3db8364 434762008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
43477
43478 * configure.ac: Only a cosmetic change on the handling of
43479 -fno-stack-protector.
43480
f714229e 434812008-02-12 Alexandre Boeglin <alex@boeglin.org>
43482
c3db8364 43483 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
43484 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
43485 reboot.c.
f714229e 43486 (grub_install_SOURCES): Add halt.mod and reboot.mod.
43487 (halt_mod_SOURCES): New variable.
43488 (halt_mod_CFLAGS): Likewise.
43489 (halt_mod_LDFLAGS): Likewise.
43490 (reboot_mod_SOURCES): Likewise.
43491 (reboot_mod_CFLAGS): Likewise.
43492 (reboot_mod_LDFLAGS): Likewise.
43493
c3db8364 43494 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
43495 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
43496 reboot.c.
f714229e 43497 (halt_mod_SOURCES): Likewise.
43498 (reboot_mod_SOURCES): Likewise.
43499
c3db8364 43500 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
43501 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 43502 (reboot_mod_SOURCES): Likewise.
43503
43504 * commands/i386/pc/reboot.c: merge this file ...
43505
43506 * commands/ieee1275/reboot.c: ... and this file ...
43507
43508 * commands/reboot.c: ... to this file.
c3db8364 43509 Add some precompiler directive to include the correct header for
43510 each machine.
f714229e 43511
43512 * commands/ieee1275/halt.c: move this file ...
43513
43514 * commands/halt.c: ... to here.
c3db8364 43515 Add some precompiler directive to include the correct header for
43516 each machine.
f714229e 43517
43518 * include/grub/efi/efi.h (grub_reboot): New function declaration.
43519 (grub_halt): Likewise.
43520
43521 * kern/efi/efi.c (grub_reboot): New function.
43522 (grub_halt): Likewise.
43523
c74493e0 435242008-02-12 Robert Millan <rmh@aybabtu.com>
43525
43526 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
43527 /dev (like it is done for /dev/mapper). This doesn't provide support
43528 for EVMS, but at least it is now easy to identify the problem when it
43529 arises.
43530
d0db4b04 435312008-02-11 Robert Millan <rmh@aybabtu.com>
43532
43533 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
43534 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
43535 comparing it with -1, not 0.
43536
bf748642 435372008-02-10 Robert Millan <rmh@aybabtu.com>
43538
43539 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
43540 `disk/lvm.c'.
43541 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43542 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
43543
43544 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
43545 `disk/lvm.c' to the end of the list.
43546 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43547 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43548
b5db202a 435492008-02-10 Robert Millan <rmh@aybabtu.com>
43550
43551 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
43552 grub_print_error() instead. This will let user know why we're entering
43553 rescue mode.
43554 Based on suggestions from Sam Morris.
43555
83abee31 435562008-02-10 Alexandre Boeglin <alex@boeglin.org>
43557
43558 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
43559 on remaining N args, instead of "--" arg N times.
43560
78d5a08b 435612008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
43562
43563 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
43564 (fill_with_default_glyph): Changed to use unknown_glyph for fill
43565 pattern for unknown glyphs.
43566
68807e5f 435672008-02-09 Robert Millan <rmh@aybabtu.com>
43568
43569 * configure.ac: Probe for `help2man'.
43570 * Makefile.in (builddir): New variable.
43571 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
43572 or otherwise add a few flags/options to it.
43573 (install-local): For every executable utility or script that is
43574 installed, invoke $(HELP2MAN) to install a manpage based on --help
43575 output.
43576
43577 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
43578 that it doesn't prevent --help from working in build tree.
43579
43580 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
43581 with `bug-grub@gnu.org'.
43582 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
43583 * util/update-grub.in (usage): New function.
43584 Implement proper argument check, with support for --help and --version
43585 (as well as existing -y).
43586
435872008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 43588
43589 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
43590 avoid overwriting previous output.
43591 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
43592
c1962162 435932008-02-09 Robert Millan <rmh@aybabtu.com>
43594
43595 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
43596 drawing the menu.
43597
3dac2e3f 435982008-02-09 Robert Millan <rmh@aybabtu.com>
43599
43600 * commands/sleep.c: New file.
43601 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
43602 (sleep_mod_SOURCES): New variable.
43603 (sleep_mod_CFLAGS): Likewise.
43604 (sleep_mod_LDFLAGS): Likewise.
43605
7a634e08 436062008-02-09 Robert Millan <rmh@aybabtu.com>
43607
43608 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
43609 situations in which we can deduce the RAID size and the superblock
43610 doesn't match it.
43611
b92f0c18 436122008-02-09 Robert Millan <rmh@aybabtu.com>
43613
43614 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
43615 and return a grub_diskmemberlist_t composed of LVM physical volumes.
43616 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
43617
43618 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
43619 and return a grub_diskmemberlist_t composed of physical array members.
43620 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
43621
43622 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
43623 prototype.
43624 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
43625 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
43626 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
43627
43628 * util/grub-probe.c (probe): Move partmap probing code from here ...
43629 (probe_partmap): ... to here.
43630 (probe): Use probe_partmap() once for the disk we're probing, and
43631 additionally, when such disk contains a memberlist() struct member,
43632 once for each disk that is contained in the structure returned by
43633 memberlist().
43634
91a4bf68 436352008-02-09 Robert Millan <rmh@aybabtu.com>
43636
43637 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
43638 environment variable to 'all' in order to obtain debug output from
43639 non-util/ code.
43640 * util/i386/pc/grub-setup.c (main): Likewise.
43641
a96f9caa 436422008-02-08 Robert Millan <rmh@aybabtu.com>
43643
43644 * disk/raid.c (grub_raid_scan_device): Check for
43645 `array->device[sb.this_disk.number]' rather than for
43646 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 43647 guaranteed to be accessible.
a96f9caa 43648
b37a9222 436492008-02-08 Robert Millan <rmh@aybabtu.com>
43650
43651 * disk/raid.c: Update copyright.
43652 * fs/cpio.c: Likewise.
43653 * include/grub/raid.h: Likewise.
43654 * loader/i386/pc/multiboot.c: Likewise.
43655 * util/hostfs.c: Likewise.
43656
5626aee1 436572008-02-08 Robert Millan <rmh@aybabtu.com>
43658
43659 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
43660 to a grub_disk_t array.
43661 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
43662 `device[x]'.
43663 (grub_raid_scan_device): Replace `device[x].name' accesses with
43664 `device[x]->name'. Simplify initialization of `array->device[x]'.
43665
554f0187 436662008-02-08 Robert Millan <rmh@aybabtu.com>
43667
43668 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
43669 grub_dprintf() calls.
43670 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
43671 error message.
43672
1ec8425d 436732008-02-07 Christian Franke <franke@computer.org>
43674
43675 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
43676 instead of fseek and ftell to support large files.
43677 (grub_hostfs_read): Likewise.
43678
f2156fda 436792008-02-07 Robert Millan <rmh@aybabtu.com>
43680
43681 Patch from Jeroen Dekkers.
43682 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 43683 failure, since successfully reading all array members might not be
f2156fda 43684 required.
43685
9216e0e7 436862008-02-06 Robert Millan <rmh@aybabtu.com>
43687
43688 * util/grub-probe.c (probe): Simplify partmap probing (with the
43689 assumption that the first word up to the underscore equals to
43690 the module name).
43691
b0dfd29a 436922008-02-06 Christian Franke <franke@computer.org>
43693
43694 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
43695 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
43696 last block of a cpio or tar stream.
43697 Check for "TRAILER!!!" instead of any empty data
43698 block to detect last block of a cpio stream.
43699 (grub_cpio_dir): Fix constness of variable np.
43700 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
43701 cpio or tar trailer is detected. This fixes a crash
43702 on open of a non existing file.
43703
c32865bf 437042008-02-05 Bean <bean123ch@gmail.com>
43705
43706 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
43707 address of entry.
43708 (grub_multiboot_load_elf64): Likewise.
43709 (grub_multiboot): Initialize mbi structure.
43710
43711 * util/grub-fstest.c: Don't include unused header file script.h.
43712
fe6b695a 43713 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 43714 of file.
43715 (grub_fstest_SOURCES): Likewise.
43716
409480b7 437172008-02-05 Robert Millan <rmh@aybabtu.com>
43718
43719 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
43720 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
43721 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
43722 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
43723
43724 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
43725 (translation_table): Replace hardcoded values with macros
43726 provided by `<grub/term.h>'.
43727
43728 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
43729 (keyboard_map): Correct/add a few values, with macros provided
43730 by `<grub/term.h>'.
43731 (keyboard_map_shift): Zero values that don't differ from their
43732 `keyboard_map' equivalents.
43733 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
43734 Discard the second scan code that is always sent by Caps lock.
43735 Only use `keyboard_map_shift' when it provides a non-zero value,
43736 otherwise fallback to `keyboard_map'.
43737
99fadbaa 437382008-02-04 Bean <bean123ch@gmail.com>
43739
43740 * Makefile.in (enable_grub_fstest): New variable.
43741
43742 * conf/common.rmk (grub_fstest_init.lst): New rule.
43743 (grub_fstest_init.h): Likewise.
43744 (grub_fstest_init.c): Likewise.
43745 (util/grub-fstest.c_DEPENDENCIES): New variable.
43746 (grub_fstest_SOURCES): Likewise.
43747
43748 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
43749
43750 * util/grub-fstest.c: New file.
43751
bf567c50 437522008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43753
43754 Make grub-setup handle a separate root device.
f19dbdb7 43755
bf567c50 43756 * util/i386/pc/grub-setup.c (setup): Always open the root device,
43757 so that the root device can be compared with the destination
43758 device.
43759 When embedding the core image, if the root and destination devices
43760 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
43761 0xFF.
43762 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 43763
9be6b98b 437642008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43765
43766 Add support for having a grub directory in a different drive. This
43767 is still only the data handling part.
f19dbdb7 43768
9be6b98b 43769 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
43770 (codestart): Save %dh in GRUB_ROOT_DRIVE.
43771 (grub_root_drive): New variable.
43772
43773 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
43774 instead of GRUB_BOOT_DRIVE to construct a device name. Set
43775 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
43776 as it was.
43777
43778 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
43779
43780 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
43781 macro.
43782 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
43783
43784 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
43785 is bogus, because PXE booting does not specify any drive
43786 correctly.
43787
43788 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
43789 am not sure if this is really correct.
43790
43791 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
43792 is always identical to the boot drive when booting from a CD.
43793
43794 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
43795 longer.
43796 (root_drive): New variable.
43797 (real_start): Unconditionally set %dh to ROOT_DRIVE.
43798 (setup_sectors): Push %dx right after popping it, because %dh will
43799 be modified later.
43800 (copy_buffer): Restore %dx.
43801
e0ca0677 438022008-02-03 Robert Millan <rmh@aybabtu.com>
43803
43804 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
43805 use `cdboot.img' for cdrom images.
43806
3b3f6629 438072008-02-03 Robert Millan <rmh@aybabtu.com>
43808
43809 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
43810 only setup gfxterm when `font' command has succeeded.
43811
d42b3672 438122008-02-03 Robert Millan <rmh@aybabtu.com>
43813
43814 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
43815 (grub_rescue_cmd_multiboot_loader)
43816 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
43817
fa370ea6 438182008-02-03 Pavel Roskin <proski@gnu.org>
43819
e0c5dacb 43820 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 43821 %edx and %esi from stack only after grub_gate_a20() is called.
43822 grub_gate_a20() clobbers %edx.
43823
f2a76e1d 438242008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43825
43826 * configure.ac (AC_INIT): Bumped to 1.96.
43827
43828 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
43829 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
43830 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
43831 video/readers/png.c.
43832
90fd32d1 438332008-02-03 Bean <bean123ch@gmail.com>
9be665dd 43834
43835 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
43836 (cdboot_img_SOURCES): New variable.
43837 (cdboot_img_ASFLAGS): New variable.
43838 (cdboot_img_LDFLAGS): New variable.
43839
43840 * boot/i386/pc/cdboot.S: New file.
43841
43842 * disk/i386/pc/biosdisk.c (cd_start): New variable.
43843 (cd_count): Likewise.
43844 (grub_biosdisk_get_drive): Add support for cd device.
43845 (grub_biosdisk_call_hook): Likewise.
43846 (grub_biosdisk_iterate): Likewise.
43847 (grub_biosdisk_open): Likewise.
43848 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
43849 (grub_biosdisk_rw): Support reading from cd device.
43850 (GRUB_MOD_INIT): Iterate cd devices.
43851
43852 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
43853 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
43854 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
43855
43856 * kern/i386/pc/init.c (make_install_device): Check for cd device.
43857
4020aa53 438582008-02-02 Robert Millan <rmh@aybabtu.com>
43859
43860 * commands/read.c: New file.
43861 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
43862 (read_mod_SOURCES): New variable.
43863 (read_mod_CFLAGS): Likewise.
43864 (read_mod_LDFLAGS): Likewise.
43865
e03a1132 438662008-02-02 Robert Millan <rmh@aybabtu.com>
43867
43868 * normal/main.c (grub_normal_execute): Check for `menu->size' when
43869 determining whether menu has to be displayed.
43870
58c69220 438712008-02-02 Marco Gerards <marco@gnu.org>
43872
43873 * bus/pci.c: New file.
43874
43875 * include/grub/pci.h: Likewise.
43876
43877 * include/grub/i386/pc/pci.h: Likewise.
43878
43879 * commands/lspci.c: Likewise.
43880
43881 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
43882 `lspci.mod'.
43883 (pci_mod_SOURCES): New variable.
43884 (pci_mod_CFLAGS): Likewise.
43885 (pci_mod_LDFLAGS): Likewise.
43886 (lspci_mod_SOURCES): Likewise.
43887 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 43888 (lspci_mod_LDFLAGS): Likewise.
58c69220 43889
c004e1b4 438902008-02-02 Bean <bean123ch@gmail.com>
43891
43892 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
43893 (grub_ufs_get_file_block): Fix indirect block calculation problem.
43894
43895 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
43896 (grub_xfs_btree_node): New structure.
43897 (grub_xfs_btree_root): New structure.
43898 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
43899 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
43900 (GRUB_XFS_EXTENT_BLOCK): Likewise.
43901 (GRUB_XFS_EXTENT_SIZE): Likewise.
43902 (grub_xfs_read_block): Support btree format type.
43903 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
43904 Use directory block as basic unit.
43905
43906 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
43907
43908 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
43909 __attribute__ ((__regparm__ (1))).
43910
f95562bf 439112008-02-01 Robert Millan <rmh@aybabtu.com>
43912
43913 Correct a mistake in previous commit.
43914
43915 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
43916 top.
43917 (normal/command.c_DEPENDENCIES): New variable.
43918
7d31f41f 439192008-02-01 Robert Millan <rmh@aybabtu.com>
43920
43921 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
43922 top.
43923 (normal/command.c_DEPENDENCIES): New variable.
43924 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
43925 * conf/i386-ieee1275.rmk: Likewise.
43926 * conf/i386-linuxbios.rmk: Likewise.
43927 * conf/i386-pc.rmk: Likewise.
43928 * conf/sparc64-ieee1275.rmk: Likewise.
43929 * conf/powerpc-ieee1275.rmk: Likewise.
43930 (grub_emu_SOURCES): Add `fs/fshelp.c'.
43931
43932 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
43933
60b6be74 439342008-02-01 Robert Millan <rmh@aybabtu.com>
43935
43936 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
43937 call at beginning of function.
43938
078522ab 439392008-01-31 Pavel Roskin <proski@gnu.org>
43940
43941 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 43942 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
43943 (grub_mkrescue_SOURCES): Likewise.
078522ab 43944 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
43945
ccaa8a5f 439462008-01-30 Robert Millan <rmh@aybabtu.com>
43947
43948 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
43949 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
43950 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
43951 (grub_probe_SOURCES): ... to here.
43952
43953 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
43954 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
43955 * conf/i386-ieee1275.rmk: Likewise.
43956 * conf/i386-linuxbios.rmk: Likewise.
43957 * conf/powerpc-ieee1275.rmk: Likewise.
43958
ae5a9cd7 439592008-01-30 Tristan Gingold <gingold@free.fr>
43960
43961 * kern/rescue.c: Silently accept empty lines.
43962
70bc2ef2 439632008-01-29 Bean <bean123ch@gmail.com>
43964
43965 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
43966 (real_code_2): Code cleanup and change comment style.
43967 (move_memory): Avoid using 32-bit address mode.
43968
6a4d50ea 439692008-01-29 Bean <bean123ch@gmail.com>
43970
43971 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
43972 (png_mod_SOURCES): New variable.
43973 (png_mod_CFLAGS): Likewise.
43974 (png_mod_LDFLAGS): Likewise.
43975
43976 * video/readers/png.c: New file.
43977
11cc30ac 439782008-01-28 Robert Millan <rmh@aybabtu.com>
43979
43980 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
43981 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
43982 `ifndef GRUB_MOD_GAP' hack.
43983 * util/elf/grub-mkimage.c (add_segments): Likewise.
43984
3abc589f 439852008-01-27 Robert Millan <rmh@aybabtu.com>
43986
43987 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
43988 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 43989 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 43990
e1907778 439912008-01-27 Robert Millan <rmh@aybabtu.com>
43992
43993 Get grub-emu to build again (including parallel builds).
43994
43995 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
43996 Split into ...
43997 (util/grub-emu.c_DEPENDENCIES): ... this, ...
43998 (normal/execute.c_DEPENDENCIES): ... this, ...
43999 (grub-emu_DEPENDENCIES): ... and this.
44000
44001 * conf/i386-efi.rmk: Likewise.
44002 * conf/i386-linuxbios.rmk: Likewise.
44003 * conf/i386-ieee1275.rmk: Likewise.
44004 * conf/powerpc-ieee1275.rmk: Likewise.
44005 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
44006
2216b101 440072008-01-27 Robert Millan <rmh@aybabtu.com>
44008
44009 * NEWS: Add a few items.
44010
f75172d9 440112008-01-27 Robert Millan <rmh@aybabtu.com>
44012
44013 Fix parallel builds with grub-emu. Based on earlier commit for
44014 grub-probe and grub-setup.
44015
44016 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44017 (util/grub-emu.c_DEPENDENCIES): ... this.
44018 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44019 (util/grub-emu.c_DEPENDENCIES): ... this.
44020 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44021 (util/grub-emu.c_DEPENDENCIES): ... this.
44022 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44023 (util/grub-emu.c_DEPENDENCIES): ... this.
44024 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44025 (util/grub-emu.c_DEPENDENCIES): ... this.
44026
3f51de77 440272008-01-27 Pavel Roskin <proski@gnu.org>
44028
44029 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
44030 to create a gap between _end and the modules added to the image
44031 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
44032 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
44033 * util/elf/grub-mkimage.c (add_segments): Likewise.
44034
2033f53e 440352008-01-26 Pavel Roskin <proski@gnu.org>
44036
44037 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
44038 just return an error.
44039
22da1f6f 440402008-01-26 Bean <bean123ch@gmail.com>
44041
44042 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
44043 (grub_reiserfs_get_item): Save offset of the next item.
44044 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
44045
2a9525e6 440462008-01-25 Robert Millan <rmh@aybabtu.com>
44047
44048 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
44049 make all filesystem sources appear together (possibly fixing omissions
44050 while at it).
44051 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44052 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44053 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44054 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44055
44056 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
44057 add `kern/file.c'.
44058 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
44059 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44060 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
44061 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44062
44063 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
44064 (probe): Add a sanity check to make sure of our ability to read
44065 requested files when probing for filesystem type.
44066
44067 * genmk.rb: Update copyright year (2007).
44068
44069 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
44070 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
44071 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
44072 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
44073 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
44074 : Remove function prototypes.
44075
b95f71b5 440762008-01-25 Robert Millan <rmh@aybabtu.com>
44077
44078 Revert my previous commits (based on wrong assumption of how grub_errno
44079 works).
44080
fe6b695a 44081 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 44082 * kern/file.c (grub_file_open): Likewise.
44083
d08bbb49 440842008-01-24 Pavel Roskin <proski@gnu.org>
44085
44086 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
44087 that hang if GRUB tries to setup colors.
44088 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
44089 colors for firmwares that don't support it.
44090 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
44091 Recognize Open Hack'Ware, set flags to work around its
44092 limitations.
44093
605e36ed 440942008-01-24 Robert Millan <rmh@aybabtu.com>
44095
44096 * kern/file.c (grub_file_open): Do not account previous failures of
44097 unrelated functions when grub_errno is checked for.
44098 Reported by Oleg Strikov.
44099
bac332a1 441002008-01-24 Bean <bean123ch@gmail.com>
44101
44102 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
44103 (grub_ufs_sblock): New member volume name.
44104 (grub_ufs_find_file): Fix string copy bug.
44105 (grub_ufs_label): Implement this function properly.
44106
44107 * fs/hfs.c (grub_hfs_cnid_type): New enum.
44108 (grub_hfs_iterate_records): Use the correct file number for extents
44109 and catalog file. Fix problem in next index calculation.
44110 (grub_hfs_find_node): Replace recursive function call with loop.
44111 (grub_hfs_iterate_dir): Replace recursive function call with loop.
44112
15c80c09 441132008-01-23 Robert Millan <rmh@aybabtu.com>
44114
44115 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
44116 `<grub/symbol.h>' and `<grub/multiboot.h>'.
44117 (grub_multiboot2_real_boot): New function prototype.
44118
44119 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
44120 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
44121
44122 * kern/i386/ieee1275/init.c (grub_os_area_addr)
44123 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
44124
305338fd 441252008-01-23 Robert Millan <rmh@aybabtu.com>
44126
44127 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
44128 #ifdef'ed out grub_printf().
44129
3ea52685 441302008-01-23 Robert Millan <rmh@aybabtu.com>
44131
44132 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
44133 grub_dprintf calls, since they make "debug=all" mode unusable.
44134 (grub_console_checkkey): Likewise.
44135
5882ae4b 441362008-01-23 Robert Millan <rmh@aybabtu.com>
44137
44138 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
44139 `term/i386/pc/at_keyboard.c'.
44140 (pkglib_MODULES): Add `serial.mod'.
44141 (serial_mod_SOURCES): New variable.
44142 (serial_mod_CFLAGS): Likewise.
44143 (serial_mod_LDFLAGS): Likewise.
44144
44145 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
44146 `<grub/powerpc/ieee1275/console.h>'.
44147 (grub_keyboard_controller_init): New function prototype.
44148 (grub_console_checkkey): Likewise.
44149 (grub_console_getkey): Likewise.
44150
44151 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
44152 keyboard on i386.
44153
44154 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
44155 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
44156
06ab5303 441572008-01-23 Robert Millan <rmh@aybabtu.com>
44158
44159 * kern/i386/pc/init.c (make_install_device): When memdisk image is
44160 present, "(memdisk)/boot/grub" becomes the default prefix.
44161
44162 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
44163 a memdisk tarball with all the modules. Add --overlay=DIR option that
44164 allows users to overlay additional files into the image.
44165
dbb475a4 441662008-01-23 Robert Millan <rmh@aybabtu.com>
44167
44168 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
44169 and `machine/memory.h'.
44170 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
44171 (_multiboot_mod_SOURCES): New variable.
44172 (_multiboot_mod_CFLAGS): Likewise.
44173 (_multiboot_mod_LDFLAGS): Likewise.
44174 (multiboot_mod_SOURCES): Likewise.
44175 (multiboot_mod_CFLAGS): Likewise.
44176 (multiboot_mod_LDFLAGS): Likewise.
44177
44178 * include/grub/i386/ieee1275/loader.h: New file.
44179
44180 * include/grub/i386/ieee1275/machine.h: Likewise.
44181
44182 * include/grub/i386/ieee1275/memory.h: Likewise.
44183
44184 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
44185 variable declaration.
44186 (grub_os_area_size): Likewise.
44187
44188 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
44189 (grub_lower_mem, grub_upper_mem): New variables.
44190 (grub_stop_floppy): New function (just to make
44191 grub_multiboot2_real_boot() happy).
44192
44193 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
44194 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
44195 (grub_stop): New function.
44196 Include `"../realmode.S"' and `"../loader.S"'.
44197
44198 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
44199 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
44200
44201 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
44202 rely on grub_multiboot2_real_boot() for final boot.
44203
25638629 442042008-01-22 Robert Millan <rmh@aybabtu.com>
44205
44206 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
44207 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
44208 device that doesn't look like an SD card.
44209 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
44210 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
44211 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
44212 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
44213 found.
44214
9dad816d 442152008-01-22 Robert Millan <rmh@aybabtu.com>
44216
44217 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
44218 avoid claiming over our own code.
44219
34842f2d 442202008-01-22 Bean <bean123ch@gmail.com>
44221
44222 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
44223 (jpeg_mod_SOURCES): New variable.
44224 (jpeg_mod_CFLAGS): Likewise.
44225 (jpeg_mod_LDFLAGS): Likewise.
44226
44227 * video/readers/jpeg.c : New file.
44228
44023a28 442292008-01-22 Bean <bean123ch@gmail.com>
44230
44231 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
44232 there are no more items.
44233
bc2d8ac6 442342008-01-21 Robert Millan <rmh@aybabtu.com>
44235
44236 * kern/mm.c (grub_mm_init_region): Improve debug message.
44237
261bd4bc 442382008-01-21 Robert Millan <rmh@aybabtu.com>
44239
44240 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
44241 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
44242 address.
44243 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
44244 a C macro.
44245 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
44246 Indicates start of upper memory.
44247 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
44248 (generate_image): Abort when image size is big enough to corrupt
44249 upper memory.
44250
44251 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
44252 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
44253 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44254 instead of hardcoding 0xA0000.
44255 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
44256 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44257 instead of hardcoding 0xA0000.
44258
f970b55e 442592008-01-21 Robert Millan <rmh@aybabtu.com>
44260
44261 * disk/memdisk.c (memdisk_size): New variable.
44262 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
44263 `memdisk_size'.
44264 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
44265 image to dynamic memory.
44266 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
44267 `memdisk_size'. Free memdisk block.
44268
1a8b0526 442692008-01-21 Robert Millan <rmh@aybabtu.com>
44270
44271 Fix detection of very small filesystems (like tar).
44272
44273 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
44274 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
44275 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
44276 a problem with this disk).
44277
6e9b4aab 442782008-01-21 Robert Millan <rmh@aybabtu.com>
44279
44280 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
44281 on grub_biosdisk_rw_standard() error.
44282
0d8837b2 442832008-01-21 Robert Millan <rmh@aybabtu.com>
44284
44285 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
44286 recent changes.
44287 * kern/elf.c: Likewise.
44288 * kern/ieee1275/ieee1275.c: Likewise.
44289 * kern/powerpc/ieee1275/openfw.c: Likewise.
44290 * term/ieee1275/ofconsole.c: Likewise.
44291
ffd36e34 442922008-01-21 Robert Millan <rmh@aybabtu.com>
44293
44294 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
44295
3f0093d0 44296 * include/grub/kernel.h (grub_arch_memdisk_addr)
44297 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 44298
3f0093d0 44299 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
44300 (grub_arch_memdisk_size): ... to here.
ffd36e34 44301
6c391b21 443022008-01-21 Robert Millan <rmh@aybabtu.com>
44303
44304 Mostly based on bugfix from Bean.
44305
44306 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
44307 attribute with hook() parameter.
44308 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
44309 declaration.
44310 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
44311 attribute with hook() parameter.
44312 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
44313 declaration.
44314
55a581dc 443152008-01-21 Robert Millan <rmh@aybabtu.com>
44316
44317 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
44318 (pkglib_MODULES): Add `memdisk.mod'.
44319 (memdisk_mod_SOURCES): New variable.
44320 (memdisk_mod_CFLAGS): Likewise.
44321 (memdisk_mod_LDFLAGS): Likewise.
44322
44323 * disk/memdisk.c: New file.
44324
44325 * include/grub/disk.h (grub_disk_dev_id): Add
44326 `GRUB_DISK_DEVICE_MEMDISK_ID'.
44327
44328 * include/grub/i386/pc/kernel.h
44329 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
44330 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
44331 (grub_kernel_image_size): New variable declaration.
44332 (grub_total_module_size): Likewise.
44333 (grub_memdisk_image_size): Likewise.
44334
44335 * include/grub/i386/pc/memory.h
44336 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
44337
44338 * include/grub/kernel.h: Include `<grub/symbol.h>'.
44339 (grub_arch_memdisk_addr): New variable declaration.
44340 (grub_arch_memdisk_size): Likewise.
44341
44342 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
44343 (grub_arch_memdisk_size): Likewise.
44344
44345 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
44346 (codestart): Replace hardcoded `0x100000' with
44347 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
44348
44349 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
44350 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
44351 not NULL, append the contents of the file it refers to, at the end of
44352 the compressed kernel image. Initialize `grub_memdisk_image_size'
44353 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
44354 (options): Add "memdisk"|'m' option.
44355 (main): Parse --memdisk|-m option, and pass user-provided path as
44356 parameter to generate_image().
44357
3d7f54c9 443582008-01-20 Robert Millan <rmh@aybabtu.com>
44359
44360 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
44361 grub_dprintf() calls from here ...
44362 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
44363
0bf74728 443642008-01-20 Robert Millan <rmh@aybabtu.com>
44365
44366 Fix detection of "real mode" when /options/real-mode? doesn't exist.
44367
44368 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
44369 declaration.
44370 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
44371 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
44372 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 44373 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 44374 property).
44375 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
44376 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
44377
33bf70a7 443782008-01-19 Robert Millan <rmh@aybabtu.com>
44379
fe6b695a 44380 Get rid of confusing function (superseded by
33bf70a7 44381 `grub_ieee1275_get_integer_property')
44382 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
44383 prototype.
44384 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
44385 function.
44386 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
44387 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 44388 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 44389
e2da7d26 443902008-01-19 Robert Millan <rmh@aybabtu.com>
44391
44392 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
44393 command after "shut-down", since implementations differ on which
44394 the command for halt is.
44395
59f1fd8d 443962008-01-19 Robert Millan <rmh@aybabtu.com>
44397
44398 * include/grub/i386/linuxbios/console.h: Add header protection.
44399 (grub_keyboard_controller_init): New function prototype.
44400 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
44401 (KEYBOARD_COMMAND_READ): Likewise.
44402 (KEYBOARD_COMMAND_WRITE): Likewise.
44403 (KEYBOARD_SCANCODE_SET1): Likewise.
44404 (grub_keyboard_controller_write): New function.
44405 (grub_keyboard_controller_read): Likewise.
44406 (grub_keyboard_controller_init): Likewise.
44407
44408 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
44409 (grub_console_init): On coreboot/LinuxBIOS, call
44410 grub_keyboard_controller_init().
44411
5f5a7c15 444122008-01-19 Robert Millan <rmh@aybabtu.com>
44413
44414 PowerPC changes provided by Pavel Roskin.
44415
44416 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
44417 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
44418 don't rely on cmain() doing it.
44419 * kern/i386/ieee1275/startup.S (_start): Store %eax in
44420 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
44421
1210e168 444222008-01-16 Robert Millan <rmh@aybabtu.com>
44423
44424 * include/grub/i386/linuxbios/memory.h
44425 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
44426 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
44427 receive `table_header' as argument. Instead, probe for it in the
44428 known memory ranges where it can be present.
44429 (grub_available_iterate): Do not pass a fixed `table_header' address
44430 to grub_linuxbios_table_iterate().
44431
3d04eab8 444322008-01-15 Robert Millan <rmh@aybabtu.com>
44433
44434 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
44435 * conf/i386-ieee1275.rmk: New file.
44436 * include/grub/i386/ieee1275/console.h: Likewise.
44437 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
44438 * include/grub/i386/ieee1275/kernel.h: Likewise.
44439 * include/grub/i386/ieee1275/time.h: Likewise.
44440 * kern/i386/ieee1275/init.c: Likewise.
44441 * kern/i386/ieee1275/startup.S: Likewise.
44442
d1bc1b73 444432008-01-15 Robert Millan <rmh@aybabtu.com>
44444
44445 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
44446 when pointers are 32-bit (but still do set it to one when they are
44447 64-bit).
44448
66a65807 444492008-01-15 Robert Millan <rmh@aybabtu.com>
44450
44451 * include/grub/ieee1275/ieee1275.h
44452 (grub_ieee1275_get_integer_property): New function prototype.
44453
44454 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
44455 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 44456 grub_ieee1275_get_property() to handle endianness.
66a65807 44457
44458 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
44459 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 44460 where appropriate.
66a65807 44461 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
44462 (grub_map): Likewise.
44463 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
44464
a83ccafd 444652008-01-15 Bean <bean123ch@gmail.com>
44466
44467 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
44468 (grub_script_execute_cmdline): Reset grub_errno.
44469
44470 * normal/main.c (read_config_file): Reset grub_errno.
44471
44472 * normal/parse.y (script_init): New.
44473 (script): Move function and menuentry here.
44474 (delimiter): New.
44475 (command): Add delimiter at the end of command.
44476 (commands): Adjust to match the new command.
44477 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 44478 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 44479 (if): Use the new commands.
44480
44481 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
44482
df6ecfc6 444832008-01-15 Robert Millan <rmh@aybabtu.com>
44484
44485 * normal/menu.c (run_menu): Move timeout message from here ...
44486 (print_timeout): ... to here.
44487 (run_menu): Use print_timeout() once during initial draw to print
44488 the whole message, and again in every clock tick to update only
44489 the number of seconds.
44490
87ae25eb 444912008-01-15 Robert Millan <rmh@aybabtu.com>
44492
44493 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
44494 actual size of `available' from grub_ieee1275_get_property(), and
44495 restrict parsing to that bound.
44496
47bf09a4 444972008-01-15 Christian Franke <franke@computer.org>
44498
44499 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
44500 (argp_program_version): Remove variable.
44501 (argp_program_bug_address): Likewise.
44502 (options): Convert from struct argp_option to struct option.
44503 (struct arguments): Remove.
44504 (parse_opt): Remove.
44505 (usage): New function.
44506 (main): Replace struct args members by simple variables.
44507 Replace argp_parse() by getopt_long().
44508 Add switch to evaluate options.
44509 Add missing "(...)" around root_dev in prefix string.
44510
c86f1469 445112008-01-14 Robert Millan <rmh@aybabtu.com>
44512
44513 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
44514 for grub_ieee1275_exit(), in order to improve portability.
44515
e622c559 445162008-01-14 Robert Millan <rmh@aybabtu.com>
44517
44518 * util/grub.d/10_linux.in (prefix): Define.
44519 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
44520
44cb1ec8 445212008-01-13 Pavel Roskin <proski@gnu.org>
44522
44523 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
44524 grub_errno if no errors have been detected.
44525
1eb8c802 445262008-01-12 Robert Millan <rmh@aybabtu.com>
44527
44528 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
44529 (grub_util_get_dev_abstraction): New function prototype.
44530
44531 * util/getroot.c: Include `<grub/util/getroot.h>'
44532 (grub_util_get_grub_dev): Move detection of abstraction type to ...
44533 (grub_util_get_dev_abstraction): ... here (new function).
44534
44535 * util/grub-probe.c: Convert PRINT_* to an enum. Add
44536 `PRINT_ABSTRACTION'.
44537 (probe): Probe for abstraction type when requested.
44538 (main): Understand `--target=abstraction'.
44539
44540 * util/i386/efi/grub-install.in: Add abstraction module to core
44541 image when it is found to be necessary.
44542 * util/i386/pc/grub-install.in: Likewise.
44543 * util/powerpc/ieee1275/grub-install.in: Likewise.
44544
44545 * util/update-grub_lib.in (font_path): Return system path without
44546 converting to GRUB path.
44547 * util/update-grub.in: Convert system path returned by font_path()
44548 to a GRUB path. Use `grub-probe -t abstraction' to determine what
44549 abstraction module is needed for loading fonts (if any). Export
44550 that as `GRUB_PRELOAD_MODULES'.
44551 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
44552 insmod commands).
44553
52bd3de9 445542008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
44555
44556 Remove some unused code from reiserfs.
f19dbdb7 44557
52bd3de9 44558 * fs/reiserfs.c (struct grub_reiserfs_key)
44559 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
44560 (struct grub_reiserfs_node_body): Removed.
44561 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44562 Likewise.
44563 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44564 Likewise.
44565 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44566 Likewise.
44567 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44568 Likewise.
44569 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44570 Likewise.
44571 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
44572 Likewise.
44573 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44574 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44575 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44576
2f80039d 445772008-01-10 Robert Millan <rmh@aybabtu.com>
44578
44579 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
44580 Determines if a file is garbage left by packaging systems, etc.
44581 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
44582 for processing /etc/grub.d scripts.
44583 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
44584 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
44585 as a condition for processing Linux images.
44586
87888032 445872008-01-10 Pavel Roskin <proski@gnu.org>
44588
44589 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
44590 to compile reiserfs.c on PowerPC.
44591
7e54fced 445922008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 44593
44594 * kern/device.c (grub_device_iterate): Do not abort device iteration
44595 when one of the devices cannot be opened.
44596 * kern/disk.c (grub_disk_open): Do not account previous failures of
44597 unrelated functions when grub_errno is checked for.
44598
5aa541e6 445992008-01-08 Robert Millan <rmh@aybabtu.com>
44600
44601 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
44602 `! grub_linux_is_bzimage', change order of address comparison to make
44603 it more intuitive, and improve "too big zImage" error message.
44604
7076340d 446052008-01-08 Robert Millan <rmh@aybabtu.com>
44606
44607 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
44608 `$(update-grub_DATA)'.
44609 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
44610 targets.
44611
9ca70333 446122008-01-07 Robert Millan <rmh@aybabtu.com>
44613
44614 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
44615 which instruction is modified by grub-setup during installation
44616 (since it wasn't obvious by only looking at this file).
44617
38ccf575 446182008-01-07 Robert Millan <rmh@aybabtu.com>
44619
44620 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
44621 listing actual TODO items.
44622
f5db4291 446232008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44624
868967cf 44625 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
44626 correctly.
44627 (grub_reiserfs_get_key_offset): Likewise.
44628 (grub_reiserfs_set_key_offset): Likewise.
44629 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 44630 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 44631
44632 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
44633 better to remove the bitfield version completely.
f19dbdb7 44634
868967cf 446352008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44636
f5db4291 44637 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
44638 allocated from the heap, due to the fshelp implementation.
44639 (grub_reiserfs_dir): Free NODE, due to the same reason.
44640
492e6d9d 446412008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44642
44643 Mostly from Vincent Pelletier:
f19dbdb7 44644
492e6d9d 44645 * fs/reiserfs.c: New file.
f19dbdb7 44646
492e6d9d 44647 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
44648 (reiserfs_mod_SOURCES): New variable.
44649 (reiserfs_mod_CFLAGS): Likewise.
44650 (reiserfs_mod_LDFLAGS): Likewise.
44651
44652 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
44653 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
44654 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
44655 normal/color.c.
44656
9ce3e7c1 446572008-01-06 Robert Millan <rmh@aybabtu.com>
44658
44659 * normal/color.c: Remove `<grub/env.h>'.
44660
f3b58148 446612008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
44662
44663 * include/grub/normal.h: Include <grub/env.h>.
44664
7ac3bcfa 446652008-01-05 Robert Millan <rmh@aybabtu.com>
44666
44667 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
44668 usage example with `(hd0,1)'.
fb358190 44669 Reported by Samuel Thibault.
7ac3bcfa 44670
c8ee99d7 446712008-01-05 Robert Millan <rmh@aybabtu.com>
44672
44673 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
44674 (grub_linux_boot_zimage): Rename to ...
44675 (grub_linux_boot): ... this.
44676 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
44677 (grub_linux_boot_zimage): Conditionalize zImage copy.
44678
44679 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
44680 (grub_linux_boot_bzimage): Remove prototype.
44681 (grub_linux_boot_zimage): Rename to ...
44682 (grub_linux_boot): ... this.
44683
44684 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
44685 (grub_linux_boot): Remove function.
44686
0ece25b1 446872008-01-05 Robert Millan <rmh@aybabtu.com>
44688
44689 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
44690 (grub_env_write_color_highlight): Likewise.
44691 (grub_wait_after_message): Likewise.
44692
44693 * normal/color.c: New file.
44694
44695 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44696 (normal_mod_DEPENDENCIES): Likewise.
44697
44698 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44699 (normal_mod_DEPENDENCIES): Likewise.
44700
44701 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44702 (normal_mod_DEPENDENCIES): Likewise.
44703
44704 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44705 (normal_mod_DEPENDENCIES): Likewise.
44706
44707 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
44708 for waiting after a message is printed.
44709 * normal/main.c (read_config_file): Likewise.
44710 (grub_normal_init): Register grub_env_write_color_normal() and
44711 grub_env_write_color_highlight() hooks. Mark `color_normal' and
44712 `color_highlight' variables as global.
44713
44714 * normal/menu.c (grub_wait_after_message): New function.
44715 (grub_color_menu_normal): New variable. Replaces ...
44716 (GRUB_COLOR_MENU_NORMAL): ... this macro.
44717 (grub_color_menu_highlight): New variable. Replaces ...
44718 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
44719 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
44720 `GRUB_TERM_COLOR_STANDARD'.
44721 (print_message): Use `grub_setcolorstate' to reload colors. Rename
44722 `normal_code' and `highlight_code' to `old_color_normal' and
44723 `old_color_highlight', respectively.
44724 (grub_menu_init_page): Update colors when drawing the menu, based on
44725 `menu_color_normal' and `menu_color_highlight' variables.
44726 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
44727 a message is printed.
44728
182dd4e5 447292008-01-05 Robert Millan <rmh@aybabtu.com>
44730
44731 * kern/env.c (grub_env_context_open): Propagate hooks for global
44732 variables to new context.
44733
44734 * kern/main.c (grub_set_root_dev): Export `root' variable.
44735
ddf8f6ad 447362008-01-05 Robert Millan <rmh@aybabtu.com>
44737
44738 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 44739 discs unconditionally, since udev and others have options to provide
ddf8f6ad 44740 them.
44741
d8b43d9b 447422008-01-05 Robert Millan <rmh@aybabtu.com>
44743
44744 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
44745
2bff2de3 447462008-01-04 Christian Franke <franke@computer.org>
44747
44748 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
44749 of eisa_mmap.
44750
97eab917 447512008-01-03 Pavel Roskin <proski@gnu.org>
44752
44753 * kern/i386/linuxbios/init.c: Put "void" to all function
44754 declarations with no arguments.
44755 * kern/powerpc/ieee1275/init.c: Likewise.
44756 * term/i386/pc/at_keyboard.c: Likewise.
44757 * term/i386/pc/vga_text.c: Likewise.
44758 * util/grub-mkdevicemap.c: Likewise.
44759
b9416d00 447602008-01-02 Robert Millan <rmh@aybabtu.com>
44761
44762 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
44763 message when loaded image is out of bounds.
44764 (grub_multiboot_load_elf64): Likewise.
44765
92695df9 447662008-01-02 Pavel Roskin <proski@gnu.org>
44767
44768 * util/grub.d/10_linux.in: Try version without ".old" when
44769 looking for initrd. It's better to use initrd from the newer
44770 kernel of the same version than no initrd at all.
44771
d98d9cad 447722008-01-01 Robert Millan <rmh@aybabtu.com>
44773
44774 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
44775
dbfdce36 447762008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
44777
f19dbdb7 44778 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 44779 grub_video_get_active_render_target.
44780 (grub_video_adapter): Added unmap_color and get_active_render_target.
44781
f19dbdb7 44782 * video/video.c: Added grub_video_unmap_color and
dbfdce36 44783 grub_video_get_active_render_target.
44784 (grub_video_get_info): Changed method to accept NULL pointer as an
44785 argument to allow detection of active video adapter.
44786
44787 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
44788 grub_video_vbe_unmap_color_int.
44789 Added grub_video_vbe_unmap_color and
44790 grub_video_vbe_get_active_render_target.
44791 (grub_video_vbe_adapter): Added unmap_color and
44792 get_active_render_target.
44793
f19dbdb7 44794 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 44795 with grub_video_vbe_unmap_color_int.
44796
44797 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
44798 (DEFAULT_NORMAL_COLOR): Likewise.
44799 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
44800 (DEFAULT_FG_COLOR): Removed.
44801 (DEFAULT_BG_COLOR): Likewise.
44802 (DEFAULT_CURSOR_COLOR): Changed value.
44803 (grub_virtual_screen): Added standard_color_setting,
44804 normal_color_setting, highlight_color_setting and term_color.
44805 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
44806 (bitmap_width): Added.
44807 (bitmap_height): Likewise.
44808 (bitmap): Likewise.
44809 (set_term_color): Likewise.
44810 (grub_virtual_screen_setup): Changed to use new terminal coloring
44811 settings.
44812 (grub_gfxterm_init): Added init for bitmap.
44813 (grub_gfxterm_fini): Added destroy for bitmap.
44814 (redraw_screen_rect): Updated to use background bitmap and new
44815 terminal coloring.
44816 (scroll_up): Added optimization for case when there is no bitmap.
44817 (grub_gfxterm_cls): Fixed to use correct background color.
44818 (grub_virtual_screen_setcolorstate): Changed to use new terminal
44819 coloring.
44820 (grub_virtual_screen_setcolor): Likewise.
44821 (grub_virtual_screen_getcolor): Added.
44822 (grub_gfxterm_background_image_cmd): Likewise.
44823 (grub_video_term): Added setcolor and getcolor.
44824 (MOD_INIT): Added registration of background_image command.
44825 (MOD_TERM): Added unregistration for background_image command.
44826
c3c20931 448272007-12-30 Pavel Roskin <proski@gnu.org>
44828
44829 * loader/multiboot_loader.c: Fix multiboot command
44830 unregistration. Fix all typos in the word "multiboot".
44831
df266716 448322007-12-29 Pavel Roskin <proski@gnu.org>
94239199 44833
44834 * util/grub.d/10_linux.in: Refactor search for initrd. Add
44835 support for initrd names used in Fedora.
44836
fc6e896c 448372007-12-26 Bean <bean123ch@gmail.com>
44838
44839 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
44840 (cpio_mod_SOURCES): New variable.
44841 (cpio_mod_CFLAGS): Likewise.
44842 (cpio_mod_LDFLAGS): Likewise.
44843
44844 * fs/cpio.c: New file.
44845
44846 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
44847
44848 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44849
44850 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44851
44852 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44853
533110ad 448542007-12-25 Robert Millan <rmh@aybabtu.com>
44855
44856 * include/grub/term.h (struct grub_term): Add `getcolor' function.
44857 (grub_getcolor): New function.
44858
44859 * kern/term.c (grub_getcolor): New function.
44860 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
44861 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
44862 (print_entry): Set normal and highlight colors to
44863 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
44864 respectively, before printing and restore them to old
44865 values afterwards.
44866 (grub_menu_init_page): Likewise. Fill an additional colored space
44867 that would otherwise be left blank.
44868
44869 * term/efi/console.c (grub_console_getcolor): New function.
44870 (struct grub_console_term.getcolor): New variable.
44871 * term/i386/pc/console.c (grub_console_getcolor): New function.
44872 (struct grub_console_term.getcolor): New variable.
44873 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
44874 (struct grub_console_term.getcolor): New variable.
44875
44876 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
44877 (struct grub_console_term.setcolor): Remove variable.
44878 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
44879 (struct grub_console_term.setcolor): Remove variable.
44880 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
44881 (struct grub_console_term.setcolor): Remove variable.
44882 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
44883 (struct grub_console_term.setcolor): Remove variable.
44884
4931827f 448852007-12-25 Robert Millan <rmh@aybabtu.com>
44886
44887 * configure.ac: Search for possible unifont.hex locations, and
44888 define UNIFONT_HEX if found.
44889
44890 * Makefile.in (UNIFONT_HEX): Define variable.
44891 (DATA): Rename to ...
44892 (PKGLIB): ... this. Update all users.
44893 (PKGDATA): New variable.
44894 (pkgdata_IMAGES): Rename to ...
44895 (pkglib_IMAGES): ... this. Update all users.
44896 (pkgdata_MODULES): Rename to ...
44897 (pkglib_MODULES): ... this. Update all users.
44898 (pkgdata_PROGRAMS): Rename to ...
44899 (pkglib_PROGRAMS): ... this. Update all users.
44900 (pkgdata_DATA): Rename to ...
44901 (pkglib_DATA): ... this. Update all users.
44902 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
44903 (unicode.pff, ascii.pff): New rules.
44904 (all-local): Add `$(PKGDATA)' dependency.
44905 (install-local): Process `$(PKGDATA)'.
44906
44907 * util/update-grub_lib.in (font_path): Search for *.pff files in
44908 a few more locations, including `${pkgdata}'.
44909
57e57e31 449102007-12-23 Robert Millan <rmh@aybabtu.com>
44911
44912 Patch from Bean <bean123ch@gmail.com>:
44913 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
44914 `size'.
44915
4bc72aa9 449162007-12-21 Bean <bean123ch@gmail.com>
44917
44918 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
44919 (ntfscomp_mod_SOURCES): New variable.
44920 (ntfscomp_mod_CFLAGS): Likewise.
44921 (ntfscomp_mod_LDFLAGS): Likewise.
44922
44923 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
44924 (grub_probe_SOURCES): Likewise.
44925 (grub_emu_SOURCES): Likewise.
44926
44927 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44928 (grub_emu_SOURCES): Likewise.
44929
44930 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44931 (grub_emu_SOURCES): Likewise.
44932
44933 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44934 (grub_emu_SOURCES): Likewise.
44935
44936 * fs/ntfs.c (grub_ntfscomp_func): New variable.
44937 (read_run_list): Renamed to grub_ntfs_read_run_list.
44938 (decomp_nextvcn): Moved to ntfscomp.c.
44939 (decomp_getch): Likewise.
44940 (decomp_get16): Likewise.
44941 (decomp_block): Likewise.
44942 (read_block): Likewise.
44943 (read_data): Partially moved to ntfscomp.c.
44944 (fixup): Change unsigned to grub_uint16_t.
44945 (read_mft): Change unsigned long to grub_uint32_t.
44946 (read_attr): Likewise.
44947 (read_data): Likewise.
44948 (read_run_data): Likewise.
44949 (read_run_list): Likewise.
44950 (read_mft): Likewise.
44951
44952 * fs/ntfscomp.c: New file.
44953
44954 * include/grub/ntfs.h: New file.
44955
af680a87 449562007-12-16 Robert Millan <rmh@aybabtu.com>
44957
44958 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
44959 IDE disk check, since Linux is known to support 20 IDE disks.
44960 Reported by Colin Watson.
44961
84be7599 449622007-12-15 Bean <bean123ch@gmail.com>
44963
44964 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
44965 (lnxboot_img_SOURCES): New variable.
44966 (lnxboot_img_ASFLAGS): Likewise.
44967 (lnxboot_img_LDFLAGS): Likewise.
44968
44969 * boot/i386/pc/lnxboot.S: New file.
44970
6af9db01 449712007-11-24 Pavel Roskin <proski@gnu.org>
44972
44973 * configure.ac: Test if '--build-id=none' is supported by the
44974 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
44975 objcopy to generate incorrect binary files (binutils
44976 2.17.50.0.18-1 as shipped by Fedora 8).
44977 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
44978 linking, so that build ID doesn't break the test.
44979
7361cfe6 449802007-11-24 Pavel Roskin <proski@gnu.org>
44981
44982 * include/grub/i386/time.h: use "void" in the argument list
44983 of grub_cpu_idle().
44984 * include/grub/powerpc/time.h: Likewise.
44985 * include/grub/sparc64/time.h: Likewise.
44986
1593e10c 449872007-11-18 Christian Franke <franke@computer.org>
44988
44989 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
44990 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
44991 This fixes the problem that function keys did not work in grub-emu.
44992
3b8db1a8 449932007-11-18 Christian Franke <franke@computer.org>
44994
44995 * disk/host.c (grub_host_open): Remove attribute unused from
44996 name parameter. Add check for "host". This fixes the problem
44997 that grub-emu does not find partitions.
44998
2e29408d 449992007-11-18 Christian Franke <franke@computer.org>
45000
45001 * util/hostfs.c (is_dir): New function.
45002 (grub_hostfs_dir): Handle missing dirent.d_type case.
45003 (grub_hostfs_read): Add missing fseek().
45004 (grub_hostfs_label): Clear label pointer. This fixes a crash
45005 of grub-emu on "ls (host)".
45006
398cd047 450072007-11-18 Christian Franke <franke@computer.org>
45008
45009 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
45010 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
45011 to 64 bit boundary by default.
45012
c405c391 450132007-11-18 Bean <bean123ch@gmail.com>
45014
45015 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
45016 (hexdump_mod_SOURCES): New variable.
45017 (hexdump_mod_CFLAGS): Likewise.
45018 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 45019
c405c391 45020 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45021
45022 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45023
45024 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45025
45026 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45027
45028 * include/grub/hexdump.h: New file.
45029
45030 * commands/hexdump.c: New file.
45031
5cced7fd 450322007-11-10 Robert Millan <rmh@aybabtu.com>
45033
45034 * commands/i386/pc/play.c (beep_off): Switch order of arguments
45035 in grub_outb() calls.
45036 (beep_on): Likewise.
45037
8b714eb0 450382007-11-10 Christian Franke <franke@computer.org>
45039
45040 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
45041 (grub_menu_run): Likewise.
45042
ce0f1839 450432007-11-10 Robert Millan <rmh@aybabtu.com>
45044
45045 * include/grub/i386/efi/machine.h: New file.
45046 * include/grub/i386/linuxbios/machine.h: Likewise.
45047 * include/grub/i386/pc/machine.h: Likewise.
45048 * include/grub/powerpc/ieee1275/machine.h: Likewise.
45049 * include/grub/sparc64/ieee1275/machine.h: Likewise.
45050
45051 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
45052 (serial_hw_io_addr): New variable.
45053 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
45054 instead of `(unsigned short *) 0x400'.
45055
270c237d 450562007-11-10 Bean <bean123ch@gmail.com>
45057
45058 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
45059
a87783bf 450602007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45061
45062 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
45063 (vga_mod_SOURCES): Added.
45064 (vga_mod_CFLAGS): Likewise.
45065 (vga_mod_LDFLAGS): Likewise.
45066
45067 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
45068 grub_outb() calls.
45069 (set_map_mask): Likewise.
45070 (set_read_map): Likewise.
45071 (set_read_address): Likewise.
45072 (vga_font): Removed variable.
45073 (get_vga_glyph): Removed function.
45074 (invalidate_char): Likewise.
45075 (write_char): Changed to use grub_font_get_glyph() for font
45076 information.
45077 (grub_vga_putchar): Likewise.
45078 (grub_vga_getcharwidth): Likewise.
45079
6433b448 450802007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45081
45082 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
45083 flags.
45084 (pxeboot_img_LDFLAGS): Likewise.
45085 (diskboot_img_LDFLAGS): Likewise.
45086 (kernel_img_LDFLAGS): Likewise.
45087
49178511 450882007-11-06 Robert Millan <rmh@aybabtu.com>
45089
45090 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
45091 in grub_outb() calls.
45092 (serial_hw_init): Likewise.
45093
53b052de 450942007-11-05 Robert Millan <rmh@aybabtu.com>
45095
45096 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
45097 spaces. Skip non-regular files.
45098
5ab33bba 450992007-11-05 Robert Millan <rmh@aybabtu.com>
45100
45101 * kern/disk.c (grub_disk_firmware_fini)
45102 (grub_disk_firmware_is_tainted): New variables.
45103
45104 * include/grub/disk.h (grub_disk_firmware_fini)
45105 (grub_disk_firmware_is_tainted): Likewise.
45106
45107 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
45108 (grub_disk_biosdisk_fini): ... to here.
45109 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
45110 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
45111 is set. Register grub_disk_biosdisk_fini() in
45112 `grub_disk_firmware_fini'.
45113
45114 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
45115 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
45116 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
45117 to finish existing firmware disk interface.
45118
45119 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
45120 (ata_mod_SOURCES): New variable.
45121 (ata_mod_CFLAGS): Likewise.
45122 (ata_mod_LDFLAGS): Likewise.
45123
0149ab7c 451242007-11-05 Robert Millan <rmh@aybabtu.com>
45125
45126 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
45127 (grub_ata_wait): Reimplement using grub_millisleep().
45128
45129 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
45130 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
45131
be7ac41e 451322007-11-03 Marco Gerards <marco@gnu.org>
45133
45134 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
45135 (CRTC_ADDR_PORT): New macro.
45136 (CRTC_DATA_PORT): Likewise.
45137 (CRTC_CURSOR): Likewise.
45138 (CRTC_CURSOR_ADDR_HIGH): Likewise.
45139 (CRTC_CURSOR_ADDR_LOW): Likewise.
45140 (update_cursor): New function.
45141 (grub_console_real_putchar): Call `update_cursor'.
45142 (grub_console_gotoxy): Likewise.
45143 (grub_console_cls): Set the default color when clearing the
45144 screen.
45145 (grub_console_setcursor): Implemented.
45146
bb06ab2e 451472007-11-03 Marco Gerards <marco@gnu.org>
45148
45149 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
45150 become activate.
45151 (grub_ata_pio_write): Likewise.
45152
45153 (grub_atapi_identify): Wait after issuing an ATA command.
45154 (grub_atapi_packet): Likewise.
45155 (grub_ata_identify): Likewise.
45156 (grub_ata_readwrite): Likewise.
45157
cf8f780b 451582007-11-03 Marco Gerards <marco@gnu.org>
45159
45160 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
45161 (grub_ata_pio_write): Likewise.
45162 (grub_ata_readwrite): Use `grub_error', instead of
45163 returning `grub_errno'.
45164
ed649e54 451652007-11-03 Marco Gerards <marco@gnu.org>
45166
45167 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
45168 grub_ata_pio_write once for every single sector, instead of for
45169 multiple sectors.
45170
ca25d8f0 451712007-10-31 Robert Millan <rmh@aybabtu.com>
45172
45173 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
45174
45175 * conf/i386-linuxbios.rmk: New file.
45176
45177 * kern/i386/pc/hardware.c: Likewise.
45178 * term/i386/pc/at_keyboard.c: Likewise.
45179 * term/i386/pc/vga_text.c: Likewise.
45180
45181 * include/grub/i386/linuxbios/boot.h: Likewise.
45182 * include/grub/i386/linuxbios/console.h: Likewise.
45183 * include/grub/i386/linuxbios/init.h: Likewise.
45184 * include/grub/i386/linuxbios/kernel.h: Likewise.
45185 * include/grub/i386/linuxbios/loader.h: Likewise.
45186 * include/grub/i386/linuxbios/memory.h: Likewise.
45187 * include/grub/i386/linuxbios/serial.h: Likewise.
45188 * include/grub/i386/linuxbios/time.h: Likewise.
45189
45190 * kern/i386/linuxbios/init.c: Likewise.
45191 * kern/i386/linuxbios/startup.S: Likewise.
45192 * kern/i386/linuxbios/table.c: Likewise.
45193
e911ecc1 451942007-10-31 Marco Gerards <marco@gnu.org>
45195
45196 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
45197 (ata_mod_SOURCES): New variable.
45198 (ata_mod_CFLAGS): Likewise.
45199 (ata_mod_LDFLAGS): Likewise.
45200
45201 * disk/ata.c: New file.
45202
45203 * include/grub/disk.h (grub_disk_dev_id): Add
45204 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 45205
7f66d0e0 452062007-10-31 Robert Millan <rmh@aybabtu.com>
45207
45208 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
45209 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
45210
45211 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
45212 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
45213
45214 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
45215 `<grub/types.h>'.
45216
45217 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
45218
5cd7dd46 452192007-10-27 Robert Millan <rmh@aybabtu.com>
45220
3236ca65 45221 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 45222
2ebfc90f 452232007-10-22 Robert Millan <rmh@aybabtu.com>
45224
45225 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
45226 `"../realmode.S"'.
45227 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
45228
73fcb0f3 452292007-10-22 Robert Millan <rmh@aybabtu.com>
45230
45231 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
45232 (pkgdata_MODULES): Add `biosdisk.mod'.
45233 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
45234 variables.
45235
45236 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
45237 (grub_biosdisk_init): Replace with ...
45238 (GRUB_MOD_INIT(biosdisk)): ... this.
45239 (grub_biosdisk_fini): Replace with ...
45240 (GRUB_MOD_FINI(biosdisk)): ... this.
45241
45242 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
45243 (grub_machine_init): Remove call to grub_biosdisk_init().
45244 (grub_machine_fini): Remove call to grub_machine_fini().
45245
45246 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
45247
3381d274 452482007-10-22 Robert Millan <rmh@aybabtu.com>
45249
45250 * include/grub/time.h: New file.
45251 * include/grub/i386/time.h: Likewise.
45252 * include/grub/powerpc/time.h: Likewise.
45253 * include/grub/sparc64/time.h: Likewise.
45254
45255 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
45256 instances to ...
45257 (KERNEL_MACHINE_TIME_HEADER): ... this.
45258 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45259 instances to ...
45260 (KERNEL_MACHINE_TIME_HEADER): ... this.
45261 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45262 instances to ...
45263 (KERNEL_MACHINE_TIME_HEADER): ... this.
45264
45265 * kern/i386/efi/init.c: Include `<grub/time.h>'.
45266 (grub_millisleep): New function.
45267 * kern/i386/pc/init.c: Include `<grub/time.h>'.
45268 (grub_millisleep): New function.
45269 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
45270 Remove `grub/machine/time.h' include.
45271 (grub_millisleep): New function.
45272 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
45273 Remove `grub/machine/time.h' include.
45274 (grub_millisleep): New function.
45275
45276 * include/grub/misc.h (grub_div_roundup): New function.
45277
45278 * kern/misc.c: Include `<grub/time.h>'.
45279 (grub_millisleep_generic): New function.
45280
45281 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
45282 Add `time.h'.
45283 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
45284 Add `time.h'.
45285 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
45286 `machine/time.h'. Add `time.h'.
45287 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45288
a39a0312 452892007-10-21 Robert Millan <rmh@aybabtu.com>
45290
45291 * include/grub/misc.h (grub_max): New function.
45292
2aad70e2 452932007-10-21 Robert Millan <rmh@aybabtu.com>
45294
45295 * util/misc.c (grub_util_info): Call fflush() before returning.
45296
54b71c4b 452972007-10-20 Robert Millan <rmh@aybabtu.com>
45298
45299 * genmk.rb (Image): Copy `extra_flags' from here ...
45300 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
45301
45302 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
45303 to `argc' and `args' arguments.
45304
a979f513 453052007-10-17 Robert Millan <rmh@aybabtu.com>
45306
45307 * kern/i386/loader.S: New file.
45308
45309 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
45310 * kern/i386/loader.S (grub_linux_prot_size)... to here.
45311 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
45312 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
45313 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
45314 * kern/i386/loader.S (grub_linux_real_addr)... to here.
45315 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
45316 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
45317 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
45318 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
45319 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
45320 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
45321 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
45322 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
45323
45324 * kern/i386/realmode.S: New file.
45325
45326 * kern/i386/pc/startup.S (protstack): Moved from here ...
45327 * kern/i386/realmode.S (protstack)... to here.
45328 * kern/i386/pc/startup.S (gdt): Moved from here ...
45329 * kern/i386/realmode.S (gdt)... to here.
45330 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
45331 * kern/i386/realmode.S (prot_to_real)... to here.
45332
45333 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
45334 `kern/i386/realmode.S'.
45335
825fc8fd 453362007-10-17 Robert Millan <rmh@aybabtu.com>
45337
45338 * include/grub/i386/loader.h: New file.
45339
45340 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
45341 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45342 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45343 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45344 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
45345 * include/grub/i386/loader.h (grub_linux_prot_size)
45346 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45347 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45348 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45349 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
45350
45351 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
45352
e179b2f4 453532007-10-15 Robert Millan <rmh@aybabtu.com>
45354
45355 * normal/misc.c (grub_normal_print_device_info): Do not probe for
45356 filesystem when dev->disk is unset.
45357 Do probe for filesystem even when dev->disk->has_partitions is set.
45358 In case a filesystem is found, always report it.
45359 In case it isn't, if dev->disk->has_partitions is set, report that
45360 a partition table was found instead of reporting that no filesystem
45361 could be identified.
45362
5db82af6 453632007-10-12 Robert Millan <rmh@aybabtu.com>
45364
45365 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
45366 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
45367
68f6ac74 45368 * include/grub/types.h (grub_host_to_target16): New macro.
45369 (grub_host_to_target32): Likewise.
45370 (grub_host_to_target64): Likewise.
45371 (grub_target_to_host16): Likewise.
45372 (grub_target_to_host32): Likewise.
45373 (grub_target_to_host64): Likewise.
5db82af6 45374
45375 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
45376 Renamed from to ...
45377 (GRUB_MOD_ALIGN): ...this. Update all users.
45378
68f6ac74 45379 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
45380 grub_host_to_target32.
45381 Replace grub_be_to_cpu32 with grub_target_to_host32.
45382 (load_modules): Likewise.
45383 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
45384 Replace grub_be_to_cpu32 with grub_target_to_host32.
45385 Replace grub_cpu_to_be16 with grub_host_to_target16.
45386 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 45387
3cf497cc 453882007-10-12 Robert Millan <rmh@aybabtu.com>
45389
45390 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
45391 * util/elf/grub-mkimage.c: ... here.
45392
45393 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
45394 `util/powerpc/ieee1275/grub-mkimage.c'.
45395
c8cc3692 453962007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 45397
c8cc3692 45398 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
45399 and make it easier to figure out.
45400 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
45401 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
45402 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
45403 leave us with less than HEAP_MIN_SIZE total heap.
45404 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 45405
5c58b791 454062007-10-03 Robert Millan <rmh@aybabtu.com>
45407
45408 * include/grub/i386/io.h: New file.
45409 * commands/i386/pc/play.c (inb): Removed.
45410 (outb): Removed.
45411 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45412 with grub_outb().
afcd2ef8 45413 * term/i386/pc/serial.c (inb): Removed.
45414 (outb): Removed.
45415 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45416 with grub_outb().
45417 * term/i386/pc/vga.c (inb): Removed.
45418 (outb): Removed.
45419 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45420 with grub_outb().
5c58b791 45421
1a477ed6 454222007-10-02 Robert Millan <rmh@aybabtu.com>
45423
45424 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
45425 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45426 Reported by Marcin Kurek.
45427
6b5d80fa 454282007-09-07 Robert Millan <rmh@aybabtu.com>
45429
45430 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
45431 SmartFirmware version updates (as released by Sven Luther), and avoid
45432 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
45433 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
45434 known broken.
45435
5618afbf 454362007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45437
45438 From Hitoshi Ozeki:
45439 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
45440 when merging two regions.
45441
6139dcd9 454422007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45443
508e39ee 45444 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
45445 * normal/completion.c (grub_normal_do_completion): Likewise.
45446 Reported by Hitoshi Ozeki.
45447
454482007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45449
6139dcd9 45450 Do not use devices at boot in chainloading.
f19dbdb7 45451
6139dcd9 45452 * loader/i386/pc/chainloader.c (boot_drive): New variable.
45453 (boot_part_addr): Likewise.
45454 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
45455 with BOOT_DRIVE and BOOT_PART_ADDR.
45456 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
45457 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
45458
38da6516 454592007-08-29 Robert Millan <rmh@aybabtu.com>
45460
45461 Patch from Simon Peter <dn.tlp@gmx.net>:
45462 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
45463 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
45464 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
45465 util/i386/pc/grub-setup.c_DEPENDENCIES.
45466 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
45467 util/grub-probe.c_DEPENDENCIES.
45468 * conf/powerpc-ieee1275.rmk: Likewise.
45469
29d0928c 454702007-08-28 Robert Millan <rmh@aybabtu.com>
45471
45472 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
45473 to tell grub-mkdevicemap how to name devices.
45474 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
45475 feature).
45476
45477 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
45478 util/i386/get_disk_name.c.
45479 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
45480 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
45481 util/ieee1275/get_disk_name.c.
45482
45483 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
45484
45485 * DISTLIST: Add util/i386/get_disk_name.c and
45486 util/ieee1275/get_disk_name.c.
45487
45488 * util/grub-mkdevicemap.c: Replace device naming logic with
45489 grub_util_get_disk_name() calls.
45490
5a0d3cca 454912007-08-20 Robert Millan <rmh@aybabtu.com>
45492
45493 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
45494 (so that it works for both plural and singular quantities).
45495
8b72db2f 454962007-08-05 Robert Millan <rmh@aybabtu.com>
45497
45498 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
45499 so that [xz] isn't taken into account when determining order.
45500
352466bf 455012007-08-02 Marco Gerards <marco@gnu.org>
45502
45503 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
45504 `include/multiboot2.h', `include/grub/elfload.h',
45505 `include/multiboot.h', `include/grub/multiboot.h',
45506 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
45507 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
45508 `kern/elf.c', `loader/multiboot_loader.c',
45509 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
45510 `loader/i386/pc/multiboot2.c',
45511 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
45512 `util/i386/pc/grub-mkrescue.in'. Remove
45513 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
45514 `include/grub/i386/pc/util/biosdisk.h' and
45515 `include/grub/powerpc/ieee1275/multiboot.h'.
45516
8f096014 455172007-08-02 Bean <bean123ch@gmail.com>
45518
45519 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
45520 (ntfs_mod_SOURCES): New variable.
45521 (ntfs_mod_CFLAGS): Likewise.
45522 (ntfs_mod_LDFLAGS): Likewise.
45523
45524 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
45525 (grub_probe_SOURCES): Likewise.
45526 (grub_emu_SOURCES): Likewise.
45527
45528 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45529 (grub_emu_SOURCES): Likewise.
45530
45531 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45532 (grub_emu_SOURCES): Likewise.
f19dbdb7 45533
8f096014 45534 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
45535
45536 * fs/ntfs.c: New file.
45537
9959f7db 455382007-08-02 Bean <bean123ch@gmail.com>
45539
45540 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
45541
45542 * file.h (grub_file): Likewise.
45543
45544 * fshelp.h (grub_fshelp_read_file): Likewise.
45545
45546 * util/i386/pc/grub-setup.c (setup): Likewise.
45547 (save_first_sector): Likewise.
45548 (save_blocklists): Likewise.
f19dbdb7 45549
9959f7db 45550 * fs/affs.c (grub_affs_read_file): Likewise.
45551
45552 * fs/ext2.c (grub_ext2_read_file): Likewise.
45553
45554 * fs/fat.c (grub_fat_read_data): Likewise.
45555
45556 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
45557
45558 * fs/hfs.c (grub_hfs_read_file): Likewise.
45559
45560 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45561
45562 * fs/jfs.c (grub_jfs_read_file): Likewise.
45563
45564 * fs/minix.c (grub_minix_read_file): Likewise.
45565
45566 * fs/sfs.c (grub_sfs_read_file): Likewise.
45567
45568 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 45569
9959f7db 45570 * fs/xfs.c (grub_xfs_read_file): Likewise.
45571
45572 * command/blocklist.c (read_blocklist): Likewise.
45573 (print_blocklist): Likewise.
45574
0a203f83 455752007-08-02 Marco Gerards <marco@gnu.org>
45576
45577 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
45578 `util/hostfs.c'.
45579
45580 * disk/host.c: New file.
45581
45582 * util/hostfs.c: Likewise.
45583
45584 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
45585 return `GRUB_ERR_BAD_FS'.
45586 * fs/sfs.c (grub_sfs_mount): Likewise.
45587 * fs/xfs.c (grub_xfs_mount): Likewise.
45588
45589 * include/grub/disk.h (enum grub_disk_dev_id): Add
45590 `GRUB_DISK_DEVICE_HOST_ID'.
45591
45592 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
45593
e5dfe777 455942007-07-24 Jerone Young <jerone@gmail.com>
45595
f19dbdb7 45596 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 45597 modules for compilation.
45598 * conf/powerpc-ieee1275.rmk: Likewise.
45599
45600 * include/multiboot.h: Move multiboot definitions to one file. Rename
45601 many definitions to not get grub specific.
45602 * include/multiboot2.h: Create header with multiboot 2 definitions.
45603 * include/grub/multiboot.h: Header for grub specific function
45604 prototypes and definitions.
45605 * include/grub/multiboot2.h: Likewise.
45606 * include/grub/multiboot_loader.h: Likewise.
45607 * include/grub/i386/pc/multiboot.h: Removed.
45608 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
45609
45610 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
45611 and 2 to allow for one multiboot and module commands.
45612 * loader/multiboot2.c: Add multiboot2 functionality.
45613 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
45614 and definition names.
45615 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
45616 2 functions.
45617 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
45618 ieee1275 specific multiboot2 code.
45619
45620 * kern/i386/pc/startup.S: Change headers and definition names for
45621 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
45622
daf0f0ba 456232007-07-22 Robert Millan <rmh@aybabtu.com>
45624
45625 * geninitheader.sh: Process file specified in first parameter rather
45626 than hardcoding grub_modules_init.lst.
fe6b695a 45627 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 45628 than hardcoding grub_modules_init.h.
45629
45630 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
45631 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
45632 grub_probe_init.[ch] and grub_setup_init.[ch].
45633
45634 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
45635 grub_modules_init.h with grub_emu_init.h.
45636 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
45637 grub_probe_init.[ch] files.
45638 * conf/i386-efi.rmk: Likewise.
45639 * conf/i386-pc.rmk: Likewise.
45640 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
45641 grub_setup_init.[ch] files.
45642
45643 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
45644 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
45645 to initialize modules rather than a list of hardcoded functions.
45646 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
45647 grub_init_all() to initialize modules rather than a list of hardcoded
45648 functions.
45649
54cdc1cc 456502007-07-22 Robert Millan <rmh@aybabtu.com>
45651
45652 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
45653 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
45654
ad0686cc 456552007-07-22 Robert Millan <rmh@aybabtu.com>
45656
45657 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45658 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
45659 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
45660 flag when running on SmartFirmware.
45661 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
45662 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
45663 was set.
45664
45665 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
45666 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
45667 rather than decreasing it.
45668
45669 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
45670 there's not enough space to do it, fail in the same way as when it
45671 can't be done because there are no partitions.
45672
45673 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
45674 when nvsetenv failed.
45675
969c02ec 456762007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45677
45678 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
45679 because this rule is automatically generated.
45680 (grub-mkrescue): Removed for the same reason as above.
45681
5a79f472 456822007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45683
45684 Migrate to GNU General Public License Version 3.
f19dbdb7 45685
5a79f472 45686 * COPYING: Replaced with the plain text version of GPLv3.
45687
45688 * config.guess: Updated from gnulib.
45689 * config.sub: Likewise.
45690
45691 * geninit.sh: Output a GPLv3 copyright notice.
45692 * geninitheader.sh: Likewise.
45693 * genmodsrc.sh: Likewise.
45694 * gensymlist.sh.in: Likewise.
45695
45696 * boot/i386/pc/boot.S: Upgraded to GPLv3.
45697 * boot/i386/pc/diskboot.S: Likewise.
45698 * boot/i386/pc/pxeboot.S: Likewise.
45699 * commands/blocklist.c: Likewise.
45700 * commands/boot.c: Likewise.
45701 * commands/cat.c: Likewise.
45702 * commands/cmp.c: Likewise.
45703 * commands/configfile.c: Likewise.
45704 * commands/echo.c: Likewise.
45705 * commands/help.c: Likewise.
45706 * commands/ls.c: Likewise.
45707 * commands/search.c: Likewise.
45708 * commands/terminal.c: Likewise.
45709 * commands/test.c: Likewise.
45710 * commands/videotest.c: Likewise.
45711 * commands/i386/cpuid.c: Likewise.
45712 * commands/i386/pc/halt.c: Likewise.
45713 * commands/i386/pc/play.c: Likewise.
45714 * commands/i386/pc/reboot.c: Likewise.
45715 * commands/i386/pc/vbeinfo.c: Likewise.
45716 * commands/i386/pc/vbetest.c: Likewise.
45717 * commands/ieee1275/halt.c: Likewise.
45718 * commands/ieee1275/reboot.c: Likewise.
45719 * commands/ieee1275/suspend.c: Likewise.
45720 * disk/loopback.c: Likewise.
45721 * disk/lvm.c: Likewise.
45722 * disk/raid.c: Likewise.
45723 * disk/efi/efidisk.c: Likewise.
45724 * disk/i386/pc/biosdisk.c: Likewise.
45725 * disk/ieee1275/ofdisk.c: Likewise.
45726 * font/manager.c: Likewise.
45727 * fs/affs.c: Likewise.
45728 * fs/ext2.c: Likewise.
45729 * fs/fat.c: Likewise.
45730 * fs/fshelp.c: Likewise.
45731 * fs/hfs.c: Likewise.
45732 * fs/hfsplus.c: Likewise.
45733 * fs/iso9660.c: Likewise.
45734 * fs/jfs.c: Likewise.
45735 * fs/minix.c: Likewise.
45736 * fs/sfs.c: Likewise.
45737 * fs/ufs.c: Likewise.
45738 * fs/xfs.c: Likewise.
45739 * hello/hello.c: Likewise.
45740 * include/grub/acorn_filecore.h: Likewise.
45741 * include/grub/arg.h: Likewise.
45742 * include/grub/bitmap.h: Likewise.
45743 * include/grub/boot.h: Likewise.
45744 * include/grub/cache.h: Likewise.
45745 * include/grub/device.h: Likewise.
45746 * include/grub/disk.h: Likewise.
45747 * include/grub/dl.h: Likewise.
45748 * include/grub/elfload.h: Likewise.
45749 * include/grub/env.h: Likewise.
45750 * include/grub/err.h: Likewise.
45751 * include/grub/file.h: Likewise.
45752 * include/grub/font.h: Likewise.
45753 * include/grub/fs.h: Likewise.
45754 * include/grub/fshelp.h: Likewise.
45755 * include/grub/gzio.h: Likewise.
45756 * include/grub/hfs.h: Likewise.
45757 * include/grub/kernel.h: Likewise.
45758 * include/grub/loader.h: Likewise.
45759 * include/grub/lvm.h: Likewise.
45760 * include/grub/misc.h: Likewise.
45761 * include/grub/mm.h: Likewise.
45762 * include/grub/net.h: Likewise.
45763 * include/grub/normal.h: Likewise.
45764 * include/grub/parser.h: Likewise.
45765 * include/grub/partition.h: Likewise.
45766 * include/grub/pc_partition.h: Likewise.
45767 * include/grub/raid.h: Likewise.
45768 * include/grub/rescue.h: Likewise.
45769 * include/grub/script.h: Likewise.
45770 * include/grub/setjmp.h: Likewise.
45771 * include/grub/symbol.h: Likewise.
45772 * include/grub/term.h: Likewise.
45773 * include/grub/terminfo.h: Likewise.
45774 * include/grub/tparm.h: Likewise.
45775 * include/grub/types.h: Likewise.
45776 * include/grub/video.h: Likewise.
45777 * include/grub/efi/api.h: Likewise.
45778 * include/grub/efi/chainloader.h: Likewise.
45779 * include/grub/efi/console.h: Likewise.
45780 * include/grub/efi/console_control.h: Likewise.
45781 * include/grub/efi/disk.h: Likewise.
45782 * include/grub/efi/efi.h: Likewise.
45783 * include/grub/efi/pe32.h: Likewise.
45784 * include/grub/efi/time.h: Likewise.
45785 * include/grub/i386/linux.h: Likewise.
45786 * include/grub/i386/setjmp.h: Likewise.
45787 * include/grub/i386/types.h: Likewise.
45788 * include/grub/i386/efi/kernel.h: Likewise.
45789 * include/grub/i386/efi/loader.h: Likewise.
45790 * include/grub/i386/efi/time.h: Likewise.
45791 * include/grub/i386/pc/biosdisk.h: Likewise.
45792 * include/grub/i386/pc/boot.h: Likewise.
45793 * include/grub/i386/pc/chainloader.h: Likewise.
45794 * include/grub/i386/pc/console.h: Likewise.
45795 * include/grub/i386/pc/init.h: Likewise.
45796 * include/grub/i386/pc/kernel.h: Likewise.
45797 * include/grub/i386/pc/loader.h: Likewise.
45798 * include/grub/i386/pc/memory.h: Likewise.
45799 * include/grub/i386/pc/multiboot.h: Likewise.
45800 * include/grub/i386/pc/serial.h: Likewise.
45801 * include/grub/i386/pc/time.h: Likewise.
45802 * include/grub/i386/pc/vbe.h: Likewise.
45803 * include/grub/i386/pc/vbeblit.h: Likewise.
45804 * include/grub/i386/pc/vbefill.h: Likewise.
45805 * include/grub/i386/pc/vbeutil.h: Likewise.
45806 * include/grub/i386/pc/vga.h: Likewise.
45807 * include/grub/ieee1275/ieee1275.h: Likewise.
45808 * include/grub/ieee1275/ofdisk.h: Likewise.
45809 * include/grub/powerpc/libgcc.h: Likewise.
45810 * include/grub/powerpc/setjmp.h: Likewise.
45811 * include/grub/powerpc/types.h: Likewise.
45812 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
45813 * include/grub/powerpc/ieee1275/console.h: Likewise.
45814 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
45815 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
45816 * include/grub/powerpc/ieee1275/loader.h: Likewise.
45817 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
45818 * include/grub/powerpc/ieee1275/time.h: Likewise.
45819 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
45820 * include/grub/sparc64/libgcc.h: Likewise.
45821 * include/grub/sparc64/setjmp.h: Likewise.
45822 * include/grub/sparc64/types.h: Likewise.
45823 * include/grub/sparc64/ieee1275/console.h: Likewise.
45824 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
45825 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
45826 * include/grub/sparc64/ieee1275/time.h: Likewise.
45827 * include/grub/util/biosdisk.h: Likewise.
45828 * include/grub/util/getroot.h: Likewise.
45829 * include/grub/util/lvm.h: Likewise.
45830 * include/grub/util/misc.h: Likewise.
45831 * include/grub/util/raid.h: Likewise.
45832 * include/grub/util/resolve.h: Likewise.
45833 * io/gzio.c: Likewise.
45834 * kern/device.c: Likewise.
45835 * kern/disk.c: Likewise.
45836 * kern/dl.c: Likewise.
45837 * kern/elf.c: Likewise.
45838 * kern/env.c: Likewise.
45839 * kern/err.c: Likewise.
45840 * kern/file.c: Likewise.
45841 * kern/fs.c: Likewise.
45842 * kern/loader.c: Likewise.
45843 * kern/main.c: Likewise.
45844 * kern/misc.c: Likewise.
45845 * kern/mm.c: Likewise.
45846 * kern/parser.c: Likewise.
45847 * kern/partition.c: Likewise.
45848 * kern/rescue.c: Likewise.
45849 * kern/term.c: Likewise.
45850 * kern/efi/efi.c: Likewise.
45851 * kern/efi/init.c: Likewise.
45852 * kern/efi/mm.c: Likewise.
45853 * kern/i386/dl.c: Likewise.
45854 * kern/i386/efi/init.c: Likewise.
45855 * kern/i386/efi/startup.S: Likewise.
45856 * kern/i386/pc/init.c: Likewise.
45857 * kern/i386/pc/lzo1x.S: Likewise.
45858 * kern/i386/pc/startup.S: Likewise.
45859 * kern/ieee1275/ieee1275.c: Likewise.
45860 * kern/powerpc/cache.S: Likewise.
45861 * kern/powerpc/dl.c: Likewise.
45862 * kern/powerpc/ieee1275/cmain.c: Likewise.
45863 * kern/powerpc/ieee1275/crt0.S: Likewise.
45864 * kern/powerpc/ieee1275/init.c: Likewise.
45865 * kern/powerpc/ieee1275/openfw.c: Likewise.
45866 * kern/sparc64/cache.S: Likewise.
45867 * kern/sparc64/dl.c: Likewise.
45868 * kern/sparc64/ieee1275/init.c: Likewise.
45869 * kern/sparc64/ieee1275/openfw.c: Likewise.
45870 * loader/efi/chainloader.c: Likewise.
45871 * loader/efi/chainloader_normal.c: Likewise.
45872 * loader/i386/efi/linux.c: Likewise.
45873 * loader/i386/efi/linux_normal.c: Likewise.
45874 * loader/i386/pc/chainloader.c: Likewise.
45875 * loader/i386/pc/chainloader_normal.c: Likewise.
45876 * loader/i386/pc/linux.c: Likewise.
45877 * loader/i386/pc/linux_normal.c: Likewise.
45878 * loader/i386/pc/multiboot.c: Likewise.
45879 * loader/i386/pc/multiboot_normal.c: Likewise.
45880 * loader/powerpc/ieee1275/linux.c: Likewise.
45881 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45882 * normal/arg.c: Likewise.
45883 * normal/cmdline.c: Likewise.
45884 * normal/command.c: Likewise.
45885 * normal/completion.c: Likewise.
45886 * normal/execute.c: Likewise.
45887 * normal/function.c: Likewise.
45888 * normal/lexer.c: Likewise.
45889 * normal/main.c: Likewise.
45890 * normal/menu.c: Likewise.
45891 * normal/menu_entry.c: Likewise.
45892 * normal/misc.c: Likewise.
45893 * normal/parser.y: Likewise.
45894 * normal/script.c: Likewise.
45895 * normal/i386/setjmp.S: Likewise.
45896 * normal/powerpc/setjmp.S: Likewise.
45897 * normal/sparc64/setjmp.S: Likewise.
45898 * partmap/acorn.c: Likewise.
45899 * partmap/amiga.c: Likewise.
45900 * partmap/apple.c: Likewise.
45901 * partmap/gpt.c: Likewise.
45902 * partmap/pc.c: Likewise.
45903 * partmap/sun.c: Likewise.
45904 * term/gfxterm.c: Likewise.
45905 * term/terminfo.c: Likewise.
45906 * term/efi/console.c: Likewise.
45907 * term/i386/pc/console.c: Likewise.
45908 * term/i386/pc/serial.c: Likewise.
45909 * term/i386/pc/vesafb.c: Likewise.
45910 * term/i386/pc/vga.c: Likewise.
45911 * term/ieee1275/ofconsole.c: Likewise.
45912 * util/biosdisk.c: Likewise.
45913 * util/console.c: Likewise.
45914 * util/genmoddep.c: Likewise.
45915 * util/getroot.c: Likewise.
45916 * util/grub-emu.c: Likewise.
45917 * util/grub-mkdevicemap.c: Likewise.
45918 * util/grub-probe.c: Likewise.
45919 * util/lvm.c: Likewise.
45920 * util/misc.c: Likewise.
45921 * util/raid.c: Likewise.
45922 * util/resolve.c: Likewise.
45923 * util/update-grub.in: Likewise.
45924 * util/update-grub_lib.in: Likewise.
45925 * util/grub.d/00_header.in: Likewise.
45926 * util/grub.d/10_hurd.in: Likewise.
45927 * util/grub.d/10_linux.in: Likewise.
45928 * util/i386/efi/grub-install.in: Likewise.
45929 * util/i386/efi/grub-mkimage.c: Likewise.
45930 * util/i386/pc/grub-install.in: Likewise.
45931 * util/i386/pc/grub-mkimage.c: Likewise.
45932 * util/i386/pc/grub-mkrescue.in: Likewise.
45933 * util/i386/pc/grub-setup.c: Likewise.
45934 * util/i386/pc/misc.c: Likewise.
45935 * util/powerpc/ieee1275/grub-install.in: Likewise.
45936 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
45937 * util/powerpc/ieee1275/misc.c: Likewise.
45938 * video/bitmap.c: Likewise.
45939 * video/video.c: Likewise.
45940 * video/i386/pc/vbe.c: Likewise.
45941 * video/i386/pc/vbeblit.c: Likewise.
45942 * video/i386/pc/vbefill.c: Likewise.
45943 * video/i386/pc/vbeutil.c: Likewise.
45944 * video/readers/tga.c: Likewise.
45945
3572d015 459462007-07-02 Robert Millan <rmh@aybabtu.com>
45947
45948 * conf/i386-efi.rmk: Replace obsolete reference to
45949 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
45950 with util/getroot.c.
45951 * conf/powerpc-ieee1275.rmk: Likewise.
45952 * conf/sparc64-ieee1275.rmk: Likewise.
45953
45954 * util/grub-emu.c (main): Fix unchecked pointer handling.
45955
2c2a681b 459562007-07-02 Robert Millan <rmh@aybabtu.com>
45957
45958 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
45959 invocation to fail, in order to support partition-less media.
45960
45961 * util/i386/pc/grub-install.in: Likewise.
45962
45963 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
45964 which fs or partmap modules are needed (akin to its sister scripts).
45965
45966 Also use grub-probe to get rid of unportable /proc/mounts check.
45967
45968 Print the same informational message that the other scripts do, before
fe6b695a 45969 exiting.
2c2a681b 45970
6193defe 459712007-06-23 Robert Millan <rmh@aybabtu.com>
45972
fe6b695a 45973 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 45974 a font file can be found and, if so, echo the GRUB path to it.
45975
45976 * util/update-grub.in: Handle multiple terminals depending on user
45977 input, platform availability and font file presence. Propagate
45978 variables of our findings to /etc/grub.d/ children.
45979
45980 * util/grub.d/00_header.in: Handle multiple terminals, based on
45981 environment setup by update-grub.
45982
eface1dc 459832007-06-23 Robert Millan <rmh@aybabtu.com>
45984
ba50d28f 45985 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 45986
bf697e28 459872007-06-21 Robert Millan <rmh@aybabtu.com>
45988
45989 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
45990 indicate end of data section in kernel image.
45991 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
45992 GRUB_KERNEL_MACHINE_DATA_END.
45993
45994 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
45995 space for it.
45996 * kern/i386/efi/startup.S: Likewise.
45997
45998 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
45999 during image generation. Implement --prefix option to override this
46000 patch.
46001 * util/i386/efi/grub-mkimage.c: Likewise.
46002
46003 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
46004 code to make path relative to its root into a separate function.
46005
46006 * util/i386/pc/grub-install.in: Use newly provided
46007 make_system_path_relative_to_its_root() to convert ${grubdir}, then
46008 pass the result to grub-install --prefix.
46009
baa574b4 460102007-06-13 Robert Millan <rmh@aybabtu.com>
46011
46012 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
46013 DEFAULT_DEVICE_MAP.
46014 * util/grub-emu.c: Use above definitions from misc.h instead of
46015 defining them.
46016 * util/grub-mkdevicemap.c: Likewise.
46017 * util/i386/pc/grub-setup.c: Likewise.
46018 * util/grub-probe.c: Likewise.
46019 (probe): Abort with grub_util_error() when either
46020 grub_guess_root_device or grub_util_get_grub_dev fails.
46021
0215dcbf 460222007-06-12 Robert Millan <rmh@aybabtu.com>
46023
46024 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
46025 "pager" assignment.
46026 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
46027 "pcdata".
46028 * util/grub-probe.c (probe): Likewise for "drive_name".
46029
8af2ab7b 460302007-06-11 Robert Millan <rmh@aybabtu.com>
46031
46032 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
46033 not just the cdrom one.
46034
59d31694 460352007-06-11 Robert Millan <rmh@aybabtu.com>
46036
46037 * util/i386/pc/grub-mkrescue.in: Add "set -e".
46038 Add --pkglibdir=DIR option to override pkglibdir.
46039 Mention --image-type=TYPE in help output.
46040 Fix --grub-mkimage (it was a no-op).
fe6b695a 46041 Abort gracefully when no parameter is given.
59d31694 46042
7ee367e4 460432007-06-11 Robert Millan <rmh@aybabtu.com>
46044
46045 * util/i386/pc/grub-mkrescue.in: New file.
46046 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
46047 * Makefile.in: Handle bin_SCRIPTS.
46048
29b0ed46 460492007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
46050
46051 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
46052 list of video modes.
46053
c0f90770 460542007-06-06 Robert Millan <rmh@aybabtu.com>
46055
46056 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
46057 file doesn't exist, or if it is in a filesystem grub can't read.
46058
46059 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
46060 not abort if GRUB_DRIVE could not be defined. Rearrange generated
46061 header comment to fit in 80 columns when the variables are resolved.
46062
46063 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
46064 could be identified by update-grub. Remove redundant check for
fe6b695a 46065 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 46066 handles that).
46067
fb36dc26 460682007-06-04 Robert Millan <rmh@aybabtu.com>
46069
46070 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
46071
46072 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
46073
46074 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
46075
0c68c93e 460762007-06-04 Robert Millan <rmh@aybabtu.com>
46077
46078 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
46079
46080 * include/grub/partition.h: Declare grub_apple_partition_map_init and
46081 grub_apple_partition_map_fini.
46082
46083 * util/biosdisk.c
46084 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
46085 to access >2 TiB disks).
46086
46087 Print disk->total_sectors with %llu instead of %lu, since this
46088 variable is always 64-bit (prevents wrong disk size from being displayed
46089 on either >2 TiB disk or big-endian CPU).
46090
46091 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
46092 into a generic case that supports all (sane) partition maps.
46093
46094 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
46095 breaks big-endian.
46096
46097 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
46098 and grub_apple_partition_map_fini() after that.
46099
0f23eb74 461002007-06-01 Robert Millan <rmh@aybabtu.com>
46101
46102 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
46103
46104 * util/grub.d/00_header.in: Only enable gfxterm when
46105 convert_system_path_to_grub_path() succeeds.
46106
42c71976 461072007-05-20 Robert Millan <rmh@aybabtu.com>
46108
46109 * util/update-grub_lib.in: New file.
46110 * DISTLIST: Add update-grub_lib.in.
46111 * conf/common.rmk: Generate update-grub_lib and install it in
46112 $(lib_DATA).
46113 * Makefile.in: Add install routine for $(lib_DATA).
46114
46115 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
46116 function provided by update-grub_lib to support arbitrary paths of
46117 unifont.pff.
46118 * util/update-grub.in: Use convert_system_path_to_grub_path() to
46119 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
46120
5beb2291 461212007-05-19 Robert Millan <rmh@aybabtu.com>
46122
46123 * commands/i386/cpuid.c: New module.
46124 * DISTLIST: Add it.
46125 * conf/i386-efi.rmk: Enable cpuid.mod.
46126 * conf/i386-pc.rmk: Likewise.
46127
7262eca1 461282007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46129
46130 * kern/disk.c (grub_disk_read): Check return value of
46131 grub_realloc().
46132
260ba823 461332007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46134
46135 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
46136 arrays.
46137 * disk/raid.c (grub_raid_open): Likewise.
46138
1ecb6cf2 461392007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46140
46141 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
46142 stack instead of on the heap.
46143
46144 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
46145 before doing a read on it.
46146
46147 * configure.ac: Only use -fno-stack-protector for the target
46148 environment.
f19dbdb7 46149
21c8cbb1 461502007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46151
46152 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
46153 __attribute_ ((unused)) to mode_type argument.
46154
46155 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 46156
21c8cbb1 46157 * kern/misc.c (memcmp): Fix prototype.
46158
46159 * include/grub/partition.h [GRUB_UTIL]
46160 (grub_gpt_partition_map_init): Add prototype.
46161 (grub_gpt_partition_map_fini): Likewise.
46162
46163 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
46164 at the right place.
46165
46166 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
46167 (grub_fat_read_data): Likewise.
46168 (grub_fat_find_dir): Likewise.
46169
46170 * font/manager.c (find_glyph): Make table a const.
46171 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 46172
849d55d3 461732007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
46174
46175 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
46176 code, first search for device in /dev/mapper, then in /dev.
46177 (grub_util_get_grub_dev): New function.
46178 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
46179 prototype.
46180 * util/grub-probe.c (probe): Remove check for RAID, call
46181 grub_util_get_grub_dev() instead of
46182 grub_util_biosdisk_get_grub_dev().
46183 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
46184 grub_util_biosdisk_get_grub_dev().
46185 * util/i386/pc/grub-setup.c (main): Likewise.
46186
8fff7c2f 461872007-05-16 Robert Millan <rmh@aybabtu.com>
46188
46189 * DISTLIST: Update for the latest changes.
46190 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
46191 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
46192 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
46193 grub/util/biosdisk.h.
46194 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
46195 grub/util/biosdisk.h.
46196
48e12b52 461972007-05-16 Robert Millan <rmh@aybabtu.com>
46198
46199 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
46200
46b9d128 462012007-05-16 Robert Millan <rmh@aybabtu.com>
46202
46203 * util/i386/efi/grub-install.in: New.
46204 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
46205 newly added grub-install.
46206 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
46207 include.
46208 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
46209 grub/util/biosdisk.h.
46210 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
46211 grub/util/biosdisk.h.
46212
2d1a40a9 462132007-05-16 Robert Millan <rmh@aybabtu.com>
46214
46215 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
46216 * include/grub/util/biosdisk.h: ... here.
46217 * util/i386/pc/biosdisk.c: Moved to ...
46218 * util/biosdisk.c: ... here.
46219 * util/i386/pc/getroot.c: Moved to ...
46220 * util/getroot.c: ... here.
46221 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
46222 * util/grub-mkdevicemap.c: ... here.
46223 * util/i386/pc/grub-probe.c: Moved to ...
46224 * util/grub-probe.c: ... here.
46225
9e26e3bc 462262007-05-15 Robert Millan <rmh@aybabtu.com>
46227
46228 * util/update-grub.in: Remove duplicated line in grub.cfg header
46229 message.
46230
57f96397 462312007-05-13 Robert Millan <rmh@aybabtu.com>
46232
46233 * util/update-grub.in: Fix a few assumptions about the devices holding
46234 /, /boot and /boot/grub being the same.
46235 * util/grub.d/00_header.in: Likewise.
46236 * util/grub.d/10_hurd.in: Likewise.
46237 * util/grub.d/10_linux.in: Likewise.
46238
46239 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
46240 patterns. Use that to define the `.old' suffix as older than `'.
46241
46242 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
46243
46244 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
46245 the grub.cfg header message.
46246
2e610d62 462472007-05-11 Robert Millan <rmh@aybabtu.com>
46248
46249 * util/update-grub.in: Create device.map if it doesn't already exist,
46250 before attempting to run grub-probe.
46251 Check for grub-probe and grub-mkdevicemap with the same code
46252 grub-install is using.
46253 Remove test mode.
46254
3f6a10ef 462552007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
46256
46257 * Makefile.in: Add the datarootdir autoconf variable.
46258
02e7b75e 462592007-05-09 Robert Millan <rmh@aybabtu.com>
46260
46261 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 46262 fail gracefully if dev->disk->partition == NULL.
02e7b75e 46263
75f396cc 462642007-05-07 Robert Millan <rmh@aybabtu.com>
46265
46266 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
46267 determine partition map module.
46268 * util/i386/pc/grub-install.in: Use this feature to decide which
46269 partition module to load, instead of hardcoding pc and gpt.
46270
da65cb36 462712007-05-07 Robert Millan <rmh@aybabtu.com>
46272
46273 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
46274 source directory differs from build directory.
46275
b57d6a91 462762007-05-05 Robert Millan <rmh@aybabtu.com>
46277
46278 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
46279 initialisation.
46280
509d00f1 462812007-05-05 Robert Millan <rmh@aybabtu.com>
46282
46283 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
46284
c48f23ef 462852007-05-05 Robert Millan <rmh@aybabtu.com>
46286
46287 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
46288 command-line arguments via ${GRUB_CMDLINE_LINUX}.
46289
20b97658 462902007-05-05 Robert Millan <rmh@aybabtu.com>
46291
46292 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
46293 (grub_probe_SOURCES): Likewise.
46294 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
46295 GPT and initialize dos_part and bsd_part accordingly.
46296 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
46297 install_bsd_part.
46298 (main): Activate gpt module for use during partition identification,
46299 and deactivate it afterwards.
46300 * util/i386/pc/grub-install.in: Add gpt module to core.img.
46301 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
46302 partition identification, and deactivate it afterwards.
46303
99123174 463042007-05-05 Robert Millan <rmh@aybabtu.com>
46305
46306 * term/i386/pc/console.c (grub_console_fini): Call
46307 grub_term_set_current() before grub_term_unregister().
46308
ebd97f6e 463092007-05-04 Robert Millan <rmh@aybabtu.com>
46310
46311 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
46312 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
46313 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
46314 and update-grub_DATA.
46315 * conf/common.rmk: Build and install update-grub components.
46316 * conf/common.mk: Regenerate.
46317 * util/update-grub.in: New. Core of update-grub.
46318 * util/grub.d/00_header.in: New. Generates grub.cfg header.
46319 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
46320 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
46321 * util/grub.d/README: New. Document grub.d directory layout.
46322
b06a264d 463232007-05-01 Robert Millan <rmh@aybabtu.com>
46324
46325 * util/grub-emu.c: Move initialization functions
46326 grub_util_biosdisk_init() and grub_init_all() before
46327 grub_util_biosdisk_get_grub_dev(), which relies on them.
46328
41f0050e 463292007-04-19 Robert Millan <rmh@aybabtu.com>
46330
46331 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
46332 it is used later.
46333
04582bb3 463342007-04-18 Jerone Young <jerone@gmail.com>
46335
f19dbdb7 46336 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 46337 stanza.
46338
08db4632 463392007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 46340
08db4632 46341 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
46342 continue on and look for device node with real device name.
46343
801b76be 463442007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 46345
fe6b695a 46346 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 46347 ability.
46348 * Makefile.in: Add autoconf package transformation code.
46349 * util/i386/pc/grub-install.in: Likewise.
46350 * util/powerpc/ieee1275/grub-install.in: Likewise.
46351
6795c4e1 463522007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
46353
46354 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
46355 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
46356 (EXT2_REVISION): Likewise.
46357 (EXT2_INODE_SIZE): Likewise.
46358 (struct grub_ext2_block_group): Added a missing member
46359 "used_dirs".
46360 (grub_ext2_read_inode): Divide by the inode size in a superblock
46361 instead of 128 to obtain INODES_PER_BLOCK.
46362 Use the macro EXT2_INODE_SIZE instead of directly using
46363 SBLOCK->INODE_SIZE.
46364
d70af616 463652007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
46366
46367 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
46368 superblock instead of the structure size to compute an
46369 offset. This fixes the problem that GRUB could not read a
46370 filesystem when inode size is different from 128-byte.
46371
3b801603 463722007-03-05 Marco Gerards <marco@gnu.org>
46373
46374 * normal/main.c (read_config_file): When "menu" is not set, create
46375 an initial context.
46376
4785bfe4 463772007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46378
46379 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
46380 (HEAP_LIMIT): New macro.
46381 (grub_claim_heap): Claim memory up to `heaplimit'.
46382
a0cbb023 463832007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46384
46385 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
46386 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
46387 (_start): Likewise.
46388 (grub_arch_modules_addr): Return address after `_end'.
46389 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
46390 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
46391 (add_segments): Calculate `_end' from phdr size and location.
46392 (ALIGN_UP): Moved to ...
46393 * include/grub/misc.h: here.
46394 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46395 New macro.
46396 (GRUB_IEEE1275_MODULE_BASE): Removed.
46397
fd7d8eba 463982007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46399
46400 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
46401 loop boundary.
46402
9b09e6fc 464032007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46404
46405 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
46406 All users updated.
46407 (grub_elf64_load_hook_t): Likewise.
46408 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
46409 debug output.
46410
3ce27299 464112007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46412
46413 * kern/mm.c: Update copyright.
46414 (grub_mm_debug): Correct syntax error.
46415 (grub_mm_dump_free): New function.
46416 (grub_debug_free): Call `grub_free'.
46417 * include/grub/mm.h: Update copyright.
46418 (grub_mm_dump_free): Add declaration.
46419
077d5fee 464202007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46421
46422 * include/grub/ieee1275/ieee1275.h: Update copyright.
46423 * kern/powerpc/ieee1275/init.c: Likewise.
46424 * kern/powerpc/ieee1275/openfw.c: Likewise.
46425
46426 * loader/powerpc/ieee1275/linux.c: Likewise.
46427 * include/grub/elfload.h: Likewise.
46428 * kern/elf.c: Likewise.
46429 (grub_elf32_load): Pass `base' and `size' parameters. Update all
46430 callers.
46431 (grub_elf64_load): Likewise.
46432 (grub_elf32_load_segment): Move to a nested function.
46433 (grub_elf64_load_segment): Likewise.
46434
dc946850 464352007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46436
46437 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
46438 prototype.
46439 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
46440 (grub_heap_len): Likewise.
46441 (HEAP_SIZE): New macro.
46442 (grub_claim_heap): New function.
46443 (grub_machine_init): Don't claim heap directly. Call
46444 `grub_claim_heap'.
46445 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
46446 (grub_available_iterate): New function.
46447
baa2a121 464482007-02-03 Thomas Schwinge <tschwinge@gnu.org>
46449
46450 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
46451 * configure.ac: Use it for testing the HOST and TARGET compilers.
46452
4fe9862e 464532006-12-13 Thomas Schwinge <tschwinge@gnu.org>
46454
46455 * Makefile.in (enable_grub_emu): New variable.
46456 * configure.ac (--enable-grub-emu): New option.
46457 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
46458 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
46459 * conf/i386-pc.rmk: Likewise.
46460 * conf/powerpc-ieee1275.rmk: Likewise.
46461 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
46462
a8aa5762 464632006-12-12 Marco Gerards <marco@gnu.org>
46464
46465 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
46466
46467 * kern/env.c (grub_env_unset): Don't free the member `value' when
46468 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
46469 pointer.
46470
46471 * normal/main.c (current_menu): Removed.
46472 (free_menu): Unset the `menu' environment variable.
46473 (grub_normal_menu_addentry): Make use of the environment variable
46474 `menu', instead of using the global `current_menu'. Allocate
46475 memory for the sourcecode of this entry.
46476 (read_config_file): New argument `nested', changed all callers.
46477 Only in the case of a new context, initialize a new menu. Set the
46478 `menu' environment variable.
46479 (grub_normal_execute): Don't set and unset the environment
46480 variable `menu' here anymore. Only free the menu when leaving the
46481 context.
46482
46483 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
46484 leak.
46485
957b3a3e 464862006-12-11 Marco Gerards <marco@gnu.org>
46487
46488 * normal/menu_entry.c (run): Fix off by one bug so the last line
46489 is executed. Move the loader check to outside the loop.
46490
ef875714 464912006-12-08 Hollis Blanchard <hollis@penguinppc.org>
46492
46493 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
46494
4e739985 464952006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
46496
46497 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
46498 the number of sectors. Reported by Andrey Shuvikov
46499 <mr_hyro@yahoo.com>.
f19dbdb7 46500
790707f2 465012006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
46502
46503 * kern/disk.c (grub_disk_read): When there is a read error, always
46504 try to read only the necessary data.
f19dbdb7 46505
790707f2 46506 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
46507 disk/raid.c.
46508 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
46509 prototype.
46510 [GRUB_UTIL] (grub_raid_fini): Likewise.
46511 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 46512 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 46513 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
46514 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
46515 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
46516 and grub_raid_fini().
f19dbdb7 46517
03e58196 465182006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46519
46520 * include/grub/types.h (__unused): Rename to UNUSED.
46521 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
46522 (grub_elf64_size): Likewise.
f19dbdb7 46523
ae4f23bf 465242006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46525
46526 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
46527 grub_error_push and grub_error_pop in the error-handling path.
46528 (grub_elf32_load_segment): Only call grub_file_read with non-zero
46529 length.
46530
2166cc83 465312006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46532
46533 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
46534 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
46535 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46536 (kernel_elf_SOURCES): Likewise.
46537 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
46538 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
46539 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46540 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46541 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
46542 (elf_mod_SOURCES): New variable.
46543 (elf_mod_CFLAGS): Likewise.
46544 (elf_mod_LDFLAGS): Likewise.
46545 * include/grub/types.h (__unused): New macro.
46546 * include/grub/elfload.h: New file.
46547 * kern/elf.c: Likewise.
46548 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
46549 (ELF32_LOADMASK): New macro.
46550 (ELF64_LOADMASK): Likewise.
46551 (vmlinux): Removed.
46552 (grub_linux_load32): New function.
46553 (grub_linux_load64): Likewise.
46554 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
46555 Use grub_elf_t instead of grub_file_t.
46556
a09d5aa5 465572006-11-02 Hollis Blanchard <hollis@penguinppc.org>
46558
46559 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
46560 `catch_result' to struct set_color_args.
46561
d976fc51 465622006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46563
46564 * normal/menu.c: Include grub/script.h.
46565 * normal/menu_entry.c: Likewise.
46566 * include/grub/normal.h: Do not include grub/script.h.
46567
67507549 465682006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46569
46570 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
46571
69203a99 465722006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46573
46574 * kern/disk.c (grub_disk_open): Print debug messages when opening a
46575 disk.
46576 (grub_disk_close): Print debug messages when closing a disk.
46577 (grub_disk_read): Print debug messages when disk read fails.
46578 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
46579 filesystem type.
46580 * kern/partition.c: Include misc.h.
46581 (grub_partition_iterate): Print debug messages when detecting
46582 partition type.
46583
e2b8278c 465842006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46585
46586 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
46587 is negative.
46588 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
46589
97b2f2ff 465902006-10-26 Hollis Blanchard <hollis@penguinppc.org>
46591
46592 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46593 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
46594
6555d655 465952006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
46596
46597 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
46598 instead of sizeof(lv). Patch by Michael Guntsche.
46599
4d42b77f 466002006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
46601
46602 * disk/lvm.c: Rename VGS to VG_LIST.
46603 (grub_lvm_iterate): Change VGS->LV to VG-LV.
46604 (grub_lvm_open): Likewise.
46605 Thanks to Michael Guntsche for finding this bug.
46606
5d74d927 466072006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46608
46609 * configure.ac (AC_INIT): Bumped to 1.95.
46610
a1bb27e4 466112006-10-14 Robert Millan <rmh@aybabtu.com>
46612
46613 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
46614 with "/dev/.static/dev/md".
46615
e0994b8b 466162006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46617
46618 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
46619 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
46620 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
46621 DRIVE_NAME are always freed.
46622
46623 * util/i386/pc/biosdisk.c (make_device_name): Add one into
46624 DOS_PART, as a DOS partition is counted from one instead of zero
46625 now. Reported by Robert Millan.
46626
ddd5cee9 466272006-10-14 Robert Millan <rmh@aybabtu.com>
46628
46629 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
46630 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
46631 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
46632 string returned by grub_guess_root_device.
46633 * util/i386/pc/grub-setup.c: Likewise.
46634 * util/i386/pc/grub-probefs.c: Likewise.
46635
46636 * util/i386/pc/grub-probefs.c: Rename to ...
46637 * util/i386/pc/grub-probe.c: ... this.
46638 * DISTLIST: Remove grub-probefs, add grub-probe.
46639 * conf/i386-efi.rmk: Likewise.
46640 * conf/i386-pc.rmk: Likewise.
46641 * util/i386/pc/grub-install.in: Likewise.
46642
46643 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
46644 choose which information we want to print.
46645
2b002173 466462006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46647
46648 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
46649 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
46650 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
46651 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
46652 video/readers/tga.c and video/i386/pc/vbeutil.c.
46653
466542006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
46655
46656 Added support for RAID and LVM.
f19dbdb7 46657
2b002173 46658 * disk/lvm.c: New file.
46659 * disk/raid.c: Likewise.
46660 * include/grub/lvm.h: Likewise.
f19dbdb7 46661 * include/grub/raid.h: Likewise.
2b002173 46662 * include/grub/util/lvm.h: Likewise.
46663 * include/grub/util/raid.h: Likewise.
46664 * util/lvm.c: Likewise.
46665 * util/raid.c: Likewise.
46666
46667 * include/grub/disk.h (grub_disk_dev_id): Add
46668 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
46669 (grub_disk_get_size): New prototype.
46670 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
46671 returns a partition.
46672 (grub_disk_get_size): New function.
f19dbdb7 46673
2b002173 46674 * kern/i386/pc/init.c (make_install_device): Copy the prefix
46675 verbatim if grub_install_dos_part is -2.
46676
46677 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
46678 and LVM devices.
46679
46680 * util/i386/pc/grub-setup.c (setup): New argument
46681 MUST_EMBED. Force embedding of GRUB when the argument is
46682 true. Close FILE before returning.
46683 (main): Add support for RAID and LVM.
f19dbdb7 46684
2b002173 46685 * conf/common.rmk: Add RAID and LVM modules.
46686 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
46687 util/lvm.c.
46688 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
46689
46690 * kern/misc.c (grub_strstr): New function.
46691 * include/grub/misc.h (grub_strstr): New prototype.
46692
050548d0 466932006-10-10 Tristan Gingold <tristan.gingold@bull.net>
46694
46695 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
46696
da849d2d 466972006-10-05 Tristan Gingold <tristan.gingold@bull.net>
46698
46699 * kern/misc.c (grub_strtoull): Guess the base only if not
46700 specified.
46701
97b2f2ff 467022006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 46703
46704 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
46705 PowerMac support.
46706
97b2f2ff 467072006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 46708
46709 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
46710
46711 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
46712 Remove `flags' argument. All callers changed.
46713 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
46714 (IEEE1275_IHANDLE_INVALID): New variable.
46715 (IEEE1275_CELL_INVALID): New variable.
46716 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
46717 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
46718 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
46719 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
46720 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
46721 codes from Open Firmware. All callers updated.
46722 (grub_ieee1275_next_property): Directly return Open Firmware return
46723 code.
46724 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
46725 Standardize error checking from `grub_ieee1275_get_property'.
46726 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
46727 `devalias' to `aliases'. Correct comments. Consolidate error paths.
46728
97b2f2ff 467292006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 46730
46731 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
46732 `instance_to_package_args' to `instance_to_path_args'.
46733
46734 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
46735 `grub_ieee1275_chosen'.
46736
46737 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
46738 `grub_ieee1275_interpret'.
46739
97b2f2ff 467402006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 46741
46742 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
46743
97b2f2ff 467442006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 46745
46746 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
46747 (__cmpdi): Likewise.
46748
46749 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
46750 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
46751 `grub_ssize_t'.
46752
02bb8acc 46753 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 46754
46755 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
46756 to type `grub_ssize_t'.
46757 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
46758
7f9a8531 467592006-09-22 Marco Gerards <marco@gnu.org>
46760
46761 * normal/script.c (grub_script_create_cmdmenu): Skip leading
46762 newlines.
46763
b5ef1102 467642006-09-22 Marco Gerards <marco@gnu.org>
46765
46766 * commands/echo.c: New file.
46767
46768 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
46769
46770 * conf/common.rmk (echo_mod_SOURCES): New variable.
46771 (echo_mod_CFLAGS): Likewise.
46772 (echo_mod_LDFLAGS): Likewise.
46773
2cff3677 467742006-09-22 Marco Gerards <marco@gnu.org>
46775
46776 * normal/main.c (get_line): Malloc memory instead of using
46777 preallocated memory. Removed the arguments `cmdline' and
46778 `max_len'. Updated all callers.
46779
6ba4688b 467802006-09-22 Marco Gerards <marco@gnu.org>
46781
46782 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
46783 (normal_mod_DEPENDENCIES): Likewise.
46784
46785 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
46786 (normal_mod_DEPENDENCIES): Likewise.
46787
46788 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
46789
e02ac02c 467902006-09-22 Johan Rydberg <jrydberg@gnu.org>
46791
46792 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
46793 programs.
46794 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
46795 (normal_mod_DEPENDENCIES): Likewise.
46796 * conf/i386-pc.mk: Regenerate.
46797 * conf/i386-efi.mk: Likewise
46798 * conf/common.mk: Likewise.
46799 * conf/powerpc-ieee1275.mk: Likewise.
46800 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46801
8d252e44 468022006-09-22 Robert Millan <rmh@aybabtu.com>
46803
46804 Sync with i386 version.
46805 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
46806 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
46807
209bf7ac 468082006-09-21 Robert Millan <rmh@aybabtu.com>
46809
46810 Import from GRUB Legacy (lib/device.c):
46811 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
46812 (init_device_map) [__linux__]: Add support for I2O devices.
46813
6b146090 468142006-09-14 Marco Gerards <marco@gnu.org>
46815
46816 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
46817 `-melf_i386'.
46818
e38600a8 468192006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 46820
46821 * util/i386/pc/grub-install.in: Skip menu.lst when removing
46822 /boot/grub/*.lst.
78fa1790 46823
2952da5d 46824 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 46825
2952da5d 46826 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
46827 before adding it to device.map.
46828
01b82a64 468292006-08-15 Johan Rydberg <jrydberg@gnu.org>
46830
fe6b695a 46831 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 46832 compiles a file; using the -MD option.
46833 * conf/common.mk: Regenerate.
46834 * conf/i386-pc.mk: Likewise.
46835 * conf/i386-efi.mk: Likewise.
46836 * conf/powerpc-ieee1275.mk: Likewise.
46837 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46838
1064790d 468392006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
46840
46841 Move the prototypes of grub_setjmp and grub_longjmp to
46842 cpu/setjmp.h, so that each architecture may specify different
46843 attributes.
f19dbdb7 46844
1064790d 46845 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
46846 (grub_longjmp): Likewise.
46847 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
46848 (grub_longjmp): Likewise.
46849 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
46850 (grub_longjmp): Likewise.
46851
46852 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
46853 [!GRUB_UTIL] (grub_longjmp): Removed.
46854
29dda3ed 468552006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
46856
46857 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
46858 "color!" method does not return any value.
46859
ad2a06ed 468602006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46861
46862 * include/grub/bitmap.h: New file.
46863
46864 * include/grub/i386/pc/vbeutil.h: Likewise.
46865
46866 * video/bitmap.c: Likewise.
46867
46868 * video/readers/tga.c: Likewise.
46869
46870 * video/i386/pc/vbeutil.c: Likewise.
46871
46872 * commands/videotest.c: Code cleanup and updated to reflect to new
46873 video API.
46874
46875 * term/gfxterm.c: Likewise.
46876
46877 * video/video.c: Likewise.
46878
46879 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
46880 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
46881 (bitmap_mod_SOURCES): New entry.
46882 (bitmap_mod_CFLAGS): Likewise.
46883 (bitmap_mod_LDFLAGS): Likewise.
46884 (tga_mod_SOURCES): Likewise.
46885 (tga_mod_CFLAGS): Likewise.
46886 (tga_mod_LDFLAGS): Likewise.
46887
46888 * include/grub/video.h (grub_video_blit_operators): New enum type.
46889 (grub_video_render_target): Changed as forward declaration and moved
46890 actual definition to be video driver specific.
46891 (grub_video_adapter.blit_bitmap): Added blitting operator.
46892 (grub_video_adapter.blit_render_target): Likewise.
46893 (grub_video_blit_bitmap): Likewise.
46894 (grub_video_blit_render_target): Likewise.
46895
46896 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
46897 driver specific render target definition.
46898 (grub_video_vbe_map_rgba): Added driver internal helper.
46899 (grub_video_vbe_unmap_color): Updated to use
46900 grub_video_i386_vbeblit_info.
46901 (grub_video_vbe_get_video_ptr): Likewise.
46902
46903 * include/grub/i386/pc/vbeblit.h
46904 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
46905 grub_video_i386_vbeblit_info.
46906 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
46907 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
46908 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
46909 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
46910 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
46911 (grub_video_i386_vbeblit_index_index): Likewise.
46912 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
46913 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
46914 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
46915 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
46916 operator.
46917 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
46918 operator.
46919
46920 * video/i386/pc/vbeblit.c: Updated to reflect changes on
46921 include/grub/i386/pc/vbeblit.h.
46922
46923 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
46924 Updated to use grub_video_i386_vbeblit_info.
46925 (grub_video_i386_vbefill_R8G8B8): Likewise.
46926 (grub_video_i386_vbefill_index): Likewise.
46927 (grub_video_i386_vbefill): Added generic filler.
46928
46929 * video/i386/pc/vbefill.c: Updated to reflect changes on
46930 include/grub/i386/pc/vbefill.h.
46931
46932 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
46933 grub_video_i386_vbeblit_info.
46934 (grub_video_vbe_unmap_color): Likewise.
46935 (grub_video_vbe_blit_glyph): Likewise.
46936 (grub_video_vbe_scroll): Likewise.
46937 (grub_video_vbe_draw_pixel): Removed function.
46938 (grub_video_vbe_get_pixel): Likewise.
46939 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
46940 updated code to use it.
46941 (common_blitter): Added common blitter for render target and bitmap.
46942 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
46943 (grub_video_vbe_blit_render_target): Likewise.
46944
bc8c036d 469452006-07-30 Johan Rydberg <jrydberg@gnu.org>
46946
46947 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
46948 is in text mode if there is no console control protocol instance
46949 available.
46950
684a8eff 469512006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46952
46953 * include/grub/video.h: Code cleanup.
46954
46955 * include/grub/i386/pc/vbe.h: Likewise.
46956
46957 * video/i386/pc/vbe.c: Likewise.
46958
46959 * video/i386/pc/vbeblit.c: Likewise.
46960
46961 * video/i386/pc/vbefill.c: Likewise.
46962
46963 * video/video.c: Likewise. Also added more comments.
46964
5915059b 469652006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46966
46967 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
46968 (struct grub_biosdisk_dap): Likewise.
46969
46970 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
46971 linkage settings for all functions.
46972
90ce5d56 469732006-07-12 Marco Gerards <marco@gnu.org>
46974
46975 * configure.ac (--enable-mm-debug): Fix typo.
46976
46977 * genkernsyms.sh.in: Use proper quoting for `CC'.
46978
43e7f879 469792006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
46980
46981 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
46982 (normal_mod_ASFLAGS): Remove "-m32".
46983
4889bdec 469842006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
46985
46986 * util/misc.c: Include config.h.
46987 [!HAVE_MEMALIGN]: Do not include malloc.h.
46988 (grub_memalign): Use posix_memalign, if present. Then, use
46989 memalign, if present. Otherwise, emit an error.
46990
46991 * util/grub-emu.c: Do not include malloc.h.
46992
46993 * include/grub/util/misc.h: Include unistd.h. This is required for
46994 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
46995 D. Eades III <hde@foobar-qux.org>.
46996
46997 * configure.ac (AC_GNU_SOURCE): Added.
46998 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
46999 type.
47000
fd39d4da 470012006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
47002
47003 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
47004 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
47005
b786f3b5 470062006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
47007
47008 * include/grub/types.h (grub_host_addr_t): Rename to
47009 grub_target_addr_t.
47010 (grub_host_off_t): Rename to grub_target_off_t.
47011 (grub_host_size_t): Rename to grub_target_size_t.
47012 (grub_host_ssize_t): Rename to grub_target_ssize_t.
47013 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
47014
47015 * include/grub/kernel.h (struct grub_module_header): Change type
47016 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
47017 (grub_module_info): Likewise.
f19dbdb7 47018
051988bb 470192006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47020
47021 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
47022 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
47023 Velazquez <jesus.velazquez@gmail.com>.
47024
deae281b 470252006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47026
47027 Count partitions from 1 instead of 0 in the string representation
47028 of partitions. Still use 0-based internally.
f19dbdb7 47029
deae281b 47030 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
47031 (sun_partition_map_iterate): Use grub_partition_t instead of
47032 struct grub_partition *. Cast DESC->START_CYLINDER to
47033 grub_uint64_t after converting the endian.
47034 (sun_partition_map_probe): Subtract 1 for PARTNUM.
47035 (sun_partition_map_get_name): Add 1 to P->INDEX.
47036
47037 * partmap/pc.c (grub_partition_parse): Subtract 1 for
47038 PCDATA->DOS_PART.
47039 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
47040
47041 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
47042 zero instead of one.
47043 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
47044 (gpt_partition_map_get_name): Add 1 into P->INDEX.
47045
47046 * partmap/apple.c (apple_partition_map_iterate): Change the type
47047 of POS to unsigned.
47048 (apple_partition_map_probe): Subtract 1 for PARTNUM.
47049 (apple_partition_map_get_name): Add 1 into P->INDEX.
47050
47051 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
47052 of POS to unsigned.
47053 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
47054 calculate the offset of a partition.
47055 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
47056 (amiga_partition_map_get_name): Add 1 into P->INDEX.
47057
47058 * partmap/acorn.c (acorn_partition_map_find): Change the type of
47059 SECTOR to grub_disk_addr_t.
47060 (acorn_partition_map_iterate): Likewise.
47061 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
47062 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
47063 top.
47064 (acorn_partition_map_get_name): Add 1 into P->INDEX.
47065
47066 * kern/i386/pc/init.c (make_install_device): Add 1 into
47067 GRUB_INSTALL_DOS_PART.
47068
47069 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
47070 conditional.
47071
524a1e6a 470722006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47073
47074 Clean up the code to support 64-bit addressing in disks and
47075 files. This change is not enough for filesystems yet.
f19dbdb7 47076
524a1e6a 47077 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
47078 type of "start" to grub_uint64_t.
47079 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
47080 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
47081 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
47082 convert addresses.
47083
47084 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
47085 to grub_disk_addr_t.
47086
47087 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
47088 string.
47089
47090 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47091
47092 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
47093 to char *.
47094
47095 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
47096
47097 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
47098
47099 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
47100
47101 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
47102 to grub_off_t, to detect an error from grub_file_seek.
47103 (grub_multiboot_load_elf32): Likewise.
47104
47105 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
47106 maximum unsigned long value when an overflow is detected.
47107 (grub_strtoull): New function.
47108 (grub_divmod64): Likewise.
47109 (grub_lltoa): use grub_divmod64.
47110
47111 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
47112 grub_disk_addr_t.
47113 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
47114 the pointer to next character. Use grub_strtoull instead of
47115 grub_strtoul.
47116 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
47117 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
47118 respectively.
47119
fe6b695a 47120 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 47121 return value is signed.
47122 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
47123 test if OFFSET is less than zero, as OFFSET is unsigned now.
47124
47125 * kern/disk.c (struct grub_disk_cache): Change the type of
47126 "sector" to grub_disk_addr_t.
47127 (grub_disk_cache_get_index): Change the type of SECTOR to
47128 grub_disk_addr_t. Calculate the hash with SECTOR casted to
47129 unsigned after shifting.
47130 (grub_disk_cache_invalidate): Change the type of SECTOR to
47131 grub_disk_addr_t.
47132 (grub_disk_cache_unlock): Likewise.
47133 (grub_disk_cache_store): Likewise.
47134 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
47135 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
47136 grub_disk_addr_t and grub_uint64_t, respectively.
47137 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
47138 body, as the value of OFFSET is tweaked by
47139 grub_disk_check_range. Change the types of START_SECTOR, LEN and
47140 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
47141 respectively.
47142 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
47143 body, as the value of OFFSET is tweaked by
47144 grub_disk_check_range. Change the types of LEN and N to
47145 grub_size_t.
47146
47147 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
47148 and "saved_offset" to grub_off_t.
47149 (test_header): Cast BUF to char *.
47150 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
47151 to char *.
47152 (grub_gzio_read): Change the types of OFFSET and SIZE to
47153 grub_off_t and grub_size_t, respectively.
47154
47155 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
47156 Removed.
47157 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
47158 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
47159 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
47160 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
47161 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
47162
47163 * include/grub/types.h (grub_off_t): Unconditionally set to
47164 grub_uint64_t.
47165 (grub_disk_addr_t): Changed to grub_uint64_t.
47166
47167 * include/grub/partition.h (struct grub_partition): Change the
47168 types of "start", "len" and "offset" to grub_disk_addr_t,
47169 grub_uint64_t and grub_disk_addr_t, respectively.
47170 (grub_partition_get_start): Return grub_disk_addr_t.
47171 (grub_partition_get_len): Return grub_uint64_t.
47172
47173 * include/grub/misc.h (grub_strtoull): New prototype.
47174 (grub_divmod64): Likewise.
47175
47176 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
47177 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
47178 grub_off_t, respectively.
47179 All callers and references changed.
47180
47181 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
47182 grub_size_t in "read".
47183 All callers and references changed.
47184
47185 * include/grub/file.h (struct grub_file): Change the types of
47186 "offset" and "size" to grub_off_t and grub_off_t,
47187 respectively. Change the type of SECTOR to grub_disk_addr_t in
47188 "read_hook".
47189 (grub_file_read): Change the type of LEN to grub_size_t.
47190 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
47191 grub_off_t.
47192 (grub_file_size): Return grub_off_t.
47193 (grub_file_tell): Likewise.
47194 All callers and references changed.
47195
47196 * include/grub/disk.h (struct grub_disk_dev): Change the types of
47197 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
47198 "write".
47199 (struct grub_disk): Change the type of "total_sectors" to
47200 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 47201 "read_hook".
524a1e6a 47202 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
47203 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
47204 (grub_disk_write): Likewise.
47205 All callers and references changed.
47206
47207 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
47208 char * for grub_strncmp to silence gcc.
47209 (grub_iso9660_mount): Likewise.
47210 (grub_iso9660_mount): Likewise.
47211 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
47212 return statement.
47213 (grub_iso9660_iterate_dir): Likewise.
47214 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
47215
47216 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
47217 LEN to grub_disk_addr_t and grub_size_t, respectively.
47218
47219 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47220
47221 * fs/jfs.c (grub_jfs_read_file): Likewise.
47222
47223 * fs/minix.c (grub_jfs_read_file): Likewise.
47224
47225 * fs/sfs.c (grub_jfs_read_file): Likewise.
47226
47227 * fs/ufs.c (grub_jfs_read_file): Likewise.
47228
47229 * fs/xfs.c (grub_jfs_read_file): Likewise.
47230
47231 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
47232 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
47233 respectively.
47234
47235 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
47236 BLKNR to -1 instead of returning GRUB_ERRNO.
47237 (grub_ext2_read_file): Change the types of SECTOR and
47238 LEN to grub_disk_addr_t and grub_size_t, respectively.
47239
47240 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
47241 LEN to grub_disk_addr_t and grub_size_t, respectively.
47242
47243 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
47244 grub_file_read.
47245
47246 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
47247 string. Do not cast SECTOR explicitly.
47248
47249 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
47250 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
47251 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
47252 grub_disk_addr_t and grub_size_t, respectively. If the sector is
47253 over 2TB and LBA mode is not supported, raise an error.
47254 (get_safe_sectors): New function.
47255 (grub_biosdisk_read): Use get_safe_sectors.
47256 (grub_biosdisk_write): Likewise.
47257
47258 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
47259 (grub_efidisk_write): Likewise.
47260
47261 * disk/loopback.c (delete_loopback): Cosmetic changes.
47262 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
47263 correctly.
47264 (grub_loopback_open): Likewise.
47265 (grub_loopback_read): Likewise. Also, change the type of POS to
47266 grub_off_t, and fix the usage of grub_memset.
47267
47268 * commands/i386/pc/play.c: Include grub/machine/time.h.
47269
47270 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
47271 print FILE->SIZE.
47272
47273 * commands/configfile.c: Include grub/env.h.
47274
47275 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
47276 GRUB_ERRNO directly instead. Change the type of POS to
47277 grub_off_t. Follow the coding standard.
47278
47279 * commands/blocklist.c: Include grub/partition.h.
47280 (grub_cmd_blocklist): Return an error if the underlying device is
47281 not a disk. Take the starting sector of a partition into account,
47282 if a partition is used.
47283
47284 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
47285 a length field.
47286 (lba_mode): Support 64-bit addresses.
47287 (chs_mode): Likewise.
47288 (copy_buffer): Adapted to the new offsets of a length field and a
47289 segment field.
47290 (blocklist_default_start): Allocate 64-bit space.
47291
47292 * boot/i386/pc/boot.S (force_lba): Removed.
47293 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 47294 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 47295 space.
47296 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
47297 is useless.
47298 (lba_mode): Refactored to support a 64-bit address. More size
47299 optimization.
47300 (setup_sectors): Likewise.
47301
53af98ad 473022006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47303
47304 * DISTLIST: Added include/grub/i386/linux.h. Removed
47305 include/grub/i386/pc/linux.h
47306
47307 * configure.ac (AC_INIT): Bumped to 1.94.
47308
47309 * config.guess: Updated from gnulib.
47310 * config.sub: Likewise.
47311 * install-sh: Likewise.
47312 * mkinstalldirs: Likewise.
47313
b4c1940a 473142006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47315
47316 * conf/common.rmk (grub_modules_init.lst): Depended on
47317 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
47318 MODSRCFILES.
47319
47320 * genmk.rb (PModule::rule): Reverted the previous change.
47321
cfca1cfd 473222006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47323
47324 * conf/common.rmk (grub_modules_init.lst): Depends on
47325 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
47326 that the target does not exist before producing.
47327 (grub_modules_init.h): Remove the target before generating.
47328 (grub_emu_init.c): Likewise.
47329
47330 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
47331
aa6d7826 473322006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
47333
47334 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
47335 for the target-specific tests. Make sure that we also have the
47336 up-to-date target variables for those tests.
47337
26c607b9 473382006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47339
47340 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
47341 (PModule::rule): Likewise.
47342
0162321a 473432006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47344
47345 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
47346 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
47347 target-specific flags should be prefixed.
47348 (PModule::rule): Likewise.
47349
6c826348 473502006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
47351
47352 * configure.ac (CMP): Check if cmp is available explicitly.
47353
b977bf01 473542006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
47355
47356 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
47357 (target_cpu): New variable.
47358 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 47359
b977bf01 47360 * util/i386/pc/grub-install.in (host_cpu): Removed.
47361 (target_cpu): New variable.
47362 (pkglibdir): Use target_cpu instead of host_cpu.
47363
47364 * util/genmoddep.c: Removed.
f19dbdb7 47365
b977bf01 47366 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
47367 instead of GRUB_HOST_SIZEOF_VOID_P.
47368 * kern/dl.c: Likewise.
47369
47370 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
47371 ...
47372 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47373 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47374 (GRUB_TARGET_SIZEOF_LONG): ... this.
47375 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47376 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47377 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47378 to ...
47379 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47380 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47381 (GRUB_TARGET_SIZEOF_LONG): ... this.
47382 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47383 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47384 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47385 to ...
47386 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47387 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47388 (GRUB_TARGET_SIZEOF_LONG): ... this.
47389 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47390 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47391
47392 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
47393 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
47394 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
47395 instead of GRUB_HOST_SIZEOF_LONG.
47396 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
47397 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
47398 GRUB_CPU_WORDS_BIGENDIAN.
47399 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
47400 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
47401 grub_host_ssize_t.
47402
47403 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
47404 (genmoddep_SOURCES): Likewise.
47405 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
47406 (genmoddep_SOURCES): Likewise.
47407 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
47408 (genmoddep_SOURCES): Likewise.
47409 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
47410 Likewise.
47411 (genmoddep_SOURCES): Likewise.
47412
47413 * genmoddep.awk: New file.
47414
47415 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
47416 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
47417 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
47418 (PModule::rule): Likewise.
47419 (Program::rule): Likewise.
47420 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
47421 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
47422 respectively.
47423
47424 * configure.ac: Rewritten intensively to use host and target
47425 instead of build and host, respectively.
47426
47427 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
47428 (host_cpu): Removed.
47429 (target_cpu): New variable.
47430 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
47431 (BUILD_CC): Removed.
47432 (BUILD_CFLAGS): Likewise.
47433 (BUILD_CPPFLAGS): Likewise.
47434 (TARGET_CC): New variable.
47435 (TARGET_CFLAGS): Likewise.
47436 (TARGET_CPPFLAGS): Likewise.
47437 (TARGET_LDFLAGS): Likewise.
47438 (AWK): Likewise.
47439 (include): Use target_cpu instead of host_cpu.
47440 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 47441
b977bf01 47442 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
47443
f09771a1 474442006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
47445
47446 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
47447 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
47448 field 'false' to 'exec_on_false'.
47449 (grub_script_create_cmdif): Renamed argument names to reflect above
47450 changes.
47451
47452 * normal/execute.c (grub_script_execute_cmdif): Likewise.
47453
47454 * normal/script.c (grub_script_create_cmdif): Likewise.
47455
118f4fb3 474562006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
47457
47458 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
47459 top.
47460 (grub_hfsplus_btree_recptr): Likewise.
47461 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
47462 FILEBLOCK both to pass a block number and store next block
47463 number.
47464 (grub_hfsplus_read_block): Rewritten heavily to support an extent
47465 overflow file correctly. Specify errors appropriately, because
47466 fshelp expects that GRUB_ERRNO is set when fails. Reuse
47467 grub_hfsplus_btree_recptr to get the pointer to a found key.
47468 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
47469 is found.
47470
47471 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
47472 linux.mod.
47473 (_linux_mod_SOURCES): New variable.
47474 (_linux_mod_CFLAGS): Likewise.
47475 (_linux_mod_LDFLAGS): Likewise.
47476 (linux_mod_SOURCES): Likewise.
47477 (linux_mod_CFLAGS): Likewise.
47478 (linux_mod_LDFLAGS): Likewise.
47479
47480 * DISTLIST: Added loader/i386/efi/linux.c,
47481 loader/i386/efi/linux_normal.c and
47482 include/grub/i386/efi/loader.h.
47483
47484 * loader/i386/efi/linux.c: New file.
47485 * loader/i386/efi/linux_normal.c: Likewise.
47486 * include/grub/i386/efi/loader.h: Likewise.
47487
89a7d726 474882006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
47489
47490 * commands/blocklist.c: New file.
47491
47492 * DISTLIST: Added commands/blocklist.c.
47493
47494 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 47495 color for the background, and a darker color for the foreground.
89a7d726 47496 (grub_console_checkkey): Return READ_KEY.
47497 (grub_console_cls): Set the background to
47498 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
47499
47500 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
47501
47502 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
47503 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
47504
47505 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
47506 prototype.
47507
47508 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
47509 BG. The spec is wrong again.
47510
47511 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
47512 prototype.
47513 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
47514
47515 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47516 commands/blocklist.c.
47517 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 47518
89a7d726 47519 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
47520 (blocklist_mod_SOURCES): New variable.
47521 (blocklist_mod_CFLAGS): Likewise.
47522 (blocklist_mod_LDFLAGS): Likewise.
47523
75c8f258 475242006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
47525
47526 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
47527 duplication.
47528 (lba_mode): Use %eax more intensively to reduce the code size.
47529
da2eb181 475302006-05-20 Marco Gerards <marco@gnu.org>
47531
47532 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
47533
47534 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
47535 for `menuentry'.
47536 (script): Accept leading newlines.
47537 (newlines): New rule to describe 0 or more newlines.
47538 (commands): Accept `command' with trailing newline. Fixed the
47539 order in which arguments were passed to `grub_script_add_cmd'.
47540 Accept commands separated by newlines.
47541 (function): Changed to accept newlines.
47542 (menuentry) Rewritten.
47543
47544 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
47545 front of the list, instead of to the end.
47546
577b4050 475472006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
47548
47549 * util/i386/pc/grub-install.in (bindir): New variable.
47550 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
47551 Shaver <lbgwjl@gmail.com>.
47552
0d6e1189 475532006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
47554
47555 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
47556 grub/machine/linux.h
47557 * loader/i386/pc/linux.c: Likewise.
47558
47559 * include/grub/i386/pc/linux.h: Moved to ...
47560 * include/grub/i386/linux.h: ... here.
47561
47562 * include/grub/i386/linux.h (struct linux_kernel_params): New
47563 struct.
f19dbdb7 47564
31b86e9f 475652006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
47566
47567 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
47568 checking.
47569 (grub_video_vbe_blit_glyph): Likewise.
47570 (grub_video_vbe_blit_bitmap): Likewise.
47571 (grub_video_vbe_blit_render_target): Likewise.
47572
83b984de 475732006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
47574
47575 * configure.ac (--with-platform): Properly quote the square
47576 brackets.
47577
5f0413bd 475782006-05-08 Marco Gerards <marco@gnu.org>
47579
47580 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
47581 this...
47582 (kernel_elf_HEADERS): ...to this. Updated all users.
47583 (grubof_symlist.c): Renamed from this...
47584 (kernel_elf_symlist.c): ...to this. Updated all users.
47585 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47586 (grubof_SOURCES): Renamed from this...
47587 (kernel_elf_SOURCES): ...to this.
47588 (grubof_HEADERS): Renamed from this...
47589 (kernel_elf_HEADERS): ...to this.
47590 (grubof_CFLAGS): Renamed from this...
47591 (kernel_elf_CFLAGS): ...to this.
47592 (grubof_ASFLAGS): Renamed from this...
47593 (kernel_elf_ASFLAGS): ...to this.
47594 (grubof_LDFLAGS): Renamed from this...
47595 (kernel_elf_LDFLAGS): ...to this.
47596
47597 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
47598 this...
47599 (kernel_elf_HEADERS): ...to this. Updated all users.
47600 (grubof_symlist.c): Renamed from this...
47601 (kernel_elf_symlist.c): ...to this. Updated all users.
47602 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47603 (grubof_SOURCES): Renamed from this...
47604 (kernel_elf_SOURCES): ...to this.
47605 (grubof_HEADERS): Renamed from this...
47606 (kernel_elf_HEADERS): ...to this.
47607 (grubof_CFLAGS): Renamed from this...
47608 (kernel_elf_CFLAGS): ...to this.
47609 (grubof_ASFLAGS): Renamed from this...
47610 (kernel_elf_ASFLAGS): ...to this.
47611 (grubof_LDFLAGS): Renamed from this...
47612 (kernel_elf_LDFLAGS): ...to this.
47613
47614 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
47615 `kernel.elf' instead of `grubof'.
47616
05568c2e 476172006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
47618
47619 Add --with-platform to configure. Use pkglibdir instead of
47620 pkgdatadir. This is reported by Roger Leigh.
47621
47622 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
47623 (host_vendor): Likewise.
47624 (host_os): Likewise.
47625 (pkgdatadir): Likewise.
47626 (platform): New variable.
47627 (pkglibdir): Likewise.
47628 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 47629
05568c2e 47630 * util/i386/pc/grub-install.in (datadir): Removed.
47631 (host_vendor): Likewise.
47632 (host_os): Likewise.
47633 (pkgdatadir): Likewise.
47634 (platform): New variable.
47635 (pkglibdir): Likewise.
47636 Use PKGLIBDIR instead of PKGDATADIR.
47637
47638 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
47639 instead of GRUB_DATADIR.
47640 (main): Likewise.
47641 * util/i386/pc/grub-mkimage.c (usage): Likewise.
47642 (main): Likewise.
47643 * util/i386/efi/grub-mkimage.c (usage): Likewise.
47644 (main): Likewise.
47645
47646 * configure.ac (--with-platform): New option.
47647 Use PLATFORM instead of HOST_VENDOR to specify a platform.
47648
47649 * Makefile.in: Include a makefile based on PLATFORM instead of
47650 HOST_VENDOR.
47651 (pkgdatadir): Not appended by the machine type.
47652 (pkglibdir): Appended by the machine type.
47653 (host_vendor): Removed.
47654 (platform): New variable.
47655 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
47656 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
47657 (uninstall): Likewise.
47658
4e93851c 476592006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
47660
47661 Use the environment context in the menu. Remove the commands
47662 "default" and "timeout", and use variables instead.
f19dbdb7 47663
4e93851c 47664 * normal/menu.c: Include grub/env.h.
47665 (print_entry): Cast TITLE to silence gcc.
47666 (get_timeout): New function.
47667 (set_timeout): Likewise.
47668 (get_entry_number): Likewise.
47669 (run_menu): Use a default entry, a fallback entry and a timeout
47670 in the environment variables "default", "fallback" and
47671 "timeout". Also, tweak the default entry if it is not within the
47672 current menu entries.
47673 (grub_menu_run): Use a fallback entry in the environment variable
47674 "fallback".
47675
47676 * normal/main.c (read_config_file): Do not initialize
47677 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
47678 NEWMENU->TIMEOUT.
47679 (grub_normal_execute): Use a data slot to store the menu.
47680
47681 * include/grub/normal.h (struct grub_menu): Removed default_entry,
47682 fallback_entry and timeout.
47683 (struct grub_menu_list): Removed.
47684 (grub_menu_list_t): Likewise.
47685 (struct grub_context): Likewise.
47686 (grub_context_t): Likewise.
47687 (grub_context_get): Likewise.
47688 (grub_context_get_current_menu): Likewise.
47689 (grub_context_push_menu): Likewise.
47690 (grub_context_pop_menu): Likewise.
47691 (grub_default_init): Likewise.
47692 (grub_default_fini): Likewise.
47693 (grub_timeout_init): Likewise.
47694 (grub_timeout_fini): Likewise.
47695
47696 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
47697 and timeout.mod.
47698 (normal_mod_SOURCES): Removed normal/context.c.
47699
47700 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
47701 commands/default.c, commands/timeout.c and normal/context.c.
47702 (normal_mod_SOURCES): Removed normal/context.c.
47703
47704 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
47705 commands/timeout.c and normal/context.c.
47706 (normal_mod_SOURCES): Removed normal/context.c.
47707
47708 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
47709 commands/default.c, commands/timeout.c and normal/context.c.
47710 (normal_mod_SOURCES): Removed normal/context.c.
47711
47712 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
47713 timeout.mod.
47714 (default_mod_SOURCES): Removed.
47715 (default_mod_CFLAGS): Likewise.
47716 (default_mod_LDFLAGS): Likewise.
47717 (timeout_mod_SOURCES): Removed.
47718 (timeout_mod_CFLAGS): Likewise.
47719 (timeout_mod_LDFLAGS): Likewise.
47720
47721 * DISTLIST: Removed commands/default.c, commands/timeout.c and
47722 normal/context.c.
47723
47724 * commands/default.c: Removed.
47725 * commands/timeout.c: Likewise.
47726 * normal/context.c: Likewise.
47727
1eb9cc1d 477282006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
47729
47730 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
47731
385bd9c1 477322006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
47733
47734 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
47735 "next" to "prev" for readability.
47736 (struct grub_env_sorted_var): New struct.
47737 (grub_env_context): Renamed to ...
47738 (initial_context): ... this.
47739 (grub_env_var_context): Renamed to ...
47740 (current_context): ... this.
47741 (grub_env_find): Look only at CURRENT_CONTEXT.
47742 (grub_env_context_open): Rewritten to copy exported variables from
47743 previous context.
47744 (grub_env_context_close): Rewritten according to the new
47745 scheme. Also, add an assertion to prevent the initial context from
47746 removed.
47747 (grub_env_insert): Removed the code for the sorted list.
47748 (grub_env_remove): Likewise.
47749 (grub_env_export): Simply mark the variable with
47750 GRUB_ENV_VAR_GLOBAL.
47751 (grub_env_set): A cosmetic change for naming consistency.
47752 (grub_env_get): Likewise.
47753 (grub_env_unset): Likewise.
47754 (grub_env_iterate): Rewritten to sort variables within this
47755 function.
47756 (grub_register_variable_hook): Fixed for naming consistency. Call
47757 grub_env_find again, only if NAME is not found at the first time.
47758 (mangle_data_slot_name): New function.
47759 (grub_env_set_data_slot): Likewise.
47760 (grub_env_get_data_slot): Likewise.
47761 (grub_env_unset_data_slot): Likewise.
47762
47763 * include/grub/env.h (grub_env_var_type): New enum.
47764 (GRUB_ENV_VAR_LOCAL): New constant.
47765 (GRUB_ENV_VAR_GLOBAL): Likewise.
47766 (GRUB_ENV_VAR_DATA): Likewise.
47767 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
47768 "type".
47769 (grub_env_set): Replace VAR with NAME for consistency.
47770 (grub_register_variable_hook): Likewise.
47771 (grub_env_export): Specify the name of the argument.
47772 (grub_env_set_data_slot): New prototype.
47773 (grub_env_get_data_slot): Likewise.
47774 (grub_env_unset_data_slot): Likewise.
47775
7f362539 477762006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47777
47778 Extend the loader so that GRUB can accept a loader which comes
47779 back to GRUB when a loaded image exits. Also, this change adds
47780 support for a chainloader on EFI.
f19dbdb7 47781
7f362539 47782 * term/efi/console.c: Include grub/misc.h.
47783 (grub_console_checkkey): Display a scan code on the top for
47784 debugging. This will be removed once the EFI port gets stable.
47785 Correct the scan code mapping.
47786
47787 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
47788 allocate memory from larger regions, in order to reduce the number
47789 of allocated regions. Otherwise, the MacOSX loader panics.
47790 (filter_memory_map): Avoid less than 1MB for compatibility with
47791 other loaders.
47792 (add_memory_regions): Allocate from the tail of a region, if
47793 possible, to avoid allocating a region near to 1MB, for the MacOSX
47794 loader.
47795
47796 * kern/efi/init.c (grub_efi_set_prefix): Specify
47797 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
47798
47799 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
47800 argument IMAGE_HANDLE and specify it to get a loaded image.
47801 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
47802 grub_efi_get_loaded_image.
fe6b695a 47803 (grub_efi_get_filename): Divide the length by the size of
7f362539 47804 grub_efi_char16_t.
47805 (grub_efi_get_device_path): New function.
47806 (grub_efi_print_device_path): Print End Device Path nodes. Divide
47807 the length by the size of grub_efi_char16_t for a file path device
47808 path node.
47809
47810 * kern/loader.c (grub_loader_noreturn): New variable.
47811 (grub_loader_set): Accept a new argument NORETURN. Set
47812 GRUB_LOADER_NORETURN to NORETURN.
47813 All callers changed.
47814 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
47815 grub_machine_fini.
47816
47817 * include/grub/efi/efi.h (grub_efi_get_device_path): New
47818 prototype.
47819 (grub_efi_get_loaded_image): Take an argument to specify an image
47820 handle.
47821
47822 * include/grub/loader.h (grub_loader_set): Added one more argument
47823 NORETURN.
47824
47825 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
47826 instead of grub_efi_open_protocol.
47827 (grub_efidisk_get_device_name): Likewise.
47828 (grub_efidisk_close): Print a newline.
47829 (grub_efidisk_get_device_handle): Fixed to use
47830 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
47831 GRUB_EFI_DEVICE_PATH_TYPE.
47832
47833 * disk/efi/efidisk.c (device_path_guid): Moved to ...
47834 * kern/efi/efi.c (device_path_guid): ... here.
47835
47836 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
47837 chain.mod.
47838 (kernel_mod_HEADERS): Added efi/disk.h.
47839 (_chain_mod_SOURCES): New variable.
47840 (_chain_mod_CFLAGS): Likewise.
47841 (_chain_mod_LDFLAGS): Likewise.
47842 (chain_mod_SOURCES): Likewise.
47843 (chain_mod_CFLAGS): Likewise.
47844 (chain_mod_LDFLAGS): Likewise.
47845
47846 * DISTLIST: Added include/grub/efi/chainloader.h,
47847 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
47848
47849 * include/grub/efi/chainloader.h: New file.
47850 * loader/efi/chainloader.c: Likewise.
47851 * loader/efi/chainloader_normal.c: Likewise.
47852
c0111d6e 478532006-04-30 Marco Gerards <marco@gnu.org>
47854
47855 * commands/configfile.c (grub_cmd_source): New function.
47856 (GRUB_MOD_INIT): Register the commands `source' and `.'.
47857 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
47858
df5341da 478592006-04-30 Marco Gerards <marco@gnu.org>
47860
47861 * normal/execute.c (grub_script_execute_cmd): Change the return
47862 type to `grub_err_t'. Correctly return the error.
47863 (grub_script_execute_cmdline): In case a command line is not a
47864 command or a function, try to interpret it as an assignment.
47865
f85934bd 478662006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47867
47868 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
47869 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
47870 skip a node whose name is obviously invalid as UTF-16,
47871 i.e. contains a NUL character. Stop the iteration when the last
47872 directory entry is found. Instead of using the return value of
47873 grub_hfsplus_btree_iterate_node, store the value in RET and use
47874 it, because the iterator can be stopped by the last directory
47875 entry.
47876
8f8a2cf8 478772006-04-30 Marco Gerards <marco@gnu.org>
47878
47879 * include/grub/env.h (grub_env_export): New prototype. Reported
47880 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
47881
a27e84ce 478822006-04-30 Marco Gerards <marco@gnu.org>
47883
47884 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
47885 size of the extents in a catalog file record.
47886
eaef0553 478872006-04-29 Marco Gerards <marco@gnu.org>
47888
47889 * commands/configfile.c (grub_cmd_configfile): Execute the
47890 configfile within its own context.
47891
47892 * include/grub/env.h (grub_env_context_open): New prototype.
47893 (grub_env_context_close): Likewise.
47894
47895 * kern/env.c (grub_env): Removed.
47896 (grub_env_sorted): Likewise.
47897 (grub_env_context): New variable.
47898 (grub_env_var_context): Likewise.
47899 (grub_env_find): Search both the active context and the global
47900 context.
47901 (grub_env_context_open): New function.
47902 (grub_env_context_close): Likewise.
47903 (grub_env_insert): Likewise.
47904 (grub_env_remove): Likewise.
47905 (grub_env_export): Likewise.
47906 (grub_env_set): Changed to use helper functions to avoid code
47907 duplication.
47908 (grub_env_iterate): Rewritten so both the current context and the
47909 global context are being used.
47910
47911 * normal/command.c (export_command): New function.
47912 (grub_command_init): Register the `export' function.
47913
7b455f4d 479142006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
47915
47916 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
47917 explicitly to suppress gcc's warnings.
47918 * fs/fat.c (grub_fat_find_dir): Likewise.
47919 (grub_fat_label): Likewise.
47920 * fs/xfs.c (grub_xfs_read_inode): Likewise.
47921 (grub_xfs_mount): Likewise.
47922 (grub_xfs_label): Likewise.
47923 * fs/affs.c (grub_affs_mount): Likewise.
47924 (grub_affs_label): Likewise.
47925 (grub_affs_iterate_dir): Likewise.
47926 * fs/sfs.c (grub_sfs_mount): Likewise.
47927 (grub_sfs_iterate_dir): Likewise.
47928 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
47929 * fs/hfs.c (grub_hfs_mount): Likewise.
47930 (grub_hfs_cmp_catkeys): Likewise.
47931 (grub_hfs_find_dir): Likewise.
47932 (grub_hfs_dir): Likewise.
47933 (grub_hfs_label): Likewise.
47934 * fs/jfs.c (grub_jfs_mount): Likewise.
47935 (grub_jfs_opendir): Likewise.
47936 (grub_jfs_getent): Likewise.
47937 (grub_jfs_lookup_symlink): Likewise.
47938 (grub_jfs_label): Likewise.
47939 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
47940 (grub_hfsplus_iterate_dir): Likewise.
47941 (grub_hfsplus_btree_iterate_node): Made static.
47942
47943 * util/grub-emu.c (prefix): New variable.
47944 (grub_machine_set_prefix): New function.
47945 (main): Do not set the environment variable "prefix" here. Only
47946 set PREFIX, which is used later by grub_machine_set_prefix.
47947
47948 * include/grub/video.h: Do not include grub/symbol.h.
47949 (grub_video_register): Not exported. This symbol is not defined in
47950 the kernel.
47951 (grub_video_unregister): Likewise.
47952 (grub_video_iterate): Likewise.
47953 (grub_video_setup): Likewise.
47954 (grub_video_restore): Likewise.
47955 (grub_video_get_info): Likewise.
47956 (grub_video_get_blit_format): Likewise.
47957 (grub_video_set_palette): Likewise.
47958 (grub_video_get_palette): Likewise.
47959 (grub_video_set_viewport): Likewise.
47960 (grub_video_get_viewport): Likewise.
47961 (grub_video_map_color): Likewise.
47962 (grub_video_map_rgb): Likewise.
47963 (grub_video_map_rgba): Likewise.
47964 (grub_video_fill_rect): Likewise.
47965 (grub_video_blit_glyph): Likewise.
47966 (grub_video_blit_bitmap): Likewise.
47967 (grub_video_blit_render_target): Likewise.
47968 (grub_video_scroll): Likewise.
47969 (grub_video_swap_buffers): Likewise.
47970 (grub_video_create_render_target): Likewise.
47971 (grub_video_delete_render_target): Likewise.
47972 (grub_video_set_active_render_target): Likewise.
47973
47974 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
47975 Undefined.
47976 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
47977
47978 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
47979 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47980 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47981 instead of $(srcdir)/genkernsyms.sh.
47982
47983 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
47984 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47985 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47986 instead of $(srcdir)/genkernsyms.sh.
47987
47988 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
47989 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47990 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47991 instead of $(srcdir)/genkernsyms.sh.
47992
47993 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
47994 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47995 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47996 instead of $(srcdir)/genkernsyms.sh.
47997
47998 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
47999 genkernsyms.sh.
48000
48001 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
48002 genkernsyms.sh.
48003 (gensymlist.sh): New target.
48004 (genkernsyms.sh): Likewise.
48005
48006 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
48007 genkernsyms.sh.in and gensymlist.sh.in.
48008
48009 * genkernsyms.sh: Removed.
48010 * gensymlist.sh: Likewise.
f19dbdb7 48011
7b455f4d 48012 * genkernsyms.sh.in: New file.
48013 * gensymlist.sh.in: Likewise.
48014
1885bb27 480152006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48016
48017 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
48018 clobber "prefix", since we may have already set it manually.
48019
71538dff 480202006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48021
48022 * kern/misc.c (abort): New alias for grub_abort.
48023
2965c7cc 480242006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
48025
48026 A new machine-specific function "grub_machine_set_prefix" is
48027 defined. This is called after loading modules, so that a prefix
48028 initialization can use modules. Also, this change adds an
48029 intensive debugging feature for the memory manager via the
48030 configure option "--enable-mm-debug".
f19dbdb7 48031
2965c7cc 48032 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
48033 PART.LEN.
48034
48035 * kern/sparc64/ieee1275/init.c (abort): Removed.
48036 (grub_stop): Likewise.
48037 (grub_exit): New function.
48038 (grub_set_prefix): Renamed to ...
48039 (grub_machine_set_prefix): ... this.
48040 (grub_machine_init): Do not call grub_set_prefix.
48041
48042 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
48043 (grub_machine_set_prefix): ... this.
48044 (grub_machine_init): Do not call grub_set_prefix.
48045
48046 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
48047 (grub_machine_init): Do not set the prefix here.
48048
48049 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
48050
48051 * kern/efi/init.c: Include grub/mm.h.
48052 (grub_efi_set_prefix): New function.
48053
48054 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
48055 (grub_efi_get_filename): New function.
48056 (grub_print_device_path): Renamed to ...
48057 (grub_efi_print_device_path): ... this.
48058
48059 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
48060 [MM_DEBUG] (grub_realloc): Likewise.
48061 [MM_DEBUG] (grub_free): Likewise.
48062 [MM_DEBUG] (grub_memalign): Likewise.
48063 [MM_DEBUG] (grub_mm_debug): New variable.
48064 [MM_DEBUG] (grub_debug_malloc): New function.
48065 [MM_DEBUG] (grub_debug_free): New function.
48066 [MM_DEBUG] (grub_debug_realloc): New function.
48067 [MM_DEBUG] (grub_debug_memalign): New function.
48068
48069 * kern/misc.c (grub_abort): Print a newline to distinguish
48070 the message.
48071
48072 * kern/main.c (grub_main): Call grub_machine_set_prefix and
48073 grub_set_root_dev after loading modules. This is necessary when
48074 setting a prefix depends on modules.
48075
48076 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
48077 (grub_efi_print_device_path): ... this.
48078 (grub_efi_get_filename): New prototype.
48079 (grub_efi_set_prefix): Likewise.
48080
48081 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
48082 and grub/disk.h.
48083 (grub_efidisk_get_device_handle): New prototype.
48084 (grub_efidisk_get_device_name): Likewise.
48085
48086 * include/grub/mm.h: Include config.h.
48087 (MM_DEBUG): Removed.
48088 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
48089 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
48090 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
48091 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
48092 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
48093 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
48094 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
48095 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
48096 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
48097
48098 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
48099
48100 * disk/efi/efidisk.c: Include grub/partition.h.
48101 (iterate_child_devices): New function.
48102 (add_device): First, compare only last device path nodes, so that
48103 devices are sorted by the types.
48104 (grub_efidisk_get_device_handle): New function.
48105 (grub_efidisk_get_device_name): Likewise.
48106
48107 * configure.ac (--enable-mm-debug): New option to enable the
48108 memory manager debugging feature. This makes the binary much
48109 bigger, so is disabled by default.
48110
9cacaa17 481112006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
48112
48113 Use grub_abort instead of grub_stop, and grub_exit must be
48114 define in each architecture now. Also, this change adds support
48115 for EFI disks.
f19dbdb7 48116
9cacaa17 48117 * util/i386/pc/grub-probefs.c: Include grub/term.h.
48118 (grub_getkey): New function.
48119 (grub_term_get_current): Likewise.
48120
48121 * util/i386/pc/grub-setup.c: Include grub/term.h.
48122 (grub_getkey): New function.
48123 (grub_term_get_current): Likewise.
48124
48125 * util/misc.c (grub_stop): Renamed to ...
48126 (grub_exit): ... this.
48127
48128 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
48129 (grub_exit): ... this.
48130 (grub_machine_init): Use grub_abort instead of abort.
48131 (grub_stop): Removed.
48132
48133 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
48134 abort.
48135
48136 * kern/i386/pc/startup.S (grub_exit): New function.
48137 (cold_reboot): New label.
48138
48139 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
48140 (grub_efi_init): Call grub_efidisk_init.
48141 (grub_efi_fini): Call grub_efidisk_fini.
48142
48143 * kern/efi/efi.c: Include grub/mm.h.
48144 (grub_efi_console_control_guid): Renamed to ...
48145 (console_control_guid): ... this.
48146 (grub_efi_loaded_image_guid): Renamed to ...
48147 (loaded_image_guid): ... this.
48148 (grub_efi_locate_handle): New function.
48149 (grub_efi_open_protocol): Likewise.
48150 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
48151 GRUB_EFI_CONSOLE_CONTROL_GUID.
48152 (grub_efi_exit): Removed.
48153 (grub_stop): Likewise.
48154 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
48155 (grub_exit): New function.
48156 (grub_print_device_path): Likewise.
48157
48158 * kern/rescue.c (grub_rescue_cmd_exit): New function.
48159 (grub_enter_rescue_mode): Register "exit".
48160
48161 * kern/misc.c (grub_real_dprintf): A cosmetic change.
48162 (grub_abort): New function.
48163
48164 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
48165
48166 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
48167
48168 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
48169
48170 * include/grub/efi/efi.h (grub_efi_exit): Removed.
48171 (grub_print_device_path): New prototype.
48172 (grub_efi_locate_handle): Likewise.
48173 (grub_efi_open_protocol): Likewise.
48174
48175 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
48176 * disk/efi/efidisk.c: Likewise.
48177
48178 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
48179
48180 * include/grub/efi/console_control.h
48181 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
48182
48183 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
48184 last 8 bytes as an array.
48185 (GRUB_EFI_DISK_IO_GUID): New macro.
48186 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
48187 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
48188 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
48189 grub_uint8_t.
48190 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
48191 (struct grub_efi_device_path): Rename the member "sub_type" to
48192 "subtype".
48193 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
48194 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
48195 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
48196 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
48197 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
48198 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
48199 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
48200 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
48201 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
48202 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
48203 (struct grub_efi_pci_device_path): New structure.
48204 (grub_efi_pci_device_path_t): New type.
48205 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
48206 (struct grub_efi_pccard_device_path): New structure.
48207 (grub_efi_pccard_device_path_t): New type.
48208 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
48209 (struct grub_efi_memory_mapped_device_path): New structure.
48210 (grub_efi_memory_mapped_device_path_t): New type.
48211 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
48212 (struct grub_efi_vendor_device_path): New structure.
48213 (grub_efi_vendor_device_path_t): New type.
48214 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
48215 (struct grub_efi_controller_device_path): New structure.
48216 (grub_efi_controller_device_path_t): New type.
48217 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
48218 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
48219 (struct grub_efi_acpi_device_path): New structure.
48220 (grub_efi_acpi_device_path_t): New type.
48221 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
48222 (struct grub_efi_expanded_acpi_device_path): New structure.
48223 (grub_efi_expanded_acpi_device_path_t): New type.
48224 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
48225 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
48226 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
48227 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
48228 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
48229 (struct grub_efi_atapi_device_path): New structure.
48230 (grub_efi_atapi_device_path_t): New type.
48231 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
48232 (struct grub_efi_fibre_channel_device_path): New structure.
48233 (grub_efi_fibre_channel_device_path_t): New type.
48234 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
48235 (struct grub_efi_1394_device_path): New structure.
48236 (grub_efi_1394_device_path_t): New type.
48237 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
48238 (struct grub_efi_usb_device_path): New structure.
48239 (grub_efi_usb_device_path_t): New type.
48240 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
48241 (struct grub_efi_usb_class_device_path): New structure.
48242 (grub_efi_usb_class_device_path_t): New type.
48243 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
48244 (struct grub_efi_i2o_device_path): New structure.
48245 (grub_efi_i2o_device_path_t): New type.
48246 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
48247 (struct grub_efi_mac_address_device_path): New structure.
48248 (grub_efi_mac_address_device_path_t): New type.
48249 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
48250 (struct grub_efi_ipv4_device_path): New structure.
48251 (grub_efi_ipv4_device_path_t): New type.
48252 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
48253 (struct grub_efi_ipv6_device_path): New structure.
48254 (grub_efi_ipv6_device_path_t): New type.
48255 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
48256 (struct grub_efi_infiniband_device_path): New structure.
48257 (grub_efi_infiniband_device_path_t): New type.
48258 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
48259 (struct grub_efi_uart_device_path): New structure.
48260 (grub_efi_uart_device_path_t): New type.
48261 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
48262 (struct grub_efi_vendor_messaging_device_path): New structure.
48263 (grub_efi_vendor_messaging_device_path_t): New type.
48264 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
48265 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
48266 (struct grub_efi_hard_drive_device_path): New structure.
48267 (grub_efi_hard_drive_device_path_t): New type.
48268 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
48269 (struct grub_efi_cdrom_device_path): New structure.
48270 (grub_efi_cdrom_device_path_t): New type.
48271 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
48272 (struct grub_efi_vendor_media_device_path): New structure.
48273 (grub_efi_vendor_media_device_path_t): New type.
48274 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
48275 (struct grub_efi_file_path_device_path): New structure.
48276 (grub_efi_file_path_device_path_t): New type.
48277 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
48278 (struct grub_efi_protocol_device_path): New structure.
48279 (grub_efi_protocol_device_path_t): New type.
48280 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
48281 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
48282 (struct grub_efi_bios_device_path): New structure.
48283 (grub_efi_bios_device_path_t): New type.
48284 (struct grub_efi_disk_io): New structure.
48285 (grub_efi_disk_io_t): New type.
48286 (struct grub_efi_block_io_media): New structure.
48287 (grub_efi_block_io_media_t): New type.
48288 (struct grub_efi_block_io): New structure.
48289 (grub_efi_block_io_t): New type.
48290
48291 * include/grub/misc.h (grub_stop): Removed.
48292 (grub_exit): New prototype.
48293 (grub_abort): Likewise.
48294
48295 * include/grub/disk.h (enum grub_disk_dev_id): Added
48296 GRUB_DISK_DEVICE_EFIDISK_ID.
48297
48298 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
48299 disk/efi/efidisk.c.
48300 (kernel_syms.lst): Remove the target if an error occurs.
48301
49986a9f 483022006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
48303
48304 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
48305 as it was simply too buggy.
48306
970d3b8a 483072006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
48308
48309 * kern/misc.c (grub_lltoa): New function.
48310 (grub_vsprintf): Added support for the long long suffix,
48311 i.e. "ll".
48312
ff04ec24 483132006-04-20 Hollis Blanchard <hollis@penguinppc.org>
48314
48315 * Makefile.in (LDFLAGS): Add variable.
48316 (LD): Remove variable.
48317 * configure.ac: Add -m32 to LDFLAGS.
48318 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
48319 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
48320 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
48321 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
48322 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
48323 variables.
48324 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
48325 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
48326 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
48327
37e5e1a4 483282006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
48329
48330 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
48331 length for unknown glyph.
48332
c352d8dd 483332006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
48334
2eab1c0d 48335 Add support for pre-loaded modules into the EFI port.
f19dbdb7 48336
2eab1c0d 48337 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
48338 completely. Accept one more argument DIR. The caller has changed.
48339
48340 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
48341
48342 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
48343 (grub_efi_loaded_image_guid): New variable.
48344 (grub_efi_get_loaded_image): New function.
48345 (grub_arch_modules_addr): Likewise.
48346
48347 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
48348 prototype.
48349
48350 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
48351 (struct grub_efi_loaded_image): New structure.
48352 (grub_efi_loaded_image_t): New type.
48353
483542006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 48355
c352d8dd 48356 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
48357 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
48358 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
48359
6d01d6b4 483602006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
48361
48362 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
48363
976a4ea0 483642006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
48365
48366 * DISTLIST: Added include/grub/efi/console.h,
48367 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
48368 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48369
48370 * include/grub/efi/console.h: New file.
48371 * include/grub/efi/time.h: Likewise.
48372 * include/grub/i386/efi/kernel.h: Likewise.
48373 * kern/efi/init.c: Likewise.
48374 * kern/efi/mm.c: Likewise.
48375 * term/efi/console.c: Likewise.
f19dbdb7 48376
976a4ea0 48377 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
48378 (grub_stop): Removed.
48379 (grub_get_rtc): Likewise.
48380 (grub_machine_init): Simply call grub_efi_init.
48381 (grub_machine_fini): Call grub_efi_fini.
48382
48383 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
48384 (grub_efi_output_string): Removed.
48385 (grub_efi_stall): New function.
48386 (grub_stop): Likewise.
48387 (grub_get_rtc): Likewise.
48388
48389 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
48390 (grub_efi_stall): New prototype.
48391 (grub_efi_allocate_pages): Likewise.
48392 (grub_efi_free_pages): Likewise.
48393 (grub_efi_get_memory_map): Likewise.
48394 (grub_efi_mm_init): Likewise.
48395 (grub_efi_mm_fini): Likewise.
48396 (grub_efi_init): Likewise.
48397 (grub_efi_fini): Likewise.
48398
48399 * include/grub/i386/efi/time.h: Do not include
48400 grub/symbol.h. Include grub/efi/time.h.
48401 (GRUB_TICKS_PER_SECOND): Removed.
48402 (grub_get_rtc): Likewise.
48403
48404 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
48405 Added padding. The EFI spec is buggy.
48406 (GRUB_EFI_BLACK): New macro.
48407 (GRUB_EFI_BLUE): Likewise.
48408 (GRUB_EFI_GREEN): Likewise.
48409 (GRUB_EFI_CYAN): Likewise.
48410 (GRUB_EFI_RED): Likewise.
48411 (GRUB_EFI_MAGENTA): Likewise.
48412 (GRUB_EFI_BROWN): Likewise.
48413 (GRUB_EFI_LIGHTGRAY): Likewise.
48414 (GRUB_EFI_BRIGHT): Likewise.
48415 (GRUB_EFI_DARKGRAY): Likewise.
48416 (GRUB_EFI_LIGHTBLUE): Likewise.
48417 (GRUB_EFI_LIGHTGREEN): Likewise.
48418 (GRUB_EFI_LIGHTCYAN): Likewise.
48419 (GRUB_EFI_LIGHTRED): Likewise.
48420 (GRUB_EFI_LIGHTMAGENTA): Likewise.
48421 (GRUB_EFI_YELLOW): Likewise.
48422 (GRUB_EFI_WHITE): Likewise.
48423 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
48424 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
48425 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
48426 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
48427 (GRUB_EFI_BACKGROUND_RED): Likewise.
48428 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
48429 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
48430 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
48431 (GRUB_EFI_TEXT_ATTR): Likewise.
48432
48433 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
48434 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48435 (kernel_mod_HEADERS): Added efi/time.h.
48436
83709125 484372006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
48438
48439 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
48440 include/grub/efi/api.h, include/grub/efi/console_control.h,
48441 include/grub/efi/efi.h, include/grub/efi/pe32.h,
48442 include/grub/i386/efi/time.h, kern/efi/efi.c,
48443 kern/i386/efi/init.c, kern/i386/efi/startup.S,
48444 and util/i386/efi/grub-mkimage.c.
48445
48446 * Makefile.in (RMKFILES): Added i386-efi.rmk.
48447
48448 * genmk.rb (PModule#rule): Do not export symbols if
48449 #{prefix}_EXPORTS is set to "no".
48450
48451 * conf/i386-efi.mk: New file.
48452 * conf/i386-efi.rmk: Likewise.
48453 * include/grub/efi/api.h: Likewise.
48454 * include/grub/efi/console_control.h: Likewise.
48455 * include/grub/efi/efi.h: Likewise.
48456 * include/grub/efi/pe32.h: Likewise.
48457 * include/grub/i386/efi/time.h: Likewise.
48458 * kern/efi/efi.c: Likewise.
48459 * kern/i386/efi/init.c: Likewise.
48460 * kern/i386/efi/startup.S: Likewise.
48461 * util/i386/efi/grub-mkimage.c: Likewise.
48462
484632006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 48464
48465 * include/grub/script.h: Include <grub/parser.h> and
48466 "grub_script.tab.h".
48467 (struct grub_lexer_param): New struct.
48468 (struct grub_parser_param): Likewise.
48469 (grub_script_create_arglist): Pass the state in an argument.
48470 (grub_script_add_arglist): Likewise.
48471 (grub_script_create_cmdline): Likewise.
48472 (grub_script_create_cmdblock): Likewise.
48473 (grub_script_create_cmdif): Likewise.
48474 (grub_script_create_cmdmenu): Likewise.
48475 (grub_script_add_cmd): Likewise.
48476 (grub_script_arg_add): Likewise.
48477 (grub_script_lexer_ref): Likewise.
48478 (grub_script_lexer_deref): Likewise.
48479 (grub_script_lexer_record_start): Likewise.
48480 (grub_script_lexer_record_stop): Likewise.
48481 (grub_script_mem_record): Likewise.
48482 (grub_script_mem_record_stop): Likewise.
48483 (grub_script_malloc): Likewise.
48484 (grub_script_yylex): Likewise.
48485 (grub_script_yyparse): Likewise.
48486 (grub_script_yyerror): Likewise.
48487 (grub_script_yylex): Likewise.
48488 (grub_script_lexer_init): Return the state.
48489
48490 * normal/lexer.c (grub_script_lexer_state): Removed variable.
48491 (grub_script_lexer_done): Likewise.
48492 (grub_script_lexer_getline): Likewise.
48493 (grub_script_lexer_refs): Likewise.
48494 (script): Likewise.
48495 (newscript): Likewise.
48496 (record): Likewise.
48497 (recording): Likewise.
48498 (recordpos): Likewise.
48499 (recordlen): Likewise.
48500 (grub_script_lexer_init): Return the state instead of setting
48501 global variables.
48502 (grub_script_lexer_ref): Use the newly added argument for state
48503 instead of globals.
48504 (grub_script_lexer_deref): Likewise.
48505 (grub_script_lexer_record_start): Likewise.
48506 (grub_script_lexer_record_stop): Likewise.
48507 (recordchar): Likewise.
48508 (nextchar): Likewise.
48509 (grub_script_yylex2): Likewise.
48510 (grub_script_yylex): Likewise.
48511 (grub_script_yyerror): Likewise.
48512
48513 * normal/parser.y (func_mem): Removed variable.
48514 (menu_entry): Likewise.
48515 (err): Likewise.
48516 (%lex-param): New parser option.
48517 (%parse-param): Likewise.
48518 (script): Always return the AST.
48519 (argument): Pass the state around.
48520 (arguments): Likewise.
48521 (grubcmd): Likewise.
48522 (commands): Likewise.
48523 (function): Likewise.
48524 (menuentry): Likewise.
48525 (if_statement): Likewise.
48526 (if): Likewise.
48527
48528 * normal/script.c (grub_script_memused): Removed variable.
48529 (grub_script_parsed): Likewise.
48530 (grub_script_malloc): Added a state argument. Use that instead of
48531 global variables.
48532 (grub_script_mem_record): Likewise.
48533 (grub_script_mem_record_stop): Likewise.
48534 (grub_script_arg_add): Likewise.
48535 (grub_script_add_arglist): Likewise.
48536 (grub_script_create_cmdline): Likewise.
48537 (grub_script_create_cmdif): Likewise.
48538 (grub_script_create_cmdmenu): Likewise.
48539 (grub_script_add_cmd): Likewise.
48540 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 48541
e2a8c904 485422006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 48543
48544 * normal/command.c (grub_command_init): Remove the title command.
48545
48546 * normal/lexer.c (grub_script_yylex): Renamed from this...
48547 (grub_script_yylex2): ... to this.
48548 (grub_script_yylex): New function. Temporary
48549 introduced to filter some tokens.
48550 (grub_script_yyerror): Print a newline.
48551
48552 * normal/main.c (read_config_file): Output information about the
48553 lines that contain errors. Wait for a key after all lines have
48554 been processed. Don't return an empty menu.
48555
48556 * normal/parser.y (func_mem): Don't initialize.
48557 (menu_entry): Likewise.
48558 (err): New variable.
48559 (script): Don't return anything when an error was encountered.
48560 (ws, returns): Removed rules.
48561 (argument): Disabled concatenated variable support.
48562 (arguments): Remove explicit separators.
48563 (grubcmd): Likewise.
48564 (function): Likewise.
48565 (menuentry): Likewise.
48566 (if): Likewise.
48567 (commands): Likewise. Add error handling.
48568
48569 * normal/script.c (grub_script_create_cmdline): If
48570 `grub_script_parsed' is 0, assume the parser encountered an error.
48571
c9a86192 485722006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
48573
48574 * configure.ac: Add support for EFI. Fix the typo
48575 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
48576
70f3b243 485772006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48578
48579 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
48580 foreign multibyte characters should be shown correctly.
48581
65f201ad 485822006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48583
48584 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
48585 calculation.
48586 (read_config_file): Made it to close file before returning.
48587
b4b93674 485882006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
48589
48590 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
48591 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
48592 video/i386/pc/vbefill.c.
48593
48594 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
48595 video/i386/pc/vbefill.c.
48596
48597 * include/grub/video.h (grub_video_blit_format): New enum.
48598 (grub_video_mode_info): Added new member blit_format.
48599 (grub_video_get_blit_format): New function prototype.
48600
48601 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
48602 function prototype.
48603 (grub_video_vbe_map_rgb): Likewise.
48604 (grub_video_vbe_unmap_color): Likewise.
48605
48606 * include/grub/i386/pc/vbeblit.h: New file.
48607
48608 * include/grub/i386/pc/vbefill.h: New file.
48609
48610 * video/video.c (grub_video_get_blit_format): New function.
48611 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
48612 (grub_video_vbe_map_rgb): Likewise.
48613 (grub_video_vbe_unmap_color): Likewise.
48614
48615 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
48616 optimized fills.
48617 (grub_video_vbe_blit_render_target): Changed to use more optimized
48618 blits.
48619 (grub_video_vbe_setup): Added detection for optimized settings.
48620 (grub_video_vbe_create_render_target): Likewise.
48621
48622 * video/i386/pc/vbeblit.c: New file.
48623
48624 * video/i386/pc/vbefill.c: New file.
48625
c2379b9c 486262006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
48627
48628 * font/manager.c (grub_font_get_glyph): Removed font fixup from
48629 here...
48630
48631 * util/unifont2pff.rb: ... and moved it to here. Improved argument
48632 parsing to support both hex and dec ranges. If filename was missing
48633 show usage information.
48634
bd0d7896 486352006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
48636
48637 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
48638 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
48639
48640 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
48641 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
48642 (video_mod_SOURCES): Added.
48643 (video_mod_CFLAGS): Likewise.
48644 (video_mod_LDFLAGS): Likewise.
48645 (gfxterm_mod_SOURCES): Likewise.
48646 (gfxterm_mod_CFLAGS): Likewise.
48647 (gfxterm_mod_LDFLAGS): Likewise.
48648 (videotest_mod_SOURCES): Likewise.
48649 (videotest_mod_CFLAGS): Likewise.
48650 (videotest_mod_LDFLAGS): Likewise.
48651 (vesafb_mod_SOURCES): Removed.
48652 (vesafb_mod_CFLAGS): Likewise.
48653 (vesafb_mod_LDFLAGS): Likewise.
48654 (vga_mod_SOURCES): Likewise.
48655 (vga_mod_CFLAGS): Likewise.
48656 (vga_mod_LDFLAGS): Likewise.
48657
48658 * commands/videotest.c: New file.
48659
48660 * font/manager.c (fill_with_default_glyph): Modified to use
48661 grub_font_glyph.
48662 (grub_font_get_glyph): Likewise.
48663 (fontmanager): Renamed from this...
48664 (font_manager): ... to this.
48665
48666 * include/grub/font.h (grub_font_glyph): Added new structure.
48667 (grub_font_get_glyph): Modified to use grub_font_glyph.
48668
48669 * include/grub/misc.h (grub_abs): Added as inline function.
48670
48671 * include/grub/video.h: New file.
48672
48673 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
48674 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
48675 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
48676 (grub_vbe_get_controller_info): Renamed from this...
48677 (grub_vbe_bios_get_controller_info): ... to this.
48678 (grub_vbe_get_mode_info): Renamed from this...
48679 (grub_vbe_bios_get_mode_info): ... to this.
48680 (grub_vbe_set_mode): Renamed from this...
48681 (grub_vbe_bios_set_mode): ... to this.
48682 (grub_vbe_get_mode): Renamed from this...
48683 (grub_vbe_bios_get_mode): ... to this.
48684 (grub_vbe_set_memory_window): Renamed from this...
48685 (grub_vbe_bios_set_memory_window): ... to this.
48686 (grub_vbe_get_memory_window): Renamed from this...
48687 (grub_vbe_bios_get_memory_window): ... to this.
48688 (grub_vbe_set_scanline_length): Renamed from this...
48689 (grub_vbe_set_scanline_length): ... to this.
48690 (grub_vbe_get_scanline_length): Renamed from this...
48691 (grub_vbe_bios_get_scanline_length): ... to this.
48692 (grub_vbe_set_display_start): Renamed from this...
48693 (grub_vbe_bios_set_display_start): ... to this.
48694 (grub_vbe_get_display_start): Renamed from this...
48695 (grub_vbe_bios_get_display_start): ... to this.
48696 (grub_vbe_set_palette_data): Renamed from this...
48697 (grub_vbe_bios_set_palette_data): ... to this.
48698 (grub_vbe_set_pixel_rgb): Removed.
48699 (grub_vbe_set_pixel_index): Likewise.
48700
48701 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
48702 from this...
48703 (grub_vbe_bios_get_controller_info): ... to this.
48704 (grub_vbe_get_mode_info): Renamed from this...
48705 (grub_vbe_bios_get_mode_info): ... to this.
48706 (grub_vbe_set_mode): Renamed from this...
48707 (grub_vbe_bios_set_mode): ... to this.
48708 (grub_vbe_get_mode): Renamed from this...
48709 (grub_vbe_bios_get_mode): ... to this.
48710 (grub_vbe_set_memory_window): Renamed from this...
48711 (grub_vbe_bios_set_memory_window): ... to this.
48712 (grub_vbe_get_memory_window): Renamed from this...
48713 (grub_vbe_bios_get_memory_window): ... to this.
48714 (grub_vbe_set_scanline_length): Renamed from this...
48715 (grub_vbe_set_scanline_length): ... to this.
48716 (grub_vbe_get_scanline_length): Renamed from this...
48717 (grub_vbe_bios_get_scanline_length): ... to this.
48718 (grub_vbe_set_display_start): Renamed from this...
48719 (grub_vbe_bios_set_display_start): ... to this.
48720 (grub_vbe_get_display_start): Renamed from this...
48721 (grub_vbe_bios_get_display_start): ... to this.
48722 (grub_vbe_set_palette_data): Renamed from this...
48723 (grub_vbe_bios_set_palette_data): ... to this.
48724 (grub_vbe_bios_get_controller_info): Fixed problem with registers
48725 getting corrupted after calling it. Added more pushes and pops.
48726 (grub_vbe_bios_set_mode): Likewise.
48727 (grub_vbe_bios_get_mode): Likewise.
48728 (grub_vbe_bios_get_memory_window): Likewise.
48729 (grub_vbe_bios_set_scanline_length): Likewise.
48730 (grub_vbe_bios_get_scanline_length): Likewise.
48731 (grub_vbe_bios_get_display_start): Likewise.
48732 (grub_vbe_bios_set_palette_data): Likewise.
48733
48734 * normal/cmdline.c (cl_set_pos): Refresh the screen.
48735 (cl_insert): Likewise.
48736 (cl_delete): Likewise.
48737
48738 * term/gfxterm.c: New file.
48739
48740 * term/i386/pc/vesafb.c: Removed file.
48741
48742 * video/video.c: New file.
48743
48744 * video/i386/pc/vbe.c (real2pm): Added new function.
48745 (grub_video_vbe_draw_pixel): Likewise.
48746 (grub_video_vbe_get_video_ptr): Likewise.
48747 (grub_video_vbe_get_pixel): Likewise
48748 (grub_video_vbe_init): Likewise.
48749 (grub_video_vbe_fini): Likewise.
48750 (grub_video_vbe_setup): Likewise.
48751 (grub_video_vbe_get_info): Likewise.
48752 (grub_video_vbe_set_palette): Likewise.
48753 (grub_video_vbe_get_palette): Likewise.
48754 (grub_video_vbe_set_viewport): Likewise.
48755 (grub_video_vbe_get_viewport): Likewise.
48756 (grub_video_vbe_map_color): Likewise.
48757 (grub_video_vbe_map_rgb): Likewise.
48758 (grub_video_vbe_map_rgba): Likewise.
48759 (grub_video_vbe_unmap_color): Likewise.
48760 (grub_video_vbe_fill_rect): Likewise.
48761 (grub_video_vbe_blit_glyph): Likewise.
48762 (grub_video_vbe_blit_bitmap): Likewise.
48763 (grub_video_vbe_blit_render_target): Likewise.
48764 (grub_video_vbe_scroll): Likewise.
48765 (grub_video_vbe_swap_buffers): Likewise.
48766 (grub_video_vbe_create_render_target): Likewise.
48767 (grub_video_vbe_delete_render_target): Likewise.
48768 (grub_video_vbe_set_active_render_target): Likewise.
48769 (grub_vbe_set_pixel_rgb): Remove function.
48770 (grub_vbe_set_pixel_index): Likewise.
48771 (index_color_mode): Remove static variable.
48772 (active_mode): Likewise.
48773 (framebuffer): Likewise.
48774 (bytes_per_scan_line): Likewise.
48775 (grub_video_vbe_adapter): Added new static variable.
48776 (framebuffer): Likewise.
48777 (render_target): Likewise.
48778 (initial_mode): Likewise.
48779 (mode_in_use): Likewise.
48780 (mode_list): Likewise.
48781
5f97350b 487822006-03-10 Marco Gerards <marco@gnu.org>
48783
48784 * configure.ac (AC_INIT): Bumped to 1.93.
48785
48786 * DISTLIST: Added `include/grub/hfs.h'.
48787
a3c5c6f8 487882006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
48789
48790 * boot/i386/pc/boot.S (general_error): Before looping, try INT
48791 18H, which might help the BIOS falling back to next boot media.
48792
6de53d26 487932006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
48794
48795 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
48796 Poe Chen <poe.poechen@gmail.com>.
48797
77c4a393 487982006-01-17 Marco Gerards <marco@gnu.org>
48799
48800 * include/grub/normal.h: Include <grub/script.h>.
48801 (grub_command_list): Removed struct.
48802 (grub_command_list_t): Removed type.
48803 (grub_menu_entry): Remove members `num' and `command_list'. Add
48804 members `commands' and `sourcecode'.
48805 * include/grub/script.h: Add inclusion guards.
48806 (grub_script_cmd_menuentry): New struct.
48807 (grub_script_execute_menuentry): New prototype.
48808 (grub_script_lexer_record_start): Likewise.
48809 (grub_script_lexer_record_stop): Likewise.
48810 * normal/execute.c (grub_script_execute_menuentry): New function.
48811 * normal/lexer.c (record, recording, recordpos, recordlen): New
48812 variables.
48813 (grub_script_lexer_record_start): New function.
48814 (grub_script_lexer_record_stop): Likewise.
48815 (recordchar): Likewise.
48816 (nextchar): Likewise.
48817 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
48818 2048 as the buffer size. Add the tokens `menuentry' and `@'.
48819 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
48820 (current_menu): New variable.
48821 (free_menu): Mainly rewritten.
48822 (grub_normal_menu_addentry): New function.
48823 (read_config_file): Rewritten.
48824 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 48825 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 48826 the menu entry.
48827 (run): Mainly rewritten.
48828 * normal/parser.y (menu_entry): New variable.
48829 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
48830 (menuentry): New rule.
48831 (command): Add `menuentry'.
48832 (if_statement): Allow additional returns before `fi'.
48833 * normal/script.c (grub_script_create_cmdmenu): New function.
48834
144f1f98 488352006-01-03 Marco Gerards <marco@gnu.org>
48836
48837 * INSTALL: GNU Bison is required.
48838 * configure.ac: Rewritten the test to detect Bison.
48839 * Makefile.in (YACC): New variable. Reported by Xun Sun
48840 <xun.sun.cn@gmail.com>.
48841
af4b2d89 488422006-01-03 Marco Gerards <marco@gnu.org>
48843
48844 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
48845 the HFS+ filesystem to filesystem blocks.
48846 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
48847 GCC warning is silenced.
48848
15643b71 488492006-01-03 Marco Gerards <marco@gnu.org>
48850
48851 * partmap/apple.c (apple_partition_map_iterate): Convert the data
48852 read from disk from big endian to host byte order.
48853
00905879 488542006-01-03 Hollis Blanchard <hollis@penguinppc.org>
48855
48856 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
48857 documentation.
48858 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
48859 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
48860 embedded HFS+ filesystem.
48861 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
48862 (grub_hfs_sblock): Move from here...
48863 * include/grub/hfs.h: To here... New file.
48864 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
48865 documentation.
48866 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
48867 New macros.
48868 (grub_hfsplus_volheader): Change type of member `magic' to
48869 `grub_uint16_t'.
48870 (grub_hfsplus_data): Add new member `embedded_offset'.
48871 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
48872 returned block.
48873 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
48874 Calculate the offset.
48875
8899bc3e 488762005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48877
48878 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
48879 Removed.
48880 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
48881
ae8c0277 488822005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48883
48884 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
48885 ENV->NAME is NULL after allocating ENV->VALUE.
48886
07084456 488872005-12-25 Marco Gerards <marco@gnu.org>
48888
48889 * kern/env.c (grub_env_set): Rewritten the error handling code.
48890
4750f5f1 488912005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48892
48893 * geninit.sh: Made more robust, and more portable.
48894
50214199 488952005-12-25 Marco Gerards <marco@gnu.org>
48896
48897 Add support for Apple HFS+ filesystems.
f19dbdb7 48898
50214199 48899 * fs/hfsplus.c: New file.
48900
48901 * DISTLIST: Added `fs/hfsplus.c'.
48902
48903 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
48904 (hfsplus_mod_SOURCES): New variable.
48905 (hfsplus_mod_CFLAGS): Likewise.
48906 (hfsplus_mod_LDFLAGS): Likewise.
48907 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
48908 (grub_setup_SOURCES): Likewise.
48909 (grub_mkdevicemap_SOURCES): Likewise.
48910 (grub_emu_SOURCES): Likewise.
48911 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48912
48913 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
48914
48915 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
48916
befaed6c 489172005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48918
48919 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
48920 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
48921 include/grub/parser.h, include/grub/script.h, kern/parser.c,
48922 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
48923 normal/lexer.c, normal/parser.y, normal/script.c, and
48924 partmap/gpt.c.
48925 Removed kern/sparc64/cache.c.
48926
48927 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
48928 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
48929 grub_emu_init.c.
48930
48931 * configure.ac (AC_INIT): Bumped to 1.92.
48932
6a124103 489332005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
48934
48935 * kern/err.c (grub_error_push): Added new function to support error
48936 stacks.
48937 (grub_error_pop): Likewise.
48938 (grub_error_stack_items): New local variable to support error stacks.
48939 (grub_error_stack_pos): Likewise.
48940 (grub_error_stack_assert): Likewise.
48941 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
48942 stack depth.
48943 (grub_print_error): Added support to print errors from error stack.
48944
48945 * include/grub/err.h (grub_error_push): Added function prototype.
48946 (grub_error_pop): Likewise.
48947
be973c1b 489482005-12-09 Hollis Blanchard <hollis@penguinppc.org>
48949
48950 * configure.ac: Accept `powerpc64' as host_cpu.
48951 (amd64): Rename to `biarch32'.
48952
48953 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
48954 non-cacheline-aligned addresses.
48955
48956 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
48957 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
48958 if `size' is non-zero.
48959
b04216ab 489602005-12-03 Marco Gerards <mgerards@xs4all.nl>
48961
48962 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
48963 and `cd' to make sure the filename is not prefixed with a
48964 directory name.
48965 (pkgdata_MODULES): Add `gpt.mod'.
48966 (gpt_mod_SOURCES): New variable.
48967 (gpt_mod_CFLAGS): Likewise.
48968 (gpt_mod_LDFLAGS): Likewise.
48969
48970 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
48971
48972 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
48973 New macro.
48974
48975 * partmap/gpt.c: New file.
48976
48977 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
48978 GPT partition map is detected.
48979
41730ed9 489802005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
48981
48982 * commands/i386/pc/play.c: New file.
48983 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
48984 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
48985 macros.
f19dbdb7 48986
95dc3643 489872005-11-27 Marco Gerards <mgerards@xs4all.nl>
48988
48989 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
48990 ((unused))' to silence gcc warning.
48991
1569ec51 489922005-11-26 Hollis Blanchard <hollis@penguinppc.org>
48993
48994 * configure.ac: Correct `AC_PROG_YACC' test.
48995
9abde152 489962005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48997
48998 * util/powerpc/ieee1275/grub-install.in: Run the mount point
48999 check before installing files.
49000
44b83271 490012005-11-22 Mike Small <smallm@panix.com>
49002
49003 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
49004 number regex so multidigit numbers are recognized correctly.
49005
490062005-11-22 Mike Small <smallm@panix.com>
49007
49008 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
49009 debugging message before attempting to claim memory.
49010 (grub_rescue_cmd_initrd): Add a claim debugging message and try
49011 multiple addresses in case of failure.
49012
9c12956b 490132005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49014
49015 * term/tparm.c (get_space): Remove empty `if' statement.
49016
49017 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
49018
49019 * kern/parser.c (check_varstate): Rename `state' to 's'.
49020
aeaf81d9 490212005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49022
49023 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
49024 variable definitions to the beginning of each function. Sort stack
49025 variables by size.
49026 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
49027 `buf' argument to `char *'.
49028
79bbb63f 490292005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49030
49031 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
49032 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 49033 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 49034 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49035 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49036 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49037 configfile.mod, search.mod, gzio.mod and test.mod.
49038 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49039 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49040 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49041 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49042 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49043 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49044 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49045 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49046 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49047 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49048 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49049 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49050 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49051 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49052 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49053 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49054 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49055 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49056 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49057 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49058 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49059 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49060 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
49061
49062 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
49063 `grep --include'.
49064 (pkgdata_MODULES): Add test.mod.
49065
233b1628 490662005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49067
49068 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
49069 appending to variables with "+=".
49070 (PModule): Use full pathname to generate *.lst filenames.
49071
49072 * Makefile.in: Fixed list rules moved from genmk.rb.
49073 (.DELETE_ON_ERROR): New special target.
49074 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
49075
49076 * conf/i386-pc.rmk: Include conf/common.mk.
49077 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 49078 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 49079 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49080 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49081 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49082 configfile.mod, search.mod, gzio.mod and test.mod.
49083 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49084 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49085 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49086 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49087 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49088 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49089 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49090 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49091 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49092 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49093 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49094 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49095 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49096 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49097 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49098 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49099 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49100 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49101 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49102 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49103 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49104 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49105 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
49106 here...
49107 * conf/common.rmk: ... to here. New file.
49108
49109 * conf/common.mk: New file.
49110
16f820c8 491112005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
49112
49113 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
49114 (grub_script.tab.c): ... here.
49115
49116 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
49117 (grub_script.tab.c): ... here.
49118
49119 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
49120 (grub_script.tab.c): ... here.
49121
49122 * normal/command.c (grub_command_find): Fixed a memory leak of
49123 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
49124
63ba1554 491252005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49126
49127 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
49128 "@" which marks the start of a comment on ARM.
49129 (VARIABLE): Likewise.
49130
7f67dc13 491312005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49132
79bbb63f 49133 Add support for Linux/ADFS partition tables.
7f67dc13 49134
49135 * partmap/acorn.c: New file.
49136
49137 * include/grub/acorn_filecore.h: Likewise.
49138
49139 * DISTLIST: Added `partmap/acorn.c' and
49140 `include/grub/acorn_filecore.h'.
f19dbdb7 49141
7f67dc13 49142 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49143 `partmap/acorn.c'.
49144 (pkgdata_MODULES): Add `acorn.mod'.
49145 (acorn_mod_SOURCES): New variable.
49146 (acorn_mod_CFLAGS): Likewise.
49147
49148 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49149 `partmap/acorn.c'.
49150 (pkgdata_MODULES): Add `acorn.mod'.
49151 (acorn_mod_SOURCES): New variable.
49152 (acorn_mod_CFLAGS): Likewise.
49153
49154 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
49155 (pkgdata_MODULES): Add `acorn.mod'.
49156 (acorn_mod_SOURCES): New variable.
49157 (acorn_mod_CFLAGS): Likewise.
49158 (acorn_mod_LDFLAGS): Likewise.
49159
49160 * include/types.h (grub_disk_addr_t): New typedef.
49161
6d099807 491622005-11-13 Marco Gerards <mgerards@xs4all.nl>
49163
49164 * geninit.sh: New file.
49165
49166 * geninitheader.sh: Likewise.
49167
49168 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
49169 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
49170 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
49171 * commands/configfile.c (grub_configfile_init)
49172 (grub_configfile_fini): Likewise.
49173 * commands/default.c (grub_default_init, grub_default_fini):
49174 Likewise.
49175 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
49176 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
49177 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
49178 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
49179 Likewise.
49180 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
49181 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
49182 Likewise.
49183 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 49184 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 49185 Likewise.
49186 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
49187 Likewise.
fe6b695a 49188 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 49189 Likewise.
49190 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
49191 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
49192 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
49193 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
49194 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
49195 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
49196 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
49197 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
49198 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
49199 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
49200 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
49201 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
49202 * partmap/amiga.c (grub_amiga_partition_map_init)
49203 (grub_amiga_partition_map_fini): Likewise.
49204 * partmap/apple.c (grub_apple_partition_map_init)
49205 (grub_apple_partition_map_fini): Likewise.
49206 * partmap/pc.c (grub_pc_partition_map_init)
49207 (grub_pc_partition_map_fini): Likewise.
49208 * partmap/sun.c (grub_sun_partition_map_init,
49209 grub_sun_partition_map_fini): Likewise.
49210 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
49211 Likewise.
49212
49213 * util/grub-emu.c: Include <grub_modules_init.h>.
49214 (main): Don't initialize and de-initialize any modules directly,
49215 use `grub_init_all' and `grub_fini_all' instead.
49216
49217 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
49218 `grub_vesafb_mod_init'.
49219 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
49220 all users.
49221 * term/i386/pc/vga.c (grub_vga_init): Renamed to
49222 `grub_vga_mod_init'. Updated all users.
49223 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 49224
6d099807 49225 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
49226 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
49227 rules.
49228
49229 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
49230 Generate a function to initialize the module in utilities.
49231 Updated all callers.
49232 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
49233 initialize the module in utilities. Updated all callers.
49234
9046bcf0 492352005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49236
49237 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
49238 escape sequence and a literal ^L to clear the screen.
49239
49240 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
49241 when returning from Open Firmware.
49242
d13ea639 492432005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49244
49245 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
49246 (grub_ofconsole_height): Likewise.
49247 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
49248 manually insert a '\n'.
49249 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
49250 `grub_ofconsole_height'. Return early if these are already set.
49251
a8fcf206 492522005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
49253
49254 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49255 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
49256 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
49257 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
49258 and `normal/script.c'.
49259 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49260 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49261 (test_mod_SOURCES): New variable.
49262 (test_mod_CFLAGS): Likewise.
49263 (test_mod_LDFLAGS): Likewise.
49264 (pkgdata_MODULES): Add `test.mod'.
49265 (grub_script.tab.c): New rule.
49266 (grub_script.tab.h): Likewise.
49267
b6b32745 492682005-11-07 Marco Gerards <mgerards@xs4all.nl>
49269
49270 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49271 `commands/test.c', `normal/execute.c', `normal/lexer.c',
49272 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49273 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49274 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49275 (test_mod_SOURCES): New variable.
49276 (test_mod_CFLAGS): Likewise.
49277 (pkgdata_MODULES): Add `test.mod'.
49278 (grub_script.tab.c): New rule.
49279 (grub_script.tab.h): Likewise.
49280
daac212a 492812005-11-06 Marco Gerards <mgerards@xs4all.nl>
49282
49283 Add initial scripting support.
49284
49285 * commands/test.c: New file.
49286 * include/grub/script.h: Likewise.
49287 * normal/execute.c: Likewise.
49288 * normal/function.c: Likewise.
49289 * normal/lexer.c: Likewise.
49290 * normal/parser.y: Likewise.
49291 * normal/script.c: Likewise.
49292
49293 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 49294
daac212a 49295 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
49296 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
49297 `normal/function.c' and `normal/script.c'.
49298 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49299 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 49300 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
49301 variables.
daac212a 49302 (pkgdata_MODULES): Add `test.mod'.
49303 (grub_script.tab.c): New rule.
49304 (grub_script.tab.h): Likewise.
49305
49306 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
49307
49308 * include/grub/normal.h (grub_test_init): New prototype.
49309 (grub_test_fini): Likewise.
f19dbdb7 49310
daac212a 49311 * normal/command.c: Include <grub/script.h>.
49312 (grub_command_execute): Rewritten.
f19dbdb7 49313
daac212a 49314 * util/grub-emu.c (main): Call `grub_test_init' and
49315 `grub_test_fini'.
49316
77500b2b 493172005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49318
49319 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
49320 to 0.
49321 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
49322 there are no pending characters.
49323
e45deb9e 493242005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49325
49326 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
49327 `grub_strndup' to drop device arguments. Replace unnecessary
49328 `grub_strndup' with `grub_strdup'.
49329
4ce32619 493302005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49331
49332 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
49333 `debug' environment variable has been set.
49334
493352005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49336
4ce32619 49337 * Makefile.in (install-local): Use $(DATA).
49338 (uninstall): Likewise.
49339 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
49340 (sbin_UTILITIES): ... to here.
49341 (sbin_SCRIPTS): New variable.
49342 (grub_install_SOURCES): New variable.
49343 * util/powerpc/ieee1275/grub-install.in: New file.
49344 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
49345 variable.
49346 (add_segments): Call `grub_util_get_path'.
49347
25fe6f03 493482005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
49349
49350 From Timothy Baldwin:
49351 * commands/ls.c (grub_ls_list_files): Close FILE with
49352 grub_file_close.
49353 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
49354
04ccf3ec 493552005-10-24 Marco Gerards <mgerards@xs4all.nl>
49356
49357 * include/grub/parser.h: New file.
49358
49359 * kern/parser.c: Likewise.
49360
49361 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
49362 (grub_setup_SOURCES): Likewise.
49363 (grub_probefs_SOURCES): Likewise.
49364 (grub_emu_SOURCES): Likewise.
49365 (kernel_img_HEADERS): Add `parser.h'.
49366
49367 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49368 (grub_emu_SOURCES): Add `kern/parser.c'.
49369 (grubof_SOURCES): Likewise.
49370
49371 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49372 (grubof_SOURCES): Add `kern/parser.c'.
49373
49374 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
49375
49376 * kern/misc.c (grub_split_cmdline): Removed function.
49377
49378 * kern/rescue.c: Include <grub/parser.h>.
49379 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
49380 of `grub_split_cmdline'.
49381
49382 * normal/command.c: Include <grub/parser.h>.
49383 (grub_command_execute): Use `grub_parser_split_cmdline' instead
49384 of `grub_split_cmdline'.
49385
49386 * normal/completion.c: Include <grub/parser.h>.
49387 (cmdline_state): New variable.
49388 (iterate_dir): End the filename with a quote depending on the
49389 command line state.
49390 (get_state): new function.
49391 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
49392 split the arguments and determine the current argument. When the
49393 argument string is not quoted, escape all spaces.
49394
6d8f4b0e 493952005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49396
49397 * normal/sparc64/setjmp.S: New file.
49398
15cf03ed 493992005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49400
49401 * include/grub/sparc64/libgcc.h: New file.
49402 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
49403 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
49404 normal/sparc64/setjmp.c.
49405
03e8661a 494062005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49407
49408 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
49409 * kern/sparc64/cache.S: New file.
49410 * kern/sparc64/cache.c: Removed.
49411 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
49412 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
49413 -mtune=ultrasparc.
49414 (COMMON_LDFLAGS): Add -melf64_sparc.
49415 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
49416 (grubof_SOURCES): Use cache.S instead of cache.c.
49417 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
49418 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
49419 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
49420 commented though.
49421 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
49422 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
49423 (linux_mod_CFLAGS): Commented out.
49424 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
49425 out because module isn't built.
49426 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
49427 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
49428 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
49429 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
49430 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
49431 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49432 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49433 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
49434 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
49435 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
49436 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49437 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49438 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
49439 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
49440
34eeec8a 494412005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
49442
49443 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
49444 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
49445 longer, because HFS should not be used on PC.
49446
708367a3 494472005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49448
49449 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
49450 consistently within the loop.
49451
6fa1251a 494522005-10-15 Marco Gerards <mgerards@xs4all.nl>
49453
49454 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
49455 directory can not be read.
49456
4801580b 494572005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49458
49459 * configure.ac (AC_INIT): Increase the version number to 1.91.
49460
49461 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
49462 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
49463 term/i386/pc/serial.c.
49464
219ad426 494652005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49466
49467 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
49468 file size must be permitted.
49469
49470 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
49471 between %ah and %al.
49472
688e5699 494732005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49474
49475 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
49476 grub_uint64_t.
49477 Call the hook with a NUL-terminated filename.
49478 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
49479 grub_cpu_to_be32.
49480
49481 * kern/term.c (cursor_state): New variable.
49482 (grub_term_set_current): Reset the cursor state on a new
49483 terminal.
49484 (grub_setcursor): Rewritten to use CURSOR_STATE.
49485 (grub_getcursor): New function.
49486
49487 * include/grub/term.h (grub_getcursor): New prototype.
49488
49489 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
49490 integers on ARM. Reported by Timothy Baldwin
49491 <T.E.Baldwin99@members.leeds.ac.uk>.
49492
bb34586c 494932005-10-11 Marco Gerards <mgerards@xs4all.nl>
49494
49495 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
49496 allocated.
49497 (grub_sfs_dir): Likewise.
49498
9a909877 494992005-10-09 Marco Gerards <mgerards@xs4all.nl>
49500
49501 Add support for the SFS filesystem.
49502
49503 * fs/sfs.c: New file.
49504
49505 * DISTLIST: Added `fs/sfs.c'.
49506
49507 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
49508 (grub_probefs_SOURCES): Likewise.
49509 (grub_emu_SOURCES): Likewise.
49510 (pkgdata_MODULES): Add `sfs.mod'.
49511 (sfs_mod_SOURCES): New variable.
49512 (sfs_mod_CFLAGS): Likewise.
49513 (sfs_mod_LDFLAGS): Likewise.
49514
49515 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
49516 (pkgdata_MODULES): Add `sfs.mod'.
49517 (sfs_mod_SOURCES): New variable.
49518 (sfs_mod_CFLAGS): Likewise.
49519
49520 * util/grub-emu.c (main): Call `grub_sfs_init' and
49521 `grub_sfs_fini'.
49522
49523 * include/grub/fs.h (grub_sfs_init): New prototype.
49524 (grub_sfs_fini): Likewise.
49525
57bdbde3 495262005-10-07 Marco Gerards <mgerards@xs4all.nl>
49527
49528 Add support for the AFFS filesystem.
49529
49530 * fs/affs.c: New file.
49531
49532 * DISTLIST: Added `fs/affs.c'.
49533
49534 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
49535 (grub_probefs_SOURCES): Likewise.
49536 (grub_emu_SOURCES): Likewise.
49537 (pkgdata_MODULES): Add `affs.mod'.
49538 (affs_mod_SOURCES): New variable.
49539 (affs_mod_CFLAGS): Likewise.
49540 (affs_mod_LDFLAGS): Likewise.
49541
49542 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
49543 (pkgdata_MODULES): Add `affs.mod'.
49544 (affs_mod_SOURCES): New variable.
49545 (affs_mod_CFLAGS): Likewise.
49546
49547 * util/grub-emu.c (main): Call `grub_affs_init' and
49548 `grub_affs_fini'.
49549
49550 * include/grub/fs.h (grub_affs_init): New prototype.
49551 (grub_affs_fini): Likewise.
49552
047b67e0 495532005-10-01 Marco Gerards <mgerards@xs4all.nl>
49554
49555 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
49556
59b8208a 495572005-10-01 Marco Gerards <mgerards@xs4all.nl>
49558
49559 * configure.ac: Accept `x86_64' as host_cpu. In that case add
49560 `-m32' to CFLAGS.
49561
49562 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
49563 linking.
f19dbdb7 49564
59b8208a 49565 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
49566 (COMMON_LDFLAGS): New variable.
49567 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
49568 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
49569 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
49570 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
49571 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
49572 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
49573 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
49574 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
49575 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
49576 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
49577 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49578 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49579 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
49580 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
49581 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
49582 variables.
49583 (normal_mod_ASFLAGS): Add `-m32'.
49584
49585 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
49586 (grub_host_size_t, grub_host_ssize_t): New types.
49587 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 49588 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 49589 `GRUB_HOST_SIZEOF_VOID_P'.
49590
49591 * include/grub/kernel.h (struct grub_module_header): Type of
49592 member offset changed to `grub_host_off_t'. Type of member size
49593 changed to `grub_host_size_t'.
49594 (struct grub_module_info): Type of member offset changed to
49595 `grub_host_off_t'. Type of member size changed to
49596 `grub_host_size_t'.
49597
b4093103 495982005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
49599
49600 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 49601
b4093103 49602 * kern/i386/pc/startup.S (multiboot_header): New label.
49603 (multiboot_entry): Likewise.
49604 (multiboot_trampoline): Likewise.
49605
49606 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
49607 Increased to 0x4A0.
49608
49609 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
49610 put parentheses after a question mark.
49611 [!GRUB_UTIL] (my_mod): New variable.
49612
49613 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
49614
b2499b29 496152005-09-28 Marco Gerards <mgerards@xs4all.nl>
49616
49617 Adds support for the XFS filesystem. Btrees are not supported
49618 yet.
49619
49620 * fs/xfs.c: New file.
49621
49622 * DISTLIST: Added `fs/xfs.c'.
49623
49624 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
49625 (grub_probefs_SOURCES): Likewise.
49626 (grub_emu_SOURCES): Likewise.
49627 (pkgdata_MODULES): Add `xfs.mod'.
49628 (xfs_mod_SOURCES): New variable.
49629 (xfs_mod_CFLAGS): Likewise.
49630
49631 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
49632 (pkgdata_MODULES): Add `xfs.mod'.
49633 (xfs_mod_SOURCES): New variable.
49634 (xfs_mod_CFLAGS): Likewise.
49635
49636 * util/grub-emu.c (main): Call `grub_xfs_init' and
49637 `grub_xfs_fini'.
49638
49639 * include/grub/fs.h (grub_xfs_init): New prototype.
49640 (grub_xfs_fini): Likewise.
49641
f19dbdb7 49642
83d37a62 496432005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
49644
49645 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
49646 color modes, allow greater than 16 colors to be configured as
49647 a default palette.
49648
47d2d65e 496492005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
49650
49651 * normal/completion.c (complete_arguments): Add the qualifier
49652 const into OPTIONS.
49653
49654 From Omniflux <omniflux+lists@omniflux.com>:
49655 * include/grub/terminfo.h: New file.
49656 * include/grub/tparm.h: Likewise.
49657 * include/grub/i386/pc/serial.h: Likewise.
49658 * term/terminfo.c: Likewise.
49659 * term/tparm.c: Likewise.
49660 * term/i386/pc/serial.c: Likewise.
49661 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
49662 serial.mod.
49663 (terminfo_mod_SOURCES): New variable.
49664 (terminfo_mod_CFLAGS): Likewise.
49665 (serial_mod_SOURCES): Likewise.
49666 (serial_mod_CFLAGS): Likewise.
49667
48b671ff 496682005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
49669
49670 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
49671 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
49672 and kern/powerpc/ieee1275/cmain.c, respectively.
49673
49674 * boot/powerpc/ieee1275/crt0.S: Moved to ...
49675 * kern/powerpc/ieee1275/crt0.S: ... here.
49676
49677 * boot/powerpc/ieee1275/cmain.c: Moved to ...
49678 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 49679
48b671ff 49680 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
49681 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
49682 instead of boot/powerpc/ieee1275/crt0.S and
49683 boot/powerpc/ieee1275/cmain.c, respectively.
49684
49685 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
49686 sectors. It was not used anyway.
49687
09fc77a7 496882005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49689
49690 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
49691 `unused parameter' warning.
49692
003789c7 496932005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49694
49695 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
49696 function.
49697 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
49698 getcharwidth.
49699
67f44c86 497002005-08-28 Marco Gerards <metgerards@student.han.nl>
49701
49702 * include/grub/normal.h (enum grub_completion_type): Added
49703 `GRUB_COMPLETION_TYPE_ARGUMENT'.
49704
49705 * normal/cmdline.c (print_completion): Handle
49706 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
49707 * normal/menu_entry.c (store_completion): Likewise.
49708
49709 * normal/completion.c (complete_arguments): New function.
49710 (grub_normal_do_completion): Call `complete_arguments' when the
49711 current words start with a dash.
49712
0b5abe02 497132005-08-27 Marco Gerards <metgerards@student.han.nl>
49714
49715 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
49716 `gzio.mod' instead of `io.mod').
49717
d9864ee1 497182005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
49719
49720 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
49721 (DISTDIRS): Added io and video.
49722 Rewrite the search routine to make an output consistently.
49723
49724 * DISTLIST: Added conf/sparc64-ieee1275.mk,
49725 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
49726 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
49727 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
49728 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
49729 util/powerpc/ieee1275/misc.c.
f19dbdb7 49730
d9864ee1 49731 * include/grub/gzio.h: New file.
49732 * io/gzio.c: Likewise.
f19dbdb7 49733
d9864ee1 49734 * kern/file.c (grub_file_close): Call grub_device_close only if
49735 FILE->DEVICE is not NULL.
49736
49737 * include/grub/mm.h [!NULL] (NULL): New macro.
49738
49739 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
49740
49741 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
49742 (pkgdata_MODULES): Added gzio.mod.
49743 (gzio_mod_SOURCES): New variable.
49744 (gzio_mod_CFLAGS): Likewise.
49745
49746 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
49747 (pkgdata_MODULES): Added gzio.mod.
49748 (gzio_mod_SOURCES): New variable.
49749 (gzio_mod_CFLAGS): Likewise.
49750
49751 * commands/cat.c: Include grub/gzio.h.
49752 (grub_cmd_cat): Use grub_gzfile_open instead of
49753 grub_file_open.
f19dbdb7 49754
d9864ee1 49755 * commands/cmp.c: Include grub/gzio.h.
49756 (grub_cmd_cmp): Use grub_gzfile_open instead of
49757 grub_file_open.
49758
49759 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
49760 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
49761 grub_file_open.
49762 (grub_rescue_cmd_module): Likewise.
49763
fa46f4b5 497642005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49765
49766 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
49767 kern/sparc64/ieee1275/init.c because it contains _start.
49768 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
49769
e9211b5d 497702005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49771
49772 * configure.ac: Add support for sparc64 host with ieee1275
49773 firmware.
49774 * configure: Generated from configure.ac.
49775 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
49776 instead of int.
49777 (grub_ofdisk_read): Likewise.
49778 (grub_ofdisk_open): Use %p to print pointer values, and cast the
49779 pointers as (void *) to remove a warning.
49780 (grub_ofdisk_close): Likewise.
49781 (grub_ofdisk_read): Likewise.
49782 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
49783 returns, so make it return void to remove a warning.
49784 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
49785 Corresponding prototype change.
49786 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
49787 values, and cast the pointers as (void *) to remove a warning.
49788 (grub_mm_dump): Likewise.
49789 * conf/sparc64-ieee1275.mk: New file.
49790 * conf/sparc64-ieee1275.rmk: Likewise.
49791 * include/grub/sparc64/setjmp.h: Likewise.
49792 * include/grub/sparc64/types.h: Likewise.
49793 * include/grub/sparc64/ieee1275/console.h: Likewise.
49794 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
49795 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
49796 * include/grub/sparc64/ieee1275/time.h: Likewise.
49797 * kern/sparc64/cache.c: Likewise.
49798 * kern/sparc64/dl.c: Likewise.
49799 * kern/sparc64/ieee1275/init.c: Likewise.
49800 * kern/sparc64/ieee1275/openfw.c: Likewise.
49801
385c6a92 498022005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49803
49804 * util/console.c (grub_ncurses_putchar): If C is greater than
49805 0x7f, set C to a question mark.
49806 (grub_ncurses_getcharwidth): New function.
49807 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
49808 getcharwidth.
49809
49810 * normal/menu.c (print_entry): Made aware of Unicode. First,
49811 convert TITLE to UCS-4, and predict the cursor position by
49812 grub_getcharwidth.
49813
49814 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
49815 const to SRC.
49816 * kern/misc.c (grub_utf16_to_utf8): Likewise.
49817
16ccb8b1 498182005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49819
49820 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
49821 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49822 grub_strcat.
49823
49824 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
49825 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49826 grub_strcpy and grub_strlen. Take it into account that a space
49827 character is inserted as a delimiter.
49828
6a85ce79 498292005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49830
49831 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 49832 invalid magic in the error.
6a85ce79 49833
49834 * commands/search.c: New file.
f19dbdb7 49835
6a85ce79 49836 * util/grub-emu.c (main): Call grub_search_init and
49837 grub_search_fini.
49838
49839 * kern/rescue.c (grub_rescue_print_disks): Removed.
49840 (grub_rescue_print_devices): New function.
49841 (grub_rescue_cmd_ls): Use grub_device_iterate with
49842 grub_rescue_print_devices instead of grub_disk_dev_iterate with
49843 grub_rescue_print_disks.
49844
49845 * kern/partition.c (grub_partition_iterate): Return the result of
49846 PARTMAP->ITERATE instead of GRUB_ERRNO.
49847
49848 * kern/device.c: Include grub/partition.h.
49849 (grub_device_iterate): New function.
49850
49851 * include/grub/partition.h (grub_partition_iterate): Return int
49852 instead of grub_err_t.
49853
49854 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
49855 prototype.
49856 [GRUB_UTIL] (grub_search_fini): Likewise.
49857
49858 * include/grub/device.h (grub_device_iterate): New prototype.
49859
49860 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49861 commands/search.c.
49862 (pkgdata_MODULES): Added search.mod.
49863 (search_mod_SOURCES): New variable.
49864 (search_mod_CFLAGS): Likewise.
49865
49866 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
49867 (pkgdata_MODULES): Added search.mod.
49868 (search_mod_SOURCES): New variable.
49869 (search_mod_CFLAGS): Likewise.
49870
49871 * commands/ls.c (grub_ls_list_disks): Renamed to ...
49872 (grub_ls_list_devices): ... this, and use grub_device_iterate.
49873 All callers changed.
49874
49875 * DISTLIST: Added commands/search.c.
49876
ef095434 498772005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49878
49879 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
49880 conversion.
49881 (grub_getcharwidth): New function.
49882
49883 * kern/misc.c (grub_utf8_to_ucs4): New function.
49884
49885 * include/grub/term.h (struct grub_term): Added a new member
49886 "getcharwidth".
49887 (grub_getcharwidth): New prototype.
49888
49889 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
49890
49891 * term/i386/pc/console.c (map_char): New function. Segregated from
49892 grub_console_putchar.
49893 (grub_console_putchar): Use map_char.
49894 (grub_console_getcharwidth): New function.
49895 (grub_console_term): Specified grub_console_getcharwidth as
49896 getcharwidth.
49897
49898 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
49899 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
49900
49901 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
49902 GRUB_ERRNO.
49903 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
49904 on grub_strtoul completely.
49905 (write_char): Declare local variables in the beginning of the
49906 function.
49907 (grub_vesafb_getcharwidth): New function.
49908 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
49909 getcharwidth.
49910
1f0a95e4 499112005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
49912
49913 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
49914 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
49915 commands/i386/pc/vbetest.c.
49916
49917 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
49918 call grub_vbe_get_controller_info again, because the returned
49919 information is volatile.
49920 (grub_vbe_set_video_mode): Mostly rewritten.
49921 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
49922 grub_vbe_status_t correctly.
49923 (grub_vbe_get_video_mode_info): Likewise.
49924 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
49925 several if statements.
49926
49927 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
49928 * commands/i386/pc/vbeinfo.c: ... this.
49929
49930 * commands/i386/pc/vbe_test.c: Renamed to ...
49931 * commands/i386/pc/vbetest.c: ... this.
49932
49933 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
49934 ...
49935 (grub_cmd_vbeinfo): ... this. Save video modes before
49936 iterating. Skip a video mode, if it is not available, not enough
49937 information is given or it is monochrome. Show the memory
49938 model. Leave the interpretation of MODEVAR to grub_strtoul
49939 completely.
49940 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
49941 (GRUB_MOD_FINI): Likewise.
49942
49943 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
49944 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
49945 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
49946 duplicated grub_env_get. Leave the interpretation of MODEVAR to
49947 grub_strtoul completely.
49948 (real2pm): Removed.
49949 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
49950 (GRUB_MOD_FINI): Likewise.
49951
49952 * normal/misc.c: Include grub/mm.h.
49953
49954 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
49955 vbe_list_modes with vbetest.mod and vbeinfo.mod.
49956 (vbe_list_modes_mod_SOURCES): Removed.
49957 (vbe_list_modes_mod_CFLAGS): Likewise.
49958 (vbe_test_mod_SOURCES): Likewise.
49959 (vbe_test_mod_CFLAGS): Likewise.
49960 (vbeinfo_mod_SOURCES): New variable.
49961 (vbeinfo_mod_CFLAGS): Likewise.
49962 (vbetest_mod_SOURCES): Likewise.
49963 (vbetest_mod_CFLAGS): Likewise.
49964
992ffbbe 499652005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
49966
49967 * normal/misc.c: New file.
49968
49969 * DISTLIST: Added normal/misc.c.
f19dbdb7 49970
992ffbbe 49971 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
49972 DISK to HOOK. Call HOOK with DISK.
49973 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49974 * partmap/pc.c (pc_partition_map_iterate): Likewise.
49975 * partmap/sun.c (sun_partition_map_iterate): Likewise.
49976
49977 * normal/menu_entry.c (struct screen): Added a new member
49978 "completion_shown".
49979 (completion_buffer): New global variable.
49980 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
49981 (store_completion): New function.
49982 (complete): Likewise.
49983 (clear_completions): Likewise.
49984 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
49985 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
49986 a tab, call complete.
49987
49988 * normal/completion.c (disk_dev): Removed.
49989 (print_simple_completion): Likewise.
49990 (print_partition_completion): Likewise.
49991 (print_func): New global variable.
49992 (add_completion): Do not take the arguments WHAT or PRINT any
49993 longer. Added a new argument TYPE. Instead of printing directly,
49994 call PRINT_FUNC if not NULL.
49995 All callers changed.
49996 (complete_device): Use a local variable DEV instead of
49997 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
49998 (grub_normal_do_completion): Take a new argument HOOK. Do not
49999 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
50000 empty string, return NULL instead.
50001 All callers changed.
50002
50003 * normal/cmdline.c (print_completion): New function.
50004
50005 * kern/partition.c (grub_partition_iterate): Add an argument DISK
50006 to HOOK.
50007 All callers changed.
50008
50009 * kern/disk.c (grub_print_partinfo): Removed.
50010
50011 * include/grub/partition.h (struct grub_partition_map): Add a new
50012 argument DISK into HOOK of ITERATE.
50013 (grub_partition_iterate): Add a new argument DISK to HOOK.
50014
50015 * include/grub/normal.h (enum grub_completion_type): New enum.
50016 (grub_completion_type_t): New type.
50017 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
50018 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
50019 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
50020 (GRUB_COMPLETION_TYPE_FILE): Likewise.
50021 (grub_normal_do_completion): Added a new argument HOOK.
50022 (grub_normal_print_device_info): New prototype.
50023
50024 * include/grub/disk.h (grub_print_partinfo): Removed.
50025
50026 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
50027 (normal_mod_SOURCES): Likewise.
50028 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50029 (normal_mod_SOURCES): Likewise.
50030
50031 * commands/ls.c (grub_ls_list_disks): Use
50032 grub_normal_print_device_info instead of grub_print_partinfo. Free
50033 PNAME.
50034 (grub_ls_list_files): Use grub_normal_print_device_info instead of
50035 duplicating the code.
50036
0bd41162 500372005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50038
50039 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 50040 follow GCS more precisely.
50041 * commands/i386/pc/vbe_test.c: Likewise.
50042 * include/grub/i386/pc/vbe.h: Likewise.
50043 * term/i386/pc/vesafb.c: Likewise.
50044 * video/i386/pc/vbe.c: Likewise.
0bd41162 50045
6323696a 500462005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50047
50048 * DISTLIST: Added term/i386/pc/vesafb.c
50049 DISTLIST: Added video/i386/pc/vbe.c
50050 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
50051 DISTLIST: Added commands/i386/pc/vbe_test.c.
50052 * commands/i386/pc/vbe_list_modes.c: New file.
50053 * commands/i386/pc/vbe_test.c: Likewise.
50054 * term/i386/pc/vesafb.c: Likewise.
50055 * video/i386/pc/vbe.c: Likewise.
50056 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
50057 (grub_vbe_probe) Added prototype.
50058 (grub_vbe_set_video_mode) Likewise.
50059 (grub_vbe_get_video_mode) Likewise.
50060 (grub_vbe_get_video_mode_info) Likewise.
50061 (grub_vbe_set_pixel_rgb) Likewise.
50062 (grub_vbe_set_pixel_index) Likewise.
50063 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
50064 (pkgdata_MODULES): Added vesafb.mod.
50065 (pkgdata_MODULES): Added vbe_list_modes.mod.
50066 (pkgdata_MODULES): Added vbe_test.mod.
50067 (vbe_mod_SOURCES): Added.
50068 (vbe_mod_CFLAGS): Likewise.
50069 (vesafb_mod_SOURCES): Likewise.
50070 (vesafb_mod_CFLAGS): Likewise.
50071 (vbe_list_modes_mod_SOURCES): Likewise.
50072 (vbe_list_modes_mod_CFLAGS): Likewise.
50073 (vbe_test_mod_SOURCES): Likewise.
50074 (vbe_test_mod_CFLAGS): Likewise.
50075
0a74e62f 500762005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
50077
0a74e62f 50078 * normal/command.c (grub_command_execute): If INTERACTIVE is
50079 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
50080 CMDLINE. Disable the pager if INTERACTIVE is true.
50081 All callers are changed.
50082
50083 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
50084 before reading a config file.
50085 * normal/main.c (read_config_file): Even if a command is not
50086 found, register it if it is within an entry.
50087
50088 * util/grub-emu.c: Include sys/types.h and unistd.h.
50089 (options): Added --hold.
50090 (struct arguments): Added a new member "hold".
50091 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
50092 missing.
50093 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
50094 cleared by a debugger, if it is not zero.
50095
50096 * include/grub/normal.h (grub_command_execute): Add an argument
50097 INTERACTIVE.
50098
e51f85ae 500992005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
50100
50101 * DISTLIST: Added include/grub/i386/pc/vbe.h.
50102
e9c6f39b 501032005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
50104
50105 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
50106 program with another one, because the old one didn't detect a bug
50107 in gcc-3.4. Always use regparm 2, because the new test is still
50108 not enough for gcc-4.0. Someone must investigate a simple test
50109 case which detects a bug in gcc-4.0.
50110
8de3495c 501112005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
50112
50113 * DISTLIST: Added normal/completion.c.
50114
50115 * normal/completion.c: New file.
f19dbdb7 50116
8de3495c 50117 * term/i386/pc/console.c (grub_console_getwh): New function.
50118 (grub_console_term): Assign grub_console_getwh to getwh.
50119
50120 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
50121 function is defined in normal/completion.c as
50122 grub_normal_do_completion.
50123 (grub_cmdline_get): Use grub_normal_do_completion instead of
50124 grub_tab_complete.
50125
50126 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
50127 returns non-zero, otherwise return 0.
50128 (grub_partition_iterate): First, probe the partition map. Then,
50129 call ITERATE only for this partition map.
50130
50131 * kern/misc.c (grub_strncmp): Rewritten.
50132
50133 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
50134 returns non-zero. Otherwise return 0.
50135
50136 * include/grub/partition.h (grub_partition_map_iterate): Return
50137 int instead of void.
50138
50139 * include/grub/normal.h (grub_normal_do_completion): New prototype.
50140
50141 * include/grub/misc.h (grub_strncmp): Change the type of N to
50142 grub_size_t.
50143
50144 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
50145 of void.
50146
50147 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 50148 unsigned explicitly before comparing it with I.
8de3495c 50149
50150 * kern/main.c (grub_env_write_root): Add the attribute unused into
50151 VAR.
50152
50153 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50154 normal/completion.c.
50155 (normal_mod_SOURCES): Likewise.
50156 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
50157 (normal_mod_SOURCES): Likewise.
50158
50159 * normal/command.c (grub_iterate_commands): If ITERATE returns
50160 non-zero, return one immediately.
50161
e85e144b 501622005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
50163
50164 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
50165 * kern/i386/pc/startup.S: Updated Global Descriptor table's
50166 descriptions.
50167 (grub_vbe_get_controller_info): New function.
50168 (grub_vbe_get_mode_info): Likewise.
50169 (grub_vbe_set_mode): Likewise.
50170 (grub_vbe_get_mode): Likewise.
50171 (grub_vbe_set_memory_window): Likewise.
50172 (grub_vbe_get_memory_window): Likewise.
50173 (grub_vbe_set_scanline_length): Likewise.
50174 (grub_vbe_get_scanline_length): Likewise.
50175 (grub_vbe_set_display_start): Likewise.
50176 (grub_vbe_get_display_start): Likewise.
50177 (grub_vbe_set_palette_data): Likewise.
50178 * include/grub/i386/pc/vbe.h: New file.
50179
c46153d2 501802005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50181
50182 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50183 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
50184 * DISTLIST: Likewise.
50185 * kern/ieee1275/of.c: Moved to ...
50186 * kern/ieee1275/ieee1275.c: ... here.
50187
0cb90c45 501882005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50189
50190 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
50191 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
50192 Pass 0 as `end' parameter to grub_strtoul().
50193
a19fb360 501942005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50195
50196 * include/grub/powerpc/ieee1275/console.h: Do not include
50197 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
50198 ifdef.
50199 (grub_console_cur_color): Remove i386-specific prototype.
50200 (grub_console_real_putchar): Likewise.
50201 (grub_console_checkkey): Likewise.
50202 (grub_console_getkey): Likewise.
50203 (grub_console_getxy): Likewise.
50204 (grub_console_gotoxy): Likewise.
50205 (grub_console_cls): Likewise.
50206 (grub_console_setcursor): Likewise.
50207 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
50208 Include <grub/machine/console.h>.
50209 * term/ieee1275/ofconsole.c: Likewise.
50210
4ac9bd04 502112005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
50212
50213 * Makefile.in (LIBLZO): New variable.
50214
50215 * configure.ac: Check for LZO version 2.
50216
50217 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
50218 lzo/lzo1x.h instead of lzo1x.h.
50219
50220 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
50221 of -llzo.
50222
50223 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
50224 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
50225
50226 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
50227 copying the data from PARTITION to P.
50228
f4917dfd 502292005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50230
50231 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
50232 negative, unload the module.
50233
50234 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
50235 map is "pc_partition_map" but not "pc".
50236 (usage): Fix the description. The options are --boot-image and
50237 --core-image but not --boot-file or --core-file.
50238 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
50239 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
50240 DEFAULT_DIRECTORY.
50241
50242 * util/i386/pc/grub-install.in: Do not specify --boot-file or
50243 --core-file. Specify INSTALL_DEVICE as an argument.
50244
50245 * util/console.c: Include config.h.
50246 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
50247 [HAVE_NCURSES_H]: Include ncurses.h.
50248 [HAVE_CURSES_H]: Include curses.h.
50249 [!A_NORMAL] (A_NORMAL): Defined as zero.
50250 [!A_STANDOUT] (A_STANDOUT): Likewise.
50251
50252 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
50253 -lncurses.
50254 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
50255
50256 * configure.ac: Check for curses libraries and headers.
50257
50258 * Makefile.in (LIBCURSES): New variable.
50259
50260 * genmk.rb (Script::rule): Set the executable bits.
50261
50262 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
50263 name of the PC partition map is "pc_partition_map" but not "pc".
50264
0e143073 502652005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50266
50267 * util/i386/pc/grub-install.in (grub_probefs): New variable.
50268 (modules): Likewise.
50269 (usage): Added descriptions for --modules and --grub-probefs.
50270 Handle --modules and --grub-probefs. Save the arguments in MODULES
50271 and GRUB_PROBEFS, respectively.
50272 Auto-detect a filesystem module against GRUBDIR. If the result is
50273 empty and modules are not specified explicitly, abort the
50274 installation. Add the result to MODULES.
50275
50276 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
50277 disk/powerpc/ieee1275/ofdisk.c,
50278 include/grub/powerpc/ieee1275/init.h and
50279 term/powerpc/ieee1275/ofconsole.c.
50280 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
50281 term/ieee1275/ofconsole.c.
50282
50283 * include/grub/powerpc/ieee1275/console.h: Resurrected.
50284
50285 * COPYING: Upgraded to the latest version. Only the address of the
50286 FSF office has changed.
f19dbdb7 50287
efd6e6d5 502882005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50289
50290 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50291 kern/ieee1275.c with kern/ieee1275/of.c.
50292
50293 * kern/ieee1275.c: Moved to ...
50294 * kern/ieee1275/of.c: ... here.
50295
8ceafda2 502962005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
50297
50298 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 50299 readability.
8ceafda2 50300
50301 * config.guess: Updated to the latest version from gnulib.
50302 * config.sub: Likewise.
50303 * install.sh: Likewise.
50304 * mkinstalldirs: Likewise.
50305
50306 * include/grub/console.h: Removed. This file is arch-specific. Do
50307 not put this in include/grub.
50308
50309 * include/grub/i386/pc/console.h: Resurrected.
50310
50311 * util/console.c: Include grub/machine/console.h instead of
50312 grub/console.h.
50313 * util/grub-emu.c: Likewise.
50314
267f6cd9 503152005-08-04 Marco Gerards <metgerards@student.han.nl>
50316
50317 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
50318 hardcoded value.
f19dbdb7 50319
267f6cd9 50320 From Vincent Pelletier <subdino2004@yahoo.fr>
50321 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
50322 Redefined to use grub_getwh.
50323 (grub_term): New member named getwh.
50324 (grub_getwh): New prototype.
50325 * kern/term.c (grub_getwh): New function.
50326 * term/i386/pc/console.c (grub_console_getwh): New function.
50327 (grub_console_term): New member `getwh'.
50328 * term/i386/pc/vga.c (grub_vga_getwh): New function.
50329 (grub_vga_term): New member `getwh'.
0b5abe02 50330 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 50331 grub_ssize_t.
50332 (grub_ofconsole_getw): New function.
50333 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
50334 (grub_ofconsole_term): New field named getwh and new initial
50335 value.
50336
3be7266d 503372005-08-03 Hollis Blanchard <hollis@penguinppc.org>
50338
50339 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
50340 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
50341 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
50342 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
50343 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
50344 of <grub/machine/ieee1275.h>.
50345 * commands/ieee1275/reboot.c: Likewise.
50346 * boot/powerpc/ieee1275/ieee1275.c: Move ...
50347 * kern/ieee1275.c: ... to here. All users updated. Change all
50348 parameter structs to use new type `grub_ieee1275_cell_t'.
50349 * term/powerpc/ieee1275/ofconsole.c: Move ...
50350 * term/ieee1275/ofconsole.c: ... to here. All users updated.
50351 * disk/powerpc/ieee1275/ofdisk.c: Move ...
50352 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
50353 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
50354 to return int.
50355 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
50356 Remove unused prototypes. All users updated.
50357 * include/grub/powerpc/ieee1275/console.h: Removed.
50358 * include/grub/powerpc/ieee1275/ieee1275.h: Define
50359 `grub_ieee1275_cell_t'.
50360 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
50361 Cast comparisons with -1 to the correct type.
50362 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
50363 type to match `grub_ieee1275_entry_fn'.
50364
8b5f3938 503652005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
50366
50367 * DISTLIST: Added util/i386/pc/grub-probefs.c.
50368
50369 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
50370 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
50371 partmap/sun.c.
50372 (grub_probefs_SOURCES): New variable.
50373
50374 * util/i386/pc/grub-probefs.c: New file.
50375
50376 * util/i386/pc/grub-setup.c (main): Call
50377 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
50378 grub_hfs_init and grub_jfs_init to initialize the system. Call
50379 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
50380 grub_pc_partition_map_fini to finish the system.
50381
ea409713 503822005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
50383
50384 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
50385 function.
50386 (grub_multiboot_load_elf32): Likewise.
50387 (grub_multiboot_is_elf64): Likewise.
50388 (grub_multiboot_load_elf64): Likewise.
50389 (grub_multiboot_load_elf): Likewise.
50390 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
50391 an ELF32 or ELF64 file.
50392 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
50393
50394 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
50395 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
50396 NULL before calling FS->LABEL.
50397 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
50398 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
50399 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
50400 before calling FS->LABEL.
50401
141a288b 504022005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
50403
50404 * util/i386/pc/grub-install.in (datadir): New variable.
50405 (libdir): Removed.
50406 (pkgdatadir): New variable.
50407 (pkglibdir): Removed.
50408
0d5f8a54 504092005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
50410
50411 * DISTLIST: Added util/i386/pc/grub-install.in.
50412
50413 * util/i386/pc/grub-install.in: New file.
50414
50415 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
50416 (grub_install_SOURCES): Likewise.
50417
50418 * genmk.rb: Added support for scripts.
50419 (Script): New class.
50420 (scripts): New variable.
50421
50422 * Makefile.in (install-local): Install sbin_SCRIPTS by
50423 INSTALL_SCRIPT.
50424 (uninstall): Remove sbin_SCRIPTS.
50425
50426 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
50427 device, try to get a GRUB device by
50428 grub_util_biosdisk_get_grub_dev.
50429 Free DEST_DEV.
50430
50431 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
50432 description for --device-map.
50433
5f968e1e 504342005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50435
50436 Change the semantics of variable hooks. They now return strings
50437 instead of error values.
f19dbdb7 50438
5f968e1e 50439 * util/i386/pc/grub-setup.c: Include grub/env.h.
50440 (setup): Use grub_device_set_root instead of grub_env_set.
50441
50442 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
50443 grub_env_get instead of grub_device_set_root and
50444 grub_device_get_root, respectively.
50445
50446 * kern/main.c (grub_env_write_root): New function.
50447 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
50448 grub_env_set instead of grub_device_set_root.
50449
50450 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
50451 many variables.
50452 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
50453 rather than calling ENV->WRITE_HOOK afterwards.
50454 (grub_env_get): Return the result of ENV->READ_HOOK rather than
50455 passing a pointer of a pointer.
50456 (grub_register_variable_hook): Change the types of "read_hook" and
50457 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
50458 respectively.
50459 Allocate the default empty string on the heap, because this string
50460 may be freed later.
50461
50462 * kern/device.c: Include grub/env.h.
50463 (grub_device_set_root): Removed.
50464 (grub_device_get_root): Likewise.
50465 (grub_device_open): Use grub_env_get instead of
50466 grub_device_get_root.
50467
50468 * include/grub/env.h (grub_env_read_hook_t): New type.
50469 (grub_env_write_hook_t): Likewise.
50470 (grub_env_var): Change the types of "read_hook" and "write_hook"
50471 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
50472 (grub_register_variable_hook): Likewise.
50473
50474 * include/grub/device.h (grub_device_set_root): Removed.
50475 (grub_device_set_root): Likewise.
50476
50477 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
50478 make sure that DIRNAME terminates with '/', so that
50479 grub_fat_find_dir will fail if PATH is not a directory.
50480
50481 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
50482 from DIRNAME.
50483 Use the qualifier auto for print_files and print_files_long.
50484 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
50485 as a regular file.
50486 Put a newline only if there is no error.
50487 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
50488 used.
50489
896f0afd 504902005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50491
50492 * kern/partition.c (grub_partition_probe): Initialize PART to
50493 NULL. Otherwise, when no partition map is registered, this returns
50494 a garbage.
50495
b28b81b2 504962005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
50497
50498 * partmap/apple.c (apple_partition_map_iterate): Check if POS
50499 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
50500 valid.
50501
5f3607e0 505022005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
50503
50504 * commands/ls.c (grub_ls_list_disks): Print the filesystem
50505 information on each device, if it does not have partitions. Print
50506 "Device" instead of "Disk", because this function is not specific
50507 to disk devices.
50508
50509 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
50510 static to ensure that it is put on the memory rather than a
50511 register.
50512
502c87e8 505132005-07-17 Yoshinori Okuji <okuji@enbug.org>
50514
50515 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
50516 (grub_cat_init): Likewise.
50517 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
50518 (options): Likewise.
50519 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
50520 (grub_configfile_init): Likewise.
50521 * font/manager.c (GRUB_MOD_INIT): Likewise.
50522 * commands/help.c (GRUB_MOD_INIT): Likewise.
50523 (grub_help_init): Likewise.
50524 * normal/command.c (grub_command_init): Likewise.
50525 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
50526 * disk/loopback.c (grub_loop_init): Likewise.
50527 (GRUB_MOD_INIT): Likewise.
50528 * commands/ls.c (grub_ls_init): Likewise.
50529 (GRUB_MOD_INIT): Likewise.
50530 (options): Likewise.
50531 * commands/boot.c (grub_boot_init): Likewise.
50532 (GRUB_MOD_INIT): Likewise.
50533 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
50534 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
50535 (GRUB_MOD_INIT): Likewise.
50536 * commands/cmp.c (grub_cmp_init): Likewise.
50537 (GRUB_MOD_INIT): Likewise.
50538
50539 * normal/arg.c: Use <> instead of "" to include header files.
50540 (SHORT_ARG_HELP): New macro.
50541 (SHORT_ARG_USAGE): Likewise.
50542 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
50543 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
50544 descriptions.
50545 (find_short): Check if C is 'h' or 'u' explicitly.
50546 (grub_arg_show_help): Use space characters instead of tabs. Treat
50547 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
50548 are shown with --help and --usage only if they are not used for
50549 the command itself.
50550 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
50551 'h' and 'u'.
50552
50553 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
50554 const into "longarg". Change the type of "shortarg" to int.
50555
f806d18e 505562005-07-17 Yoshinori Okuji <okuji@enbug.org>
50557
50558 * boot/i386/pc/boot.S (boot_drive_check): New label.
50559
50560 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
50561 macro.
50562
50563 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
50564 which do not pass a boot drive correctly. Copied from GRUB Legacy.
50565
e293232b 505662005-07-17 Yoshinori Okuji <okuji@enbug.org>
50567
50568 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
50569 When turning off Gate A20, skip the check and return immediately,
50570 because this is not fatal usually.
50571
ebedfd00 505722005-07-17 Yoshinori Okuji <okuji@enbug.org>
50573
50574 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
50575 be 0x7C00 instead of 0x8000.
50576
50577 * boot/i386/pc/pxeboot.S: Rewritten.
50578
50579 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
50580 EXT_C.
50581 (gate_a20_check_state): Read a byte from 0x108000. Invert the
50582 result.
50583
654fc59f 505842005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
50585
50586 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
50587 robustness. This routine now supports a BIOS call and System
50588 Control Port A to modify the gate A20.
50589
50590 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50591 Increased to 0x440.
50592
09f9923f 505932005-07-12 Hollis Blanchard <hollis@penguinppc.org>
50594
50595 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
50596 device path and resulting ihandle.
50597 (grub_ofdisk_close): dprintf the ihandle being closed.
50598 (grub_ofdisk_read): dprintf function parameters.
50599 * kern/mm.c (grub_mm_init_region): Likewise.
50600 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
50601 (grub_linux_boot): dprintf the Linux entry point, initrd address and
50602 size, and boot arguments.
50603 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
50604 before loading into memory.
50605 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
50606 before loading into memory.
50607
7ef504d8 506082005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
50609
50610 * kern/mm.c: Added much documentation.
50611 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
50612 8, set to 5 instead of 8.
50613
e0f050c2 506142005-07-10 Yoshinori Okuji <okuji@enbug.org>
50615
50616 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
50617
50618 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
50619 (grub_mkdevicemap_SOURCES): New variable.
50620
50621 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
50622 lib/device.c of GRUB Legacy.
50623
7224189a 506242005-07-10 Yoshinori Okuji <okuji@enbug.org>
50625
50626 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
50627 instead of PATH is NULL.
50628
68c864eb 506292005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
50630
50631 * commands/cmp.c (BUFFER_SIZE): New macro.
50632 (grub_cmd_cmp): Close the right file at the right time. Compare
50633 only data just read. Don't report files of different size as
50634 identical. Dynamically allocate buffers. Move variable
50635 declarations at the beginning of function.
50636
e6f3e614 506372005-07-09 Yoshinori Okuji <okuji@enbug.org>
50638
50639 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
50640 reverse.
50641
f8f1559a 506422004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
50643
50644 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
50645 when backspace is pressed at beginning of line.
50646
39c9d41d 506472005-07-03 Yoshinori Okuji <okuji@enbug.org>
50648
50649 * DISTLIST: Added genfslist.sh.
50650
50651 * normal/main.c (fs_module_list): New variable.
50652 (autoload_fs_module): New function.
50653 (read_fs_list): Likewise.
50654 (grub_normal_execute): Call read_fs_list.
50655
50656 * kern/fs.c (grub_fs_autoload_hook): New variable.
50657 (grub_fs_probe): Added support for auto-loading.
50658
50659 * include/grub/normal.h (struct grub_fs_module_list): New struct.
50660 (grub_fs_module_list_t): New type.
50661
50662 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
50663 (grub_fs_autoload_hook): New prototype.
50664
50665 * genfslist.sh: New file.
f19dbdb7 50666
39c9d41d 50667 * genmk.rb: Added a rule to generate a filesystem list.
50668
121c1d83 506692005-06-30 Marco Gerards <metgerards@student.han.nl>
50670
50671 * configure.ac: Fix the test for cross-compiling.
50672
50673 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
50674 define GRUB_UTIL anymore.
50675
50676 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
50677 so this function works on other systems than just big endian.
50678 (load_modules): Likewise.
50679 (add_segments): Likewise.
50680
e75d76e1 506812005-06-23 Hollis Blanchard <hollis@penguinppc.org>
50682
50683 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
50684 contains `l' modifier, get a long from va_arg().
50685
50b5a0a7 506862005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
50687
50688 * kern/mm.c (grub_free): If the next free block which is being
50689 merged is the first free block, set the first block to the block
50690 being freed.
50691 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
50692
89371b20 506932005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50694
50695 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
50696 `grub_ieee1275_chosen'.
50697
168d6e58 506982005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50699
50700 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
50701 (grub_ieee1275_chosen): New variable.
50702 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
50703 `chosen'.
50704 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
50705 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
50706 Rename first argument to `phandle' for consistency.
50707 (grub_ieee1275_get_property_length): Likewise.
50708 (grub_ieee1275_next_property): Likewise. Change type of first argument
50709 to grub_ieee1275_phandle_t.
50710 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
50711 Move export next to declaration.
50712 (grub_ieee1275_chosen): New variable.
50713 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
50714 Correct cosmetic typo.
50715 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
50716 `grub_ieee1275_chosen'.
50717 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
50718 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
50719 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
50720 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
50721 `grub_ieee1275_chosen'.
50722
ca5baa3f 507232005-05-10 Hollis Blanchard <hollis@penguinppc.org>
50724
50725 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
50726 /chosen/bootargs.
50727 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
50728 /chosen/bootargs as "variable=value" pairs.
50729
708b345f 507302005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
50731
50732 * include/grub/misc.h (grub_dprintf): New macro.
50733 (grub_real_dprintf): New prototype.
50734 (grub_strword): Likewise.
50735 (grub_iswordseparator): Likewise.
50736 * kern/misc.c (grub_real_dprintf): New function.
50737 (grub_strword): Likewise.
50738 (grub_iswordseparator): Likewise.
50739
f4c5e67c 507402005-04-30 Hollis Blanchard <hollis@penguinppc.org>
50741
50742 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
50743 (roundup): Remove macro.
50744 (grub_ieee1275_flags): Make static.
50745 (grub_ieee1275_realmode): Remove.
50746 (grub_ieee1275_test_flag): New function.
50747 (grub_ieee1275_set_flag): Likewise.
50748 (find_options): Rename to `grub_ieee1275_find_options'; update
50749 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
50750 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
50751 (cmain): New prototype.
50752 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
50753 `grub_ieee1275_flags' directly.
50754 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
50755 machine/biosdisk.h.
50756 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
50757 Don't include grub/machine/init.h.
50758 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
50759 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
50760 Remove prototype.
50761 (grub_ieee1275_realmode): Likewise.
50762 (grub_ieee1275_flag): New enum.
50763 (grub_ieee1275_test_flag): New prototype.
50764 (grub_ieee1275_set_flag): New prototype.
50765 * include/grub/powerpc/ieee1275/init.h: Remove file.
50766 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
50767 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
50768 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
50769 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
50770 comment.
50771 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
50772 `grub_ieee1275_test_flag'.
50773 (grub_ieee1275_encode_devname): Likewise.
50774
ed16607e 507752005-04-21 Hollis Blanchard <hollis@penguinppc.org>
50776
50777 * include/grub/powerpc/ieee1275/ieee1275.h
50778 (grub_ieee1275_encode_devname): New prototype.
50779 (grub_ieee1275_get_filename): Likewise.
50780 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
50781 function.
50782 (grub_set_prefix): Likewise.
50783 (grub_machine_init): Call grub_set_prefix.
50784 * kern/powerpc/ieee1275/openfw.c: Fix typos.
50785 (grub_parse_type): New enum.
50786 (grub_ieee1275_get_devargs): New function.
50787 (grub_ieee1275_get_devname): Likewise.
50788 (grub_ieee1275_parse_args): Likewise.
50789 (grub_ieee1275_get_filename): Likewise.
50790 (grub_ieee1275_encode_devname): Likewise.
50791
be369920 507922005-03-30 Marco Gerards <metgerards@student.han.nl>
50793
50794 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
50795 `grub_loader_unset'.
50796
a5ce3a4a 507972005-03-26 Hollis Blanchard <hollis@penguinppc.org>
50798
50799 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
50800 instead of grub_ieee1275_interpret.
50801 (grub_halt_init): New function.
50802 (grub_halt_fini): Likewise.
50803 (GRUB_MOD_INIT): Correct message grammar.
50804 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
50805 instead of grub_ieee1275_interpret.
50806 (grub_reboot_init): New function.
50807 (grub_reboot_fini): Likewise.
50808 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
50809 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
50810 util/i386/pc/misc.c with commands/ieee1275/halt.c,
50811 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
50812 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
50813 function.
50814 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
50815 Add prototype.
50816 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
50817 prototype.
50818 (grub_halt): Likewise.
50819 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
50820 (cmain): Remove __attribute__((unused)).
50821 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
50822 (grub_heap_len): Likewise.
50823 (grub_machine_fini): New function.
50824 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
50825 (grub_halt): Likewise.
50826 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
50827 function.
50828 * util/powerpc/ieee1275/misc.c: New file.
50829
0058f771 508302005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
50831
50832 * DISTLIST: New file.
50833 * gendistlist.sh: Likewise.
f19dbdb7 50834
0058f771 50835 * Makefile.in (COMMON_DISTFILES): Removed.
50836 (BOOT_DISTFILES): Likewise.
50837 (CONF_DISTFILES): Likewise.
50838 (DISK_DISTFILES): Likewise.
50839 (FS_DISTFILES): Likewise.
50840 (INCLUDE_DISTFILES): Likewise.
50841 (KERN_DISTFILES): Likewise.
50842 (LOADER_DISTFILES): Likewise.
50843 (TERM_DISTFILES): Likewise.
50844 (UTIL_DISTFILES): Likewise.
50845 (DISTFILES): Likewise.
50846 (uninstall): Uninstall files in $(pkgdata_DATA).
50847 (DISTLIST): New target.
50848 (distdir): Use the contents of the file DISTLIST to get a list of
50849 distributed files.
50850
46b3b8a5 508512005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
50852
50853 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
50854 descriptor. This is ported from GRUB Legacy.
50855
50856 * gencmdlist.sh: Added an extra semicolon to make it work with
50857 old sed versions. Reported by Robert Bihlmeyer
50858 <robbe@orcus.priv.at>.
50859
5822ff87 508602005-03-08 Yoshinori Okuji <okuji@enbug.org>
50861
50862 Automatic loading of commands is supported.
f19dbdb7 50863
5822ff87 50864 * normal/main.c (read_command_list): New function.
50865 (grub_normal_execute): Call read_command_list.
50866
50867 * normal/command.c (grub_register_command): Return zero or CMD.
50868 Allocate CMD->NAME from the heap.
50869 Initialize CMD->MODULE_NAME to zero.
50870 Find the same name as well. If the same command is found and it is
50871 a dummy command, overwrite members. If it is not a dummy command,
50872 return zero.
50873 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
50874 (grub_command_find): If a dummy command is found, load a module
50875 and retry to find a command only once.
50876
50877 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
50878 make sure that each command is loaded.
50879
50880 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
50881 macro.
50882 (struct grub_command): Remove const from the member `name'.
50883 Add a new member `module_name'.
50884 (grub_register_command): Return grub_command_t.
50885
50886 * commands/help.c (grub_cmd_help): Call grub_command_find to make
50887 sure that each command is loaded.
50888
50889 * genmk.rb (PModule::rule): Specify a module name without the
50890 suffix ".mod" to gencmdlist.sh.
50891
7b1f4b57 508922005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50893
50894 * gencmdlist.sh: New file.
f19dbdb7 50895
7b1f4b57 50896 * genmk.rb (PModule::rule): Generate a rule for a command list.
50897 Clean command.lst.
50898 Generate command.lst from $(COMMANDFILES).
50899
50900 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
50901 (DATA): Added $(pkgdata_DATA).
50902 (install-local): Install files in $(pkgdata_DATA).
50903
062aaf39 509042005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50905
50906 * term/i386/pc/vga.c (debug_command): Removed.
50907 (GRUB_MOD_INIT): Do not register the command "debug".
50908
50909 From Hollis Blanchard:
50910 * commands/configfile.c: New file.
50911 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50912 commands/configfile.c.
50913 (pkgdata_MODULES): Added configfile.mod.
50914 (configfile_mod_SOURCES): New variable.
50915 (configfile_mod_CFLAGS): Likewise.
50916 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50917 commands/configfile.c.
50918 (pkgdata_MODULES): Added configfile.mod.
50919 (configfile_mod_SOURCES): New variable.
50920 (configfile_mod_CFLAGS): Likewise.
50921 * util/grub-emu.c (main): Call grub_configfile_init and
50922 grub_configfile_fini.
50923 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
50924 prototype.
50925 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 50926
cee01aa6 509272005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50928
50929 * normal/arg.c (grub_arg_show_help): Do not show the bug report
50930 address.
50931
50932 * commands/help.c (grub_cmd_help): Do not print newlines after
50933 the last command in print_command_help.
50934
93f3a1d8 509352005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50936
50937 * commands/default.h: New file.
50938 * commands/timeout.h: Likewise.
50939 * normal/context.c: Likewise.
f19dbdb7 50940
93f3a1d8 50941 * util/misc.c: Do not include sys/times.h.
50942 Include sys/time.h and grub/machine/time.h.
50943 (grub_get_rtc): Rewritten with gettimeofday.
50944
50945 * util/grub-emu.c (main): Call grub_default_init and
50946 grub_timeout_init before grub_normal_init, and call
50947 grub_timeout_fini and grub_default_fini after grub_main.
50948
50949 * util/console.c (grub_ncurses_checkkey): Return the read
50950 character or -1.
50951
50952 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
50953 timeouts.
50954
50955 * normal/main.c (read_config_file): Push MENU. If this fails,
50956 print an error and wait for a user input.
50957 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
50958 If a menu is empty or an error occurs, pop MENU.
50959 (grub_normal_execute): Pop and free MENU after grub_menu_run
50960 returns.
50961
50962 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
50963
50964 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
50965 include time.h.
50966 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50967 without GRUB_UTIL.
50968 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
50969 time.h.
50970 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50971 without GRUB_UTIL.
50972
50973 * include/grub/normal.h (struct grub_menu_list): New struct.
50974 (grub_menu_list_t): New type.
50975 (struct grub_context): New struct.
50976 (grub_context_t): New type.
50977 (grub_register_command): Got rid of EXPORT_FUNC.
50978 (grub_unregister_command): Likewise.
50979 (grub_context_get): New prototype.
50980 (grub_context_get_current_menu): Likewise.
50981 (grub_context_push_menu): Likewise.
50982 (grub_context_pop_menu): Likewise.
50983 [GRUB_UTIL] (grub_default_init): Likewise.
50984 [GRUB_UTIL] (grub_default_fini): Likewise.
50985 [GRUB_UTIL] (grub_timeout_init): Likewise.
50986 [GRUB_UTIL] (grub_timeout_fini): Likewise.
50987
50988 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
50989 commands/timeout.c and normal/context.c.
50990 (pkgdata_MODULES): Added default.mod and timeout.mod.
50991 (normal_mod_SOURCES): Added normal/context.c.
50992 (default_mod_SOURCES): New variable.
50993 (default_mod_CFLAGS): Likewise.
50994 (timeout_mod_SOURCES): Likewise.
50995 (timeout_mod_CFLAGS): Likewise.
50996 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
50997 conf/i386-pc.rmk.
50998 (pkgdata_MODULES): Added default.mod and timeout.mod.
50999 (normal_mod_SOURCES): Added normal/context.c.
51000 (default_mod_SOURCES): New variable.
51001 (default_mod_CFLAGS): Likewise.
51002 (timeout_mod_SOURCES): Likewise.
51003 (timeout_mod_CFLAGS): Likewise.
51004
51005 * Makefile.in (all-local): Added $(MKFILES).
51006
4ed2e1dd 510072005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
51008
51009 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
51010 (grub_emu_SOURCES): Likewise.
51011 (pkgdata_MODULES): Add `sun.mod'.
51012 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51013 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51014 `partmap/sun.c'.
51015 (pkgdata_MODULES): Add `sun.mod'.
51016 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51017 * include/grub/partition.h (grub_sun_partition_map_init): New
51018 prototype.
51019 (grub_sun_partition_map_fini): Likewise.
51020 * partmap/sun.c: New file.
51021 * util/grub-emu.c (main): Initialize and de-initialize the sun
51022 partitionmap support.
51023
4d4e372e 510242005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
51025
51026 This implements an Emacs-like menu entry editor.
f19dbdb7 51027
4d4e372e 51028 * normal/menu_entry.c: New file.
f19dbdb7 51029
4d4e372e 51030 * util/console.c (grub_ncurses_putchar): Translate some Unicode
51031 characters to ASCII.
51032 (saved_char): New variable.
51033 (grub_ncurses_checkkey): Rewritten completely.
51034 (grub_ncurses_getkey): Likewise.
51035 (grub_ncurses_init): Call raw instead of cbreak.
51036
51037 * normal/menu.c (print_entry): Do not put a space.
51038 (init_page): Renamed to ...
51039 (grub_menu_init_page): ... this. All callers changed.
51040 (edit_menu_entry): Removed.
51041 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
51042
51043 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
51044
51045 * kern/misc.c (grub_vprintf): Call grub_refresh.
51046
51047 * normal/menu.c (DISP_LEFT): Renamed to ...
51048 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
51049 * normal/menu.c (DISP_UP): Renamed to ...
51050 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
51051 * normal/menu.c (DISP_RIGHT): Renamed to ...
51052 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
51053 * normal/menu.c (DISP_DOWN): Renamed to ...
51054 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
51055 * normal/menu.c (DISP_HLINE): Renamed to ...
51056 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
51057 * normal/menu.c (DISP_VLINE): Renamed to ...
51058 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
51059 * normal/menu.c (DISP_UL): Renamed to ...
51060 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
51061 * normal/menu.c (DISP_UR): Renamed to ...
51062 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
51063 * normal/menu.c (DISP_LL): Renamed to ...
51064 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
51065 * normal/menu.c (DISP_LR): Renamed to ...
51066 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
51067 * normal/menu.c (TERM_WIDTH): Renamed to ...
51068 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
51069 * normal/menu.c (TERM_HEIGHT): Renamed to ...
51070 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
51071 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
51072 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
51073 * normal/menu.c (TERM_MARGIN): Renamed to ...
51074 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
51075 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
51076 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
51077 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
51078 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
51079 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
51080 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
51081 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
51082 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
51083 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
51084 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
51085 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
51086 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
51087 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
51088 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
51089 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
51090 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
51091 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
51092 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
51093 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
51094 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
51095 All callers changed.
51096
51097 * include/grub/normal.h: New prototype.
51098
51099 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51100 normal/menu_entry.c.
51101 (normal_mod_SOURCES): Likewise.
51102 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51103 (normal_mod_SOURCES): Likewise.
51104
e6b92c8a 511052005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
51106
51107 * include/grub/normal.h (grub_halt_init): New prototype.
51108 (grub_halt_fini): Likewise.
51109 (grub_reboot_init): Likewise.
51110 (grub_reboot_fini): Likewise.
51111
51112 * util/grub-emu.c: Include signal.h.
51113 (main_env): New global variable.
51114 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
51115 catch C-c.
51116 (grub_machine_fini): New function.
51117 (main): Call grub_halt_init and grub_reboot_init before
51118 grub_main, and grub_reboot_fini and grub_halt_fini after it.
51119 Call setjmp with MAIN_ENV to go back afterwards.
51120 Call grub_machine_fini right before return.
51121
51122 * include/grub/util/misc.h: Include setjmp.h.
51123 (main_env): New prototype.
51124
51125 * include/grub/kernel.h (grub_machine_fini): New prototype.
51126 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
51127 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
51128
51129 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
51130 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
51131 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 51132
e6b92c8a 51133 * util/i386/pc/misc.c: New file.
f19dbdb7 51134
e6b92c8a 51135 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51136 util/i386/pc/misc.c, commands/i386/pc/halt.c and
51137 commands/i386/pc/reboot.c.
51138
c642636f 511392005-02-14 Guillem Jover <guillem@hadrons.org>
51140
51141 * include/grub/dl.h (grub_dl_check_header): New prototype.
51142 (grub_arch_dl_check_header): Change return type to grub_err_t,
51143 remove size parameter and export function. Update all callers.
51144 * kern/dl.c (grub_dl_check_header): New function.
51145 (grub_dl_load_core): Use `grub_dl_check_header' instead of
51146 `grub_arch_dl_check_header'. Check ELF type. Check if sections
51147 are inside the core.
51148 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
51149 independent ELF header checks.
51150 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51151 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
51152 `grub_dl_check_header' instead of explicit checks. Check for the
51153 ELF type.
51154 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
51155 `grub_dl_check_header' instead of explicit checks. Remove arch
51156 specific ELF header checks.
51157
e6b92c8a 51158 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
51159 argument SIZE.
51160
5eabe94b 511612005-02-13 Hollis Blanchard <hollis@penguinppc.org>
51162
51163 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
51164 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
51165
1b14a681 511662005-02-12 Hollis Blanchard <hollis@penguinppc.org>
51167
51168 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 51169 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 51170 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 51171 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 51172 * partmap/amiga.c (amiga_partition_map_iterate): Return
51173 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
51174 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51175
aca108aa 511762005-02-01 Guillem Jover <guillem@hadrons.org>
51177
51178 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
51179 help info.
51180
c9f9c556 511812005-01-31 Marco Gerards <metgerards@student.han.nl>
51182
51183 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
51184 Removed prototype.
51185 (grub_rescue_cmd_linux): New prototype.
51186 (grub_rescue_cmd_initrd): Likewise.
51187 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
51188 `bi_rec'.
51189 (grub_linux_release_mem): Release the memory for the initrd.
51190 (grub_load_linux): Renamed from this...
51191 (grub_rescue_cmd_linux): ...To this. Changed all callers.
51192 Changed `entry' not to be static. Loop over memory regions to
51193 find another one when the default fails.
51194 (grub_rescue_cmd_initrd): New function.
51195 (grub_linux_init): Remove function.
51196 (grub_linux_fini): Likewise.
51197 (GRUB_MOD_INIT): Register `initrd'.
51198 (GRUB_MOD_FINI): Unregister `initrd'.
51199 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
51200 Function removed.
51201 (grub_linux_normal_fini): Likewise.
51202 (GRUB_MOD_INIT): Register `initrd'.
51203 (GRUB_MOD_FINI): Unregister `initrd'.
51204
990cf3aa 512052005-01-31 Marco Gerards <metgerards@student.han.nl>
51206
51207 * commands/help.c: New file.
51208 * normal/arg.c (show_help): Renamed to...
51209 (grub_arg_show_help): ... this.
51210 * commands/i386/pc/halt.c: New file.
51211 * commands/i386/pc/reboot.c: Likewise.
51212 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
51213 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
51214 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
51215 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
51216 variables.
51217 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51218 `commands/help.c'.
51219 (pkgdata_MODULES): Add `help.mod'.
51220 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
51221 * grub/i386/pc/init.h (grub_reboot): New prototype.
51222 (grub_halt): Likewise.
51223 * include/grub/normal.h (grub_arg_show_help): New prototype.
51224 (grub_help_init): Likewise.
51225 (grub_help_fini): Likewise.
51226 * util/grub-emu.c (main): Initialize and deinitialize the help
51227 command.
51228
51229 * normal/cmdline.c (grub_cmdline_get): Doc fix.
51230
51231 * normal/command.c (grub_command_init): Fixed the description of
51232 the `set' and `unset' commands.
51233
512342005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 51235
51236 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
51237 function.
51238 * commands/ieee1275/halt.c: New file.
51239 * commands/ieee1275/reboot.c: Likewise.
51240 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
51241 `__attribute__ ((unused))'. Some GCS related fixed.
51242 (grub_suspend_init) [GRUB_UTIL]: Function removed.
51243 (grub_suspend_fini): Likewise.
51244 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
51245 and `halt.mod'.
51246 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
51247 (halt_mod_CFLAGS): New variables.
51248 * include/grub/powerpc/ieee1275/ieee1275.h
51249 (grub_ieee1275_interpret): New prototype.
51250
1ab09cc7 512512005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
51252
51253 * include/grub/misc.h (memmove): New prototype.
51254 (memcpy): Likewise.
51255
8b8cbdb2 512562005-01-22 Hollis Blanchard <hollis@penguinppc.org>
51257
51258 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
51259 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
51260
e3741a27 512612005-01-22 Marco Gerards <metgerards@student.han.nl>
51262
51263 * kern/misc.c (grub_strndup): Function rewritten.
51264
776bd780 512652005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
51266
51267 * normal/menu.c (TERM_WIDTH): Macro redefined.
51268 (TERM_TOP_BORDER_Y): Likewise.
51269 (draw_border): Replaced while-loop by a for-loop. Make the number
51270 of lines consistent with the number of lines displayed in
51271 print_entries. Added a margin below the rectangle.
51272 (print_entry): Make the entry fit in the rectangle.
51273 (print_entries): Display the scroll arrows next to the right
51274 border.
51275
78026bce 512762005-01-21 Marco Gerards <metgerards@student.han.nl>
51277
51278 * fs/minix.c (grub_minix_find_file): Reserve more space for
51279 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
51280 `grub_strncpy' to copy `path' into it.
51281
67bbaf0f 512822005-01-21 Marco Gerards <metgerards@student.han.nl>
51283
51284 Add the loopback device, a device via which files can be accessed
51285 as devices.
f19dbdb7 51286
67bbaf0f 51287 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
51288 (pkgdata_MODULES): Add loopback.mod.
51289 (loopback_mod_SOURCES): New variable.
51290 (loopback_mod_CFLAGS): Likewise.
51291 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51292 `disk/loopback.c'.
51293 (pkgdata_MODULES): Add loopback.mod.
51294 (loopback_mod_SOURCES): New variable.
51295 (loopback_mod_CFLAGS): Likewise.
51296 * disk/loopback.c: new file.
51297 * include/grub/normal.h (grub_loop_init): New prototype.
51298 (grub_loop_fini): New prototype.
51299 * util/grub-emu.c (main): Initialize and de-initialize loopback
51300 support.
51301 * include/grub/disk.h (grub_disk_dev_id): Add
51302 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
51303
6f1c18bd 513042005-01-20 Hollis Blanchard <hollis@penguinppc.org>
51305
51306 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
51307 function.
51308 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
51309 (suspend_mod_SOURCES): New variable.
51310 (suspend_mod_CFLAGS): Likewise.
51311 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
51312 New prototype.
51313 * commands/ieee1275/suspend.c: New file.
51314
b38551da 513152005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51316
51317 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 51318 ((unused))' to `__attribute__ ((used))'.
b38551da 51319 (GRUB_MOD_FINI): Likewise.
51320 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
51321 * genmk.rb (PModule): Assign space to common symbols when linking
51322 modules.
51323
777aff39 513242005-01-20 Marco Gerards <metgerards@student.han.nl>
51325
51326 * include/grub/mm.h (grub_mm_init_region): Change the type of the
51327 `unsigned' arguments to `grub_size_t'.
51328 (grub_malloc): Likewise.
51329 (grub_realloc): Likewise.
51330 (grub_memalign): Likewise.
51331 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
51332 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51333 * util/misc.c (grub_malloc): Likewise.
51334 (grub_realloc): Likewise.
51335 * kern/mm.c (get_header_from_pointer): Change the casts to
51336 `unsigned' into a cast to `grub_size_t'.
51337
51338 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
51339 point to `currnode' when `currnode' is changed.
51340
51341 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
51342 Schottelius <nico-linux@schottelius.org>.
51343
d0ff18e1 513442005-01-09 Hollis Blanchard <hollis@penguinppc.org>
51345
51346 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
51347 (note_path): Remove variable.
51348 (GRUB_IEEE1275_NOTE_NAME): New macro.
51349 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
51350 (grub_ieee1275_note_hdr): New structure.
51351 (grub_ieee1275_note_desc): Likewise.
51352 (grub_ieee1275_note): Likewise.
51353 (load_note): Remove `dir' argument. All callers updated. Remove
51354 `note_img' and `path'. Do not load a file from `note_path'.
51355 Initialize a struct grub_ieee1275_note and write that to `out'.
51356 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
51357
4ca7004c 513582005-01-05 Marco Gerards <metgerards@student.han.nl>
51359
51360 * util/misc.c (grub_util_read_image): Revert last change. It
51361 called `grub_util_read_at', which seeks from the beginning of the
51362 file.
51363
0b412211 513642005-01-04 Hollis Blanchard <hollis@penguinppc.org>
51365
51366 * TODO: Add note about endianness in grub-mkimage.
51367 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
51368 section.
51369 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
51370 (grub_mkimage_SOURCES): New target.
51371 * include/grub/kernel.h (grub_start_addr): Remove variable.
51372 (grub_end_addr): Likewise.
51373 (grub_total_module_size): Likewise.
51374 (grub_kernel_image_size): Likewise.
51375 (GRUB_MODULE_MAGIC): New constant.
51376 (grub_module_info): New structure.
51377 (grub_arch_modules_addr): New prototype.
51378 (grub_get_end_addr): Remove prototype.
51379 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
51380 * include/grub/powerpc/ieee1275/kernel.h: New file.
51381 * include/grub/util/misc.h (grub_util_get_fp_size): New
51382 prototype.
51383 (grub_util_read_at): Likewise.
51384 (grub_util_write_image_at): Likewise.
51385 * kern/main.c (grub_get_end_addr): Remove function.
51386 (grub_load_modules): Call grub_arch_modules_addr instead of using
51387 grub_end_addr. Look for a grub_module_info struct in memory. Use
51388 the grub_module_info fields instead of calling grub_get_end_addr
51389 as loop conditions. Move grub_add_unused_region code here.
51390 (grub_add_unused_region): Remove function.
51391 * kern/i386/pc/init.c: Include grub/cache.h.
51392 (grub_machine_init): Remove call to grub_get_end_addr. Remove
51393 one call to add_mem_region.
51394 (grub_arch_modules_addr): New function.
51395 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
51396 (grub_total_module_size): Likewise.
51397 Include grub/machine/kernel.h.
51398 (grub_arch_modules_addr): New function.
51399 * util/grub-emu.c (grub_end_addr): Remove variable.
51400 (grub_total_module_size): Likewise.
51401 (grub_arch_modules_addr): New function.
51402 * util/misc.c: Include unistd.h.
51403 (grub_util_get_fp_size): New function.
51404 (grub_util_read_at): Likewise.
51405 (grub_util_write_image_at): Likewise.
51406 (grub_util_read_image): Call grub_util_read_at.
51407 (grub_util_write_image): Call grub_util_write_image_at.
51408 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
51409 additional memory in kernel_img for a struct grub_module_info.
51410 Fill in that grub_module_info.
51411 * util/powerpc/ieee1275/grub-mkimage.c: New file.
51412
458786f8 514132005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51414
51415 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
51416 New function.
51417 * include/grub/powerpc/ieee1275/ieee1275.h
51418 (grub_ieee1275_milliseconds): New prototype.
51419 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
51420 Change to 1000.
51421 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
51422 grub_ieee1275_milliseconds.
51423
ac507d1b 514242005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51425
51426 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
51427 variable.
51428 (find_options): New function.
51429 (cmain): Call find_options.
51430 * include/grub/powerpc/ieee1275/ieee1275.h
51431 (grub_ieee1275_realmode): New extern variable.
51432 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
51433 grub_map if grub_ieee1275_realmode is false.
51434
6b8fd1c4 514352004-12-29 Marco Gerards <metgerards@student.han.nl>
51436
51437 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
51438 lines are inserted and make it work like readline. Reported by
51439 Vincent Pelletier <subdino2004@yahoo.fr>.
51440
8514a1e0 514412004-12-28 Marco Gerards <metgerards@student.han.nl>
51442
51443 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
51444
51445 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
51446 `kern/powerpc/cache.S'.
51447
924b6140 514482004-12-27 Marco Gerards <metgerards@student.han.nl>
51449
51450 * genmk.rb: Handle the `Program' class in the main loop. Written
51451 by Johan Rydberg <jrydberg@gnu.org>.
51452 (Program): New class.
51453 (programs): New variable.
51454 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
51455 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
51456 instead of "grub/kernel.h". Include <grub/machine/init.h>.
51457 (help_arch): Function removed.
51458 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
51459 `powerpc/libgcc.h' and `loader.h'.
51460 (pkgdata_PROGRAMS): New variable.
51461 (sbin_UTILITIES): Variable removed.
51462 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
51463 (grubof_SOURCES): Variable re-defined so it only includes the
51464 core functionality.
51465 (grubof_CFLAGS): Remove `-DGRUBOF'.
51466 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
51467 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
51468 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
51469 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
51470 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
51471 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
51472 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
51473 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
51474 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
51475 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
51476 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51477 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
51478 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
51479 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
51480 (pc_mod_CFLAGS): New variables.
51481 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
51482 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
51483 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
51484 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
51485 Moved from here...
51486 * include/grub/i386/pc/init.h (grub_os_area_addr)
51487 (rub_os_area_size): ... to here.
51488 * include/grub/powerpc/ieee1275/ieee1275.h
51489 (grub_ieee1275_entry_fn): Export symbol.
51490 * include/grub/powerpc/ieee1275/init.h: New file.
51491 * include/grub/powerpc/libgcc.h: Likewise.
51492 * include/grub/cache.h: Likewise.
51493 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
51494 <hollis@penguinppc.org>.
51495 * kern/dl.c: Include <grub/cache.h>.
51496 (grub_dl_flush_cache): New function.
51497 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
51498 for this module.
51499 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
51500 (grub_console_init): Removed prototypes.
51501 (grub_machine_init): Don't initialize the modules anymore.
51502 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
51503 static.
51504 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
51505 Macro undef removed.
51506 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
51507 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
51508 relocation `R_PPC_REL32'. Return an error when the relocation is
51509 unknown.
51510 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
51511 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
51512 * util/misc.c (grub_arch_sync_caches): Likewise.
51513
e4b47e0c 515142004-12-19 Marco Gerards <metgerards@student.han.nl>
51515
51516 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
51517 `symlist.c', add `grubof_symlist.c'.
51518 (symlist.c): Variable removed.
51519 (grubof_HEADERS): Variable added.
51520 (grubof_symlist.c): New target.
51521 (kernel_syms.lst): Use `grubof_HEADERS' instead of
51522 `kernel_img_HEADERS'.
51523 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
51524 * kern/powerpc/dl.c: New file.
51525 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
51526 Function removed.
51527 (grub_arch_dl_relocate_symbols): Likewise.
51528 (grub_register_exported_symbols): Likewise.
51529
4ceb3636 515302004-12-13 Marco Gerards <metgerards@student.han.nl>
51531
51532 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
51533 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
51534 to fail instead. Reported by Vincent Pelletier
51535 <subdino2004@yahoo.fr>.
51536
51537 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
51538 it is not allocated. Reported by Vincent Pelletier
51539 <subdino2004@yahoo.fr>.
51540
51541 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
51542 output so the output looks better.
f19dbdb7 51543
3f1578fe 515442004-12-04 Marco Gerards <metgerards@student.han.nl>
51545
51546 Modulize the partition map support and add support for the amiga
51547 partition map.
f19dbdb7 51548
3f1578fe 51549 * commands/ls.c: Include <grub/partition.h> instead of
51550 <grub/machine/partition.h>.
51551 * kern/disk.c: Likewise.
51552 * kern/rescue.c: Likewise.
51553 * loader/i386/pc/chainloader.c: Likewise.
51554 * normal/cmdline.c: Likewise.
51555 * kern/powerpc/ieee1275/init.c: Likewise.
51556 (grub_machine_init): Call `grub_pc_partition_map_init',
51557 `grub_amiga_partition_map_init' and
51558 `grub_apple_partition_map_init'.
51559 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
51560 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
51561 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
51562 `partition.h' and `pc_partition.h'.
51563 (grub_setup_SOURCES): Remove
51564 `disk/i386/pc/partition.c'. Add `kern/partition.c',
51565 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51566 (grub_emu_SOURCES): Likewise.
51567 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
51568 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
51569 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
51570 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51571 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
51572 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51573 (grubof_SOURCES): Likewise.
51574 * disk/i386/pc/partition.c: File removed.
51575 * disk/powerpc/ieee1275/partition.c: Likewise.
51576 * include/grub/powerpc/ieee1275/partition.h: Likewise.
51577 * include/grub/i386/pc/partition.h: Likewise.
51578 * kern/partition.c: New file.
51579 * partmap/amiga.c: Likewise.
51580 * partmap/apple.c: Likewise.
51581 * partmap/pc.c: Likewise.
51582 * include/grub/partition.h: Likewise..
51583 * include/grub/pc_partition.h: Likewise.
51584 * util/grub-emu.c: Include <grub/partition.h> instead of
51585 <grub/machine/partition.h>.
51586 (main): Call `grub_pc_partition_map_init',
51587 `grub_amiga_partition_map_init' and
51588 `grub_apple_partition_map_init' and deinitialize afterwards.
51589 * util/i386/pc/biosdisk.c: Include `#include
51590 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51591 `<grub/machine/partition.h>'.
51592 * util/i386/pc/grub-setup.c: Likewise.
51593 * util/i386/pc/biosdisk.c: Likewise.
51594 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
51595 partition information in case of a PC partition.
51596 * util/i386/pc/grub-setup.c: Include `#include
51597 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51598 `<grub/machine/partition.h>'.
51599 (setup): Only access the PC specific partition information in case
51600 of a PC partition.
51601
0ef4ced9 516022004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 51603
0ef4ced9 51604 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
51605 (grub_longjmp): Likewise.
51606 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
51607 20.
51608 * normal/powerpc/setjmp.S: New file.
51609 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51610 `normal/powerpc/setjmp.S'.
51611 (grubof_CFLAGS): Add `-DGRUBOF'.
51612 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
51613 [GRUB_UTIL && !GRUBOF].
f19dbdb7 51614
19950e29 516152004-11-16 Marco Gerards <metgerards@student.han.nl>
51616
51617 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
51618 property named `name'. Correctly handle the error returned by
51619 `grub_ieee1275_finddevice' if a device can not be opened.
51620
a2fea427 516212004-11-02 Hollis Blanchard <hollis@penguinppc.org>
51622
51623 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
51624 `actual' for negativity.
51625 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51626 kern/fshelp.c.
51627
41ea0ea3 516282004-11-01 Marco Gerards <metgerards@student.han.nl>
51629
51630 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
51631 (PAGE_OFFSET): New macro.
51632 (CRTC_ADDR_PORT): Likewise.
51633 (CRTC_DATA_PORT): Likewise.
51634 (START_ADDR_HIGH_REGISTER): Likewise.
51635 (START_ADDR_LOW_REGISTER): Likewise.
51636 (GRAPHICS_ADDR_PORT): Likewise.
51637 (GRAPHICS_DATA_PORT): Likewise.
51638 (READ_MAP_REGISTER): Likewise.
51639 (INPUT_STATUS1_REGISTER): Likewise.
51640 (INPUT_STATUS1_VERTR_BIT): Likewise.
51641 (page): New variable.
51642 (wait_vretrace): New function.
51643 (set_read_map): Likewise.
51644 (set_start_address): Likewise.
51645 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
51646 the right page.
51647 (check_vga_mem): Take the page into account.
51648 (write_char): Likewise.
51649 (write_cursor): Likewise.
51650 (scroll_up): Likewise. Copy the page to the page that is not
51651 shown and switch between both pages.
51652 (grub_vga_putchar): Fix off by one error.
51653 (grub_vga_cls): Wait for the vertical retrace. Take the page into
51654 account.
51655
ad0bd20b 516562004-11-01 Marco Gerards <metgerards@student.han.nl>
51657
51658 Add support for iso9660 (including rockridge).
f19dbdb7 51659
ad0bd20b 51660 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51661 (iso9660_mod_SOURCES): New variable.
51662 (iso9660_mod_CFLAGS): Likewise.
51663 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51664 * include/grub/fs.h (grub_iso9660_init): New prototype.
51665 * util/grub-emu.c (main): Call `grub_iso9660_init'.
51666 * fs/iso9660.c: New file.
51667
51668 * include/grub/misc.h (grub_strncat): New prototype.
51669 * kern/misc.c (grub_strncat): New function.
f19dbdb7 51670
ad0bd20b 51671 * fs/hfs.c (grub_hfs_mount): Translate the error
51672 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
51673 * fs/jfs.c (grub_jfs_mount): Likewise.
51674 * fs/ufs.c (grub_ufs_mount): Likewise.
51675
a5477a59 516762004-10-28 Hollis Blanchard <hollis@penguinppc.org>
51677
51678 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
51679 which initialized BAT registers.
51680 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
51681 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51682 Move from here...
51683 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
51684 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51685 ... to here.
51686 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
51687 (grub_mapclaim): Likewise.
51688 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
51689 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
51690 hand.
51691
9304c1f8 516922004-10-19 Hollis Blanchard <hollis@penguinppc.org>
51693
51694 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
51695 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
51696 -ffreestanding and -msoft-float.
51697
86f4ae25 516982004-10-15 Hollis Blanchard <hollis@penguinppc.org>
51699
51700 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
51701 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
51702 set in grub_ieee1275_flags.
51703
38912228 517042004-10-14 Hollis Blanchard <hollis@penguinppc.org>
51705
51706 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
51707 prototype.
51708 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
51709 grub_console_init first.
51710 Change the memory range used for grub_ieee1275_claim and
51711 grub_mm_init_region.
51712 Print an error message if the claim fails.
51713 Include <grub/misc.h>.
51714
d1923dc8 517152004-10-13 Hollis Blanchard <hollis@penguinppc.org>
51716
51717 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
51718 Call grub_children_iterate for device nodes of type `scsi',
51719 `ide', or `ata'.
51720 (grub_ofdisk_open): Remove manual device alias resolution.
51721 Fix memory leak when device cannot be opened.
f19dbdb7 51722 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 51723 (grub_children_iterate): New prototype.
51724 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
51725 New function.
51726 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51727 Return -1 if args.size was -1.
51728
4512e4f3 517292004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51730
51731 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
51732 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
51733 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
51734 Open Firmware's memory for it; claim memory from _start to _end.
51735 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
51736 (_end): New extern.
51737 (_start): Zero BSS from __bss_start to _end.
51738 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51739 New extern.
51740 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
51741
4d61feb0 517422004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51743
ad0bd20b 51744 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
51745 -1 if args.base was -1.
4d61feb0 51746
026fa2f9 517472004-10-08 Hollis Blanchard <hollis@penguinppc.org>
51748
51749 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
51750 escape sequence instead of a literal ^L. Also call
51751 grub_ofconsole_gotoxy.
51752
9f2220ef 517532004-10-03 Hollis Blanchard <hollis@penguinppc.org>
51754
51755 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
51756 void * arguments to grub_addr_t. All callers updated. Also make
51757 the `result' argument optional.
51758 (grub_ieee1275_release): change void * arguments to grub_addr_t.
51759 All callers updated.
51760
8a572cd7 517612004-09-22 Hollis Blanchard <hollis@penguinppc.org>
51762
51763 * commands/ls.c (grub_ls_list_files): Use the string following the
51764 initial ')', if present, as the filesystem path.
51765 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
51766
51767 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
51768
18aa81f2 517692004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
51770
51771 Make the source code of the menu interface more readable.
f19dbdb7 51772
18aa81f2 51773 * normal/menu.c: Include grub/mm.h.
51774 (TERM_WIDTH): New macro.
51775 (TERM_HEIGHT): Likewise.
51776 (TERM_INFO_HEIGHT): Likewise.
51777 (TERM_MARGIN): Likewise.
51778 (TERM_SCROLL_WIDTH): Likewise.
51779 (TERM_TOP_BORDER_Y): Likewise.
51780 (TERM_LEFT_BORDER_X): Likewise.
51781 (TERM_BORDER_WIDTH): Likewise.
51782 (TERM_MESSAGE_HEIGHT): Likewise.
51783 (TERM_BORDER_HEIGHT): Likewise.
51784 (TERM_NUM_ENTRIES): Likewise.
51785 (TERM_FIRST_ENTRY_Y): Likewise.
51786 (TERM_ENTRY_WIDTH): Likewise.
51787 (TERM_CURSOR_X): Likewise.
51788 (draw_border): Use macros instead of magic numbers.
51789 (print_entry): Likewise.
51790 (print_entries): Likewise.
51791 (run_menu): Likewise. Also, handle the key 'e'.
51792 (run_menu_entry): Ignore empty command lines.
51793 (print_message): Added a new argument EDIT. If EDIT is true,
51794 print a different message.
51795 (init_page): Likewise.
51796 (edit_menu_entry): New function. Not implemented yet.
51797
b47efe30 517982004-09-17 Marco Gerards <metgerards@student.han.nl>
51799
51800 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
51801 can be loaded from normal mode.
f19dbdb7 51802
b47efe30 51803 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
51804 `multiboot.mod'.
51805 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
51806 (multiboot_mod_CFLAGS): New variables.
51807 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 51808 * loader/i386/pc/multiboot_normal.c: Likewise.
51809
b47efe30 51810 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
51811 attribute `unused'.
f19dbdb7 51812
b47efe30 51813 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
51814 `fdiro' to read the mode information from instead of `diro'.
51815
51816 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
51817 looking up a symlink.
51818
51819 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
51820 macro.
51821 * normal/command.c (grub_command_execute): Don't parse the
51822 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
51823 flags of the command.
51824
51825 * normal/menu.c (grub_menu_run): Fix typo.
51826
da75ac71 518272004-09-14 Hollis Blanchard <hollis@penguinppc.org>
51828
51829 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
51830
51831 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
51832 `y + 1' instead of `y - 1'.
51833
51834 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 51835
062b24c2 518362004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
51837
51838 From Hollis Blanchard <hollis@penguinppc.org>:
51839 * kern/misc.c (memmove): New alias for grub_memmove.
51840 (memcmp): New alias for grub_memcmp.
51841 (memset): New alias for grub_memset.
f19dbdb7 51842 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 51843 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 51844 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 51845 (grub_ieee1275_get_property): Likewise.
f19dbdb7 51846
8ddad845 518472004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
51848
51849 Added normal mode command `chainloader' as module chain.mod, which
51850 depends on normal.mod and _chain.mod.
f19dbdb7 51851
8ddad845 51852 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
51853 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
51854 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
51855 Deleted prototype.
51856 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
51857 but arguments parsing moved to ...
51858 (grub_chainloader_cmd): ... here. New function.
51859 * include/grub/i386/pc/chainloader.h: New file.
51860 * loader/i386/pc/chainloader_normal.c: Likewise.
51861
2c1f4ce3 518622004-09-11 Marco Gerards <metgerards@student.han.nl>
51863
51864 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
51865 (grub_mkimage_LDFLAGS): Likewise.
51866 (grub_emu_SOURCES): Likewise.
51867 (kernel_img_HEADERS): Added fshelp.h.
51868 * fs/ext2.c: Include <grub/fshelp.h>.
51869 (FILETYPE_REG): New macro.
51870 (FILETYPE_INO_REG): Likewise.
51871 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
51872 Changed all users.
51873 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
51874 all users.
51875 (grub_fshelp_node): New struct.
51876 (grub_ext2_data): Added member `diropen'. Changed member `inode'
51877 to a pointer.
51878 (grub_ext2_get_file_block): Removed function.
51879 (grub_ext2_read_block): New function.
51880 (grub_ext2_read_file): Replaced parameter `data' by `node'.
51881 This function was written.
51882 (grub_ext2_mount): Read the root inode. Create a diropen struct.
51883 (grub_ext2_find_file): Removed function.
51884 (grub_ext2_read_symlink): New function.
51885 (grub_ext2_iterate_dir): Likewise.
51886 (grub_ext2_open): Rewritten.
51887 (grub_ext2_dir): Rewritten.
51888 * include/grub/fshelp.h: New file.
51889 * fs/fshelp.c: Likewise.
51890
3c52136a 518912004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
51892
51893 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
51894 (print_message): Add a missing newline.
51895 (run_menu): Added timeout support.
51896 (run_menu_entry): New local function.
51897 (grub_menu_run): Added support for booting.
51898
51899 * kern/loader.c (grub_loader_is_loaded): New function.
51900
51901 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
51902 (grub_get_rtc): Exported.
51903
51904 * include/grub/i386/pc/time.h: Include grub/symbol.h.
51905 (grub_get_rtc): Exported.
51906
51907 * include/grub/normal.h (struct grub_command_list): Remove
51908 constant from the member `command'.
51909
51910 * include/grub/loader.h (grub_loader_is_loaded): Declared.
51911
51912 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
51913
51914 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
51915
aa033560 519162004-08-28 Marco Gerards <metgerards@student.han.nl>
51917
51918 Add support for the JFS filesystem.
51919
51920 * fs/jfs.c: New file.
51921 * include/grub/fs.h (grub_jfs_init): New prototype.
51922 (grub_jfs_fini): New prototype.
51923 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
51924 (grub_emu_SOURCES): Likewise.
51925 (pkgdata_MODULES): Add jfs.mod.
51926 (jfs_mod_SOURCES): New variable.
51927 (jfs_mod_CFLAGS): Likewise.
51928 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
51929 (grubof_SOURCES): Likewise.
51930 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
51931
51932 * fs/fat.c (grub_fat_find_dir): Convert the filename little
51933 endian to the host endian.
51934 (grub_fat_utf16_to_utf8): Move function from there...
51935 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 51936 the endianness of the source string anymore.
aa033560 51937 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
51938
94bc45af 519392004-08-24 Marco Gerards <metgerards@student.han.nl>
51940
51941 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
51942 (grub_boot_fini) [GRUB_UTIL]: Likewise.
51943 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
51944 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 51945
94bc45af 51946 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
51947 (grub_hfs_iterate_dir): Make the function static. Add prototypes
51948 for `node_found' and `it_dir'.
51949 (grub_hfs_dir): Add prototype for `dir_hook'.
51950
51951 * fs/minix.c (grub_minix_get_file_block): Add prototype for
51952 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
51953 and `indir32' to silence a gcc warning.
51954
51955 * include/grub/fs.h (grub_hfs_init): New prototype.
51956 (grub_hfs_fini): Likewise.
f19dbdb7 51957
51958
97543f08 519592004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
51960
51961 Each disk device has its own id now. This is useful to make use
51962 of multiple disk devices.
f19dbdb7 51963
97543f08 51964 * include/grub/disk.h (grub_disk_dev_id): New enum.
51965 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
51966 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
51967
51968 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
51969 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
51970
51971 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
51972 GRUB_DISK_DEVICE_OFDISK_ID as an id.
51973
51974 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
51975 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
51976
51977 * include/grub/disk.h (struct grub_disk_dev): Added a new member
51978 "id" which is used by the cache manager.
51979
51980 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
51981 of just "GRUB".
51982
64372eb4 519832004-08-18 Marco Gerards <metgerards@student.han.nl>
51984
51985 * fs/hfs.c: New file.
51986 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
51987 (grub_emu_SOURCES): Likewise.
51988 (pkgdata_MODULES): Add hfs.mod.
51989 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
51990 (grubof_SOURCES): Likewise.
51991 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
51992
51993 * include/grub/misc.h (grub_strncasecmp): Add prototype.
51994 * kern/misc.c (grub_strncasecmp): Add function.
51995
cc61b58f 519962004-08-14 Marco Gerards <metgerards@student.han.nl>
51997
51998 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
51999 with parentheses.
52000
52001 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
52002 (grub_ext2_dir): In case the directory entry type is unknown, read
52003 it from the inode.
52004
0ef123f6 520052004-08-02 Peter Bruin <pjbruin@dds.nl>
52006
52007 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
52008 grub_load_linux instead of grub_rescue_cmd_linux as second
52009 argument of grub_rescue_register_command.
52010
52011 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
52012
a447c5df 520132004-07-27 Marco Gerards <metgerards@student.han.nl>
52014
52015 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
52016 function.
52017 * commands/boot.c: Remove the check for `GRUB_UTIL'.
52018 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
52019 `loader/powerpc/ieee1275/linux.c',
52020 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
52021 * include/grub/powerpc/ieee1275/ieee1275.h
52022 (grub_ieee1275_release): New prototype.
52023 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
52024 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
52025 normal, boot, linux and linux_normal.
52026 * loader/powerpc/ieee1275/linux.c: New file.
52027 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
52028
5a9e3546 520292004-07-12 Marco Gerards <metgerards@student.han.nl>
52030
52031 * normal/arg.c (grub_arg_parse): Correct error handling after
52032 reallocating the argumentlist (check if `argl' is not null instead
52033 of checking if `args' is not null).
52034 * kern/mm.c (grub_realloc): Return the same pointer when using the
52035 same region, instead of returning the header address.
52036
e15199cb 520372004-07-11 Marco Gerards <metgerards@student.han.nl>
52038
52039 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
52040 one block instead of two when looking for the initial partition.
52041 (grub_partition_probe): Initialize the local variable `p' with 0.
52042 Use base 10 for the grub_strtoul call.
52043 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
52044 need for one local variable.
52045 (grub_strtoul): Don't add the new value to `num', instead of that
52046 just assign it.
52047
020616c2 520482004-07-11 Marco Gerards <metgerards@student.han.nl>
52049
52050 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
52051 (pxeboot_img_SOURCES): New variable.
52052 (pxeboot_img_ASFLAGS): Likewise.
52053 (pxeboot_img_LDFLAGS): Likewise.
52054 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
52055 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
52056 <lode_leroy@hotmail.com>.
52057
6c51eb64 520582004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52059
52060 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
52061 there was no input.
52062
cfb12aff 520632004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52064
52065 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
52066 the history buffer logic.
52067
6eabba74 520682004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52069
52070 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
52071 (FILETYPE_INO_SYMLINK): New macros.
52072 (grub_ext2_find_file): Check if the node is a directory using the
52073 inode stat information instead of using the filetype in the
52074 dirent. Exclude the first character of an absolute symlink.
52075 (grub_ext2_dir): Mask out the filetype part of the mode member of
52076 the inode.
52077
66e19ef8 520782004-05-24 Marco Gerards <metgerards@student.han.nl>
52079
52080 Add support for UFS version 1 and 2. Add support for the minix
52081 filesystem version 1 and 2, both the variants with 14 and 30 long
52082 filenames.
f19dbdb7 52083
66e19ef8 52084 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
52085 fs/minix.c.
52086 (grub_emu_SOURCES): Likewise.
52087 (pkgdata_MODULES): Add ufs.mod and minix.mod.
52088 (ufs_mod_SOURCES): New variable.
52089 (ufs_mod_CFLAGS): Likewise.
52090 (minix_mod_SOURCES): Likewise.
52091 (minix_mod_CFLAGS): Likewise.
52092 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
52093 fs/minix.c.
52094 (grubof_SOURCES): Likewise.
52095 * fs/ufs.c: New file.
52096 * fs/minix.c: New file.
52097 * include/grub/fs.h (grub_ufs_init): New prototype.
52098 (grub_ufs_fini): Likewise.
52099 (grub_minix_init): Likewise.
52100 (grub_minix_fini): Likewise.
52101 * util/grub-emu.c (main): Initialize and deinitialize UFS and
52102 minix fs.
52103
cc2e748a 521042004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
52105
52106 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
52107 commands/ls.c, commands/terminal.c, commands/boot.c,
52108 commands/cmp.c and commands/cat.c.
52109 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
52110
52111 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
52112 "env.h"
52113
4b13b216 521142004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52115
52116 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
52117 and grub_, respectively. Because the conversion is trivial and
52118 mechanical, I omit the details here. Please refer to the CVS
52119 if you need more information.
52120
6a142551 521212004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52122
52123 * include/pupa: Renamed to ...
52124 * include/grub: ... this.
52125 * util/i386/pc/pupa-mkimage.c: Renamed to ...
52126 * util/i386/pc/grub-mkimage.c: ... this.
52127 * util/i386/pc/pupa-setup.c: Renamed to ...
52128 * util/i386/pc/grub-setup.c: ... this.
52129 * util/pupa-emu.c: Renamed to ...
52130 * util/grub-emu.c: ... this.
52131
e56cdf21 521322004-03-29 Marco Gerards <metgerards@student.han.nl>
52133
52134 Add support for the newworld apple macintosh (PPC). This has been
52135 tested on the powerbook 2000 only. It only adds support for
52136 generic ieee1275 functions, console and disk support. This should
52137 be easy to port to other architectures with support for Open
52138 Firmware.
f19dbdb7 52139
e56cdf21 52140 * configure.ac: Accept the powerpc as host_cpu. In the case of
52141 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
52142 specific tests are only executed while building for the i386.
52143 Inverse test for crosscompile.
52144 * genmk.rb (Utility): Allow assembler files.
52145 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
52146 * conf/powerpc-ieee1275.rmk: New file.
52147 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
52148 * disk/powerpc/ieee1275/partition.c: Likewise.
52149 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
52150 * include/pupa/powerpc/ieee1275/console.h: Likewise.
52151 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
52152 * include/pupa/powerpc/ieee1275/time.h: Likewise.
52153 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
52154 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
52155 * include/pupa/powerpc/ieee1275/loader.h
52156 * include/pupa/powerpc/setjmp.h: Likewise.
52157 * include/pupa/powerpc/types.h: Likewise.
52158 * kern/powerpc/ieee1275/init.c: Likewise.
52159 * kern/powerpc/ieee1275/openfw.c: Likewise.
52160 * term/powerpc/ieee1275/ofconsole.c: Likewise.
52161
52162 These files were written by Johan Rydberg
52163 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 52164
e56cdf21 52165 * boot/powerpc/ieee1275/cmain.c: New file.
52166 * boot/powerpc/ieee1275/crt0.S: Likewise.
52167 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
52168 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
52169
8c8cc205 521702004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
52171
52172 * Makefile.in: Update copyright.
52173 * genmodsrc.sh: Likewise.
52174 * gensymlist.sh: Likewise.
52175 * term/i386/pc/vga.c: Indent correctly.
52176
52177 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
52178 bugreporting address.
52179 * util/i386/pc/pupa-setup.c (usage): Likewise,
52180 (main): Call pupa_ext2_init and pupa_ext2_fini.
52181
f19dbdb7 52182 * fs/fat.c (log2): Renamed to ...
8c8cc205 52183 (fat_log2): ... this.
52184 All callers changed.
52185 * kern/misc.c (memcpy): Alias to pupa_memmove.
52186 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
52187 lvalue cast.
52188 * util/console.c (pupa_ncurses_fini): Return 0.
52189
52190 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
52191 Move fail label here.
52192 [__GNU__]: Don't warn when using stat.
52193 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
52194 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
52195 long int. Use strtol instead of strtoul.
f19dbdb7 52196
db1771cf 521972004-03-14 Marco Gerards <metgerards@student.han.nl>
52198
52199 * commands/boot.c: New file.
52200 * commands/cat.c: Likewise.
52201 * commands/cmp.c: Likewise.
52202 * commands/ls.c: Likewise.
52203 * commands/terminal.c: Likewise.
52204 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
52205 (pupa_register_command): Changed interface to match the new
52206 argument parser.
52207 (pupa_command_execute): Changed (almost rewritten) so it uses
52208 pupa_split_command. Added support for setting variables using the
52209 syntax `foo=bar'.
52210 (rescue_command): Changed to work with the new argument parser.
52211 (terminal_command): Moved from here to commands/terminal.c.
52212 (set_command): New function.
52213 (unset_command): New function.
52214 (insmod_command): New function.
52215 (rmmod_command): New function.
52216 (lsmod_command): New function.
52217 (pupa_command_init): Don't initialize the command terminal
52218 anymore. Initialize the commands set, unset, insmod, rmmod and
52219 lsmod.
52220 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
52221 (kernel_img_HEADERS): Add arg.h and env.h.
52222 (pupa_mkimage_LDFLAGS): Add kern/env.c.
52223 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
52224 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
52225 normal/arg.c.
52226 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
52227 terminal.mod.
52228 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
52229 (boot_mod_SOURCES): New variable.
52230 (terminal_mod_SOURCES): Likewise.
52231 (ls_mod_SOURCES): Likewise.
52232 (cmp_mod_SOURCES): Likewise.
52233 (cat_mod_SOURCES): Likewise.
52234
52235 * normal/arg.c: New file.
52236 * kern/env.c: Likewise.
52237 * include/pupa/arg.h: Likewise.
52238 * include/pupa/env.h: Likewise.
52239 * font/manager.c (font_command): Changed to match argument parsing
52240 interface changes.
52241 (PUPA_MOD_INIT): Likewise.
52242 * hello/hello.c (pupa_cmd_hello): Likewise.
52243 (PUPA_MOD_INIT): Likewise.
52244 * include/pupa/disk.h: Include <pupa/device.h>.
52245 (pupa_print_partinfo): New prototype.
52246 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
52247 (pupa_dl_get_prefix): Likewise.
52248 * include/pupa/misc.h: Include <pupa/err.h>.
52249 (pupa_isgraph): New prototype.
52250 (pupa_isdigit): Likewise.
52251 (pupa_split_cmdline): Likewise.
52252 * include/pupa/normal.h: Include <pupa/arg.h>.
52253 (pupa_command): Changed the prototype of the member `func' to
52254 match the argument parsing interface. Added member `options'.
52255 (pupa_register_command): Updated to match function.
52256 (pupa_arg_parse): New prototype.
52257 (pupa_hello_init) [PUPA_UTIL]: New prototype.
52258 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
52259 (pupa_ls_init) [PUPA_UTIL]: Likewise.
52260 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
52261 (pupa_cat_init) [PUPA_UTIL]: Likewise.
52262 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
52263 (pupa_boot_init) [PUPA_UTIL]: Likewise.
52264 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
52265 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
52266 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
52267 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
52268 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
52269 * kern/disk.c: Include <pupa/file.h>.
52270 (pupa_print_partinfo): New function.
52271 * kern/dl.c: Include <pupa/env.h>.
52272 (pupa_dl_dir): Variable removed.
52273 (pupa_dl_load): Use the environment variable `prefix' instead of
52274 the variable pupa_dl_dir.
52275 (pupa_dl_set_prefix): Function removed.
52276 (pupa_dl_get_prefix): Likewise.
52277 * kern/i386/pc/init.c: Include <pupa/env.h>.
52278 (pupa_machine_init): Use the environment variable `prefix' instead of
52279 using pupa_dl_set_prefix to set the prefix.
52280 * kern/main.c: Include <pupa/env.h>.
52281 (pupa_set_root_dev): Use the environment variable `prefix' instead of
52282 using pupa_dl_get_prefix to get the prefix.
52283 * kern/misc.c: Include <pupa/env.h>.
52284 (pupa_isdigit): New function.
52285 (pupa_isgraph): Likewise.
52286 (pupa_ftoa): Likewise.
52287 (pupa_vsprintf): Added support for printing values of the type
52288 `double'. Make it possible to format variable output when using
52289 formatting like `%1.2%f'.
52290 (pupa_split_cmdline): New function.
52291 * kern/rescue.c: Include <pupa/env.h>.
52292 (next_word): Removed function.
52293 (pupa_rescue_cmd_prefix): Likewise.
52294 (pupa_rescue_cmd_set): New function.
52295 (pupa_rescue_cmd_unset): New function.
52296 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
52297 split the command line instead of splitting it here. Added
52298 support for setting variables using the syntax `foo=bar'. Don't
52299 initialize the prefix command anymore. Initialized the set and
52300 unset commands.
52301 * normal/cmdline.c: Include <pupa/env.h>.
52302 (pupa_tab_complete): Added prototypes for print_simple_completion,
52303 print_partition_completion, add_completion, iterate_commands,
52304 iterate_dev, iterate_part and iterate_dir. Moved code to print
52305 partition information from here to kern/disk.c.
fe6b695a 52306 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 52307 * normal/main.c: Include <pupa/env.h>.
52308 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
52309 instead of using pupa_dl_get_prefix to get the prefix.
52310 * term/i386/pc/vga.c: Include <pupa/arg.h>.
52311 (check_vga_mem): Cast pointers to `void *' to silence a gcc
52312 warning.
52313 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
52314 (pupa_vga_setcolor): Declare unused variables with `__attribute__
52315 ((unused))' to silence a gcc warning.
52316 (pupa_vga_setcolor): Likewise.
52317 (debug_command): Changed to match argument parsing
52318 interface changes.
52319 * util/pupa-emu.c: Include <pupa/env.h>.
52320 (options): Added 0's for unused fields to silence a gcc warning.
52321 (argp): Likewise.
52322 (main): Use the environment variable `prefix' instead of using
52323 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
52324 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
52325 and terminal.
52326
52327 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
52328 * util/misc.c: Include <malloc.h>.
52329 (pupa_malloc): Rewritten so errors are correctly reported.
52330 (pupa_realloc): Likewise.
52331 (pupa_memalign): Likewise.
52332 (pupa_mm_init_region): Declare unused variables with
52333 `__attribute__ ((unused))' to silence a gcc warning.
52334 * normal/i386/setjmp.S: Remove tab at the end of the file to
52335 silence a gcc warning.
52336 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
52337 variables with `__attribute__ ((unused))' to silence a gcc
52338 warning.
52339 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
52340 local variable i unsigned to silence a gcc warning.
52341
52342 * kern/term.c: Include <pupa/misc.h>.
52343 (pupa_more_lines): New variable.
52344 (pupa_more): Likewise.
52345 (pupa_putcode): When the pager is active pause at the end of every
52346 screen.
52347 (pupa_set_more): New function.
52348 * include/pupa/term.h (pupa_set_more): New prototype.
52349
52350
3b1139cb 523512004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
52352
52353 Now this project is GRUB 2 rather than PUPA. The location of
52354 the CVS repository was moved to GRUB's.
f19dbdb7 52355
3b1139cb 52356 * configure.ac: Use bug-grub as the reporting address.
52357 Use GRUB instead of PUPA.
52358 Change the version number to 1.90.
52359
8367695c 523602004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
52361
52362 * genkernsyms.sh: Updated copyright information.
52363 * genmk.rb: Likewise.
52364 * genmodsrc.sh: Likewise.
52365 * gensymlist.sh: Likewise.
52366 * boot/i386/pc/boot.S: Likewise.
52367 * boot/i386/pc/diskboot.S: Likewise.
52368 * disk/i386/pc/biosdisk.c: Likewise.
52369 * disk/i386/pc/partition.c: Likewise.
52370 * font/manager.c: Likewise.
52371 * fs/ext2.c: Likewise.
52372 * fs/fat.c: Likewise.
52373 * include/pupa/boot.h: Likewise.
52374 * include/pupa/device.h: Likewise.
52375 * include/pupa/disk.h: Likewise.
52376 * include/pupa/dl.h: Likewise.
52377 * include/pupa/elf.h: Likewise.
52378 * include/pupa/err.h: Likewise.
52379 * include/pupa/file.h: Likewise.
52380 * include/pupa/font.h: Likewise.
52381 * include/pupa/fs.h: Likewise.
52382 * include/pupa/kernel.h: Likewise.
52383 * include/pupa/loader.h: Likewise.
52384 * include/pupa/misc.h: Likewise.
52385 * include/pupa/mm.h: Likewise.
52386 * include/pupa/net.h: Likewise.
52387 * include/pupa/normal.h: Likewise.
52388 * include/pupa/rescue.h: Likewise.
52389 * include/pupa/setjmp.h: Likewise.
52390 * include/pupa/symbol.h: Likewise.
52391 * include/pupa/term.h: Likewise.
52392 * include/pupa/types.h: Likewise.
52393 * include/pupa/i386/setjmp.h: Likewise.
52394 * include/pupa/i386/types.h: Likewise.
52395 * include/pupa/i386/pc/biosdisk.h: Likewise.
52396 * include/pupa/i386/pc/boot.h: Likewise.
52397 * include/pupa/i386/pc/console.h: Likewise.
52398 * include/pupa/i386/pc/init.h: Likewise.
52399 * include/pupa/i386/pc/kernel.h: Likewise.
52400 * include/pupa/i386/pc/linux.h: Likewise.
52401 * include/pupa/i386/pc/loader.h: Likewise.
52402 * include/pupa/i386/pc/memory.h: Likewise.
52403 * include/pupa/i386/pc/multiboot.h: Likewise.
52404 * include/pupa/i386/pc/partition.h: Likewise.
52405 * include/pupa/i386/pc/time.h: Likewise.
52406 * include/pupa/i386/pc/vga.h: Likewise.
52407 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
52408 * include/pupa/util/getroot.h: Likewise.
52409 * include/pupa/util/misc.h: Likewise.
52410 * include/pupa/util/resolve.h: Likewise.
52411 * kern/device.c: Likewise.
52412 * kern/disk.c: Likewise.
52413 * kern/dl.c: Likewise.
52414 * kern/err.c: Likewise.
52415 * kern/file.c: Likewise.
52416 * kern/fs.c: Likewise.
52417 * kern/loader.c: Likewise.
52418 * kern/main.c: Likewise.
52419 * kern/misc.c: Likewise.
52420 * kern/mm.c: Likewise.
52421 * kern/rescue.c: Likewise.
52422 * kern/term.c: Likewise.
52423 * kern/i386/dl.c: Likewise.
52424 * kern/i386/pc/init.c: Likewise.
52425 * kern/i386/pc/lzo1x.S: Likewise.
52426 * kern/i386/pc/startup.S: Likewise.
52427 * loader/i386/pc/chainloader.c: Likewise.
52428 * loader/i386/pc/linux.c: Likewise.
52429 * loader/i386/pc/multiboot.c: Likewise.
52430 * normal/cmdline.c: Likewise.
52431 * normal/command.c: Likewise.
52432 * normal/main.c: Likewise.
52433 * normal/menu.c: Likewise.
52434 * normal/i386/setjmp.S: Likewise.
52435 * term/i386/pc/console.c: Likewise.
52436 * term/i386/pc/vga.c: Likewise.
52437 * util/console.c: Likewise.
52438 * util/genmoddep.c: Likewise.
52439 * util/misc.c: Likewise.
52440 * util/pupa-emu.c: Likewise.
52441 * util/resolve.c: Likewise.
52442 * util/unifont2pff.rb: Likewise.
52443 * util/i386/pc/biosdisk.c: Likewise.
52444 * util/i386/pc/getroot.c: Likewise.
52445 * util/i386/pc/pupa-mkimage.c: Likewise.
52446 * util/i386/pc/pupa-setup.c: Likewise.
52447
e6eced71 524482004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
52449
52450 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
52451 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
52452 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
52453 reading and reset it after reading.
52454 (pupa_ext2_close): Return PUPA_ERR_NONE.
52455
52456 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
52457 Correct value.
52458 (struct linux_kernel_header): Add kernel_version and
52459 initrd_addr_max.
52460 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
52461 pupa_file_read succeeds.
52462 (pupa_rescue_cmd_initrd): Implement.
52463
5aded270 524642003-12-03 Marco Gerards <metgerards@student.han.nl>
52465
52466 * fs/ext2.c (pupa_ext2_label): New function.
52467 (pupa_ext2_fs): Added label.
52468 * fs/fat.c (pupa_fat_label): New function.
52469 (pupa_fat_fs): Added label.
52470 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
52471
52472 * kern/misc.c (pupa_strndup): New function.
52473 * include/pupa/misc.h (pupa_strndup): New prototype.
52474
52475 * include/pupa/normal.h: Include <pupa/err.h>.
52476 (pupa_set_history): New prototype.
52477 (pupa_iterate_commands): New prototype.
52478 * normal/cmdline.c: Include <pupa/machine/partition.h>,
52479 <pupa/disk.h>, <pupa/file.h>.
52480 (hist_size): New variable.
52481 (hist_lines): Likewise.
52482 (hist_end): Likewise.
52483 (hist_used): Likewise.
52484 (pupa_set_history): New function.
52485 (pupa_history_get): Likewise.
52486 (pupa_history_add): Likewise.
52487 (pupa_history_replace): Likewise.
52488 (pupa_tab_complete): Likewise.
52489 (pupa_cmdline_run): Added tab completion and history buffer. Tab
52490 completion shows partitionnames while completing partitions, this
52491 feature was suggested by Jeff Bailey.
52492 * normal/command.c (pupa_iterate_commands): New function.
52493 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
52494 (pupa_normal_init): Initialize history buffer.
52495 (PUPA_MOD_INIT): Likewise.
52496 (pupa_normal_fini): Free the history buffer.
52497 (PUPA_MOD_FINI): Likewise.
52498
52499 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
52500 key.
52501
52502 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
52503 * configure.ac [i386]: Check for regparam bug.
52504 (NESTED_FUNC_ATTR) [! i386]: Defined.
52505
1f7315a3 525062003-11-17 Marco Gerards <metgerards@student.han.nl>
52507
52508 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
52509 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
52510 (pupa_emu_SOURCES): New variable.
52511 (pupa_emu_LDFLAGS): Likewise.
52512 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
52513 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
52514 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
52515 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52516 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
52517 (pupa_jmp_buf): New typedef.
52518 (pupa_setjmp) [PUPA_UTIL]: New macro.
52519 (pupa_longjmp) [PUPA_UTIL]: Likewise.
52520 * include/pupa/term.h (struct pupa_term): New member `refresh'.
52521 (pupa_refresh): New prototype.
52522 * include/pupa/util/getroot.h: New file.
52523 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
52524 it.
52525 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
52526 (pupa_rescue_cmd_cat): Likewise.
52527 (pupa_rescue_cmd_ls): Likewise.
52528 (pupa_rescue_cmd_testload): Likewise.
52529 (pupa_rescue_cmd_lsmod): Likewise.
52530 * normal/cmdline.c (pupa_cmdline_get): Likewise.
52531 * normal/menu.c (run_menu): Likewise.
52532 * kern/term.c (pupa_cls): Likewise.
52533 (pupa_refresh): New function.
52534 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
52535 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52536 * util/console.c: New file.
f19dbdb7 52537
1f7315a3 52538 * util/i386/pc/getroot.c: New file.
52539 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
52540 (pupa_putchar): New function.
52541 (pupa_refresh): Likewise.
52542 (xgetcwd): Function moved to ...
52543 (strip_extra_slashes): Likewise.
52544 (get_prefix): Likewise.
f19dbdb7 52545 * util/i386/pc/getroot.c: ... here.
1f7315a3 52546 (find_root_device): Function moved and renamed to...
52547 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
52548 Changed all callers.
52549 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
52550 and renamed to...
52551 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
52552 Changed all callers.
52553 * util/misc.c (pupa_memalign): New function.
52554 (pupa_mm_init_region): Likewise.
52555 (pupa_register_exported_symbols): Likewise.
52556 (pupa_putchar): Function removed.
52557 * util/pupa-emu.c: New file.
52558
9a5c1ade 525592003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
52560
52561 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
52562 (_multiboot_mod_SOURCES): New variable.
52563 (_multiboot_mod_CFLAGS): Likewise.
52564 * loader/i386/pc/multiboot.c: New file.
52565 * include/pupa/i386/pc/multiboot.h: Likewise.
52566 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
52567 (pupa_multiboot_real_boot): New function.
52568 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
52569 (pupa_multiboot_real_boot): New prototype.
52570 (pupa_rescue_cmd_multiboot): Likewise
52571 (pupa_rescue_cmd_module): Likewise.
52572
52573 * kern/loader.c (pupa_loader_set): Continue when
52574 pupa_loader_unload_func() fails.
52575 (pupa_loader_unset): New function.
52576 * include/pupa/loader.h (pupa_loader_unset): New prototype.
52577
52578 * kern/misc.c (pupa_stpcpy): New function.
52579 * include/pupa/misc.h (pupa_stpcpy): New prototype.
52580
8e72a9c0 525812003-11-12 Marco Gerards <metgerards@student.han.nl>
52582
52583 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
52584 for available extensions.
52585
52586 * include/pupa/i386/pc/time.h: New file.
52587 * kern/disk.c: Include <pupa/machine/time.h>.
52588 (PUPA_CACHE_TIMEOUT): New macro.
52589 (pupa_last_time): New variable.
52590 (pupa_disk_open): Flush the cache when there was a timeout.
52591 (pupa_disk_close): Reset the timer.
52592 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
52593 pupa_currticks.
52594 * util/misc.c: Include <sys/times.h>
52595 (pupa_get_rtc): New function.
52596
c4adbd32 525972003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
52598
52599 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
52600 as blocks.
52601 (pupa_ext2_get_file_block): Use blocks member.
52602
52603 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
52604 first block. Return -1 instead of pupa_errno on error.
52605
bfd30f06 526062003-10-27 Marco Gerards <metgerards@student.han.nl>
52607
52608 * README: In the pupa-mkimage example use _chain instead of chain
52609 and ext2 instead of fat.
52610 * TODO: Replace ext2fs with jfs as an example. Add an item for
52611 adding journal playback for ext2fs.
52612 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
52613 (pkgdata_MODULES): Added ext2.mod.
52614 (ext2_mod_SOURCES): New variable.
52615 (ext2_mod_CFLAGS): Likewise.
52616 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
52617 * include/pupa/misc.h (pupa_strncpy): New prototype.
52618 (pupa_strcat): Likewise.
52619 (pupa_strncmp): Likewise.
52620 * kern/misc.c (pupa_strcat): Enable function.
52621 (pupa_strncpy): New function.
52622 (pupa_strncmp): Likewise.
52623 * fs/ext2.c: New file.
f19dbdb7 52624
bfd30f06 52625 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
52626 when the read failed before retrying.
52627 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
52628 (_FILE_OFFSET_BITS): Likewise.
52629 * configure.ac: Added AC_SYS_LARGEFILE.
52630
98d15063 526312003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52632
52633 * genmk.rb (PModule#rule): Make sure to get only symbol names
52634 from the output of nm.
59cad637 52635 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 52636
18d9c7cd 526372003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52638
52639 I forgot to check in these changes for a long time. This adds
52640 incomplete support for VGA console, and this is still very
52641 buggy. Also, a lot of consideration is required for I18N,
52642 UNICODE, and VGA font issues. Therefore, assume that this is
52643 such that "better than nothing".
f19dbdb7 52644
18d9c7cd 52645 * font/manager.c: New file.
52646 * include/pupa/font.h: Likewise.
52647 * include/pupa/i386/pc/vga.h: Likewise.
52648 * term/i386/pc/vga.c: Likewise.
52649 * util/unifont2pff.rb: Likewise.
52650
52651 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
52652 (pkgdata_MODULES): Added vga.mod and font.mod.
52653 (vga_mod_SOURCES): New variables.
52654 (vga_mod_CFLAGS): Likewise.
52655 (font_mod_SOURCES): Likewise.
52656 (font_mod_CFLAGS): Likewise.
52657
52658 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
52659
52660 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 52661 (struct pupa_term): Added init and fini.
18d9c7cd 52662 Changed the argument of putchar to pupa_uint32_t.
52663
52664 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
52665 (pupa_console_real_putchar): New prototype.
52666 (pupa_console_putchar): Removed.
52667 (pupa_console_checkkey): Exported.
52668 (pupa_console_getkey): Likewise.
52669
52670 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
52671 characters.
52672
52673 * kern/term.c (pupa_term_set_current): Rewritten.
52674 (pupa_putchar): Likewise.
52675 (pupa_putcode): New function.
52676
52677 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
52678 (pupa_console_real_putchar): ... this.
52679 (pupa_vga_set_mode): New function.
52680 (pupa_vga_get_font): Likewise.
52681
52682 * normal/command.c: Include pupa/term.h.
52683 (terminal_command): New function.
52684 (pupa_command_init): Register the command "terminal".
52685
52686 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
52687 (DISP_UP): Likewise.
52688 (DISP_RIGHT): Likewise.
52689 (DISP_DOWN): Likewise.
52690 (DISP_HLINE): Likewise.
52691 (DISP_VLINE): Likewise.
52692 (DISP_UL): Likewise.
52693 (DISP_UR): Likewise.
52694 (DISP_LL): Likewise.
52695 (DISP_LR): Likewise.
52696
52697 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 52698
977329f5 526992003-02-08 NIIBE Yutaka <gniibe@m17n.org>
52700
52701 * util/resolve.c (pupa_util_resolve_dependencies): BUG
52702 FIX. Reverse the path_list.
52703
52704 * include/pupa/normal.h: Export pupa_register_command and
52705 pupa_unregister_command.
52706
52707 * hello/hello.c (pupa_cmd_hello): New module.
52708 * conf/i386-pc.rmk: Added hello.mod.
52709
1f5ab428 527102003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
52711
52712 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 52713
1f5ab428 52714 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
52715 (compress_kernel): New variable.
52716 (generate_image): Heavily modified to support compressing a
52717 large part of the core image.
52718
52719 * util/misc.c (pupa_util_read_image): Fix a file descriptor
52720 leak.
52721 (pupa_util_load_image): New function.
52722
52723 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
52724 (pupa_compressed_size): New variable.
52725 (codestart): Enable Gate A20 here.
52726 Decompress the compressed part of the core image.
52727 Rearrange the code to put functions and variables which are
52728 required for initialization in the non-compressed part.
52729 Include lzo1x.S.
52730
52731 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
52732 here.
52733
52734 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
52735
f19dbdb7 52736 * include/pupa/i386/pc/kernel.h
1f5ab428 52737 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
52738 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
52739 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52740 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52741 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
52742
52743 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
52744
52745 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
52746 (Utility#rule): Likewise.
52747
52748 * configure.ac: Check if LZO is available.
52749
ce5bf700 527502003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
52751
52752 * include/pupa/normal.h: New file.
52753 * include/pupa/setjmp.h: Likewise.
52754 * include/pupa/i386/setjmp.h: Likewise.
52755 * normal/cmdline.c: Likewise.
52756 * normal/command.c: Likewise.
52757 * normal/main.c: Likewise.
52758 * normal/menu.c: Likewise.
52759 * normal/i386/setjmp.S: Likewise.
f19dbdb7 52760
ce5bf700 52761 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
52762 (pupa_rescue_cmd_initrd): Likewise.
52763
52764 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
52765 Likewise.
52766
52767 * kern/i386/pc/startup.S (translation_table): New variable.
52768 (translate_keycode): New function.
52769 (pupa_console_getkey): Call translate_keycode.
52770
52771 * kern/rescue.c (attempt_normal_mode): New function.
52772 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
52773 it failed, print a message.
52774
52775 * kern/mm.c (pupa_real_malloc): Print more information when a
52776 free magic is broken.
52777 (pupa_free): If the first free header is not free actually, set
52778 it to P.
52779
52780 * kern/main.c (pupa_load_normal_mode): Just load the module
52781 "normal".
52782 (pupa_main): Don't print the message
52783 "Entering into rescue mode..." here.
52784
52785 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
52786 Declared.
52787 (pupa_rescue_cmd_initrd): Likewise.
52788 (pupa_rescue_cmd_initrd): Likewise.
52789
52790 * include/pupa/symbol.h (FUNCTION): Specify the type.
52791 (VARIABLE): Likewise.
52792
52793 * include/pupa/err.h (pupa_err_t): Added
52794 PUPA_ERR_UNKNOWN_COMMAND.
52795
52796 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
52797 (pupa_dl_get_prefix): Likewise.
52798
52799 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
52800 Added _chain.mod and _linux.mod instead of chain.mod and
52801 linux.mod.
52802 (chain_mod_SOURCES): Renamed to ...
52803 (_chain_mod_SOURCES): ... this.
52804 (chain_mod_CFLAGS): Renamed to ...
52805 (_chain_mod_CFLAGS): ... this.
52806 (linux_mod_SOURCES): Renamed to ...
52807 (_linux_mod_SOURCES): ... this.
52808 (linux_mod_CFLAGS): Renamed to ...
52809 (_linux_mod_CFLAGS): ... this.
52810 (normal_mod_SOURCES): New variable.
52811 (normal_mod_CFLAGS): Likewise.
52812 (normal_mod_ASFLAGS): Likewise.
52813
528142003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
52815
52816 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
52817 possible.
52818
fe6b695a 52819 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 52820 recursively.
52821 (pupa_dl_unref): Unrefer depending modules recursively.
52822 Don't call pupa_dl_unload implicitly, because PUPA can crash if
52823 a module is unloaded before one depending on that module is
52824 unloaded.
52825 (pupa_dl_unload): Unload depending modules explicitly,
52826 if possible.
52827
c04da074 528282003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
52829
52830 * include/pupa/i386/pc/linux.h: New file.
52831 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 52832
c04da074 52833 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
52834 Removed.
52835 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
52836 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
52837 of PUPA_CHAINLOADER_BOOT_SECTOR.
52838
52839 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
52840 (pupa_linux_prot_size): New variable.
52841 (pupa_linux_tmp_addr): Likewise.
52842 (pupa_linux_real_addr): Likewise.
52843 (pupa_linux_boot_zimage): New function.
52844 (pupa_linux_boot_bzimage): Likewise.
52845
52846 * kern/i386/pc/init.c (struct mem_region): New structure.
52847 (MAX_REGIONS): New macro.
52848 (mem_regions): New variable.
52849 (num_regions): Likewise.
52850 (pupa_os_area_addr): Likewise.
52851 (pupa_os_area_size): Likewise.
52852 (pupa_lower_mem): Likewise.
52853 (pupa_upper_mem): Likewise.
52854 (add_mem_region): New function.
52855 (compact_mem_regions): Likewise.
52856 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
52857 the size of the conventional memory and that of so-called upper
52858 memory (before the first memory hole).
52859 Instead of adding each found region to free memory, use
52860 add_mem_region and add them after removing overlaps.
52861 Also, add only 1/4 of the upper memory to free memory. The rest
52862 is used for loading OS images. Maybe this is ad hoc, but this
52863 makes it much easier to relocate OS images when booting.
52864
52865 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
52866 (pupa_enter_rescue_mode): Don't register initrd and module.
52867
52868 * kern/mm.c: Include pupa/dl.h.
52869
52870 * kern/main.c: Include pupa/file.h and pupa/device.h.
52871
52872 * kern/loader.c (pupa_loader_load_module_func): Removed.
52873 (pupa_loader_load_module): Likewise.
52874
52875 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
52876 ``.o''.
52877
52878 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
52879 (pupa_linux_tmp_addr): Likewise.
52880 (pupa_linux_real_addr): Likewise.
52881 (pupa_linux_boot_zimage): Likewise.
52882 (pupa_linux_boot_bzimage): Likewise.
52883
52884 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
52885 (pupa_upper_mem): Likewise.
52886 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
52887 module is too dangerous.
52888
52889 * include/pupa/loader.h (pupa_os_area_addr): Declared.
52890 (pupa_os_area_size): Likewise.
52891 (pupa_loader_set): Remove the first argument. Loader doesn't
52892 manage modules or initrd any longer.
52893 (pupa_loader_load_module): Removed.
52894
52895 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
52896 (linux_mod_SOURCES): New variable.
52897 (linux_mod_CFLAGS): Likewise.
52898
a13f9237 528992003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
52900
52901 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
52902 the length of a blocklist correctly.
52903
52904 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
52905 Use ioctl only if the OS file is a block device.
52906 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
52907 not very useful for normal files.
52908
52909 * kern/main.c (pupa_set_root_dev): New function.
52910 (pupa_load_normal_mode): Likewise.
52911 (pupa_main): Call those above.
52912
52913 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
52914 pupa_uint16_t.
52915
52916 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
52917
a5ffe966 529182003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
52919
52920 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
52921 (setup): Configure the installed partition information and the
52922 dl prefix.
52923
52924 * loader/i386/pc/chainloader.c (my_mod): New variable.
52925 (pupa_chainloader_unload): New function.
52926 (pupa_rescue_cmd_chainloader): Refer itself.
52927 (PUPA_MOD_INIT): Save its own module in MY_MOD.
52928
52929 * kern/i386/pc/startup.S (install_partition): Removed.
52930 (version_string): Likewise.
52931 (config_file): Likewise.
52932 (pupa_install_dos_part): New variable.
52933 (pupa_install_bsd_part): Likewise.
52934 (pupa_prefix): Likewise.
52935 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
52936
52937 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
52938 and pupa/misc.h.
52939 (make_install_device): New function.
52940 (pupa_machine_init): Set the dl prefix.
52941
52942 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
52943 (buf): Renamed to ...
52944 (linebuf): ... this.
52945 (pupa_rescue_cmd_prefix): New function.
52946 (pupa_rescue_cmd_insmod): Likewise.
52947 (pupa_rescue_cmd_rmmod): Likewise.
52948 (pupa_rescue_cmd_lsmod): Likewise.
52949 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
52950 rmmod and lsmod.
52951
52952 * kern/mm.c (pupa_memalign): If failed even after invalidating
52953 disk caches, unload unneeded modules and retry.
52954
52955 * kern/misc.c (pupa_memmove): New function.
52956 (pupa_memcpy): Removed.
52957 (pupa_strcpy): New function.
52958 (pupa_itoa): Made static.
52959
52960 * kern/dl.c (pupa_dl_iterate): New function.
52961 (pupa_dl_ref): Likewise.
52962 (pupa_dl_unref): Likewise.
52963 (pupa_dl_unload): Return if succeeded or not.
52964 (pupa_dl_unload_unneeded): New function.
52965 (pupa_dl_unload_all): Likewise.
52966 (pupa_dl_init): Renamed to ...
52967 (pupa_dl_set_prefix): ... this.
52968 (pupa_dl_get_prefix): New function.
52969
52970 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
52971 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
52972 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52973 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52974 (pupa_install_dos_part): Declared.
52975 (pupa_install_bsd_part): Likewise.
52976 (pupa_prefix): Likewise.
52977 (pupa_boot_drive): Likewise.
52978
52979 * include/pupa/types.h: Fix a typo.
52980
52981 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
52982 pupa_memmove.
52983 (pupa_memmove): Declared.
52984 (pupa_strcpy): Likewise.
52985
52986 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
52987 pupa_mod_init takes one argument, its own module.
52988 (pupa_dl_unload_unneeded): Declared.
52989 (pupa_dl_unload_all): Likewise.
52990 (pupa_dl_ref): Likewise.
52991 (pupa_dl_unref): Likewise.
52992 (pupa_dl_iterate): Likewise.
52993 (pupa_dl_init): Renamed to ...
52994 (pupa_dl_set_prefix): ... this.
52995 (pupa_dl_get_prefix): Declared.
52996
52997 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 52998 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 52999 unloaded.
53000 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
53001 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
53002
53003 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
53004 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
53005
012d7999 530062003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53007
53008 * util/i386/pc/pupa-setup.c (setup): Define the internal
53009 function find_first_partition_start at the top level, because GCC
53010 3.0.x cannot compile internal functions in deeper scopes
53011 correctly.
53012 (find_root_device): Use lstat instead of stat.
53013 Don't follow symbolic links.
53014 Fix the path-constructing code.
53015
53016 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
53017 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
53018 by a BLKGETSIZE ioctl first, because block devices don't fill
53019 the member st_mode of the structure stat on Linux.
53020 [__linux__] (linux_find_partition): Use a temporary buffer
53021 REAL_DEV for the working space. Copy it to DEV before returning.
53022 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
53023 buffer cache consistent.
53024 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
53025 strncmp. The previous value was merely wrong.
53026 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
53027
53028 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
53029 FAT size is 12. The previous value was merely wrong.
53030
53031 * kern/main.c (pupa_main): Don't split the starting message from
53032 newlines.
53033
53034 * kern/term.c (pupa_putchar): Put CR after LF instead of before
53035 LF, because BIOS goes crazy about character attributes in this
53036 case.
53037
1cc73a62 530382003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53039
53040 * include/i386/pc/util/biosdisk.h: New file.
53041 * util/i386/pc/biosdisk.c: Likewise.
53042 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 53043
1cc73a62 53044 * Makefile.in (INCLUDE_DISTFILES): Added
53045 include/pupa/i386/pc/util/biosdisk.h.
53046 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
53047 directory util/i386/pc.
53048 (install-local): Added a rule for sbin_UTILITIES.
53049 (uninstall): Likewise.
53050
53051 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
53052
53053 * util/misc.c (xrealloc): New function.
53054 (pupa_malloc): Likewise.
53055 (pupa_free): Likewise.
53056 (pupa_realloc): Likewise.
53057 (pupa_stop): Likewise.
53058 (pupa_putchar): Likewise.
53059
53060 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
53061
53062 * include/pupa/util/misc.h (xrealloc): Declared.
53063
53064 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
53065 macro.
53066 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
53067 (PUPA_BOOT_MACHINE_BPB_END): ... this.
53068
53069 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
53070 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53071
53072 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
53073 way should be implemented.
53074 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53075
53076 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
53077 the size of NAME for safety.
53078 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
53079 0x88.
53080
53081 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
53082 (pupa_setup_SOURCES): Likewise.
53083
53084 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
53085
08b70fe8 530862002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53087
53088 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
53089 bunch of pushl's from pusha, because this destroys the return
53090 value.
53091
62ddcc8f 530922002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53093
53094 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
53095 This means that any missing prototypes could be fatal. Also, you
53096 must take care when writing assembly code. See the comments at
53097 the beginning of startup.S, for more details.
f19dbdb7 53098
62ddcc8f 53099 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
53100 compilation mechanism.
53101 (pupa_chainloader_real_boot): Likewise.
53102 (pupa_biosdisk_rw_int13_extensions): Likewise.
53103 (pupa_biosdisk_rw_standard): Likewise.
53104 (pupa_biosdisk_check_int13_extensions): Likewise.
53105 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
53106 (pupa_biosdisk_get_diskinfo_standard): Likewise.
53107 (pupa_get_memsize): Likewise.
53108 (pupa_get_mmap_entry): Likewise.
53109 (pupa_console_putchar): Likewise.
53110 (pupa_console_setcursor): Likewise.
53111 (pupa_getrtsecs): Use pushl instead of push.
53112
53113 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
53114 memory instead of the stack for a mmap entry, because some
53115 BIOSes may ignore the maximum size and overflow.
53116
53117 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
53118
53119 * genmk.rb (PModule#rule): Compile automatically generated
53120 sources with module-specific CFLAGS as well as other sources.
53121
9962ed99 531222002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53123
53124 * configure.ac: Check ld.
53125 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
53126 respectively, before checking endianness and sizes.
53127
53128 * Makefile.in (LD): New variable.
f19dbdb7 53129
abdfc3c5 531302002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53131
53132 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
53133
6a161fa9 531342002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53135
53136 * Changelog: New file.
53137