]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
[grub2.git] / ChangeLog
CommitLineData
1a5b7b40
VS
12013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
4 range-checking for 32-bit quantities.
5
9cf12b20
VS
62013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * configure.ac: Compile with -fPIC when compiling with clang on
9 mips.
10
63a45330
VS
112013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
14 when compiling with clang.
15
4a0aaad0
VS
162013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
17
18 clang emits calls to abort () under some unknown conditions.
19 Export abort () when compiling with clang.
20
095bb1bf
VS
212013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
22
23 * docs/grub-dev.texi: Document stack and heap sizes.
24
3937bd96
VS
252013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
26
27 * include/grub/i386/pc/memory.h: Decrease
28 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
29 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
30 The binary doesn't change (checked). It's more to better reflect actual
31 usage.
32
ddb3efc9
VS
332013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
34
35 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
36 at compile time that enough of scratch size is available.
37
4e42521d
VS
382013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
39
40 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
41 Previously we misaligned stack by 8 in startup.S and compensated
42 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
43 right behaviour is to align stack in startup.S and keep it aligned
44 in callwrap.S. startup.S part was committed few commits before. This
45 takes care of callwrap.S.
46 Reported by: Gary Lin.
47
054efe54
VS
482013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
49
50 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
51 .data and .bss. May happen if compiler and assembly use different
52 alignment.
53
a0e1befb
VS
542013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
55
56 On MIPS handle got16 relocations to local symbols in an ABI-compliant
57 way.
58
c36c73f6
VS
592013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
60
61 Add support for a new magic symbol _gp_disp on mips to handle PIC
62 binaries.
63
6f4a19f5
VS
642013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
65
66 Use $t9 for indirect calls from asm to C as PIC ABI requires.
67
0d8f04cd
VS
682013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
69
70 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
71 when rest of GRUB is compiled for hisher stepping. Instead use
72 .set mips3/.set mips1 around cache and sync opcodes.
73
49060520
VS
742013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
75
76 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
77 do essentially the same thing, do it in similar way.
78
c6a823e2
CW
792013-11-21 Colin Watson <cjwatson@ubuntu.com>
80
81 * util/grub-mkrescue.c (main): If a source directory is not
82 specified, read platform-specific files from subdirectories of
83 pkglibdir, not pkgdatadir.
84
b7f9aedf
CW
852013-11-21 Colin Watson <cjwatson@ubuntu.com>
86
87 * grub-core/normal/progress.c: Remove unused file.
88
7dd0a303
VS
892013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
90
91 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
92 array.
93
ca120e31
VS
942013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
95
96 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
97 than grub.cfg.
98
48eb35cd
VS
992013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
100
101 * coreboot.cfg: Add missing file.
102
7f20dbbc
VS
1032013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * Makefile.am: Allow STRIP to be empty when creating windowszip.
106
55e706c9
AK
1072013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
108
109 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
110 selectively skipping systems.
111
4e7d433d
CW
1122013-11-19 Colin Watson <cjwatson@ubuntu.com>
113
114 * Makefile.util.def (grub-mkimage): Add
115 grub-core/osdep/aros/config.c to extra_dist.
116 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
117 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
118 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
119 grub-core/gnulib-no-gets.diff.
120
7d44ff7d
VS
1212013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
122
123 Add automated filesystem checking based on scripts I've used now for
124 quite some time locally. Most of the test require root so they are
125 skipped when run without necessarry privelegies.
126
a8c3e5e3
CW
1272013-11-19 Colin Watson <cjwatson@ubuntu.com>
128
129 * util/grub-install.c (main): Adjust info messages to match
130 installed paths of grub-bios-setup and grub-sparc64-setup.
131
4402db3e
CW
1322013-11-19 Colin Watson <cjwatson@ubuntu.com>
133
134 * util/grub-install-common.c (copy_locales): Consistently use
135 grub_util_get_localedir () rather than LOCALEDIR.
136 (grub_install_copy_files): Likewise.
137
7960d3e1
JT
1382013-11-19 Josh Triplett <josh@joshtriplett.org>
139
140 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
141 16-byte boundary, as required by the x86-64 ABI, before calling
142 grub_main. In some cases, GCC emits code that assumes this
143 alignment, which crashes if not aligned. The EFI firmware is also
144 entitled to assume that stack alignment without checking.
145
d53f4900
JT
1462013-11-18 Josh Triplett <josh@joshtriplett.org>
147
148 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
149 4k page boundaries as expected by firmware rather than 1k
150 boundaries.
151 (grub_mmap_malign_and_register): Likewise.
152
bb2b275b
VS
1532013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
154
155 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
156 fragmentation 512M is enough.
157
45bf8b3a
VS
1582013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
159
160 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
161 pointer to 32K. This is the size of cache element which is the most
162 common allocation >1K. This way the pointer is always around blocks
163 of 32K and so we keep performance while decreasing fragmentation.
164
39ff43c5
VS
1652013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
166
167 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
168 current memory when allocating large chunks. This significantly
169 decreases memory fragmentation.
170
60870be8
CW
1712013-11-18 Colin Watson <cjwatson@ubuntu.com>
172
173 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
174 but for symmetry).
175 * tests/lzocompress_test.in: Skip if lzop is not installed.
176 * tests/xzcompress_test.in: Skip if xz is not installed.
177
a1f00cc5
CW
1782013-11-18 Colin Watson <cjwatson@ubuntu.com>
179
180 * util/grub-mkrescue.c (main): Fix typo.
181
74e632fe
VS
1822013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
185 clock frequency to 200 MHz,
186
efb8de49
VS
1872013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
188
189 * tests/util/grub-shell.in: Increase console size to 1024x1024.
190
b7526e78
VS
1912013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * Makefile.am (default_payload.elf): Add pata to loaded modules.
194 Load config file from (cbfsdisk)/etc/grub.cfg.
195
b40ce651
VS
1962013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * util/grub-install-common.c (grub_install_copy_files): Fix module
199 destination directory.
200
1e8e2e78
CW
2012013-11-18 Colin Watson <cjwatson@ubuntu.com>
202
203 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
204 files have not been built.
205
3bf4088b
CW
2062013-11-18 Colin Watson <cjwatson@ubuntu.com>
207
208 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
209 Handle errors from mkstemp.
210 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
211
35c2851c
VS
2122013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
213
214 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
215 on primary master on pseries.
216
ea7c1a7d
VS
2172013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
218
219 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
220 already loaded. This saves memory needed for tests,
221
96adefdb
VS
2222013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
223
224 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
225 work again.
226
5e3cb8a7
VS
2272013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
228
229 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
230 work again.
231
256ee7ac
VS
2322013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
233
234 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
235 master since with some combinations of qemu and firmware only primary
236 IDE channel is available.
237
f8b4c3b6
VS
2382013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
239
240 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
241 low-memory platforms where we don't have enough memory for them.
242 * grub-core/tests/videotest_checksum.c: Likewise.
243
4bf70320
VS
2442013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
245
246 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
247 already loaded. This saves memory needed for tests,
248
a284320e
VS
2492013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
250
251 Fix handling of install lists.
252
2df8f43d
VS
2532013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
256
6f1bc8bc
VS
2572013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
258
259 On i386-ieee1275 we run in paged mode. So we need to explicitly map
260 the devices before accessing them.
261
04f39f6d
VS
2622013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
263
264 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
265 as file argument.
266
35d4761c
VS
2672013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
268
269 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
270
33d02a42
VS
2712013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
272
273 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
274 (grub_file_close): Free file->name.
275
7bbb60cf
VS
2762013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
277
278 * grub-core/commands/verify.c (free_pk): Plug memory leak.
279 (grub_load_public_key): Likewise.
280 (grub_verify_signature_real): Likewise.
281 (grub_cmd_verify_signature): Likewise.
282
da93d675
VS
2832013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
286 memory leak.
287
59c943ec
VS
2882013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
289
290 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
291 (grub_longjmp): Restore r31.
292 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
293
4336b5d8
VS
2942013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
295
296 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
297 modules to be in line with make_image_abs.
298
44ce3a93
VS
2992013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
300
301 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
302
303 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
304
7d400406
IC
3052013-11-17 Ian Campbell <ijc@hellion.org.uk>
306
307 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
308
77dae919
VS
3092013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
312 to leave some memory to firmware.
313
0ab8e025
VS
3142013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
315
316 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
317 of loading gfxterm as gfxterm is embed in kernel on some platforms.
318 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
319 Load gfxmenu.
320
b80c2d6d
VS
3212013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
322
323 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
324 now needs full arguments.
325
6aa6077b
VS
3262013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
327
328 * util/grub-mkrescue.c (main): Add trailing \n in
329 .disk_label.contentDetails to be in line with previous shell script.
330
66c00cb1
VS
3312013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
332
333 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
334
3a129dba
VS
3352013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
336
337 * util/grub-install-common.c (grub_install_parse): Recognize
338 --compress=none like shell script did.
339
8df6eff6
VS
3402013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
341
342 * include/grub/misc.h: Replace check for __sparc64__ with one for
343 __sparc__ as __sparc64__ isn't actually defined.
344
889ebe92
VS
3452013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
346
347 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
348 counterpart of fixing the naming of escc ports.
349
d4d55b29
VS
3502013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
351
352 * util/grub-install-common.c (platforms): Fix the order of entries and
353 remove useless field val.
354
55e2c84f
VS
3552013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
356
357 * util/grub-install.c: Add new option --no-bootsector to skip
358 installing of bootsector. Accept --grub-setup=/bin/true as
359 backwards-compatible synonym.
360
cd46aa6c
VS
3612013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
362
363 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
364 order of qsort arguments (number of elements vs. element size).
365
3662013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
367
368 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
369 the function of these files exceeds what can be sanely handled in shell
370 in posix-comaptible way. Also writing it in C extends the functionality
371 to non-UNIX-like OS and minimal environments.
372
9ef81064
VS
3732013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
376 compiling to thumb2.
377 * grub-core/kern/arm/cache_armv7.S: Likewise.
378 * grub-core/lib/arm/setjmp.S: Likewise.
379
11a77932
LL
3802013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
381
382 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
383 in grub_uboot_syscall
384
080603f0
VS
3852013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
386
387 Decrease stack usage in lexer.
388
389 We have only 92K of stack and using over 4K per frame is wasteful
390
391 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
392 as macros so that compiler would remove useless structure on stack.
393 Better solution would be to fix flex not to put this structure on
394 the stack but flex is external program.
395
4f84ae0e
VS
3962013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
397
398 Decrease stack usage in signature verification.
399
400 We have only 92K of stack and using over 4K per frame is wasteful
401
402 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
403 rather than stack.
404 (grub_verify_signature_real): Likewise.
405
e6a6182d
VS
4062013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
407
408 Decrease stack usage in mdraid 0.9x.
409
410 We have only 92K of stack and using over 4K per frame is wasteful
411
412 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
413 rather than stack.
414
1a454efe
VS
4152013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
416
417 Decrease stack usage in BtrFS.
418
419 We have only 92K of stack and using over 4K per frame is wasteful
420
421 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
422 rather than stack.
423
7b5d51d8
VS
4242013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
425
426 Decrease stack usage in JFS.
427
428 We have only 92K of stack and using over 4K per frame is wasteful
429
430 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
431 stack. Note: this function is recursive.
432 (grub_jfs_read_inode): Read only part we care about.
433
593865b9
LL
4342013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
435
436 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
437 handling
7b5d51d8 438
31c0cd43
AB
4392013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
440
441 * configure.ac: Restore -nostdlib for libgcc symbols tests.
442
c2fdb331
AB
4432013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
444
445 * docs/grub.texi (Environment): Document cmdpath.
446
9e18dfe2
AB
4472013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
448
449 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
450 Remove "unused" attribute from arguments, they are used.
451
59ba9d14
CW
4522013-11-15 Colin Watson <cjwatson@debian.org>
453
454 * .gitignore: Only ignore grub-mk* at the top level.
455
23012db9
CW
4562013-11-15 Colin Watson <cjwatson@ubuntu.com>
457
458 * util/grub-reboot.in (usage): Fix a typo.
459
6fcec439
VS
4602013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
461
462 Replace libgcc version of ctz with our own.
463
464 On upcoming arm64 port libgcc ctz* are not usable in standalone
465 environment. Since we need ctz* for this case and implementation is
466 in C we may as well use it on all concerned platforms.
467
a9f25a08
VS
4682013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
469
470 * configure.ac: Probe for linking format rather than guessing it based
471 on target_os.
472
c7995256
VS
4732013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
474
475 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
476 "1" prior to handoff.
477
478 Reported by: M A Young.
479
e1aa5b66
VS
4802013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
483 \0 to all files.
484
485 Reported by: M A Young.
486
da5ed5cf
VS
4872013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
488
489 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
490 compilation on NetBSD.
491
5757a93e
VS
4922013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
493
494 * acinclude.m4: Don't add -P on initial nm test.
495
496 Note: even though this patch postdates Andrey's it bears 14 Nov as
497 date due to timezone difference.
498
a5986276
AB
4992013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
500
501 * grub-core/Makefile.core.def (signature_test): Add missing
502 tests/signatures.h.
503
0de172a0
CW
5042013-11-14 Colin Watson <cjwatson@ubuntu.com>
505
506 * util/grub-install_header: Set localedir here, since this file is
507 where it's used.
508 * util/grub-install.in: Remove setting of localedir.
509 * util/grub-mkrescue.in: Likewise.
510
da45f43c
VS
5112013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
514
20aea949
VS
5152013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
516
517 * configure.ac: Move nm checks to the end.
518 Call grub_PROG_NM_WORKS.
519 * acinclude.m4: New check grub_PROG_NM_WORKS.
520 Use $TARGET_CFLAGS -c when compiling test binary.
521
1326b9ae
CW
5222013-11-14 Colin Watson <cjwatson@ubuntu.com>
523
524 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
525 unused variables.
526
1fe26ab4
MG
5272013-11-14 Matthew Garrett <mjg@redhat.com>
528
529 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
530 cmdpath to firmware directory.
531
83e9c273
VS
5322013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
533
534 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
535 at the start of second iteration.
536
ec525c18
VS
5372013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
538
539 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
540
93fcc7ad
VS
5412013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
542
543 * Makefile.am (default_payload.elf): New target for easier coreboot
544 build.
545
57ffe934
VS
5462013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
547
548 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
549 clang (not necessarry with -no-integrated-as).
550 * include/grub/symbol.h [__arm__]: Likewise.
551
2312f06c
VS
5522013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * configure.ac: Use -no-integrated-as on arm with clang.
555 * INSTALL: Mention ARM compilation with clang.
556
2416415c
VS
5572013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
558
559 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
560 -mthumb-interwork.
561
5da55172
CW
5622013-11-14 Colin Watson <cjwatson@ubuntu.com>
563
564 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
565 code for indirect block handling.
566
567 Saves 185 bytes on compressed image.
568
da770328
PFS
5692013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
570
571 Fix make clean.
572
573 * Makefile.am: Remove build-grub-* in make clean.
574
f02e6b56
PFS
5752013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
576
577 New files to gitignore.
578
579 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
580 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
581
035a26c1
LL
5822013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
583
584 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
585
bc8a6137
LL
5862013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
587
588 * .gitignore: fix rules for .dep* and add *.a post git migration
589
6fe506b0
CW
5902013-11-13 Colin Watson <cjwatson@ubuntu.com>
591
592 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
593 to match INSTALL.
594
81a2e438
CW
5952013-11-13 Colin Watson <cjwatson@ubuntu.com>
596
597 * grub-core/kern/misc.c: Don't redirect divisions in the
598 GRUB_UTIL case.
599 * include/grub/misc.h: Likewise.
600
9b45c073
CW
6012013-11-13 Colin Watson <cjwatson@ubuntu.com>
602
603 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
604 systems that require checking the return value of write.
605
11b2a9b7
CW
6062013-11-13 Colin Watson <cjwatson@ubuntu.com>
607
608 * util/grub-install.in (efi_quiet): Fix inverted logic: make
609 efibootmgr quiet when --debug is not used, rather than when it is.
610
d743d22d
CW
6112013-11-13 Colin Watson <cjwatson@ubuntu.com>
612
613 * gentpl.py (define_macro_for_platform_dependencies): Remove
614 first (and thus unused) of two definitions for this function.
615 (platform_dependencies): Likewise.
616
11da14b5
CW
6172013-11-13 Colin Watson <cjwatson@ubuntu.com>
618
619 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
620 functions, we only need to check this for the target, not the host.
621 * configure.ac (grub_apple_cc): Likewise.
622
2bdd0719
VS
6232013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
624
625 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
626 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
627 asm to stay in arm even if surrounding is thumb.
628
5e77d9cf
VS
6292013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
630
631 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
632 helper functions are needed for thumb.
633
7d511625
VS
6342013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
635
636 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
637 level / 3 division explicitly unsigned. Saves few bytes.
638
81023dbd
VS
6392013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
642
b2e9294f
VS
6432013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
644
645 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
646 division.
647
16a22c38
VS
6482013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
649
650 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
651 grub_uboot_boot_data to asm part.
652
c9cd02c9
VS
6532013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
656 literal load.
657 (grub_uboot_syscall): Save/restore r9 and align stack.
658
81498615
VS
6592013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
660
661 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
662
ea57de18
VS
6632013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
664
665 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
666 occurencies with END.
667
d0d1e3da
CW
6682013-11-13 Colin Watson <cjwatson@ubuntu.com>
669
670 * util/grub-editenv.c (help_filter, argp): Document how to delete
671 the whole environment block.
672 Reported by Dan Jacobson. Fixes Debian bug #726265.
673
3809f016
CW
6742013-11-13 Colin Watson <cjwatson@ubuntu.com>
675
676 * docs/grub.texi (Internationalisation, Supported kernels): Fix
677 sectioning.
678
46d8a203
JT
6792013-11-13 Josh Triplett <josh@joshtriplett.org>
680
681 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
682 increment/decrement.
683
513eeb61
VS
6842013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
685
686 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
687 compiling with clang.
688
bc379c1a
VS
6892013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
690
691 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
692 ".".
693
6942013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 695
16057d6b
VS
696 Redirect all divisions to grub_divmod64.
697
f649a6a8
VS
6982013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
699
700 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
701
ef28ee8b
VS
7022013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
703
704 Add missing includes of loader.h.
705
300f48c5
VS
7062013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
707
708 * configure.ac: Allow disabling themes.
709
2d357558
LS
7102013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
711
712 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
713
0c62a5b2
VS
7142013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
715
716 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
717 until it becomes operational.
718
b0720b49
VS
7192013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
720
721 * grub-core/Makefile.core.def (legacy_password_test): Disable
722 on platforms where no legacycfg is compiled.
723 * grub-core/tests/lib/functional_test.c: Tolerate failure to
724 load legacy_password_test.
725
d5bab2c0
VS
7262013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
727
728 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
729
3ea0ccb3
VS
7302013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
731
732 * grub-core/efiemu/prepare.c: Remove variable length arrays.
733
08772054
VS
7342013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
737 strict-aliasing warning.
738 (fsync): Silence cast warning.
739
1dcb2715
VS
7402013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
741
742 * grub-core/commands/verify.c: Remove variable length arrays.
743 Load gcry_dsa/gcry_rsa automatically.
744
61c22fdf
VS
7452013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
746
747 * grub-core/tests/signature_test.c: New test.
748
431e57a7
VS
7492013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
752 API.
753
b521bb81
VS
7542013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
755
756 * grub-core/tests/legacy_password_test.c (vectors): Make static.
757 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
758
7d06b24e
VS
7592013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
762
3bbeade4
VS
7632013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * grub-core/fs/proc.c: Allow \0 in proc files.
766
ba82db7a
VS
7672013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
768
769 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
770
801564c8
VS
7712013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
774
ac8cac1d
VS
7752013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
776
777 * grub-core/fs/ext2.c: Remove variable length arrays.
778
4b85f122
VS
7792013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
780
781 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
782 length arrays.
783
c35fcdc0
VS
7842013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
785
786 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
787 * grub-core/disk/cryptodisk.c: Likewise.
788 * grub-core/disk/geli.c: Likewise.
789 * grub-core/disk/luks.c: Likewise.
790
15decd26
VS
7912013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * grub-core/tests/legacy_password_test.c: New test.
794 * grub-core/commands/legacycfg.c: Remove variable length arrays.
795
9c6482b8
VS
7962013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
797
798 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
799
41f26e0e
VS
8002013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
801
802 * grub-core/tests/pbkdf2_test.c: New test.
803
2def6616
VS
8042013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
807
9e34a34e
VS
8082013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
809
810 * grub-core/io/lzopio.c: Remove variable length arrays.
811
5ccaf904
VS
8122013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * include/grub/crypto.h: Add maximums on hash size and cipher block
815 size.
816
44a387e0
VS
8172013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
818
819 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
820
a388e255
VS
8212013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * grub-core/tests/xnu_uuid_test.c: New test.
824
a1ef7718
VS
8252013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
828 covers it).
829
65ddb300
VS
8302013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * grub-core/commands/hashsum.c: Remove variable length arrays.
833
31747dd5
VS
8342013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
837 condition.
838 * tests/grub_func_test.in: Increase memory allocation.
839
6a74c4df
VS
8402013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
841
842 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
843 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
844 sys/mount.h.
845
394c3e0a
VS
8462013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
847
848 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
849 (grub_util_get_fd_size_os): ...this.
850 (grub_hostdisk_flush_initial_buffer): New empty function.
851
60d31116
VS
8522013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
853
854 * grub-core/gensyminfo.sh.in: Handle the case of portable output
855 without --defined-only.
856
8445b011
VS
8572013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
860 rip-relative addressing in prologue.
861
8506a641
VS
8622013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
865 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
866
66acd9d6
VS
8672013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
870 Add missing semicolon.
871
348d0535
VS
8722013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
875
0d2d30bb
VS
8762013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
877
878 * configure.ac: Check for lzma.h for enabling liblzma and allow
879 manual disabling.
880
631187be
VS
8812013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
882
883 Add missing includes of loader.h.
884
e756ec82
FZ
8852013-11-11 Fam Zheng <famcool@gmail.com>
886
887 * util/grub.d/30_os-prober.in: Add minix entry.
888
87d62d7d
VS
8892013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
890
891 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
892 right buffer for temporary load.
893
5460cfeb
VS
8942013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
897
89977306
VS
8982013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
901 payload.
902
3617c59b
VS
9032013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
904
905 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
906 not Types.h.
907 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
908 environment.
909 (LzmaDec_InitDicAndState): Make static.
910
881c6a10
VS
9112013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
914
2024ade2
VS
9152013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
918
919 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
920
674ad4f6
VS
9212013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
922
923 * docs/grub-dev.texi: Replace bzr references with git ones.
924
5b99970e
AB
9252013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
926
927 * docs/grub.texi (Simple configuration): Remove reference to
928 grub-reboot from saved default entry description - grub-default
929 does not use it anymore.
930
3c2304d5
VS
9312013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * configure.ac: Make efiemu test cflags match the cflags efiemu is
934 compiled with.
935
80cfd940
AB
9362013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
937
938 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
939
33690255
VS
9402013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
941
942 Fix grub_machine_fini bitrot.
943
944 Reported by: Glenn Washburn.
945
c61471fc
VS
9462013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
949
54da019f
VS
9502013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
953 -DELF.
954 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
955 instead of ELF*.
956
9572013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
958
959 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
960 Add -march=core2 when testing compile of efiemu64.
961
962 Thanks Andrey Borzenkov for spotting this.
963
9612ebc0
VS
9642013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
965
966 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
967 XEN PV environment and load kernels.
968
1a46a3a4
VS
9692013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
970
971 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
972 * grub-core/loader/multiboot_mbi2.c: Likewise.
973
2df12551
VS
9742013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
975
976 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
977 handling.
978
3c980381
VS
9792013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
980
981 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
982
983 Tested by: Denis 'GNUtoo' Carikli.
984
800f63d3
VS
9852013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
988
9f8acdaa
VS
9892013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
990
5620eb53
VS
991 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
992 Use to get rounded angle rather than truncated.
993
9942013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
997 RTS/CTS flow control.
998
2dc1eb6c
VS
9992013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
1002 divisions.
1003
b9563c94
VS
10042013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
1007 Use grub_fatal rather than divide by zero.
1008 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
1009
d6d8e9a9
VS
10102013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
1013 truncate.
1014 (grub_fixed_fsf_divide): Likewise.
1015
d06de6c8
VS
10162013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
1019 division by-zero and senseless negative divisions.
1020
6af7d49b
VS
10212013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
1024 division by-zero and senseless negative divisions.
1025 (circprog_set_property): Don't accept negative num_ticks.
1026
bcfa6d72
VS
10272013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
1030 division by-zero and senseless negative divisions.
1031
dd7f792c
VS
10322013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 * configure.ac: Use elf_*_fbsd on kfreebsd.
1035
d061fda7
VS
10362013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * grub-core/tests/div_test.c: New test.
1039
4db22500
VT
10402013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1041
1042 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
1043 * grub-core/gfxmenu/gui_canvas.c: Likewise.
1044 * grub-core/gfxmenu/view.c: Likewise.
1045 * grub-core/video/fb/video_fb.c: Introduce new functions:
1046 grub_video_set_area_status, grub_video_get_area_status,
1047 grub_video_set_region, grub_video_get_region.
1048 * grub-core/video/bochs.c: Likewise.
1049 * grub-core/video/capture.c: Likewise.
1050 * grub-core/video/video.c: Likewise.
1051 * grub-core/video/cirrus.c: Likewise.
1052 * grub-core/video/efi_gop.c: Likewise.
1053 * grub-core/video/efi_uga.c: Likewise.
1054 * grub-core/video/emu/sdl.c: Likewise.
1055 * grub-core/video/radeon_fuloong2e.c: Likewise.
1056 * grub-core/video/sis315pro.c: Likewise.
1057 * grub-core/video/sm712.c: Likewise.
1058 * grub-core/video/i386/pc/vbe.c: Likewise.
1059 * grub-core/video/i386/pc/vga.c: Likewise.
1060 * grub-core/video/ieee1275.c: Likewise.
1061 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
1062 * include/grub/video.h: Likewise.
1063 * include/grub/video_fb.h: Likewise.
1064 * include/grub/fbfill.h: Updated render_target structure.
1065 grub_video_rect_t viewport, region, area
1066 int area_offset_x, area_offset_y, area_enabled
1067 * include/grub/gui.h: New helper function
1068 grub_video_bounds_inside_region.
1069 * docs/grub-dev.texi: Added information about new functions.
1070
c6b755df
VS
10712013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1072
1073 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
1074 for alignment.
1075
e2a68100
VS
10762013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
1079 missing attribute.
1080 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
1081
c4f11a2a
VS
10822013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
1085 simple division on arm and ia64.
1086
e0a7bffa
VS
10872013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
1090 link with libgcc.
1091
38b864ea
VS
10922013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
1095
12359faf
VS
10962013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
1099 prefix symbol, not @.
1100
9fdc64a9
VS
11012013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 * INSTALL: Add note about older gcc and clang.
1104
665c575b
VS
11052013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
1108
47dcf7b1
VS
11092013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
1112 NULL pointer dereference.
1113
d59849b2
VS
11142013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
1117 clang.
1118
7a3f4a18
VS
11192013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1120
1121 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
1122 warnings.
1123
7f084087
VS
11242013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
1127 function.
1128 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
1129 * grub-core/disk/geli.c (ascii2hex): Likewise.
1130
d5524ca8
VS
11312013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * configure.ac: Run linker tests without -Werror.
1134 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
1135 Change all occurences of -static-libgcc resp -lgcc to
1136 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
1137
390cd7ca
VS
11382013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1139
1140 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
1141
60375a88
VS
11422013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1143
1144 Allow compiling with clang (not really supported though).
1145
1146 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
1147 unconditionally.
1148 * configure.ac: Add -no-integrated-as when using clangfor asm files.
1149 Add -mrtd -mregparm=3 on i386 when not using clang.
1150 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
1151
dd07e0c4
VS
11522013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
1155 bindings.
1156 * grub-core/lib/reed_solomon.c: Likewise.
1157 * include/grub/i386/gdb.h: Likewise.
1158 * include/grub/i386/pc/int.h: Likewise.
1159 * include/grub/i386/pc/pxe.h: Likewise.
1160 * include/grub/ieee1275/ieee1275.h: Likewise.
1161
9d3ae8ec
VS
11622013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 Import libgcrypt 1.5.3.
1165
c12936c5
VS
11662013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * configure.ac: Don't add -Wcast-align on x86.
1169
cdc17f60
VS
11702013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * configure.ac: Add -freg-struct-return on all platforms that
1173 support it.
1174
b35ec299
VS
11752013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * acinclude.m4: Use -Werror on parameter tests.
1178 * configure.ac: Likewise.
1179
05f3a0d7
VS
11802013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1181
1182 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
1183
c966a489
VS
11842013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 * configure.ac: Check that -malign-loops works rather than assuming that
1187 either -falign-loops or -malign-loops work.
1188
bb0c57ec
VS
11892013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 * configure.ac: Remove -fnested-functions. We don't need it anymore.
1192
24f4e57c
VS
11932013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * configure.ac: Prevent cflags leaking to subsequent tests by always
1196 resetting cflags to target_cflags in target tests.
1197
ac319fbc
VS
11982013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
1201 function.
1202
4bfe934c
VS
12032013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
1206
40a5bfde
VS
12072013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
1210
a67c755e
VS
12112013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 * grub-core/normal/cmdline.c (grub_cmdline_get):
1214 Remove nested functions.
1215
87a04a2d
VS
12162013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 * tests/test_sha512sum.in: Make it work on emu.
1219
c03995d2
VS
12202013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1221
1222 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
1223 functions.
1224 (grub_bidi_line_logical_to_visual): Likewise.
1225
ec0ebb3f
VS
12262013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1227
1228 Remove vestiges of -Wunsafe-loop-optimisations.
1229
1230 * conf/Makefile.common (CFLAGS_GNULIB): Remove
1231 -Wno-unsafe-loop-optimisations.
1232 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
1233 pragma.
1234 * grub-core/io/gzio.c: Likewise.
1235 * grub-core/script/parser.y: Likewise.
1236 * grub-core/script/yylex.l: Likewise.
1237 * util/grub-mkfont.c: Likewise.
1238
6ab537e3
VS
12392013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1240
1241 * util/grub-mkfont.c (process_cursive): Remove nested function.
1242
e6c368d4
VS
12432013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
1246 (grub_boot_time): Likewise.
1247
4f1cfd22
VS
12482013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * include/grub/symbol.h (FUNCTION): Use @function rather than
1251 "function".
1252 (VARIABLE): Likewise.
1253
6d5a4cee
VS
12542013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
1257
f06c2172
VS
12582013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
1261 (parse_dhcp_vendor): Likewise.
1262
7cb24eb5
VS
12632013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
1266
f30c692c
VS
12672013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 * grub-core/gettext/gettext.c (main_context), (secondary_context):
1270 Define after defining type and not before.
1271
8b66bb5d
VS
12722013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
1275 type.
1276 (grub_gcm_decrypt): Likewise.
1277 (algo_decrypt): Likewise.
1278 (grub_zfs_decrypt_real): Transform error type.
1279
5d17fd0f
VS
12802013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
1283
ac35a0f7
VS
12842013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1285
1286 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
1287 (grub_usbms_cbi_reset): Likewise.
1288 (grub_usbms_bo_reset): Likewise.
1289 (grub_usbms_reset): Likewise.
1290 (grub_usbms_attach): Likewise.
1291 (grub_usbms_transfer_cbi): Likewise.
1292
3ee08697
VS
12932013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
1296 "checksum = checksum;".
1297
70bb6c85
VS
12982013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
1301 entry_type.
1302
c7f34744
VS
13032013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
1306 BIOS disk check.
1307
3f63b4d8
VS
13082013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1309
1310 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
1311 type.
1312 (grub_ehci_fini_hw): Likewise.
1313 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
1314
dac6ce73
VS
13152013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
1318 return grub_usb_err_t for cosistency. All users updated.
1319
5701750c
VS
13202013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
1323 assigning to itself.
1324
9e236169
GLD
13252013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
13262013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1327
1328 Issue separate DNS queries for ipv4 and ipv6
1329
1330 Adding multiple questions on a single DNS query is not supportted by
1331 most DNS servers. This patch issues two separate DNS queries
1332 sequentially for ipv4 and then for ipv6.
1333
1334 Fixes: https://savannah.gnu.org/bugs/?39710
1335
1336 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
1337 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
1338 * (grub_net_dns_lookup): Now using separated dns packages.
1339 * (grub_cmd_nslookup): Add error condition.
1340 * (grub_cmd_list_dns): Print DNS option.
1341 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
1342 --prefer-ipv4, and --prefer-ipv6.
1343 * include/grub/net.h (grub_dns_option_t): New enum.
1344 * (grub_net_network_level_address): option added.
1345
339eacce
VT
13462013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
1347
1348 * grub-core/video/fb/video_fb.c: Merge two blit functions
1349 into one.
1350
810f991b
VS
13512013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 * grub-core/term/terminfo.c: Add sequences for home and end.
1354
386571a2
VS
13552013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
1358 graphics console.
1359
3fe63754
VS
13602013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
1363 add mode 0x12.
1364
76681e71
VS
13652013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
1368 e-mail by Per Öberg.
1369
46522fb7
VS
13702013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
1373 name.
1374
e7d09ac4
AB
13752013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
1376
1377 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
1378 emu platforms.
1379 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
1380
67508925
VS
13812013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * docs/grub.texi: Document usage of menuentry id.
1384
0c62124e
VS
13852013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
1388
9b5d4eed
PL
13892013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
1390
1391 * grub-core/commands/i386/nthibr.c: New command.
1392
79054c1d
VS
13932013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1394
1395 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
1396
44d47bbe
VS
13972013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
1400 coordinate.
1401
323de05b
VS
14022013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 Support GRUB_DISABLE_SUBMENU config.
1405
1406 Inspired by patch from Prarit Bhargava.
1407
5a01722e
VS
14082013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * docs/grub.texi: Mention RSA support.
1411
1106c3f0
VS
14122013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 * grub-core/commands/verify.c: Add RSA support.
1415
a1dcc2cb
VS
14162013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1417
1418 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
1419 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
1420 device is known to be ATAPI.
1421
ee7fb780
MF
14222013-11-03 Mike Frysinger <vapier>
1423
1424 * configure.ac: Don't add target-prefix.
1425
5ade4a42
VS
14262013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
1429 variables.
1430
6cd66043
VS
14312013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
1434 if language is English.
1435
090d7c81
VS
14362013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1437
1438 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
1439
dd614590
VS
14402013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1441
1442 * configure.ac: Don't add -m32/-m64 on emu.
1443
a8686589 14442013-11-02 neil
1445
1446 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
1447 broken linux headers.
1448
fb9f12a0
VS
14492013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
1452
e25f8e1f
VS
14532013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
1456 Reed-Solomon recovery if more than half of redundancy info is 0.
1457
4685200f
VS
14582013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 * util/grub-mount.c: Handle symlinks to directories.
1461
1397f0b5
VS
14622013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1463
1464 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
1465 find_file recursively for symlink.
1466
8b3e6eb6
VS
14672013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1468
1469 * tests/util/grub-shell.in: Copy themes.
1470
a0c9d5c6
VS
14712013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
1474
5cf9459c
VS
14752013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1476
1477 * configure.ac: Use 0x8000 for address instead of 8000.
1478
e7b66a28
VS
14792013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
1482 signature.
1483
203f53fb
VS
14842013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1485
1486 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
1487 variable.
1488
02663ee9
VS
14892013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1490
1491 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
1492
f169f65e
VS
14932013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1494
1495 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
1496 file_progress_read_hook.
1497 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
1498
2855a0fc
VS
14992013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
1502 and double.
1503
bf0f3a8c
VS
15042013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
1507
cb72aa18
VS
15082013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1509
1510 Rewrite blocklist functions in order to get progress when
1511 reading large extents and decrease amount of blocklist hook calls.
1512
896f9135
VS
15132013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
1516 of SI suffixes.
1517
89295a06
VS
15182013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 Support --base-clock for serial command to handle weird cards with
1521 non-standard base clock.
1522
eb03ede0
VS
15232013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1524
1525 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
1526 strncpy.
1527 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
1528 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
1529 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
1530 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
1531 + strcpy rather than strncpy.
1532
8fbe5c7d
VS
15332013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1534
1535 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
1536 (check_pool_label): Likewise. Fixes overflow.
1537 (nvlist_find_value): Fix comparison.
1538
e54b8f53
VS
15392013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1540
1541 * include/grub/misc.h (grub_strcat): Removed. All users changed to
1542 more appropriate functions.
1543
fa9b3dca
VS
15442013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
1547 realloc.
1548
9a021c55
VS
15492013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 * util/grub-mkrescue.in: Do not use UUID search on EFI.
1552
80e8b13a
VS
15532013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
1556 on core size.
1557
b61599ac
VS
15582013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
1561
a602dc54
VS
15622013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
1565 (initialize_tables): reset tl and td to NULL after freeing.
1566
93c12075
VS
15672013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
1570
1ca4b75e
VS
15712013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
1574 of supported tags.
1575
329550c4
VS
15762013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
1579
00bfa988
VS
15802013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1581
1582 * grub-core/loader/multiboot.c: Add support for multiboot kernels
1583 quirks.
1584
81afc5cc
VS
15852013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
1588 a page in protected space.
1589
cb3c4a47
VS
15902013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
1593 allocate space for zero-sized modules.
1594
954f7bf5
VS
15952013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1596
1597 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
1598
526d3d25
FL
15992013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
1600
1601 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
1602
74124c34
VS
16032013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
1606 safeguards. Fixes a crash with i386/pc/console.c.
1607
5177391e
VS
16082013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1609
1610 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
1611 and grub_hostfs_init.
1612
64db14b0
VS
16132013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
1616 windows method on other platforms without good stat as well.
1617
effe2036
VS
16182013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1619
1620 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
1621
82591fa6 16222013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 1623
82591fa6
VS
1624 Make / in btrfs refer to real root, not the default volume.
1625 Modify mkrelpath to work even if device is mounted with subvolid option.
1626
16272013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
1628
1629 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
1630 extra_dist.
1631 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
1632 extra_dist.
1633
30fd7198
VS
16342013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
1637 fails.
1638
8d179dae
BC
16392013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
1640
1641 * docs/autoiso.cfg: New file.
1642
3bc9c8cf
VS
16432013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1644
1645 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
1646 COND_GRUB_PE2ELF conditions.
1647
8b46b0ea
VS
16482013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1649
1650 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
1651 "vnd", "rd" and "fd" disks.
1652
442b86de
VS
16532013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 Move grub_disk_write out of kernel into disk.mod.
1656
04dea7e6
VS
16572013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
1660 handling.
1661
16622013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
1663
1664 * grub-core/kern/misc.c (grub_abort): Make static
1665
04dea7e6 16662013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
1667
1668 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
1669 transform invalid unicode codepoints.
1670
04dea7e6 16712013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
1672
1673 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1674 \0 checking.
1675
03dcac7f
VS
16762013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
1679
c81acb7f
VS
16802013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 Consolidate cpuid code.
1683
c1bee646
VS
16842013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 Move cpuid code to cpuid.h and TSC code to tsc.c.
1687
f37bf9c7
GS
16882013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1689
1690 * util/grub.d/00_header.in: Don't use LANG if it's not set.
1691
4021132b
GS
16922013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1693
1694 * util/grub-mkconfig.in: Replace $0 with $self.
1695 * util/grub-reboot.in: Likewise.
1696 * util/grub-set-default.in: Likewise.
1697
3ace8d75
BC
16982013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1699
1700 * docs/osdetect.cfg: New file.
1701
1e6ad6a6
BC
17022013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1703
1704 * tests/util/grub-shell.in: Add new --debug option.
1705
188929eb
BC
17062013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1707
1708 * tests/test_unset.in: New test.
1709
7994a09a
BC
17102013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1711
1712 * tests/test_sha512sum.in: New test.
1713
2a8a7585
VS
17142013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1715
1716 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
1717 * include/grub/misc.h: Remove strncat.
1718 * grub-core/lib/posix_wrap/string.h: Likewise.
1719
cf8d6bbd
VS
17202013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1721
1722 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
1723 Try to handle more than 0xFFFF packets.
1724 Reported by: Bernhard Übelacker <bernhardu>.
1725 He also spotted few overflows in first version of this patch.
1726
6d1fc99a
VS
17272013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 * tests/date_unit_test.c: New test.
1730
10bafa1c
VS
17312013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
1734 of first three years after start of validity of unixtime.
1735
b1c6d037
VS
17362013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
1739 division as the one making more sense.
1740 (update_screen): Likewise.
1741 (complete): Likewise.
1742
5f4028d4
VS
17432013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1744
1745 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
1746
a2856736
VS
17472013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 Make char and string width grub_size_t rather than grub_ssize_t.
1750
0a7e52b2
VS
17512013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
1754 unsigned.
1755 (grub_history_replace): Likewise.
1756
42829573
VS
17572013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
1760 appropriate.
1761
3523b8d8
VS
17622013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
1765 appropriate.
1766
d43c6489
VS
17672013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
1770 Use unsigned divisions rather than signed variants.
1771
f690f8b0
VS
17722013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 * grub-core/video/readers/png.c (grub_png_convert_image): Use
1775 unsigned arithmetics.
1776 Add missing break.
1777
74ff2c05
VS
17782013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
1781
fb56391e
VS
17822013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1783
1784 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
1785 rather than signed one.
1786 (recovery): Likewise.
1787
40f29060
VS
17882013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
1791
c64577a5
VS
17922013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1793
1794 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
1795 than signed.
1796
c16535a8
JM
17972013-10-25 Jon McCune <jonmccune@google.com>
1798
1799 * docs/grub.texi: Cleanup security documentation around signatures.
1800
6673d8e7
VS
18012013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
1804
a105d375
VS
18052013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
1808 than int.
1809
af81ed88
VS
18102013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1811
1812 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
1813 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
1814 functions when compiling for kernel.
1815
ea899a57
VS
18162013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1817
1818 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
1819 unsigned long long when using %llu.
1820
c6dc6fa1
VS
18212013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
1824 terminal after updating progress.
1825
ad2dc003
VS
18262013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
1829 argument. We don't disable Gate A20 in this code.
1830
b46684ae
VS
18312013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
1834 Conceptually based on change in branch "vbe-on-coreboot".
1835
f70d5c07
RM
18362013-10-24 Robert Millan <rmh@gnu.org>
1837
1838 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
1839 numeric constants with their symbolic equivalent.
1840 Taken from branch "vbe-on-coreboot".
1841
bca274b4
VS
18422013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 * docs/grub.texi: Fix ordering and use pxref rather than xref.
1845
238f0489
VS
18462013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1847
1848 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
1849 divmod64 for offset division.
1850
863c590b
PFS
18512013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1852
1853 Rename .bzrignore to .gitignore. Add "*.o" rule.
1854
1855 * .bzrignore: Renamed to...
1856 * .gitignore: ...this.
1857
84a0e969
PFS
18582013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1859
1860 Add new progress module that displays the load progress of files.
1861
1862 * grub-core/lib/progress.c: New file.
1863 * grub-core/Makefile.core.def (progress): New module.
1864 * grub-core/kern/file.c (grub_file_open): File name added.
1865 * (grub_file_read): Progress hook added.
1866 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
1867 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
1868 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
1869 * include/grub/file.h (struct grub_file): Add progress module members.
1870 * include/grub/term.h (struct grub_term_output): Likewise.
1871 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
1872 Terminal velocity added.
1873 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
1874 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
1875 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
1876 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
1877 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
1878 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
1879 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
1880 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
1881 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
1882 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
1883 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
1884 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
1885
0d711431
VS
18862013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1887
1888 Verify signatures of signatures unless --skip-sig is specified.
1889
f8401f76
VS
18902013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1891
1892 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1893 \0 checking.
1894
1895 Saves 70 bytes on compressed image.
1896
ac1feb61
VS
18972013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1898
1899 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
1900 check.
1901
1902 Saves 10 bytes on compressed image.
1903
00f72e89
VS
19042013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1905
1906 * grub-core/kern/misc.c (grub_isprint): Move to ...
1907 * include/grub/misc.h (grub_isprint): ... here. Make inline.
1908
1909 Saves 20 bytes on compressed image due to remving exporting.
1910
067e6ae7
VS
19112013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1912
1913 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
1914
1915 Saves 5 bytes on compressed image.
1916
64a6c791
VS
19172013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1918
1919 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
1920 function get_utf8.
1921
1922 Saves 379 bytes on compressed image.
1923
979d9f52
VS
19242013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1925
1926 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
1927
1437da54
VS
19282013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1929
1930 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
1931
1932 Saves 40 bytes on compressed image.
1933
d9ee2269
VS
19342013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
1937 mask rather than 64-bit type.
1938
1939 Saves 20 bytes on compressed image.
1940
63efa602
VS
19412013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1942
1943 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
1944 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
1945
47601ffe
VS
1946 Saves 273 bytes on compressed image.
1947
2cc679ad
VS
19482013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1949
1950 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
1951 variable length arrays.
1952
1953 Saves 50 bytes on compressed image.
1954
2e4659b8
VS
19552013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1956
1957 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
1958
2a40badf
VS
19592013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 * grub-core/fs/ufs.c: Remove variable length arrays.
1962
1ba6b9b9
VS
19632013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
1966
f3e39341
VS
19672013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 * grub-core/fs/zfs.c: Remove variable length arrays.
1970 Reduces zfs.mod by 160 bytes (208 compressed).
1971
71523935
VS
19722013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
1975
28153eb8
VS
19762013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 * grub-core/net/arp.c: Remove variable length arrays.
1979 * grub-core/net/bootp.c: Likewise.
1980 * grub-core/net/dns.c: Likewise.
1981 * grub-core/net/icmp6.c: Likewise.
1982 * grub-core/net/net.c: Likewise.
1983
88ce4cd7
VS
19842013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1985
1986 * grub-core/fs/ntfs.c: Remove variable length arrays.
1987 Increases ntfs.mod by 64 bytes (but decreases by 3 when
1988 compressed).
1989
66123940
VS
19902013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 * grub-core/fs/hfs.c: Remove variable length arrays.
1993 Reduces hfs.mod by 8 bytes (52 compressed).
1994
0927e5bd
VS
19952013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 1998 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
1999 compressed).
2000
9c12ac97
VS
20012013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2002
2003 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 2004 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
2005 compressed).
2006
97ec2d71
VS
20072013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 2010 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
2011 compressed).
2012
156e4ea0
VS
20132013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2014
2015 * grub-core/fs/xfs.c: Remove variable length arrays.
2016 Reduces xfs.mod by 40 bytes (43 compressed).
2017
3b502c29
VS
20182013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 * grub-core/fs/fshelp.c: Remove variable length arrays.
2021 Reduces fshelp.mod by 116 bytes (23 compressed).
2022
c7037f1d
VS
20232013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 * grub-core/normal/completion.c: Remove variable length arrays.
2026 * grub-core/normal/menu_entry.c: Likewise.
2027
2028 Reduces normal.mod by 496 bytes.
2029
a07e6ad0
VS
20302013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2031
2032 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
2033 by 356 bytes (158 compressed).
2034
2359bf88
VS
20352013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
2038 by 364 bytes (169 compressed).
2039
d28e1163
VS
20402013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
2043 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
2044 * include/grub/types.h (grub_unaligned_uint64_t): New type.
2045
e89c2d48
VS
20462013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
2049 bitmasks to small structures of size chosen to fit in registers.
2050
7abdac8e
VS
20512013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 * conf/Makefile.common: Use -freg-struct-return on i386. This
2054 decreases code size and improves performance.
2055
518864c0
VS
20562013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2057
2058 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
2059
bbd2b539
VS
20602013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
2063 "(null)" string.
2064 Simplify expressions to save around 256 bytes in kernel.img.
2065 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
2066
99519c15
VS
20672013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2068
2069 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
2070 Use GRUB_UTIL_FD_O_* rather than O_*.
2071
20285765
VS
20722013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 Add haiku-specific functions.
2075
887c0bb6
VS
20762013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
2079
cd78a56f
VS
20802013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 Move stat () and device mode checking into OS-dependent files as
2083 long as performance doesn't suffer.
2084
a4012f07
VS
20852013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2086
2087 Split make_system_path_relative_to_its_root into separate file
2088 relpath.c from getroot.c as it's common between unix and haiku
2089 but otherwise haiku doesn't use any functions from unix getroot.c.
2090
31de274d
VS
20912013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
2094 New function.
2095 (grub_util_is_special_file): Likewise.
2096
40346de6
VS
20972013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2098
2099 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
2100 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
2101
d3923ab9
VS
21022013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
2105 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
2106
663f6eb1
VS
21072013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
2110 (load_image): Likewise.
2111
44d1c20a
VS
21122013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 * util/grub-render-label.c: Move backend part to ...
2115 * util/render-label.c: ... here.
2116
d0a116ee
VS
21172013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2118
2119 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
2120 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
2121
b47fcae6
VS
21222013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
2125
0f7c00c1
VS
21262013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2127
2128 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
2129 CD-ROM in case when it's declared as having subpartitions.
2130
29013cba
VS
21312013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2132
2133 Don't add -lm on haiku.
2134
2135 * configure.ac: Define BUILD_LIBM to -lm on most platforms
2136 and empty on haiku.
2137 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
2138 -lm.
2139
e8559d24
VS
21402013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 * configure.ac: Use -melf_*_haiku as target on haiku.
2143
8104063c
VS
21442013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2145
2146 * Makefile.util.def: Add util/setup.c to extra_dist.
2147
fc3182c7
VS
21482013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2149
2150 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
2151 unknown types through.
2152
f90a3cc0
VS
21532013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2154
2155 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
2156 (grub_util_check_char_device): Likewise.
2157 * include/grub/emu/getroot.h: Likewise.
2158
1e3e7419
VS
21592013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2160
2161 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
2162 memset rather than inline static function.
2163
92c88fc8
VS
21642013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
2167 not doing embedded decompressor.
2168
3cd910a2
VS
21692013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
2172 shadowing.
2173 * grub-core/kern/disk.c: Likewise.
2174 * grub-core/kern/misc.c: Likewise.
2175 * include/grub/parser.h: Likewise.
2176 * include/grub/script_sh.h: Likewise.
2177 * include/grub/zfs/zfs.h: Likewise.
2178
7b3aca00
VS
21792013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2180
2181 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
2182
97dfe7e4
VS
21832013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
2186 defined before trying to use it.
2187
bf919aa9
VS
21882013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
2191 warning.
2192
f4ccf29d
VS
21932013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2194
2195 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
2196 Use __unused__ rather than __used__ on gcc < 3.2.
2197
0d3a6f85
VS
21982013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
2201 gcc < 4.0.
2202 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
2203
757e3eb7
VS
22042013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
2207
fb320faf
VS
22082013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
2211 * include/grub/emu/misc.h: Likewise.
2212
ea73acd2
VS
22132013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2214
2215 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
2216 cur_color.
2217
71237a6f
VT
22182013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
2219
2220 * grub-core/tests/checksums.h: Regenerated due to progress bar
2221 get_minimal_size changes.
2222
3d46c22f
BC
22232013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
2224
2225 Added `tr' command support.
2226
2227 * grub-core/commands/tr.c: New file.
2228 * grub-core/Makefile.core.def: Build rules for new module.
2229
2230 * tests/grub_cmd_tr.in: New test.
2231 * Makefile.util.def: Build rules for new test.
2232
47e0a61f
VT
22332013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2234
2235 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
2236
946fd073
VT
22372013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2238
2239 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
2240 * docs/gurb.texi: Likewise.
2241
9c13c576
VT
22422013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2243
2244 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
2245 Pixmap highlighted section with east and west slices was displayed
2246 incorrectly due to negative width of the central slice.
2247
ad543f12
VT
22482013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2249
2250 * docs/grub.texi: Graphical options information update.
2251 Removed outdated. Updated current. Inserted missed.
2252
6176a0cd
VS
22532013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 * docs/grub.texi: Mention few new platform-specific commands.
2256
9688cae2
VS
22572013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
2260 currently used so this doesn't really have any effect.
2261 Reported by: Douglas Ray <dougray>
2262
f7b69a3f
VS
22632013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
2266 compilation but prevents gcc from displaying messages in non-Latin
2267 alphabets.
2268 * conf/Makefile.common: Likewise.
2269
ceca6ddf
HY
22702013-10-16 Hiroyuki YAMAMORI
2271
2272 Handle Japanese special keys.
2273 Reported by: Hiroyuki YAMAMORI.
2274 Codes supplied by: Hiroyuki YAMAMORI.
2275
ac48d334
VT
22762013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2277
2278 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
2279
b2b71bff
VT
22802013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2281
2282 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
2283 * docs/grub.texi: Likewise.
2284
669fc449
VS
22852013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
2288 value in case of incomplete read.
2289 (grub_util_fd_write): Likewise.
2290
59381678
VS
22912013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
2294
bacfefbb
VS
22952013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 * util/grub-editenv.c (create_envblk_file): More from here ...
2298 * util/editenv.c (grub_util_create_envblk_file): ... to here.
2299
f7c49570
VS
23002013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
2303 canonicalize file name before doing the rest.
2304
7b83ca44
VS
23052013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
2308 mingw32.
2309
df1e64c9
VS
23102013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2311
2312 Define grub_util_is_directory/regular/special_file and
2313 use OS-dependent versions rather than to rely on stat().
2314
ec16e026
VS
23152013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 * util/grub-mkimage.c: Move backend part to ...
2318 * util/mkimage.c: ... here.
2319
4b4eeb3c
VS
23202013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2321
2322 Allow compilation with mingw64 albeit with warnings due to lack of
2323 %llx/%llu.
2324
2325 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
2326 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
2327 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
2328 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
2329 on mingw64.
2330 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
2331
f4e0adc0
VS
23322013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2333
2334 Remove leftover references to some of the system headers.
2335
e0127364
VS
23362013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
2339 read.
2340
20d53541
VS
23412013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
2344 of strerror.
2345
5a869940
VS
23462013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2347
2348 Split out blocklist retrieving from setup.c to
2349 grub-core/osdep/blocklist.c and add windows implementation since
2350 generic version doesn't work on NTFS on Windows due to aggressive
2351 unflushable cache.
2352
c06c7520
VS
23532013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
2356 files.
2357
8f53bb3f
VS
23582013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
2361 Cut tailing newline. Remove arbitrary limitation. Always use
2362 grub_util_tchar_to_utf8.
2363
148f1007
VS
23642013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2365
2366 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
2367 * tests/printf_unit_test.c (printf_test): Add %% tests.
2368 Reported by: Paulo Flabiano Smorigo.
2369
af3b06be
VS
23702013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2371
2372 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
2373 implement fsync.
2374
27f9d02e
VS
23752013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 * configure.ac: Check for nvlist_lookup_string in nvpair since we
2378 use nvlist_lookup_string and don't use nvlist_print.
2379
f6a81f0a
VS
23802013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 Add wrappers around rename, unlink, mkdir, opendir, readdir and
2383 closedir to handle filename charset translation.
2384
d7750b32
VS
23852013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * include/grub/emu/hostdisk.h: Move file operations to
2388 * include/grub/emu/hostfile.h: ... here.
2389
2859196e
VS
23902013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
2393 unicode path.
2394
c018c968
VS
23952013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2396
2397 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
2398
7e45abce
VS
23992013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2400
2401 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
2402 and remove export.h.
2403
23934da2
VS
24042013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2405
2406 * grub-core/kern/emu/error.c: Removed.
2407 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
2408 explicitly as it's already in libgnu.a.
2409
c11ebcc8
VS
24102013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
2413 config-util.h include.
2414
70671037
VS
24152013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 Split emunet into platform-dependent and GRUB-binding parts. Keep
2418 platform-dependent part in kernel for easy access to OS functions.
2419
25ac643a
VS
24202013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2421
2422 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
2423 open/read/write.
2424
69ca5876
VS
24252013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 * grub-core/osdep/windows/emuconsole.c: New file.
2428
d9d68ef0
AB
24292013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2430
2431 * conf/Makefile.extra-dist: Add osdep/*/init.c
2432
58e211cc
VS
24332013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
2436
588744d0
VS
24372013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2438
2439 * util/grub-probe.c (probe): Separate different drives in hint-str
2440 by spaces and not newlines.
2441 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
2442
44016e52
AB
24432013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2444
2445 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2446 Handle CD-ROMs.
2447
6de9ee86
VS
24482013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 Pass-through unknown E820 types. It required reorganisation of mmap
2451 module.
2452
f8f3f155
AB
24532013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2454
2455 * Makefile.util.def: Add osdep/init.c to grub-mount files.
2456
b73249d2
VS
24572013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
2460 fseeko.
2461
dac86b18 24622013-10-14 qwertial <qwertial>
2463
2464 * grub-core/gdb_grub.in: Fix overflow and wrong field.
2465
17614b84
JM
24662013-10-14 Jon McCune <jonmccune@google.com>
2467
2468 * docs/grub.texi: Document new signatures possibility.
2469
6de292cb
VS
24702013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
2473
84379b61
VS
24742013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
2477 missing prototype.
2478 (grub_util_tchar_to_utf8): Likewise.
2479
21d85db1
VS
24802013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
2483 * grub-core/kern/emu/main.c: Add missing include.
2484 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
2485 Don't call grub_util_init_nls.
2486 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
2487 Likewise.
2488
66a1b3ee
VS
24892013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
2492 stat.
2493
e19bec17
VS
24942013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
2497
ee8c1b29
VS
24982013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
2501
bb338aaf
VS
25022013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 Add a wrapper for fopen. On unix-like systems just pass-through. On
2505 windows use unicode version.
2506
ae5540d3
VS
25072013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2508
2509 Move set_program_name and init_nls to host_init. On windows
2510 fix in this fuction console and argument charset as well.
2511
4cd3c4fe
AB
25122013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
2513
2514 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
2515 GRUB_ENABLE_CRYPTODISK.
2516
2517 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
2518 GRUB_ENABLE_CRYPTODISK.
2519 * util/grub-mkconfig_lib.in: Likewise.
2520
78170f3e
CCZ
25212013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
2522
2523 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
2524
3414b6c0
MC
25252013-10-12 Melki Christian <Christian.melki@saabgroup.com>
2526
2527 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
2528 error when enabling debug.
2529
6d0740e8
IB
25302013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
2531
2532 * configure.ac: Use -melf_*_obsd on openbsd.
2533
ff2d4dc4
VS
25342013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2535
2536 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
2537
eac6ae82
VS
25382013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2539
2540 * include/grub/misc.h: Use gnu_printf rather than printf as format
2541 template since our functions are independent of libc.
2542
ba9baabe
VS
25432013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
2544
2545 * util/grub-setup.c (setup): Move copying of partition table as
2546 futher up as possible to avoid possible overwrite by floppy routines.
2547
25482013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
2549
2550 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
2551
145e2369
VT
25522013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
2553
2554 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
2555 * docs/grub.texi: Likewise.
2556
3530bc9d
VS
25572013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
2560 it's mostly unused. Move vestiges to the callers.
2561
fb9f59c3
VS
25622013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2563
2564 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
2565 version of salt and hash. Use grub_snprintf rather than snprintf.
2566
9be1c255
VS
25672013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 * docs/grub.texi: Fix problem with braces.
2570
ed8c0887
VS
25712013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2572
2573 * conf/Makefile.extra-dist: Fix extra-dist list.
2574 * grub-core/Makefile.core.def: Likewise.
2575
f72ab14e
VS
25762013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 * docs/grub.texi: Document disk names used on Windows and AROS.
2579
2fe53a22
VS
25802013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
2583 with AROS devs.
2584 * grub-core/osdep/aros/hostdisk.c: Likewise.
2585
71c1d67a
VS
25862013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 Avoid including hostfile.h when not necessarry as it pulls
2589 in OS-specific headers which may redefine generic names
2590 like "far".
2591
ad297ec7
VT
25922013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2593
2594 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
2595 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
2596 scrollbar_bottom_pad
2597 * docs/grub.texi: Likewise.
2598
6e9e5dc9
VT
25992013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2600
2601 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
2602
761c718b
VS
26032013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
2606
37149a2f
VS
26072013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
2610 Removed.
2611 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
2612 Made static.
2613
3837a151
VS
26142013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2615
2616 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
2617 leftover.
2618
caca1c70
VS
26192013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 Move OS-specific driver configuration to grub_util_fd_open. This
2622 moves OS-dependent parts from kern/emu/hostdisk.c to
2623 grub-core/osdep/*/hostdisk.c.
2624
f7676b70
VS
26252013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 * util/grub-mkimage.c (generate_image): Use size_t instead of
2628 grub_size_t.
2629 * util/grub-mkimagexx.c (locate_sections): Likewise.
2630 (load_image): Likewise.
2631
22f98db2
VS
26322013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2633
2634 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
2635 size_t.
2636 (grub_util_write_image): Likewise.
2637
b102ce69
VS
26382013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2639
2640 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
2641 get random when no RNG is available.
2642 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
2643
acbbe5cb
VS
26442013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2645
2646 * include/grub/util/lvm.h: Removed.
2647
2112fb3f
VS
26482013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
2651 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
2652
79f78fbf
VS
26532013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2654
2655 * grub-core/osdep/windows/sleep.c: Add missing config.h.
2656
c2e6f705
VS
26572013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2658
2659 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
2660
aabe433a
VS
26612013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 * grub-core/net/drivers/emu/emunet.c: Move to ..
2664 * grub-core/osdep/linux/emunet.c: ..here.
2665
9a2c903f
VS
26662013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2667
2668 * util/ieee1275/ofpath.c: Move to ...
2669 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
2670 * grub-core/osdep/basic/ofpath.c: ..here.
2671
4a445f58
VS
26722013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 Move password-querying (util-version) routines to grub-core/osdep.
2675
c1ca4244
VS
26762013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 Move sleep routines to grub-core/osdep.
2679
672fa55e
VS
26802013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 Move OS-dependent files to grub-core/osdep and document it.
2683
a5b0365a
VS
26842013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
2687 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
2688
29072e99
VS
26892013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2690
2691 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
2692
f8772ea7
VS
26932013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * util/misc.c: Remove leftover inclusion of malloc.h.
2696
a1a315e7
VS
26972013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2698
2699 * include/grub/setjmp.h: Remove leftover GRUBOF.
2700
cef86fef
VS
27012013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 * util/raid.c: Fold into ...
2704 * util/getroot_linux.c: ... here. Make all functions static.
2705
c4cf25ee
VS
27062013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2707
2708 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
2709 macros to GRUB ones.
2710
53a5f5c2
VT
27112013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2712
2713 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
2714 occasional bug. If there are too many boot entries or too low
2715 scrollbar height then we need to use another formula to calculate
2716 the position and size of the scrollbar thumb.
2717
de300af2
VS
27182013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2719
c4cf25ee 2720 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 2721
c5827364
VT
27222013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2723
2724 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
2725 * docs/grub.texi: Likewise.
2726
dd2ed8b0
VT
27272013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2728
2729 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
2730 viewport.
2731
7286c384
VT
27322013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2733
ffdfc1f3
VT
2734 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
2735 minimal width calculations.
7286c384 2736
ea547e14
VS
27372013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 * docs/grub.texi: Update note on colors on emu console.
2740
b726be76
VS
27412013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2742
2743 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
2744 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
2745 it's FS and not GRUB limitation.
2746
a5f6ade6
VS
27472013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2748
2749 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
2750
3b0f3aa2
VS
27512013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2752
2753 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
2754
1db38304
ST
27552013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2756
2757 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
2758 kernels by version order.
2759
fb295fc0
VS
27602013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2761
2762 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
2763
47345010
VS
27642013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 Add AROS hostdisk and getroot routines.
2767
bf25f879
VS
27682013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 Make cryptodisk and diskfilter probe data retrievable programmatically
2771 and not just printable.
2772
24ca4512
VS
27732013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2774
2775 Split random retrieving code into separate files.
2776
c7c177f0
VS
27772013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2778
2779 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
2780 R_ARM_V4BX.
2781
d71b45ae
VS
27822013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2783
2784 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
2785 condition.
2786 * grub-core/tests/fake_input.c: Likewise.
2787 * grub-core/tests/cmdline_cat_test.c: Likewise.
2788
e44b9a83
VS
27892013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2790
2791 * grub-core/video/capture.c: Do not do finalization when .fini
2792 is called as there is explicit capture_end.
2793
4fa60739
VS
27942013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2795
2796 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
2797 changing windows to avoid crash.
2798
17c8bc37
VS
27992013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
2802
9d4d7977
VS
28032013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 * po/exclude.pot: Add several strings to exclude.
2806
0caa407c
VS
28072013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
2810
9ae393da
VS
28112013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * autogen.sh: Add ./util/grub-gen-widthspec.c and
2814 ./util/grub-gen-asciih.c to exclude list.
2815
498d5033
VS
28162013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
2819 and don't mark error strings for translation.
2820
7d93298f
VS
28212013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
2824 properly in case of missing block size.
2825
b2cae20c
VS
28262013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2827
2828 * grub-core/lib/arm/setjmp.S: Add missing license section.
2829
3896d6b4
VS
28302013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2831
2832 * po/swiss.sed: Add replacement for key names and for term computer.
2833
ebc1da55
VT
28342013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
2835
2836 * grub-core/gfxmenu/theme_loader.c: New global options for the
2837 theme background image handling. desktop-image-scale-method,
2838 desktop-image-h-align, desktop-image-v-align.
2839 * grub-core/gfxmenu/view.c: Likewise.
2840 * include/gfxmenu_view.h: Likewise.
2841 * include/bitmap_scale.h: Proportional scale functions introduced.
2842 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
2843 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
2844 cases of unexpected input variables for scale functions.
2845 * docs/grub.texi: Updated documentation for new options.
2846
c5739143
VS
28472013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
2850
be74aeb3
VT
28512013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2852
2853 * grub-core/tests/checksums.h: Corrected due to changes in
2854 bilinear interpolation function.
2855
d999ac72
VT
28562013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2857
2858 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
2859 to eliminate artefacts in bilinear interpolation.
2860
2b131610
VS
28612013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2862
2863 * grub-core/video/readers/tga.c: Support paletted tga.
2864
de6e5ff8
VS
28652013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
2868 incorrect cbcr setting when in color mode.
2869
fa31ee9c
VS
28702013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2871
2872 * grub-core/video/readers/png.c: Support paletted images and clean up
2873 greyscale support.
2874
e84f8188
VS
28752013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
2878 usage of wrong table which resulted in mishandling of 4-byte
2879 sequences.
2880
28812013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
2882
2883 * grub-core/term/terminfo.c: Add Home and End key sequences.
2884
d72bff09
VS
28852013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * grub-core/video/readers/png.c (grub_png_decode_image_header):
2888 Fix formula for computing total number of bytes.
2889
29648c5d
VS
28902013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
2893 image processing, fix big-endian and support grayscale.
2894
4a876492
VS
28952013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
2898 Correctly will with maximum transparency when using index color.
2899
3ccf16df
VS
29002013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2901
2902 * grub-core/video/readers/png.c: Support grayscale
2903
29042013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
2905
2906 * grub-core/video/readers/jpeg.c: Support grayscale.
2907
3ccf16df 29082013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
2909
2910 * grub-core/commands/loadenv.c: Support skipping signature check
2911 and variable names filtering.
2912
30b7f58f
VS
29132013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
2916 * grub-core/kern/emu/hostfs.c: Likewise.
2917 * util/getroot_unix.c: Likewise.
2918
bab7b1eb
VS
29192013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
2922 Migrate all explicit defines to this new one.
2923
43b1c99d
VS
29242013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2925
2926 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
2927 grub_util_fd_strerror when using grub_util_fd_*.
2928 (grub_util_fd_open_device): Likewise.
2929 (grub_util_biosdisk_read): Likewise.
2930 (grub_util_biosdisk_write): Likewise.
2931 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
2932 (grub_util_fd_strerror): Likewise.
2933 (grub_util_fd_sync): Likewise.
2934 (grub_util_fd_close): Likewise.
2935 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
2936 (grub_util_fd_close): Likewise.
2937 (grub_util_fd_strerror): Likewise.
2938 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
2939 function proto rather than macro.
2940 (grub_util_fd_sync): Likewise.
2941 (grub_util_fd_open): Likewise.
2942 (grub_util_fd_strerror): New proto.
2943
e8fd80bc
VS
29442013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2945
2946 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
2947 platforms on which it doesn't work.
2948
bf645fda
VS
29492013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
2952 stat immediately to where it's used.
2953
5177ba14
VS
29542013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2955
2956 * util/getroot.c (grub_util_check_block_device): Move to ...
2957 * util/getroot_unix.c (grub_util_check_block_device): ... here.
2958 * util/getroot.c (grub_util_check_char_device): Move to ...
2959 * util/getroot_unix.c (grub_util_check_char_device): ... here.
2960
9db826e1
VS
29612013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
2964 disk closing logic.
2965
49120085
AB
29662013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
2967
2968 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
2969
b3328b68
AB
29702013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
2971
2972 * docs/grub.texi (File name syntax): Document ZFS filenames
2973 (/volume@snapshot/...).
2974
3fff48ab
VS
29752013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
2978 Always return full path. Fixes a problem with mkrelpath.
2979
39cfdaa9
PFS
29802013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2981
2982 * util/grub-install.in: Add GPT PReP support.
2983 * util/grub-probe.c (probe): Support GPT partition type.
2984 (main): Support -t gpt_parttype.
2985
7c680e1f 29862013-09-23 Aleš Nesrsta <starous@volny.cz>
2987
2988 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
2989
890bdabe
MM
29902013-09-23 Massimo Maggi <me@massimo-maggi.eu>
2991
2992 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
2993
9c262ff9
TH
29942013-09-23 Tim Hardeck <thardeck>
2995
2996 * util/grub.d/10_hurd.in: Filter out character for the class.
2997 * util/grub.d/10_kfreebsd.in: Likewise.
2998 * util/grub.d/10_linux.in: Likewise.
2999 * util/grub.d/20_linux_xen.in: Likewise.
3000
d755342a
MC
30012013-09-23 Melki Christian <Christian.melki@saabgroup.com>
3002
3003 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
3004 "changed".
3005
68b77707
JT
30062013-09-23 Josh Triplett <josh@joshtriplett.org>
3007
3008 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
3009 boot partition.
3010
efa68bfa
VS
30112013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3012
3013 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
3014 doesn't use posix_wrap. Keep literal -fno-builtin however.
3015
d9104204
VS
30162013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
3019
c248781a 30202013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
30212013-09-23 neil
3022
5830df88 3023 * configure.ac: Do not enable -Wmissing-noreturn as its
3024 usefulness is limited and creates problems on some OS notably with
3025 code generated by bison.
3026
30272013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
30282013-09-23 neil
3029
3030 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 3031 supported by all gcc and when it is, it's already enabled by -Wall.
3032
621bed69
VS
30332013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3034
3035 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
3036 desactivated use of EDID at all.
3037
71764dc8 30382013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
30392013-09-23 neil
3040
3041 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
3042 video if no text is available.
3043
affce7d4 30442013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
30452013-09-23 neil
3046
3047 * configure.ac: Substitute TARGET_RANLIB.
3048
30492013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
30502013-09-23 neil
affce7d4
VS
3051
3052 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
3053
3054 Based on patches from AROS.
3055
0e8daad0 30562013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 30572013-09-23 neil
0e8daad0
VS
3058
3059 * grub-core/Makefile.am: Override STRIP and RANLIB.
3060 * configure.ac: compute TARGET_RANLIB.
3061 * INSTALL: Document TARGET_RANLIB
3062
3063 Based on patches from AROS.
3064
3f7d9c82
VS
30652013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
3068 that floppies are unpartitioned.
3069
bca8873a
VS
30702013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3071
3072 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
3073 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
3074
30752013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3076
3077 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
3078 less nice but more portable.
3079 * grub-core/lib/posix_wrap/wchar.h: Likewise.
3080
a47a78be
VS
30812013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3082
3083 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
3084 for cheat_fd.
3085 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
3086 functions.
3087 (grub_cryptodisk_cheat_insert): Likewise.
3088 (grub_cryptodisk_close): Likewise.
3089
e85a5d5c
VS
30902013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3091
3092 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
3093 Use windows path for DEFAULT_DIRECTORY.
3094
dad9fa6b
VS
30952013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
3098 difference was likely just gcc version, not anything mingw-related.
3099
7e518ca8
VS
31002013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 Use Winapi on both cygwin and mingw32 to share more code between both.
3103
d68d0157
AB
31042013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3105
3106 * util/grub-install.in: Add --grub-editenv option.
3107 * util/grub-install_header (grub_compress_file): Explicitly check for
3108 plain file to avoid cp error.
3109
775b284d
AB
31102013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3111
3112 * docs/grub.texi (Device syntax): Document new LVM UUID based device
3113 names; fix LVM driver name (lvm, not lv).
3114 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
3115 names.
3116
3ff4063d
VS
31172013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
3120 files rather than one file with loads of #if's.
3121 * util/getroot.c: Likewise.
3122
287faafe
VS
31232013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
3126
d1983764
VS
31272013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
3130 GNU/Hurd to the list of checked PRNG.
3131
15ce95c4
VS
31322013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3133
3134 * configure.ac: On FreeBSD use -melf_*_fbsd format.
3135
207862dd 31362013-09-21 Ales Nesrsta <starous@volny.cz>
3137
7c680e1f 3138 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 3139
63653cfd
VS
31402013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3141
3142 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
3143 * grub-core/disk/lvm.c: Add LVM UUIDs.
3144 * util/getroot.c: Use LVM UUIDs whenever possible.
3145
f5d3e7ef
AB
31462013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
3147
3148 * docs/grub.texi (Networking commands): Add documentation for
3149 network related commands.
3150
53c6b7d6
VS
31512013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3152
3153 * util/getroot.c (grub_util_open_dm): Check major rather than the name
3154 to determine if device is handled by devmapper.
3155 (convert_system_partition_to_system_disk): Likewise.
3156 (get_dm_uuid): Don't check explicitly if device is mapped, it's
3157 already done in grub_util_open_dm.
3158
e70d6736
LL
31592013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
3160
3161 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
3162 Clean up stack manipulation (sync_caches_armv*)
3163
90379808
VS
31642013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3165
3166 * util/lvm.c: Remove since unused. Remove remaining references.
3167
386701a8
VS
31682013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 Handle the case of partitioned LVM properly.
3171
3172 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3173 Stop on meeting LVM, mpath or DMRAID.
3174 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
3175 (read_device_map): Likewise.
3176 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
3177 device is full disk rather than erroring out on LVM and similar cases.
3178
53070787
VS
31792013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3180
3181 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
3182
1bc783bd
VS
31832013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
3186 4K before the end.
3187 Reported by: Leif Lindholm
3188
436ad5c3
PW
31892013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
31902013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3191
3192 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
3193 codes.
3194
607319c9
CW
31952013-09-18 Colin Watson <cjwatson@ubuntu.com>
3196
3197 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
3198 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
3199
d404d154
DR
32002013-09-18 Douglas Ray <dougray@cpan.org>
3201
3202 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
3203 as secure.
3204
28851ef6
AN
32052013-09-18 Aleš Nesrsta <starous@volny.cz>
3206
3207 * docs/grub.texi: Fix broken link.
3208
897c3bc6
MC
32092013-09-18 Melki Christian <Christian.melki@saabgroup.com>
3210
3211 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
3212 to break endless loop.
3213
f1630459
VS
32142013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 * util/grub-fstest.c: Fix several printf formats.
3217 * util/grub-mkimage.c: Likewise.
3218 * util/grub-mkimagexx.c: Likewise.
3219 * util/grub-script-check.c: Likewise.
3220
64463dfd
VS
32212013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
3224 error.
3225
48972495
VS
32262013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
3229
5dd5e64b
VS
32302013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3231
3232 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
3233 removed in current versions cygwin_conv_*.
3234
1c1f31e5
VS
32352013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3236
3237 * configure.ac: Disable efiemu runtime on cygwin.
3238
c546a259
VS
32392013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3240
3241 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
3242 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
3243
81690478
VS
32442013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
3247 error message.
3248
6b87c10a
VS
32492013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3250
3251 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
3252 windows variant.
3253 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
3254 data.
3255
8f0baaac
VS
32562013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
3259 when on x86 and not cygwin.
3260 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
3261 -Wl,-melf_x86_64.
3262
b224c266
VS
32632013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * configure.ac: Set CPP to build one when checkoing for freetype for
3266 build.
3267
506b336b
VS
32682013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
3271 [!GRUB_BUILD]: Remove has_argument.
3272
8c8c87b7
VS
32732013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3274
3275 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
3276 Replace with a dummy.
3277
7dc5ca13
VS
32782013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * configure.ac: Don't change host_os from mingw to cygwin.
3281
c3302aa5
VS
32822013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3283
3284 * configure.ac: Change target_os from windows to cygwin.
3285
7b780018
VS
32862013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 Handle grub-pe2elf and grub-mkfont for cases when build != host.
3289
3290 * Makefile.am (build-grub-mkfont): Don't include gnulib.
3291 (build-grub-gen-asciih): Likewise.
3292 (build-grub-gen-widthspec): Likewise.
3293 * Makefile.util.def (grub-pe2elf): Remove.
3294 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
3295 * configure.ac: Separate tests for build.
3296 Move ./build-grub-pe2elf to grub-core.
3297 Fix typo.
3298 * grub-core/Makefile.am (build-grub-pe2elf): New target.
3299 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
3300 defined.
3301 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
3302 constants.
3303 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
3304 * util/grub-pe2elf.c: Simplify not to rely on getopt.
3305 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
3306
984cfd8a
VS
33072013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
3310 mingw32 as well based on grub_util_get_disk_size.
3311 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
3312 grub_util_get_fd_size.
3313 (sync): Removed.
3314 (fsync): Moved to ...
3315 * grub-core/kern/emu/misc.c (fsync): ... here.
3316
f82d79c9
VS
33172013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 * include/grub/mm.h (grub_extend_alloc): Remove.
3320 * grub-core/loader/i386/pc/plan9.c: Use own version of
3321 grub_extend_alloc with appropriate types.
3322
fd7dd66d
VS
33232013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3324
3325 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
3326
43ffba7c
VS
33272013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3328
3329 * util/getroot.c: Include sys/wait.h only when we need waitpid.
3330
3c7eac44
VS
33312013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 Fix dependencies on cygwin.
3334
3335 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
3336 dependencies when used and defined.
3337 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
3338
bdb5ba47
VS
33392013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
3342 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
3343
ed7fbf43
VS
33442013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3345
3346 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
3347 implementation available to cause compile-time rather than runtime
3348 error.
3349
fc46e9fc
VS
33502013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3351
3352 * util/grub-fstest.c: Don't check for symlinks on windows.
3353
7f68269a
VS
33542013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3355
3356 * INSTALL: Mention unavailability of man pages when cross-compiling.
3357
8ed358e0
VS
33582013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
3361 and gcry_log_bug.
3362 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
3363
fc97214f
VS
33642013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3365
3366 * INSTALL: Document cross-compilation.
3367 * acinclude.m4: Determine whether nm support -P and --defined-only.
3368 * configure.ac: Add TARGET_ to all variables pertaining to target
3369 that don't have it yet.
3370 * gentpl.py: Likewise.
3371 * grub-core/Makefile.am: Likewise.
3372 * grub-core/genmod.sh.in: Likewise.
3373 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
3374 as well.
3375
ca1fb563
IB
33762013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3377
3378 * configure.ac: Remove -Wempty-body. It's not essential and needs
3379 recent gcc.
3380
0031b229
IB
33812013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3382
3383 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
3384 * util/getroot.c: Likewise.
3385
54ea2f44
VS
33862013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3387
3388 * grub-core/disk/ahci.c: Add needed explicit cast.
3389 * grub-core/lib/backtrace.c: Likewise.
3390 * grub-core/net/ip.c: Likewise.
3391 * grub-core/net/tcp.c: Likewise.
3392 * grub-core/net/udp.c: Likewise.
3393
3c601f8c
VS
33942013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
3397
1d679dda
VS
33982013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 * util/import_gcry.py: Add final newline in visibility.h.
3401
00c28dd9
VS
34022013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 * conf/Makefile.common: Fix typo.
3405
32af299a
VS
34062013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
3409
e733cf52
VS
34102013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 * Makefile.am (widthspec.h): Fix typo.
3413 * util/grub-gen-widthspec.c: Likewise.
3414
c6b066f2
VS
34152013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3416
3417 Move ascii.h and widthspec.h generation to a separate build-time-only
3418 tool.
3419
ad1fe3f9 34202013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
3421
3422 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3423 Always fill bootdisk info and improve check for NetBSD disklabel.
3424
92a52dd4
VS
34252013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 * conf/Makefile.extra-dist: Add util/bin2h.c.
3428 Reported by: floppym.
3429
b2e9d276
VS
34302013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3431
3432 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
3433
7b966834
VS
34342013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 * configure.ac: Disable unifont and starfield if no freetype was found.
3437
d5c1eef1
VS
34382013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
3441 on NetBSD and OpenBSD.
3442
66345b50 34432013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
3444
3445 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
3446
66345b50 34472013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
3448
3449 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
3450 reduced. Inheritant options are processed during the theme loading.
3451
66345b50 34522013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
3453
3454 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
3455
369508b3
AS
34562013-08-14 Avik Sil <aviksil@in.ibm.com>
3457
3458 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
3459
34602013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
3461
3462 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
3463 using qemu.
3464
6f27a3f6
PFS
34652013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3466
3467 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
3468 remove-potcdate.sed.
3469
c6ed362a
AB
34702013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3471
3472 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
3473 unused attribute from pull argument.
3474
5e7d9464
AB
34752013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3476
3477 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
3478 memory leak.
3479
dea55e2a
AB
34802013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3481
3482 * util/getroot.c (pull_lvm_by_command): add --separator option
3483 to vgs call to disable padding of output to 10 characters.
3484
f0b94ded
VS
34852013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3486
3487 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
3488 here ...
3489 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
3490 here.
3491
b828fb5d
VS
34922013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
3495 length.
3496
7c9d0c39
VS
34972013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3498
3499 Fix handling of build-time grub-bin2h and grub-mkfont when doing
3500 full Canadian cross. Tested with build=x86_64, host=arm,
3501 target=ppc-ieee1275.
3502
816719c8
VS
35032013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3504
3505 * configure.ac: Error if no $BUILD_CC could be found.
3506 Reported by: DevHC.
3507
2af2353b
VS
35082013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3509
3510 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
3511 i386-multiboot.
3512
797abd0a
VS
35132013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
3516 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
3517
36e87d25
CW
35182013-08-13 Colin Watson <cjwatson@ubuntu.com>
3519
3520 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
3521 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
3522 falling back to the partition device, otherwise a later call to this
3523 function may fail spuriously.
3524 Reported by Axel Beckert. Fixes Debian bug #708614.
3525
273349fe
GS
35262013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3527
3528 * autogen.sh: Replace find -not by the POSIX-compliant find !.
3529
418f86c6
GS
35302013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3531
3532 Prevent shadowing of stdlib's devname(3) on BSD.
3533
3534 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
3535 and devlast to diskname and disklast, respectively.
3536
c137aea0
CW
35372013-08-11 Colin Watson <cjwatson@ubuntu.com>
3538
3539 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
3540
272dc8df 35412013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
3542
3543 * docs/grub.texi: Introduce terminal window position options:
3544 terminal-left: terminal window's left position
3545 terminal-top: terminal window's top position
3546 terminal-width: terminal window's width
3547 terminal-height: terminal window's height
3548 terminal-border: terminal window's border width
3549 * grub-core/gfxmenu/theme-loader.c: Likewise.
3550 * include/grub/gfxmenu_view.h: Likewise.
3551 * po/exlude.pot: Likewise.
3552 * grub-core/gfxmenu/view.c: Likewise.
3553 Also updated minimal window size.
3554 Also terminal_sanity_check function has been introduced.
272dc8df
VT
3555 * grub-core/tests/checksums.h: Update (terminal window height
3556 is adjusted now for low resolution screen)
b4743461 3557
748a4533
VS
35582013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
3561 position).
3562
fca5f944
VS
35632013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3564
3565 * po/exclude.pot: Add few recent exceptions.
3566
4f47d809
VS
35672013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3568
3569 * tests/grub_func_test.in: Add unicode.pf2.
3570
a62ae90c
VS
35712013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3572
3573 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
3574 standard rather than noral color, in line with other terminals.
3575
4ed41392
VS
35762013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3577
3578 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
3579 analysis.
3580
3719fbc5
VS
35812013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3582
3583 * grub-core/loader/arm/linux.c: Change printf to dprintf.
3584
459b1d91
VS
35852013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
3588 inappropriate printf.
3589
f4e1ab9d
AB
35902013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
3591
3592 * .bzrignore: Remove grub-core/lib/dtc-grub,
3593 grub-core/Makefile.libfdt.def
3594 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
3595
fa471bfa
VS
35962013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 * include/grub/video.h (grub_video_register): Keep double-linked as
3599 well as single-linked invariants.
3600 Reported by: qwertial.
3601
d65be02b
VS
36022013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3603
3604 * grub-core/commands/nativedisk.c (get_uuid): Handle
3605 GRUB_DISK_DEVICE_UBOOTDISK_ID.
3606
ba8bc620
VT
36072013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
3608
3609 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
3610 maximum of NW, N, NE heights instead of N's height and maximum of
3611 NW, W, SW widths instead of W's width. (So the box will be always
3612 correctly drawn)
3613
4f0ad029
GS
36142013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
3615
3616 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
3617 Fix misuse of variable count.
3618
43d53b72
LL
36192013-07-18 Leif Lindholm <leif.lindholm@arm.com>
36202013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
36212013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 3622
43d53b72
LL
3623 New ports to arm-uboot and arm-efi.
3624 Mostly by Leif Lindholm with some additions from
3625 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 3626
88f8d146
VS
36272013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
3630 and not before.
3631 Reported by: Leon Drugi.
3632
3f42504c
VS
36332013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3634
3635 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
3636 Reported by: Paulo Flabiano Smorigo.
3637
d110499b
VT
36382013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3639
3640 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
3641
a8674ad3
VT
36422013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3643
3644 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
3645
286fe4b3
VS
36462013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3647
3648 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
3649
1bd57aa3
VS
36502013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
3653
7a87d69f
AB
36542013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
3655
3656 * grub-core/net/bootp.c: Export net_* variables.
3657 * grub-core/net/net.c: Likewise.
3658
b2182299
VS
36592013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3660
3661 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
3662
795b3dc0
VS
36632013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3664
3665 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
3666
68714c43
VS
36672013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3668
3669 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
3670
af211bab
VS
36712013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
3674
0036f02d
MM
36752013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3676
3677 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
3678 <= 0.
3679
6d0ddff3
MM
36802013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3681
3682 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
3683 functions.
3684
038016f4
MM
36852013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3686
3687 * grub-core/fs/zfs/zfs_lz4.c: New file.
3688 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
3689
776bdce2
MM
36902013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3691
3692 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
3693
c71dbd40
MM
36942013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3695
3696 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
3697 (check_pool_label): Likewise.
3698 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
3699
37002013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
3701
3702 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
3703
8e67b50f
AB
37042013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3705
3706 * docs/grub.texi (Commands): Document postition parameters
3707 for menuentry command.
3708
f5ae3717
AB
37092013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3710
3711 * util/grub-mknetdir.in: Remove stray line from help output.
3712
9c28da2a
VS
37132013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3714
3715 Remove early sm712 init as there is no reason for it (the "watchdog"
3716 effect was due to wrong GPIO map).
3717
139072b8
VS
37182013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3719
3720 * grub-core/commands/pcidump.c: Remove static variables.
3721
c6a61bda
VS
37222013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3723
3724 * grub-core/commands/sleep.c: Refresh screen before sleeping.
3725
51369614
VS
37262013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 * configure.ac: Move delimiter after the infos.
3729
efa8640a
VS
37302013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3731
3732 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
3733
6f80a7b2
VS
37342013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3735
3736 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
3737 not filling whole 8x16 space.
3738
a2371e19
VS
37392013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3740
3741 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
3742
64fce2d8
VS
37432013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3744
3745 * configure.ac: Indicate which liblzma is used if any.
3746
eb272d84
PW
37472013-06-21 Paul Wise <pabs3@bonedaddy.net>
37482013-06-21 Craig Sanders <savannah@taz.net.au>
3749
3750 * util/grub-reboot.in: Document submenu usage.
3751
a9e5abee
CW
37522013-06-25 Colin Watson <cjwatson@ubuntu.com>
3753
3754 * .bzrignore: Update with a number of new test-related files.
3755
e639c204
CW
37562013-06-25 Colin Watson <cjwatson@ubuntu.com>
3757
3758 * util/grub-script-check.c: Fail on scripts containing no
3759 commands, to guard against corrupted grub-mkconfig setups that
3760 produce no useful output.
3761 * tests/grub_script_no_commands.in: New test.
3762 * Makefile.util.def (grub_script_no_commands): Add.
3763 Reported by Hans Putter. Fixes Debian bug #713886.
3764
a4c89b17
AB
37652013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3766
3767 * grub-core/disk/diskfilter.c: Forgot to remove comment
3768 from previous commit.
3769
5b06b53c
AB
37702013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3771
3772 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
3773 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
3774
702da5c9
AB
37752013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3776
3777 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
3778
aa62a5b7
AB
37792013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3780
3781 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
3782 rescan diskfilter devices until nothing new is found.
3783
4aa237c8
VS
37842013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 Fix casts when compiling coreboot-specific code for 64-bit EFI.
3787
93d8479b
VS
37882013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 Don't try to detect cbfs on *-emu.
3791
837222cc
VS
37922013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3793
3794 * grub-core/term/gfxterm.c: USe right background color when scrolling.
3795
99c971af
VS
37962013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 Add support for processed coreboot payload chainloading.
3799
e6930a45
VS
38002013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 Enable coreboot information commands even when not loaded as
3803 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
3804
5027af38
VS
38052013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 Support for cbfs. Also factor out the part which is common
3808 for all archives to a separate module. This splits tar from cpio
3809 as they are very different but keeps cpio, cpio_be, odc and newc
3810 together since they're very similar.
3811
a5b55c4b
DM
38122013-06-15 David Michael <fedora.dm0@gmail.com>
3813
3814 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
3815 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
3816
0301a8b3
VS
38172013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3818
3819 * tests/grub_script_eval.in: Really add the eval test.
3820
3d84cb17
VS
38212013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
3822
3823 Move flavour-specific parts out of common cpio.c file and
3824 rename remaining to cpio_common.c
3825
593e430c
AB
38262013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3827
3828 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
3829 off new function grub_script_execute_new_scope. Change callers to use
3830 either of them as appropriate.
3831 * grub-core/commands/eval.c: New command eval.
3832 * docs/grub.texi (Commands): Document it.
3833
63c29849
AB
38342013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3835
3836 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
3837 to fetch values when listing.
3838
cc284112
AB
38392013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3840
3841 Fix make dist on non-pc.
3842
38432013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
3844
3845 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
3846 without a device name.
3847
69544d1e
VS
38482013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 Remove enable_executable_check as it's not needed anymore.
3851 Reported by: dougray.
3852
96dbe648
VS
38532013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
3856 ambigouos RAID before discovering RAIDs on top of it.
3857 Reported by: bodom.
3858
ccfc0bdb
VS
38592013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 Fix typo (failback vs fallback).
3862
f2587088
AB
38632013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
3864
3865 * util/grub.d/30_os-prober.in: Add support for probing EFI
3866 System Partition (as of os-prober 1.58).
3867
cec5cf0c
VS
38682013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 * configure.ac: Add yet another path to unifont. For parabola.
3871
e40b4596
JT
38722013-05-30 Josh Triplett <josh@joshtriplett.org>
3873
3874 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
3875 handling to copy the killed characters to the kill buffer as
3876 UCS4 stored as grub_uint32_t rather than as 8-bit characters
3877 stored as char. Eliminates UCS4 truncation and corruption
3878 observed when killing characters with Ctrl-u and yanking them
3879 back with Ctrl-y.
3880
fc4c4fdd
VS
38812013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 Detach optional parts of gfxterm and integrate in with coreboot init.
3884
6570b205
VS
38852013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3886
3887 Move blit and fill dispatcher to appropriate files to decrease export
3888 and relocation overhead.
3889
b8323067
VS
38902013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3891
3892 * grub-core/font/font.c, include/grub/font.h: Inline simple font
3893 functions.
3894
3cc1878f
VS
38952013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3896
3897 * grub-core/Makefile.am: Fix compilation problem with some
3898 automake versions.
3899
4b80e43c
VS
39002013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3901
3902 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
3903
57e0c20c
VS
39042013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3905
3906 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
3907 automake versions.
3908
4fd42c53
VS
39092013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3910
3911 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
3912 SSDT.
3913
1e908b34
RS
39142013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
3915
3916 * grub-core/partmap/dfly.c: New partition map.
3917
1359e474
VS
39182013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
3921 checking.
3922 Reported by: Francesco Lavra.
3923
17806392
AB
39242013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
3925
3926 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
3927 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
3928 false conditions.
3929 * conf/Makefile.common: define dist_grubconf_DATA
3930
cdce14fa
VS
39312013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 Progressively skip menu elements on small terminals rather
3934 than crashing.
3935
c8d6cc3c
VS
39362013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
3939 to avoid losing last column.
3940
a73b31ce
VS
39412013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 * po/exclude.pot: Add missing string "%C".
3944
1202c764
VS
39452013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3946
3947 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
3948 after the test.
3949
50268344
VS
39502013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3951
3952 * util/grub-install.in: Gettextize "Not found" message.
3953
62b15edf
VS
39542013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3955
3956 Fix distfiles list.
3957 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3958
39592013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
3960
3961 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
3962 present.
3963 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
3964
709ad61b
VS
39652013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3966
3967 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
3968
d128901a
VS
39692013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
3972 attribute since structure is not necessarily aligned.
3973
34b22f5c
AB
39742013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
3975
3976 * docs/grub.texi (Device syntax): Clarify description of network
3977 drives.
3978
0f7e980b
VS
39792013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3980
3981 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
3982 for vasprintf presence.
3983
30b03dc2
VS
39842013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3985
3986 * util/grub-install.in: Handle efibootmgr presence check.
3987 Reported by: Leif Lindholm.
3988
0dc11c08
VS
39892013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3990
3991 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
3992 new strings to translate.
3993
f8024c3f
VS
39942013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3995
3996 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
3997 yet another string (pun intended) to translate.
3998
b4c1da62
VS
39992013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * po/POTFILES-shell.in: Autogenerate it.
4002
0ef7478b
VS
40032013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
4006
8200fa15
VS
40072013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4008
4009 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
4010 misnomer.
4011
091945b2
AB
40122013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
4013
4014 * docs/grub.texi (Network): Add description of net_default_interface,
4015 net_default_ip and net_default_mac. Rewrite variables description
4016 to emphasize that they are per-interface.
4017
0e7b2e32
VS
40182013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 New test: cmdline and cat.
4021
16f7c8f6
VS
40222013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4023
4024 * grub-core/commands/cat.c: Show UTF-8 characters.
4025
3e912fda
VS
40262013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * conf/Makefile.common: Poison float and double on non-emu.
4029
ee0220bc
VS
40302013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4031
4032 * configure.ac: Don't disable extended registers on emu.
4033
89e0240c
VS
40342013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4035
4036 * configure.ac: Don't use extended registers on x86_64.
4037 Reported by: Peter Jones.
4038
e56d9637
VS
40392013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 * grub-core/term/efi/console.c: Fix compile error.
4042
8098f655
VS
40432013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 Compressed HFS+ support.
4046
16940e07
VS
40472013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
4050 pixel".
4051
c5dbc13d
VS
40522013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4053
4054 Menu color test.
4055
011f8ae8
VS
40562013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4057
4058 * grub-core/tests/setjmp_test.c: New test.
4059
2aa072d7
VS
40602013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 New variables 'net_default_*' to determine MAC/IP of default interface.
4063
43fe02cb
VS
40642013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4065
4066 * tests/gettext_strings_test.in: A test to check for strings not
4067 marked for translation.
4068
bed06142
VS
40692013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * autogen.sh: Exclude unused libgcrypt files from translation.
4072
fb2666b5
VS
40732013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4074
4075 Simplify few strings.
4076
d22840ec
VS
40772013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 Mark few forgotten strings for translation.
4080
e34092fd
VS
40812013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
4084 rather than printf.
4085
47cf82b4
VS
40862013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
4089 rather than printf.
4090 * grub-core/video/readers/tga.c: Likewise.
4091
1eed0e6e
VS
40922013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4093
4094 * tests/priority_queue_unit_test.cc: New test.
4095
c5b7697b
VS
40962013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4097
4098 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
4099 than printf.
4100
5945c2f8
AB
41012013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
4102
4103 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
4104 variable for one time boot menu entry.
4105
fa292343
B
41062013-05-05 Bean <bean123ch@gmail.com>
4107
4108 * grub-core/commands/testspeed.c: New command testspeed.
4109
310d4214
VS
41102013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4111
4112 Factor-out human-size printing.
4113
85002bf3
VS
41142013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4115
4116 Agglomerate more mallocs to speed-up gfxterm.
4117
22b06e96
VS
41182013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4119
4120 Speed-up gfxterm by slightly agglomerating mallocs.
4121
b7c036bc
VS
41222013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4123
4124 More video checks.
4125
92323d1f
VS
41262013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4127
4128 Speed-up gfxterm by saving intermediate results in index+alpha
4129 format.
4130
0fb356a3
VS
41312013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4132
4133 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
4134 test.
4135
44dea3f9
VS
41362013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
4139 line of timeout as it may contain the rest of long line.
4140
14af86e4
VS
41412013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4142
4143 * grub-core/normal/main.c: Fix freed memory dereference.
4144
03f7c8c3
VS
41452013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4146
4147 Fix several memory leaks.
4148
c686014c
VS
41492013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4150
4151 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
4152
0788a695
VS
41532013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4154
4155 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
4156
daf01d61
VS
41572013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 Fix test -a and -o precedence.
4160 Reported by: adrian15.
4161
82ae74d7
VS
41622013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4163
4164 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
4165
8cec7bd4
AB
41662013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
4167
4168 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
4169 and add it as source to functional_test module.
4170
aa73d688
VS
41712013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4172
4173 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
4174
c104b6f9
VS
41752013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4176
4177 New series of tests for gfxterm and gfxmenu.
4178
7391c4d5
VS
41792013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
4182 the theme path relative to $prefix/themes.
4183
cff50118
VS
41842013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4185
4186 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
4187 Fix order bug.
4188 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4189
7c332bdc
VS
41902013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4191
4192 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
4193 descriptor.
4194
a4f9a5ff
VS
41952013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4196
4197 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
4198 grub_gfxmenu_timeout_notifications.
4199 (grub_gfxmenu_view_destroy): Likewise.
4200
b5a2114d
VS
42012013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
4204
a8905e8a
VS
42052013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 Several fixes to ieee1275 and big-endian video.
4208
813c1622
VS
42092013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 Add missing exports on mips.
4212
3f3e7326
VS
42132013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4214
4215 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
4216 if no unifont is found.
4217 Restore original keyboard.
4218
095accd1
VS
42192013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
4222 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
4223
50361660
VS
42242013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4225
4226 First automated video test (running videotest and comparing results)
4227
cd0f6eec
VS
42282013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4229
4230 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
4231 instead of 2 to have full RGB/CMY test pattern.
4232
3f9634e5
VS
42332013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4234
4235 Add few more tests.
4236
583e5b64
VS
42372013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 * include/grub/arc/arc.h: Account for missing "other" peripheral on
4240 ARCS. All users updated.
4241
aa7bcb99
VS
42422013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4243
4244 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
4245
95ef1a54
VS
42462013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4247
4248 * grub-core/partmap/amiga.c: Fix size of checksummed block.
4249
46546fc5
VS
42502013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4251
4252 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
4253 Reported by: qwertial.
4254
3476e0ef
VT
42552013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
4256
4257 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
4258 with syntax "XXX deg"/"XXX °".
4259
96f33fed
VS
42602013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 Make PCI init in i386-qemu port more robust.
4263
42642013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
4265
4266 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
4267 cached view is reused.
4268 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
4269 open boot menus.
4270
c53b4e67
VS
42712013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 Unify more code in grub-install_header.
4274
f7457fb2
VS
42752013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4276
4277 Add few new tests.
4278
e2f27a8c
VS
42792013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4280
4281 Enforce disabling of firmware disk drivers when native drivers kick in.
4282
ef9d8cd5
VS
42832013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4284
4285 * grub-core/commands/nativedisk.c: Customize the list of modules on
4286 platform. Don't try to search for disks already using native drivers.
4287
f7bf6c31
VS
42882013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4289
4290 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
4291 platforms.
4292
bdc4add8
VS
42932013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4294
4295 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
4296 handling of variables containing backslash.
4297
e9e46c9a
VS
42982013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
4301 dereference.
4302 Reported by: qwertial.
4303
0e90dee8
VS
43042013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4305
4306 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
4307
e0aacf24
VS
43082013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
4311 dereference.
4312 Reported by: qwertial.
4313
3c0003c3
VS
43142013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4315
4316 * docs/grub.texi: Add a comment about usefullness of nativedisk.
4317
adb7d667
VS
43182013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
4321
7cd0df84
VS
43222013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 New command `nativedisk'.
4325
02adbb93
VS
43262013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4327
4328 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
4329 * grub-core/loader/i386/bsd.c: Likewise.
4330
9fb0fd4f
VS
43312013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4332
4333 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
4334
bd69257a
VS
43352013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4336
4337 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
4338 grub_get_unaligned16 rather than shifts.
4339
178c2764
VS
43402013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 * grub-core/kern/file.c: Use const char * rather than casting to
4343 non-const.
4344
eadfad24
VS
43452013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 * grub-core/commands/probe.c: Add missing grub_device_close.
4348
9f73ebd4
VS
43492013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4350
4351 * INSTALL: Document linguas.sh.
4352
965fa829
VS
43532013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4354
4355 Remove POTFILES.in and regenerate it in autogen.sh.
4356
d417ddc4
VS
43572013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 Move --directory/--override-directorry to grub-install_header and unify.
4360
f97ec546
VS
43612013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4362
4363 * grub-core/term/morse.c: Macroify dih and dah.
4364
b2d7470c
PFS
43652013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4366
4367 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
4368
141e2a78
VS
43692013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4370
4371 * grub-core/term/ns8250.c: Systematically probe ports by writing
4372 to SR before using them.
4373
1dd70ebd
PFS
43742013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4375
4376 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
4377 disks.
4378 (check_sas): Get sas_adress info.
4379
c796a107
VS
43802013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
4383 ports.
4384
43168646
LD
43852013-04-27 Leon Drugi <eyak>
4386
4387 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
4388 BSS clearing.
4389
e7b8fd08
VS
43902013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4391
4392 Core compression test.
4393
17f9fd29
VS
43942013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4395
4396 Implement grub_machine_get_bootlocation for ARC.
4397
dc2a6c8b
VS
43982013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 Improve AHCI detection and command issuing.
4401
f25a2ba6
VS
44022013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 Fix pseries test.
4405
a6393224
VS
44062013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4407
4408 Make 'make check' work on emu.
4409
db99fbe8
VS
44102013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4411
4412 Replace libcurses with our own vt100 handling for the ease of testing
4413 and decreasing prerequisites.
4414
b24ca7cd
VS
44152013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4416
4417 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
4418
63314aa4
VS
44192013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4420
4421 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
4422 compile when not needed.
4423
c1b00fff
VS
44242013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4425
4426 * tests/pseries_test.in: New test.
4427
f93e89ef
VS
44282013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 Add test to check that different boot mediums work.
4431
c4b456d3
VS
44322013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4433
4434 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
4435 ofw limited ISO support.
4436
5fe67f39
VS
44372013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4438
4439 * configure.ac: Fix loongson conditional.
4440
7f63a64f
VS
44412013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 Enable mipsel-arc.
4444
b04b5990
VS
44452013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4446
4447 Add serial on ARC platform.
4448
88d2f302
VS
44492013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4450
4451 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
4452 commit.
4453
86eb23bc
VS
44542013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 * tests/partmap_test.in: Add missing double semicolon.
4457
eec3bb75
VS
44582013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4459
4460 * util/grub-mkrescue.in: Fix loongson filename.
4461
e0810df3
VS
44622013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4463
4464 * util/grub-mkrescue.in: Move all files that don't have a location
4465 set in stone under /boot/grub. Use ISO hard links rather than copies
4466 to save some space.
4467
65a6b30b
VS
44682013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
4471 bogus SLOF values.
4472
6aff0107
VS
44732013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 Make check work on mips-arc.
4476
5e013e56
VS
44772013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 * util/grub-mkrescue.in: Alias sashARCS as sash.
4480
d1989e2e
VS
44812013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4482
4483 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
4484 it's serial.
4485
1a25e72c
VS
44862013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4487
4488 * util/grub-install.in: Fix target fo qemu_mips.
4489 Fix extension on EFI.
4490
a59a9826
VS
44912013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
4494 in front of chosen entry to mark it even if highlighting is lost.
4495
1a40f80c
VS
44962013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
4499 gfxpayload=keep if cbfb is active.
4500
e343549c
VS
45012013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
4504
45fbd9a2
VS
45052013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 Add missing video ids to coreboot and ieee1275 video.
4508
ab1440bd
VS
45092013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4510
4511 * util/grub-mkrescue.in: Add mips-arc support.
4512
cdeb8324
VS
45132013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
4516
8528c879
VS
45172013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4518
4519 Move mips-arc link address. Previous link address was chosen
4520 in belief that RAM on SGI platforms grows down while in fact it
4521 grows up from an unusual base.
4522
17fca573
VS
45232013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4524
4525 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
4526 Fix a type which prevented CD-ROM and floppy boot.
4527
d178788e
VS
45282013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4529
4530 Support coreboot framebuffer.
4531
4532 * grub-core/video/i386/coreboot/cbfb.c: New file.
4533
fe4c3e7e
VS
45342013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4535
4536 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
4537 detecting too small regions.
4538
ec2dd179
VS
45392013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4540
4541 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
4542
872dac83
VS
45432013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
4546 Remove dprintf.
4547 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4548
90ec4b7f
VS
45492013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4550
4551 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
4552 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4553 * grub-core/loader/powerpc/ieee1275/linux.c
4554 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4555
f32555dd
VS
45562013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4557
4558 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4559 Look for /boot-rom as well as /rom/boot-rom.
4560
38649799
VS
45612013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
4564 handling when creating text_layer failed.
4565 * grub-core/video/video.c (grub_video_create_render_target):
4566 Set result to 0 on error.
4567 (grub_video_delete_render_target): Do not dereference NULL.
4568
aeace7f7
VS
45692013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
4572 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
4573 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
4574 (grub_linux_load64): Mask out 2 high bits.
4575
4eafa175
AB
45762013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
4577
4578 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
4579 more place.
4580
daaa64bd
VS
45812013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 Add support for pseries and other bootinfo machines to grub-mkrescue.
4584
4585 Tested by: Paulo Flabiano Smorigo.
4586
d0d2daa6
VS
45872013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4588
4589 * util/grub-mkrescue.in: Add GPT for EFI boot.
4590
b193e100
VS
45912013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4592
4593 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
4594 It improves performance in qemu.
4595
a0f8f3ac
VS
45962013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * build-aux/snippet: Add missing gnulib files.
4599
284df0e2
AB
46002013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4601
4602 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
4603
740201f3
AB
46042013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4605
4606 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
4607
a7e03923
PJ
46082013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
46092013-04-15 Peter Jones <pjones@redhat.com>
4610
4611 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
4612 sectors.
4613 Based on patch by Peter Jones.
4614
25fc51a8
VS
46152013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4616
4617 Fix DMRAID partition handling.
4618
88017d47
VS
46192013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 * tests/grub_cmd_date.in: Skip on sparc64.
4622
fa7d914e
VS
46232013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4624
4625 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
4626 firmware error messages.
4627
cbe57a48
VS
46282013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4629
4630 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
4631 source and destination differ.
4632
21aecce0
VS
46332013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
4636 detection.
4637
25092d29
VS
46382013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4639
4640 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
4641 match config-util.h to avoid warnings and increase compatibility.
4642
79451522 46432013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 46442013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
4645
4646 Add option to compress files on install/image creation.
4647
78b7d77b
VS
46482013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 * docs/grub-dev.texi: Rearrange menu to match the section order.
4651 Reported by: Bryan Hundven.
4652
cc2fa5ec
VS
46532013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
4656
b49fe879
VS
46572013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4658
4659 Move GRUB out of system area when using xorriso 1.2.9 or later.
4660
5351da81
VS
46612013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 * tests/grub_cmd_date.in: Add missing exit 1.
4664
c9d586ea
VS
46652013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 * tests/partmap_test.in: Skip on sparc64.
4668
3f729741
VS
46692013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4670
4671 Support grub-shell on sparc64.
4672
8ca86b3a
VS
46732013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 Support mkrescue on sparc64.
4676
aa1af9bb
VS
46772013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 Allow IEEE1275 ports on path even if it wasn't detected automatically.
4680 Needed on OpenBIOS due to incomplete device tree.
4681
ac4fea79
VS
46822013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
4685 would be otherwise excluded.
4686
46872013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
4688
4689 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4690 Inline name defines used only once.
4691
fe22b071
VS
46922013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4693
4694 Fix memory leaks in ofnet.
4695 Reported by: Francesco Lavra.
4696
9d21381b
VS
46972013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4698
4699 * docs/man/grub-glue-efi.h2m: Add missing file.
4700
07aec23c
VS
47012013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
4704
67ab8353
VS
47052013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 Better support Apple Intel Macs on CD.
4708
ba44ca6d
VS
47092013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4710
4711 Replace stpcpy with grub_stpcpy in tools.
4712
bbdd6305
VS
47132013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 Handle Japanese special keys.
4716 Reported by: Hiroyuki YAMAMORI.
4717 Codes supplied by: Hiroyuki YAMAMORI.
4718
8573d302
VS
47192013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4720
4721 * util/grub-mkimage.c: Document memdisk implying --prefix.
4722
d70dbab7
VS
47232013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4724
4725 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
4726 much we can do about it anyway.
4727
51a4c3e3
AN
47282013-04-12 Aleš Nesrsta <starous@volny.cz>
4729
4730 Fix handling of split transfers.
4731
92c8f58d
VS
47322013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 * grub-core/net/http.c: Fix bad free.
4735
b7d17a49
VS
47362013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4737
4738 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
4739 than buffer size.
4740
a3d566d4
VS
47412013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4742
4743 Disable partmap check on i386-ieee1275 due to openfirmware issues.
4744
a936af56
VS
47452013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4746
4747 * tests/util/grub-shell.in: Fix it on powerpc.
4748
51212234
VS
47492013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 Turn off QEMU ACPI-way since new releases don't have shutdown port
4752 anymore.
4753
a21eec9e
VS
47542013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 * docs/grub.texi: Update coreboot status info.
4757
e3734b84
VS
47582013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 * tests/grub_cmd_date.in: New test for datetime.
4761
f9d40055
VS
47622013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4763
4764 * tests/partmap_test.in: Fix missing qemudisk setting.
4765
dbc56d8f
VS
47662013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4767
4768 Support i386-ieee1275 grub-mkrescue and make check on it.
4769
a79b8a15
VS
47702013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4771
4772 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
4773 feature for it.
4774
48f39bb4
VS
47752013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
4778 GRUB_CMDLINE_XEN_DEFAULT.
4779 Reported by: Marc Warne (GigaTux) <gigatux>
4780
053cfcdd
VS
47812013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4782
4783 Import new gnulib.
4784
93cd84df
VS
47852013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4786
4787 Use ACPI shutdown intests as traditional port was removed.
4788
f4b1fa4f
AB
47892013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
4790
4791 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
4792 distinction.
4793
49818a59
VS
47942013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4795
4796 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
4797 Fix few warining messages and leaks while on it.
4798
9277a306
AB
47992013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
4800
4801 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
4802 links under grub-core/lib/libgcrypt-grub/mpi.
4803
d5e2a158
VS
48042013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4805
4806 Fix ia64-efi image generation on big-endian machines. Deduplicate
4807 some code while on it.
4808 Reported by: Leif Lindholm.
4809
18866643
AB
48102013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4811
4812 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
4813 as extra_dist.
4814
ca53deb8
AB
48152013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4816
4817 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
4818
d4c4b8e1
BH
48192013-04-08 Bryan Hundven <bryanhundven@gmail.com>
4820
4821 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
4822 texinfo-5.1.
4823
47043f95
VS
48242013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * grub-core/normal/term.c: Few more fixes for menu entry editor
4827 rendering.
4828 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4829
a3216068
VS
48302013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4831
4832 * grub-core/normal/term.c: Few more fixes for menu entry editor
4833 rendering.
4834 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4835
21026747
AB
48362013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4837
4838 * conf/Makefile.extra-dist (EXTRA_DIST): Add
4839 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
4840
59624ca8
AB
48412013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4842
4843 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
4844 instead of hardcoding grub.mo.
4845
1f44478c
FN
48462013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
4847
4848 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
4849
eeada7b1
VS
48502013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
4853 grub-core/disk/geli.c.
4854
132867de
VS
48552013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4856
4857 * util/grub-mkfont.c: Prefer enum to #define.
4858
de73de17
VS
48592013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
4862
1865baa7
VS
48632013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4864
4865 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
4866
ce7d92a9
VS
48672013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4868
4869 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
4870
52eab656
VS
48712013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4872
4873 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
4874
98b23b95
VS
48752013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * include/grub/bsdlabel.h: Use enums.
4878
0467a5dd
VS
48792013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4880
4881 Move GRUB_CHAR_BIT to types.h.
4882
16cc9f03
AB
48832013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
4884
4885 * docs/grub.texi: Document more user commands.
4886
3152aecb
AB
48872013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
4888
4889 * docs/grub.texi: Document menuentry --id option.
4890
c506fc30
FL
48912013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
4892
4893 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
4894
aa428238
VS
48952013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 Unify file copying setup across different install scripts. Add
4898 options for performing partial install.
4899
efe0cdda
PJ
49002013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
49012013-04-04 Peter Jones <pjones@redhat.com>
4902
4903 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
4904
f75835bd
VS
49052013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4906
4907 Use TSC as a possible time source on i386-ieee1275.
4908
2cd5ce6c
VS
49092013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4910
4911 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
4912 Init err.
4913
c9625630
VS
49142013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4915
4916 * util/grub-setup.c (setup): Handle some corner cases.
4917
be008941
VS
49182013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4919
4920 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
4921
1a78d573
VS
49222013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * grub-core/commands/verify.c: Save verified file to avoid it being
4925 tampered with after verification was done.
4926
db8ff59f
VS
49272013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
4930 reported width by one to compensate for curesor algorithm problem.
4931
91bf46b1
VS
49322013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4933
4934 Fix screen corruption in menu entry editor and simplify the code
4935 flow while on it.
4936
a7b1d693
AB
49372013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
4938
4939 * util/grub-mount.c (fuse_init): Return error if fuse_main
4940 failed.
4941
31df9ad8
FL
49422013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
4943
4944 * include/grub/elf.h: Add missing ARM relocation codes and fix
4945 existing ones.
4946
07f392eb
VT
49472013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
4948
4949 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
4950
9efd73ec 49512013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
49522013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4953
4954 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
4955 into account when calculating radius.
4956
49572013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
4958
4959 * grub-core/gfxmenu/view.c: Fix off-by-one error.
4960
4985ddaa
VT
49612013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
4962
4963 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
4964
8c3635ff
RS
49652013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
4966
4967 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
4968 missing closing bracket.
4969
74a35e69
RS
49702013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
4971
4972 * INSTALL: Mention xorriso requirement.
4973
40f1c000
AB
49742013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
4975
4976 * grub-core/commands/verify.c: Fix hash algorithms values for
4977 the first three hashes - they start with 1, not with 0.
4978
e75fdee4
VS
49792013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
4982 Try terminating EFI services several times due to quirks in some
4983 implementations.
4984
33028f4c
CW
49852013-03-26 Colin Watson <cjwatson@ubuntu.com>
4986
4987 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
4988 skipping Event, Device, Processor, PowerRes, ThermalZone, and
4989 BankField extended opcodes.
4990 (get_sleep_type): Add minimal scope handling (just enough to
4991 handle setting the scope to the root path).
4992 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
4993 * include/grub/acpi.h: Add enumeration values for Event, Device,
4994 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
4995
33871a10
VT
49962013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
4997
4998 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
4999 memory leak.
5000
8990963a
VS
50012013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5002
5003 * grub-core/disk/ahci.c: Give more time for AHCI request.
5004
daae8f9e
VS
50052013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
5008 command.
5009
6a7fb94b
VS
50102013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5011
5012 Replace the region at 0 from coreboot tables to available in BSD
5013 memory map.
5014
ff99babd
VS
50152013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5016
5017 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
5018 non-BIOS platforms.
5019
30d6b1b2
VS
50202013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5021
5022 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
5023 platforms.
5024
6ccd0b31
VS
50252013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
5028 handling of multi-device filesystems.
5029
23c9cc04
VS
50302013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5031
5032 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
5033 platforms.
5034
ce50dbd7
VS
50352013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5036
5037 Add new 'proc' filesystem framework and put luks_script into it.
5038
d975e8d5
VS
50392013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5040
5041 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
5042 and qemu.
5043
e73ba5e8
VS
50442013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5045
5046 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
5047
92750e4c
VS
50482013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5049
5050 Add ability to generate newc additions on runtime.
5051
0ec45a68
VS
50522013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
5055 description.
5056
320abd43
VS
50572013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 * po/POTFILES.in: Regenerate.
5060
d7a6506e
VS
50612013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5062
5063 * grub-core/commands/verify.c (hashes): Add several hashes
5064 from the spec.
5065
8fe05def
VS
50662013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 Slight improve in USB-related boot-time checkpoints.
5069
524e2766
VS
50702013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5071
5072 * grub-core/commands/boottime.c: Fix copyright header.
5073
cc19857a
VS
50742013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
5077 coreboot tables content. Support for cbmemc.
5078
ef8810e9
VS
50792013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 Fix a conflict between ports structures with 2 controllers of
5082 same kind.
5083
e9dabdfa
VS
50842013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5085
5086 * include/grub/boottime.h: Add missing file.
5087
f6df57d2
VS
50882013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5089
5090 Initialize USB ports in parallel to speed-up boot.
5091
d745dda7
VS
50922013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5093
5094 Fix USB devices not being detected when requested
5095 due to delayed attach.
5096
e5a2dd7b
VS
50972013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5098
e744219b
VS
5099 Implement boot time analysis framework.
5100
51012013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
5104 descriptor to just receive it as argument rather than endpoint
5105 address.
5106
5dd6f587
VS
51072013-03-19 Aleš Nesrsta <starous@volny.cz>
5108
5109 Better estimate the maximum USB transfer size.
5110
2f1071d5
VS
51112013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5112
5113 Resend a packet if we got the wrong buffer in status.
5114
46ecfc49
VS
51152013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5116
5117 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
5118 multiplication rather than division.
5119
ea811130
VS
51202013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
5123 than divisions.
5124
d2789cf0
VS
51252013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
5128 operations to have intended shifts and not divisions.
5129
a9c94590
VS
51302013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5131
5132 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
5133 intended shifts rather than division.
5134
84cfe81b
VS
51352013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5136
5137 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
5138 computation for some years before epoch. Avode confusing division
5139 while on it.
5140
21344ef6
VS
51412013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5142
5143 * grub-core/video/i386/pc/vbe.c
5144 (grub_video_vbe_print_adapter_specific_info): Replace division by
5145 shifts.
5146
3f2b4d1a
VS
51472013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 Adjust types in gdb module to have intended unsigned shifts rather than
5150 signed divisions.
5151
3dac5878
VS
51522013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5153
5154 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
5155 maximum size is 4G - 1 on hfs
5156
5341c0fb
VS
51572013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
5160
fc3ff2a2
VS
51612013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5162
5163 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
5164 function.
5165
81455e8e
AB
51662013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
5167
5168 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
5169 causing gcc error with gcc 4.7.1.
5170
efd4f117
NZ
51712013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5172
5173 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
5174 dereference null pointer. While the code is technically correct, gcc
5175 may eliminate a null check if pointer is already dereferenced.
5176
e11645f4
NZ
51772013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5178
5179 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
5180 OOM check.
5181 * grub-core/normal/term.c (read_terminal_list): Likewise.
5182
77468368
VS
51832013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5184
5185 Lift up core size limits on some platforms. Fix potential memory
5186 corruption with big core on small memory systems. Document remaining
5187 limits.
5188
f6b58fe5
VS
51892013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
5192 gotoxy to 0,0.
5193
19ce697d
VS
51942013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 Remove all trampoline support. Add -Wtrampolines when
5197 present. Remove symbols used for trampolines to make
5198 link fail if trampolines are present.
5199
73b5d90f
VS
52002013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5201
5202 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
5203 append out of its parent.
5204
cb758e96
VS
52052013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
5208 parent.
5209
3188131f
VS
52102013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
5213 all vars to a macro. All users updated.
5214
e42b2514
VS
52152013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 * grub-core/disk/ieee1275/nand.c: Fix compilation on
5218 i386-ieee1275.
5219
83e1a1a1
VS
52202013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5221
5222 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
5223
1d5a880f
VS
52242013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5225
5226 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
5227
6e4146c4
VS
52282013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5229
5230 Move to more hookless approach in IEEE1275 devices handling.
5231
99fcda8a
VS
52322013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 * grub-core/kern/term.c (grub_term_normal_color),
5235 (grub_term_highlight_color): Add back lost defaults.
5236
73bf57e2
VS
52372013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 Make elfload not use hooks. Opt for flags and iterators instead.
5240
7f8c105f
VS
52412013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5242
5243 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
5244 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
5245
396d4091
VS
52462013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5247
5248 * grub-core/script/execute.c (gettext_append): Remove nested functions.
5249
52502013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5251
5252 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
5253 hook pass-through parameter. All users updated and unnested.
5254
74a27421
VS
52552013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
5258 out of its parent.
5259
b46d4213
VS
52602013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5261
5262 * grub-core/fs/hfs.c: Remove nested functions.
5263
e114c3cc
VS
52642013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5265
5266 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
5267 the context through.
5268 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
5269
f9b7d780
VS
52702013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5271
5272 * util/grub-editenv.c (list_variables): Move print_var out of its
5273 parent.
5274
ca9c2608
VS
52752013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5276
5277 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
5278 function.
5279
5d983f5f
VS
52802013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5281
5282 * grub-core/gentrigtables.c: Make tables const.
5283
3056d3e7
VS
52842013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5285
5286 Remove nested functions from videoinfo iterators.
5287
e2303774
VS
52882013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5289
5290 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
5291 for 64-bit platforms.
5292
f42e3a2f
VS
52932013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
5296 a FOR_CHILDREN macro.
5297
be174e5e
VS
52982013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
5301 platform from firmware path.
5302
0789b672
VS
53032013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5304
5305 Enable linux16 on non-BIOS systems for i.a. memtest.
5306
5307 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
5308 correctly.
5309 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
5310
005a9c32
VS
53112013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
5314 Fix end of table condition.
5315
ff2b3cd9
VS
53162013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
5319 out of its parent.
5320
4fc40ff8
VS
53212013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 * grub-core/fs/jfs.c: Remove nested functions.
5324
be42d97a
VS
53252013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5326
5327 * grub-core/fs/minix.c: Remove nested functions.
5328
99373ce4
VS
53292013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5330
5331 * grub-core/fs/iso9660.c: Remove nested functions.
5332
5aec2afe
VS
53332013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5334
5335 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
5336 of parent function.
5337
6c69e691
VS
53382013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 * util/grub-fstest.c: Remove nested functions.
5341
43c91882
VS
53422013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * grub-core/loader/machoXX.c: Remove nested functions.
5345
4eb8b756
CW
53462013-02-27 Colin Watson <cjwatson@ubuntu.com>
5347
5348 Remove nested functions from disk and file read hooks.
5349
5350 * include/grub/disk.h (grub_disk_read_hook_t): New type.
5351 (struct grub_disk): Add read_hook_data member.
5352 * include/grub/file.h (struct grub_file): Likewise.
5353 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
5354 argument.
5355
5356 Update all callers.
5357
df6da5a5
AB
53582012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
5359
5360 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
5361 Fix off by one error in enumerating extended partitions.
5362
21aecde5
AB
53632013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
5364
5365 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
5366 memory leak if device name is not found.
5367
f1a19118
AB
53682013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5369
5370 * grub-core/normal/menu_entry.c (update_screen): remove
5371 unused variable `off' which caused scroll down arrow to be always shown.
5372
958bfd20
AB
53732013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5374
5375 * grub-core/normal/menu_entry.c (insert_string): fix off by one
5376 access to unallocated memory.
5377
b7b78edb
AB
53782013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5379
5380 * Makefile.util.def: Add partmap/msdos.c to common library.
5381 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
5382 * grub-core/disk/ldm.c: Check for existence of
5383 GRUB_PC_PARTITION_TYPE_LDM.
5384
28d468d6
VS
53852013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
5388 sizes and display sector size.
5389
d55ffb02
VS
53902013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 Implement new command cmosdump.
5393
b5ea6ce0
VS
53942013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5395
5396 Support Openfirmware disks with non-512B sectors.
5397
5398 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
5399 size of the disk.
5400 * (grub_ofdisk_get_block_size): New function.
5401 * (grub_ofdisk_prepare): Use the correct block size.
5402 * (grub_ofdisk_read): Likewise.
5403 * (grub_ofdisk_write): Likewise.
5404 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
5405 New proto.
5406
cc0e476f
VS
54072013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5408
5409 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
5410
c5dbdc33
VS
54112013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5412
5413 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
5414 on first error.
5415
3f078c0f
VS
54162013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5417
5418 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
5419 freeing it.
5420
66a93674
VS
54212013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5422
5423 Implement USBDebug (full USB stack variant).
5424
c9f0c134
VS
54252013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5426
5427 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
5428 unless they have unexpected values.
5429
cfe1288b
VS
54302013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5431
5432 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
5433 grub_print_error.
5434
e42b9969
VS
54352013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5436
5437 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
5438 zero-out of port structure.
5439
cf94fd62
VS
54402013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5441
5442 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
5443 of extended attributes.
5444
f81ef4b5
AB
54452013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
5446
5447 * util/grub-install.in: change misleading comment about
5448 device.map creation
5449
af18fdb4
VS
54502013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5451
5452 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
5453 when menu highlight color isn't set.
5454
08bcec50
M
54552013-01-27 C. Masloch <pushbx@38.de>
5456
5457 Improve FreeDOS direct loading support compatibility.
5458
5459 * include/grub/i386/relocator.h (grub_relocator16_state):
5460 New member ebp.
5461 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
5462 variable.
5463 (grub_relocator16_boot): Handle %ebp.
5464 * grub-core/lib/i386/relocator16.S: Likewise.
5465 * grub-core/loader/i386/pc/freedos.c:
5466 Load BPB to pass kernel which partition to load from.
5467 Check that kernel file is not too large.
5468 Set register dl to BIOS unit number as well.
5469
7782b8a6
CW
54702013-01-22 Colin Watson <cjwatson@ubuntu.com>
5471
5472 * util/grub-reboot.in (usage): Document the need for
5473 GRUB_DEFAULT=saved.
5474 * util/grub-set-default.in (usage): Likewise.
5475 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
5476
e661c180
VS
54772013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5478
5479 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
5480 than defining WORDS_BIGENDIAN manually.
5481
1c22ca9a
VS
54822013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5483
5484 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
5485 invariants.
5486
d44892fe
CW
54872013-01-21 Colin Watson <cjwatson@ubuntu.com>
5488
5489 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
5490 nested.
5491 (blit_comb: add_device_width): Likewise.
5492
5fdbaed1
CW
54932013-01-21 Colin Watson <cjwatson@ubuntu.com>
5494
5495 Remove nested functions from USB iterators.
5496
5497 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
5498 (grub_usb_controller_iterate_hook_t): Likewise.
5499 (grub_usb_iterate): Add hook_data argument.
5500 (grub_usb_controller_iterate): Likewise.
5501 (struct grub_usb_controller_dev.iterate): Likewise.
5502
5503 Update all implementations and callers.
5504
4250985a
VS
55052013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5506
5507 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
5508 margin when not needed.
5509
7d8848f3
VS
55102013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5511
bc136973 5512 Make color variables global instead of it being per-terminal.
7d8848f3
VS
5513
55142013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5515
bc136973
VS
5516 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
5517 asterisk.
7d8848f3 5518
ed12a003
CW
55192013-01-21 Colin Watson <cjwatson@ubuntu.com>
5520
5521 Fix powerpc and sparc64 build failures caused by un-nesting memory
5522 map iterators.
5523
6a0db449
CW
55242013-01-21 Colin Watson <cjwatson@ubuntu.com>
5525
5526 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
5527 parameter declarations.
5528
ccd86b21
VS
55292013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
5532
822b726b
VS
55332013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 Improve spkmomdem reliability by adding a separator between bytes.
5536
115c2cc1
CW
55372013-01-21 Colin Watson <cjwatson@ubuntu.com>
5538
5539 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
5540 an Acer registration utility with several sightings in the wild.
5541 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
5542
fc524edf
CW
55432013-01-21 Colin Watson <cjwatson@ubuntu.com>
5544
5545 Remove nested functions from filesystem directory iterators.
5546
5547 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
5548 (struct grub_fs.dir): Add hook_data argument.
5549
5550 Update all implementations and callers.
5551
53d3e4e3
CW
55522013-01-21 Colin Watson <cjwatson@ubuntu.com>
5553
5554 * docs/grub.texi (Multi-boot manual config): Fix typo for
5555 "recommended".
5556
c821711f
LL
55572013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5558
5559 * util/grub-mkimage.c (main): Postpone freeing arguments.output
5560 until after its use in generate_image.
5561
6a0debbd
CW
55622013-01-20 Colin Watson <cjwatson@ubuntu.com>
5563
5564 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
5565 initrd size to addr_min, since the initrd will be allocated after
5566 this address.
5567
f41e08db
AB
55682013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5569
5570 * conf/Makefile.common: Fix autogen rules to pass definition
5571 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
5572
77529e0f
LL
55732013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5574
5575 * include/grub/elf.h: Update ARM definitions based on binutils.
5576
b879aa7b
VS
55772013-01-20 Aleš Nesrsta <starous@volny.cz>
5578
5579 Split long USB transfers into short ones.
5580
8eb8284d
AB
55812013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5582
5583 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
5584 is interrupted by ESC.
5585
08dad2dc
VS
55862013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5587
5588 * util/grub-script-check.c (main): Uniform the error message.
5589
6c724b85
CW
55902013-01-20 Colin Watson <cjwatson@ubuntu.com>
5591
5592 Remove nested functions from ELF iterators.
5593
25239370
CW
55942013-01-20 Colin Watson <cjwatson@ubuntu.com>
5595
5596 Remove nested functions from device iterators.
5597
5598 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
5599 (grub_arc_iterate_devs): Add hook_data argument.
5600 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
5601 (struct grub_ata_dev.iterate): Add hook_data argument.
5602 * include/grub/device.h (grub_device_iterate_hook_t): New type.
5603 (grub_device_iterate): Add hook_data argument.
5604 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
5605 (struct grub_disk_dev.iterate): Add hook_data argument.
5606 (grub_disk_dev_iterate): Likewise.
5607 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
5608 Likewise.
5609 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
5610 Likewise.
5611 * include/grub/partition.h (grub_partition_iterate_hook_t): New
5612 type.
5613 (struct grub_partition_map.iterate): Add hook_data argument.
5614 (grub_partition_iterate): Likewise.
5615 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
5616 (struct grub_scsi_dev.iterate): Add hook_data argument.
5617
5618 Update all callers.
5619
6c0314d6
CW
56202013-01-20 Colin Watson <cjwatson@ubuntu.com>
5621
5622 Fix typos for "developer" and "development".
5623
600dc5f1
VS
56242013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5625
5626 Add license header to spkmodem-recv.c.
5627
17334a6b
VS
56282013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 Rewrite spkmodem to use PIT for timing. Double the speed.
5631
7d462559
VS
56322013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 Add new command pcidump.
5635
b78d6c32
VS
56362013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5637
5638 New terminal outputs using serial: morse and spkmodem.
5639
34f71cb8
VS
56402013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5641
5642 Improve bidi handling in entry editor.
5643
4542e71b
VS
56442013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5645
5646 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5647 argument to prevent name collision.
5648
09fd6d82
CW
56492013-01-15 Colin Watson <cjwatson@ubuntu.com>
5650
5651 Remove nested functions from script reading and parsing.
5652
5653 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
5654 getline_data argument, passed to getline.
5655 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
5656 getline_data argument, passed to grub_parser_split_cmdline.
5657 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
5658 lexerstate->getline_data to lexerstate->getline.
5659 (grub_script_lexer_init): Add getline_data argument, saved in
5660 lexerstate->getline_data.
5661 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
5662 argument, passed to grub_script_parse.
5663 * grub-core/script/script.c (grub_script_parse): Add getline_data
5664 argument, passed to grub_script_lexer_init.
5665 * include/grub/parser.h (grub_parser_split_cmdline): Update
5666 prototype. Update all callers to pass appropriate getline data.
5667 (struct grub_parser.parse_line): Likewise.
5668 (grub_rescue_parse_line): Likewise.
5669 * include/grub/reader.h (grub_reader_getline_t): Add void *
5670 argument.
5671 * include/grub/script_sh.h (struct grub_lexer_param): Add
5672 getline_data member.
5673 (grub_script_parse): Update prototype. Update all callers to pass
5674 appropriate getline data.
5675 (grub_script_lexer_init): Likewise.
5676 (grub_normal_parse_line): Likewise.
5677
5678 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
5679 data argument.
5680 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
5681 static instead of nested. Rename to ...
5682 (grub_parser_execute_getline): ... this.
5683 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
5684 data argument.
5685 * grub-core/normal/main.c (read_config_file: getline): Make static
5686 instead of nested. Rename to ...
5687 (read_config_file_getline): ... this.
5688 (grub_normal_read_line): Add unused data argument.
5689 * grub-core/script/execute.c (grub_script_execute_sourcecode:
5690 getline): Make static instead of nested. Rename to ...
5691 (grub_script_execute_sourcecode_getline): ... this.
5692 * util/grub-script-check.c (main: get_config_line): Make static
5693 instead of nested.
5694
d0d4b8a0
CW
56952013-01-15 Colin Watson <cjwatson@ubuntu.com>
5696
5697 Remove nested functions from memory map iterators.
5698
5699 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
5700 argument, passed to hook.
5701 * grub-core/kern/i386/coreboot/mmap.c
5702 (grub_linuxbios_table_iterate): Likewise.
5703 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
5704 instead of nested.
5705 (grub_machine_mmap_iterate): Add hook_data argument.
5706 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
5707 Add hook_data argument, passed to hook.
5708 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
5709 Likewise.
5710 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5711 Likewise.
5712 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
5713 Likewise.
5714 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
5715 Likewise.
5716 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
5717 Likewise.
5718 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
5719 Likewise.
5720 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
5721 (grub_machine_mmap_iterate): Likewise.
5722 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
5723 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
5724 prototype.
5725 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
5726 Remove NESTED_FUNC_ATTR from here and from all users.
5727 (grub_mmap_iterate): Update prototype.
5728 (grub_efi_mmap_iterate): Update prototype. Update all callers to
5729 pass appropriate hook data.
5730 (grub_machine_mmap_iterate): Likewise.
5731
5732 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
5733 static instead of nested.
5734 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
5735 Rename to ...
5736 (lsmmap_hook): ... this.
5737 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
5738 Likewise.
5739 (grub_efiemu_mmap_fill: fill_hook): Likewise.
5740 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
5741 heap_init): Likewise.
5742 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
5743 Rename to ...
5744 (mmap_iterate_hook): ... this.
5745 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
5746 Likewise.
5747 * grub-core/lib/ieee1275/relocator.c
5748 (grub_relocator_firmware_get_max_events: count): Likewise.
5749 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
5750 to ...
5751 (grub_relocator_firmware_fill_events_iter): ... this.
5752 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
5753 hook): Likewise. Rename to ...
5754 (grub_relocator_alloc_chunk_align_iter): ... this.
5755 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
5756 Rename to ...
5757 (generate_e820_mmap_iter): ... this.
5758 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
5759 Rename to ...
5760 (count_hook): ... this.
5761 (grub_linux_boot: hook): Likewise. Rename to ...
5762 (grub_linux_boot_mmap_find): ... this.
5763 (grub_linux_boot: hook_fill): Likewise. Rename to ...
5764 (grub_linux_boot_mmap_fill): ... this.
5765 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
5766 hook): Likewise. Rename to ...
5767 (grub_fill_multiboot_mmap_iter): ... this.
5768 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
5769 hook): Likewise. Rename to ...
5770 (count_hook): ... this.
5771 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
5772 hook): Likewise. Rename to ...
5773 (grub_fill_multiboot_mmap_iter): ... this.
5774 * grub-core/loader/powerpc/ieee1275/linux.c
5775 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
5776 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
5777 Likewise. Rename to ...
5778 (alloc_phys_choose): ... this.
5779 (determine_phys_base: get_physbase): Likewise.
5780 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
5781 find_hook): Likewise.
5782 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
5783 (malloc_hook: count_hook): Likewise.
5784 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
5785 Likewise. Rename to ...
5786 (lower_hook): ... this.
5787 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5788 (upper_hook): ... this.
5789 (grub_mmap_get_post64: hook): Likewise. Rename to ...
5790 (post64_hook): ... this.
5791 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
5792 Likewise. Rename to ...
5793 (lower_hook): ... this.
5794 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5795 (upper_hook): ... this.
5796 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
5797 (grub_mmap_iterate: fill_hook): Likewise.
5798 (fill_mask): Pass addr and mask within a single struct.
5799 (grub_cmd_badram: hook): Make static instead of nested. Rename
5800 to ...
5801 (badram_iter): ... this.
5802 (grub_cmd_cutmem: hook): Likewise. Rename to ...
5803 (cutmem_iter): ... this.
5804
22099030
VS
58052013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5806
5807 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
5808 delimit path in strings using quotes.
5809 * util/getroot.c (grub_guess_root_devices): Likewise.
5810 (grub_make_system_path_relative_to_its_root): Likewise.
5811 * util/grub-probe.c (probe): Likewise.
5812 * util/ieee1275/ofpath.c (find_obppath): Likewise.
5813 (xrealpath): Likewise.
5814
4a9950ec
VS
58152013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5816
5817 Fix compilation with older compilers.
5818
5819 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
5820 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
5821 declarations.
5822 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
5823 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
5824 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
5825 identifier with b.
5826 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
5827 * include/grub/crypto.h: Add type defines.
5828 * util/import_gcrypth.sed: Remove duplicate type defines.
5829
adcc6020
VS
58302013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 New command list_trusted.
5833
5834 * grub-core/commands/verify.c (grub_cmd_list): New function.
5835
a4528937
CW
58362013-01-13 Colin Watson <cjwatson@ubuntu.com>
5837
5838 * util/grub-mkimage.c (generate_image): Fix "size of public key"
5839 info message.
5840
ca3a7446
CW
58412013-01-13 Colin Watson <cjwatson@ubuntu.com>
5842
5843 Remove nested functions from PCI iterators.
5844
5845 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
5846 passed to hook. Update all callers to pass appropriate hook data.
5847 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
5848 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
5849 Remove NESTED_FUNC_ATTR from here and from all users.
5850 (grub_pci_iterate): Update prototype.
5851 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
5852 instead of nested. Rename to ...
5853 (grub_cs5536_find_iter): ... this.
5854 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
5855 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
5856 Likewise.
5857 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
5858 Likewise.
5859 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
5860 Likewise.
5861 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
5862 Likewise.
5863 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
5864 * grub-core/video/radeon_fuloong2e.c
5865 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
5866 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
5867 find_card): Likewise.
5868 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
5869 Likewise.
5870
f8e98fee
VS
58712013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5872
5873 * grub-core/commands/verify.c: Mark messages for translating.
5874
055b36b6
VS
58752013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
5878 fatal.
5879
f7ff879b
VS
58802013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5881
5882 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
5883 fatal.
5884
58852013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
5886
5887 * autogen.sh: Do not try to delete nonexistant files.
5888 * util/import_gcrypth.sed: Add some missing header removals.
5889
01323d49
CW
58902013-01-12 Colin Watson <cjwatson@ubuntu.com>
5891
5892 Clean up dangling references to grub-setup.
5893 Fixes Ubuntu bug #1082045.
5894
5895 * docs/grub.texi (Images): Refer generally to grub-install rather
5896 than directly to grub-setup.
5897 (Installing GRUB using grub-install): Remove direct reference to
5898 grub-setup.
5899 (Device map) Likewise.
5900 (Invoking grub-install): Likewise.
5901 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5902 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5903 * util/grub-install.in (usage): Likewise.
5904
5905 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
5906 Apply to grub-bios-setup and grub-sparc64-setup rather than to
5907 grub-setup.
5908 * configure.ac: Remove grub_setup output variable.
5909
5910 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
5911 to grub-bios-setup.
5912 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
5913 grub-setup to grub-sparc64-setup.
5914
5e3b8dcb
VS
59152013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5916
5917 Import gcrypt public-key cryptography and implement signature checking.
5918
535714bd
VS
59192013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 * grub-core/fs/ntfs.c: Ue more appropriate types.
5922 * grub-core/fs/ntfscomp.c: Likewise.
5923 * include/grub/ntfs.h: Likewise.
5924
3e4f3566
VS
59252013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5926
5927 Support Apple FAT binaries on non-Apple platforms.
5928
5929 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
5930 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
5931 Likewise.
5932 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
5933 Apple FAT binaries.
5934
4dedb13f
VS
59352013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5936
5937 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
5938 sector devices.
5939
f8861eaf
CW
59402013-01-07 Colin Watson <cjwatson@ubuntu.com>
5941
5942 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
5943 explicitly zeroing elements.
5944 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
5945 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
5946 of elements in a structure already allocated using grub_zalloc.
5947 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
5948
86065b0a
CW
59492013-01-07 Colin Watson <cjwatson@ubuntu.com>
5950
5951 * docs/grub.texi (grub_cpu): New subsection.
5952 (grub_platform): Likewise.
5953
c6f1e92f
VS
59542013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5955
5956 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
5957
f797ec85
VS
59582013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5959
5960 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
5961 divisions.
5962
033d0b4b
VS
59632013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5964
5965 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
5966 * grub-core/fs/ntfscomp.c: Likewise.
5967 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
5968 (grub_ntfs_comp): Likewise.
5969
21d1b9a0
VS
59702013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5971
5972 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
5973 Rename to ...
5974 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
5975 of groups_per_block. All users updated.
5976
10ca8645
VS
59772013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
5980 grub_error properly.
5981 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
5982 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
5983
a4c3ed4c
VS
59842013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5985
5986 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
5987 always in /boot/zfs.
5988 Reported by: Yuta Satoh.
5989
0b716507
YS
59902013-01-03 Yuta Satoh <nigoro>
5991
5992 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
5993 ${grub_probe}
5994
00c05e22
VS
59952013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5996
5997 * configure.ac: Extend -Wno-trampolines to host.
5998
dadddb76
VS
59992013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6000
6001 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
6002 entry->len = 0.
6003
54ce53ca
CW
60042013-01-03 Colin Watson <cjwatson@ubuntu.com>
6005
6006 * docs/grub.texi (Invoking grub-mkrelpath): New section.
6007 (Invoking grub-script-check): Likewise.
6008
8912efca
CW
60092013-01-03 Colin Watson <cjwatson@ubuntu.com>
6010
6011 * docs/grub.texi (Invoking grub-mount): New section.
6012 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
6013
c3fc8394
CW
60142013-01-02 Colin Watson <cjwatson@ubuntu.com>
6015
6016 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
6017 test failures, so that a failing unit test correctly causes 'make
6018 check' to fail.
6019
45d26abb
CW
60202013-01-02 Colin Watson <cjwatson@ubuntu.com>
6021
6022 Fix failing printf test.
6023
6024 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
6025 '$' in the correct order when collecting type information.
6026
971dd2c6
CW
60272013-01-02 Colin Watson <cjwatson@ubuntu.com>
6028
6029 * docs/grub.texi (configfile): Explain environment variable
6030 handling.
6031 (source): New section.
6032 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
6033
5c67ea6c
CW
60342012-12-31 Colin Watson <cjwatson@ubuntu.com>
6035
6036 Remove several trivially-unnecessary uses of nested functions.
6037
6038 * grub-core/commands/i386/pc/sendkey.c
6039 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
6040 instead of nested.
6041 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
6042 Rename to ...
6043 (legacy_file_getline): ... this.
6044 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
6045 Likewise.
6046 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
6047 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
6048 to ...
6049 (probe_dummy_iter): ... this.
6050 * grub-core/kern/i386/coreboot/mmap.c
6051 (grub_linuxbios_table_iterate: check_signature): Likewise.
6052 * grub-core/kern/parser.c (grub_parser_split_cmdline:
6053 check_varstate): Likewise. Mark inline.
6054 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
6055 an additional parameter.
6056 (find_long: fnd_long): Likewise. Pass two additional parameters.
6057 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
6058 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
6059 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
6060 Likewise. Rename to ...
6061 (grub_cmos_find_port_iter): ... this.
6062 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
6063 Rename to ...
6064 (find_rtc_iter): ... this.
6065
6066 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
6067 function directly into the function body, since it is only called
6068 once.
6069
33a68ac6
CW
60702012-12-30 Colin Watson <cjwatson@ubuntu.com>
6071
6072 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
6073 __attribute__ ((unused)).
6074 * grub-core/video/bochs.c (find_card): Likewise.
6075 * grub-core/video/cirrus.c (find_card): Likewise.
6076 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
6077 * grub-core/video/sis315pro.c (find_card): Likewise.
6078 * grub-core/video/sm712.c (find_card): Likewise.
6079
608b647a
CW
60802012-12-28 Colin Watson <cjwatson@ubuntu.com>
6081
6082 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
6083 Fixes Savannah bug #37821.
6084
fd49ceb3
CW
60852012-12-28 Colin Watson <cjwatson@ubuntu.com>
6086
6087 Apply program name transformations at build-time rather than at
6088 run-time. Fixes Debian bug #696465.
6089
6090 * acinclude.m4 (grub_TRANSFORM): New macro.
6091 * configure.ac: Create output variables with transformed names for
6092 most programs.
6093 * util/bash-completion.d/grub-completion.bash.in: Use
6094 pre-transformed variables for program names.
6095 * util/grub-install.in: Likewise.
6096 * util/grub-kbdcomp.in: Likewise.
6097 * util/grub-mkconfig.in: Likewise.
6098 * util/grub-mkconfig_lib.in: Likewise.
6099 * util/grub-mknetdir.in: Likewise.
6100 * util/grub-mkrescue.in: Likewise.
6101 * util/grub-mkstandalone.in: Likewise.
6102 * util/grub-reboot.in: Likewise.
6103 * util/grub-set-default.in: Likewise.
6104 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6105 * tests/util/grub-shell-tester.in: Remove unused assignment.
6106 * tests/util/grub-shell.in: Likewise.
6107 * util/grub.d/00_header.in: Likewise.
6108
7024b3c0
CW
61092012-12-28 Colin Watson <cjwatson@ubuntu.com>
6110
6111 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
6112
6113 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
6114 HAVE_RAW_DECL_GETS.
6115 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
6116
e3501b13
VS
61172012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6118
6119 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
6120 Reported by: Eriks Latosheks <foresterlv>.
6121
b40c88a9
VS
61222012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6123
6124 * docs/grub.texi (Network): Update instructions on generating netboot
6125 image.
6126
ce96d01c
VS
61272012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6128
6129 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
6130 around device name if necessarry.
6131
0f596201
PFS
61322012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6133
6134 * util/grub-install.in: Follow the symbolic link parameter added
6135 to the file command.
6136
600d5bdb
AB
61372012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
6138
6139 * util/grub-install.in: Remove stale TODO.
6140
64ebd2f4
PFS
61412012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6142
6143 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
6144 dynamic allocation for the bootpath buffer.
6145
74b2fe3e
DTB
61462012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
6147
6148 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
6149 window too small.
6150
969b804f
VS
61512012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
6154 argument rather than font name. All users updated.
6155 (grub_gfxterm_set_window): Likewise.
6156
b9f5ebd6
VT
61572012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
6158
6159 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
6160 from working.
6161
258f43b7
VS
61622012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6163
6164 * util/getroot.c (convert_system_partition_to_system_disk): Support
6165 nbd disks.
6166
cc1ce5f9
VS
61672012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6168
6169 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
6170 infinite loop on corrupted FS.
6171
e77a16ca
VS
61722012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6173
6174 Fix big-endian mtime.
6175
6176 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
6177 together sec and usec.
6178 (grub_ufs_dir): Use correct byteswapping for UFS time.
6179
d9c48c7b
VS
61802012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 Support big-endian UFS1.
6183
6184 * Makefile.util.def (libgrubmods): Add ufs_be.c
6185 * grub-core/Makefile.core.def (ufs1_be): New module.
6186 * grub-core/fs/ufs_be.c: New file.
6187 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
6188 the file.
6189
2f9f40ba
LL
61902012-11-28 Leif Lindholm <leif.lindholm@arm.com>
6191
6192 * include/grub/types.h: Fix functionality unaffecting typo in
6193 GRUB_TARGET_WORDSIZE conditional macro.
6194
48ff0889
PFS
61952012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6196
6197 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
6198
03711240
GS
61992012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6200
6201 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
6202 that /netbsd appears first (when it exists).
6203
a31b11bd
CJ
62042012-10-12 Christoph Junghans <ottxor@gentoo.org>
6205
6206 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
6207 Fixes Savannah bug #37558.
6208
e8a5d5d4
CW
62092012-10-12 Colin Watson <cjwatson@ubuntu.com>
6210
6211 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
6212 description of extract_entries_configfile.
6213
62142012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
6215
6216 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
6217 preferred_address.
6218 (grub_cmd_linux): Likewise.
6219 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
6220 preferred_lifetime. Update all users.
6221
288c757d
CW
62222012-09-26 Colin Watson <cjwatson@ubuntu.com>
6223
6224 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
6225 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
6226
0d35da3f
CW
62272012-09-26 Colin Watson <cjwatson@ubuntu.com>
6228
6229 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
6230 errors from grub-probe to /dev/null, not stdout.
6231
b78c3127
VS
62322012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
6233
6234 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
6235 sector 1.
6236
473959f0
CW
62372012-09-24 Colin Watson <cjwatson@ubuntu.com>
6238
6239 * util/grub-install.in: Make the error message if $source_dir
6240 doesn't exist more useful.
6241
794c8c33
CW
62422012-09-22 Colin Watson <cjwatson@ubuntu.com>
6243
6244 Fix grub-emu build on FreeBSD.
6245
6246 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
6247 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
6248 headers on Linux.
6249 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
6250 implementation is currently Linux-specific.
6251 * util/getroot.c (exec_pipe): Define only on Linux or when either
6252 libzfs or libnvpair is unavailable.
6253 (find_root_devices_from_poolname): Remove unused path variable.
6254
86d08fdb
CW
62552012-09-19 Colin Watson <cjwatson@ubuntu.com>
6256
6257 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
6258 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
6259 should fit before end == 63.
6260
735abf54
CW
62612012-09-19 Colin Watson <cjwatson@ubuntu.com>
6262
6263 * util/grub-setup.c (write_rootdev): Remove unused core_img
6264 parameter. Update all callers.
6265 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
6266 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
6267 GRUB_SETUP_BIOS.
6268
140acd3c
VS
62692012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6270
6271 * util/grub-mkconfig_lib.in (grub_tab): New variable.
6272 (grub_add_tab): New function.
6273 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
6274 * util/grub.d/10_illumos.in: Likewise.
6275 * util/grub.d/10_kfreebsd.in: Likewise.
6276 * util/grub.d/10_linux.in: Likewise.
6277 * util/grub.d/10_netbsd.in: Likewise.
6278 * util/grub.d/10_windows.in: Likewise.
6279 * util/grub.d/10_xnu.in: Likewise.
6280 * util/grub.d/20_linux_xen.in: Likewise.
6281 * util/grub.d/30_os-prober.in: Likewise.
6282
7ddffdad
VS
62832012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6284
6285 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6286 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
6287 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
6288 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
6289 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
6290 ieee1275-nocursor.
6291 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6292 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
6293
4e092454
VS
62942012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6295
6296 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
6297 le-conversion.
6298 Reported by: BURETTE, Bernard.
6299
735abf54 63002012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
6301
6302 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
6303 from comment.
6304
dfd39dbd
CW
63052012-09-14 Colin Watson <cjwatson@ubuntu.com>
6306
6307 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
6308 IEEE1275 machines. Fixes powerpc-emu compilation.
6309 * include/grub/terminfo.h: Likewise.
6310
3bfa763c
VS
63112012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6312
6313 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
6314 a const pointer.
6315 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
6316 const pointer.
6317 (efiemu_set_variable): Make vendor_guid a const pointer.
6318
250e475b
VS
63192012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6320
6321 Don't require grub-mkconfig_lib to generate manpages for programs.
6322
6323 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
6324 dependencies, don't add grub-mkconfig_lib.
6325 (program): Pass empty adddeps.
6326 (script): Pass grub-mkconfig_lib as adddeps.
6327
592fd0e4
VS
63282012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6329
6330 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
6331 * util/getroot.c (grub_find_device): Likewise.
6332 (get_mdadm_uuid): Likewise.
6333 (grub_util_is_imsm): Likewise.
6334 (grub_util_pull_device): Likewise.
6335 * util/grub-probe.c (probe): Likewise.
6336
801a3027
BG
63372012-09-10 Benoit Gschwind <gschwind>
6338
6339 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
6340 (devs): Add devpath_8.
6341
c5052c81
PJ
63422012-09-08 Peter Jones <pjones@redhat.com>
6343
6344 * grub-core/Makefile.core.def (efifwsetup): New module.
6345 * grub-core/commands/efi/efifwsetup.c: New file.
6346 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
6347 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
6348 New define.
6349 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
6350
8e832f71
JS
63512012-09-05 Jiri Slaby <jslaby@suse.cz>
6352
6353 * configure.ac: Add SuSe path.
6354
f0f55752
CW
63552012-09-05 Colin Watson <cjwatson@ubuntu.com>
6356
6357 * NEWS: Fix typo.
6358
ecadc4c2
CW
63592012-09-05 Colin Watson <cjwatson@ubuntu.com>
6360
6361 * util/import_gcry.py: Sort cipher_files, to make build system
6362 generation more deterministic.
6363
64498f25
VS
63642012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6365
6366 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
6367 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
6368 (grub_set_datetime): Likewise.
6369
9cc836a2
VS
63702012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6371
6372 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
6373 warnings.
6374
bcfcea01
VS
63752012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6376
6377 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
6378
a4099485
VS
63792012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6380
6381 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
6382
265c162a
CW
63832012-09-04 Colin Watson <cjwatson@ubuntu.com>
6384
6385 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
6386 required for checkouts from bzr, but it may be useful for users or
6387 distributors wishing to update translations against a tarball
6388 distribution, and it can be helpful for the tarball to be a superset
6389 of what's in bzr.
6390
3d171e95
CW
63912012-09-04 Colin Watson <cjwatson@ubuntu.com>
6392
6393 * Makefile.am (EXTRA_DIST): Add
6394 grub-core/tests/boot/linux.init-mips.S,
6395 grub-core/tests/boot/linux.init-ppc.S, and
6396 grub-core/tests/boot/linux-ppc.cfg.
6397
f2c2503e
CW
63982012-09-04 Colin Watson <cjwatson@ubuntu.com>
6399
6400 * grub-core/mmap/mips/loongson: Remove empty directory.
6401
64022012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
6403
6404 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
6405 gone.
6406
ab2163d5
CW
64072012-09-04 Colin Watson <cjwatson@ubuntu.com>
6408
6409 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
6410 grub-sparc64-setup.
6411
ce938140
GS
64122012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
6413
6414 * configure.ac: Strengthen the test for working -nostdinc -isystem.
6415
529f58a5
GS
64162012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6417
6418 * po/POTFILES.in: Regenerated.
6419
16cf79e9
GS
64202012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6421
6422 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
6423 (NetBSD): New subsection.
6424
39b27f1e 64252012-07-22 Ales Nesrsta <starous@volny.cz>
6426
6427 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
6428 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
6429
a885261b
VS
64302012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6431
6432 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
6433 * util/grub.d/10_hurd.in: Add missing quoting.
6434 * util/grub.d/10_illumos.in: Likewise.
6435 * util/grub.d/10_kfreebsd.in: Likewise.
6436 * util/grub.d/10_linux.in: Likewise.
6437 * util/grub.d/20_linux_xen.in: Likewise.
6438
7bd29c01
VS
64392012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6440
6441 New command `lsefi'.
6442
6443 * grub-core/Makefile.core.def (lsefi): New module.
6444 * grub-core/commands/efi/lsefi.c: New file.
6445 * include/grub/efi/api.h: Add more GUIDs.
6446
ac625d8f
VS
64472012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6448
6449 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
6450 (grub_bsd_elf32_hook): Likewise.
6451 (grub_bsd_elf64_size_hook): Likewise.
6452 (grub_bsd_elf64_hook): Likewise.
6453 (grub_bsd_load_elf): Likewise.
6454
e73bb801
VS
64552012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
6458 if hash function is unavailable.
6459 (dec_stream_header): Likewise.
6460
e81db8b5
VS
64612012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
6464 filter state.
6465
d187a1c3
VS
64662012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6467
6468 Fix coreboot compilation.
6469
6470 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
6471 (grub_vga_text_init_real): ... this.
6472 (grub_vga_text_fini): Rename to ...
6473 (grub_vga_text_fini_real): ... this.
6474
91a05f64
VS
64752012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6476
6477 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
6478
6af96df7
VS
64792012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6480
6481 * grub-core/lib/legacy_parse.c: Support clear and testload.
6482
4d569e12
VS
64832012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6484
6485 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
6486
073b57bb
VS
64872012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6488
6489 * grub-core/fs/ext2.c: Experimental support for 64-bit.
6490
a706f4cc
VS
64912012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6492
6493 * grub-core/net/tftp.c (ack): Fix endianness problem.
6494 (tftp_receive): Likewise.
6495 Reported by: Michael Davidsaver.
6496
e7850aa9
VS
64972012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6498
6499 * gentpl.py: Make mans depend on grub-mkconfig_lib.
6500
65012012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
6504 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
6505 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
6506
35692881
VS
65072012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6508
6509 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
6510 efi_mmap_size.
6511 Reported by: Stuart Hayes.
6512
c35fc5bd
VS
65132012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6514
6515 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
6516
6517 * grub-core/Makefile.core.def (mda_text): New module.
6518 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
6519 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
6520 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
6521 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
6522 here.
6523 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
6524 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
6525 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
6526 here.
6527 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
6528 to ..
6529 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
6530 ... here
6531 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
6532 here.
6533 * grub-core/term/i386/vga_common.c: Removed.
6534 * include/grub/i386/vga_common.h: Likewise.
6535 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
6536 (grub_vga_cr_bw_read): Likewise.
6537 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
6538 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
6539 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
6540 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
6541 grub_vga_cr_read/grub_vga_cr_write.
6542 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
6543
5f91f701
VS
65442012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6545
6546 * configure.ac: Bump version to 2.00.
6547 * grub-core/normal/main.c (features): Add feature_200_final.
6548
0c4f85f6
VS
65492012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
65502012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
6551
6552 * NEWS: Fix unclarity and language mistakes.
6553
f923ad22
VS
65542012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
6557 additional size to 3 pages.
6558 Reported by: Stuart Hayes.
6559
d22029ba
VS
65602012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6561
6562 * NEWS: Add 2.00 entry.
6563
58eee08f
VS
65642012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6565
6566 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
6567 put explicit "/" for empty path.
6568 (wildcard_expand): Improve dprintf.
6569
c59bdff7
VS
65702012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
6573 it's equal to currnode. This can happen with "" symlink.
6574
5e6a440a
YB
65752012-06-27 Yves Blusseau <blusseau@zetam.org>
6576
6577 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
6578 echo shell command by printf command.
6579
73a68bcb
VS
65802012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6581
6582 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
6583 the value returned by firmware is the maximal position, not diumension.
6584 (grub_terminfo_output_state): Use a more sane fallback.
6585
392a603b
VS
65862012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6587
6588 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
6589
42d0867f
VS
65902012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6591
6592 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
6593 frequency to 150 MHz.
6594
489509f4
VS
65952012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6596
6597 Apple fixes.
6598
6599 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
6600 __APPLE_
6601 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
6602 definition.
6603 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
6604
9f3fc883
VS
66052012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6606
6607 Handle slash in HFS label.
6608
6609 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
6610 (grub_hfs_dir): Tanslate slash.
6611 (grub_hfs_label): Don't translate slash.
6612
54853fd7
VS
66132012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6614
6615 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
6616 network protocol listing since it introduces problematic dependency on
6617 net module.
6618
4dc02ddf
VS
66192012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6620
6621 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
6622
c50c867d
VS
66232012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6624
6625 Init video early on yeeloong to avoid being rebooted by watchdog.
6626
6627 * grub-core/Makefile.am (gensm712): New target.
6628 (sm712_start.S): Likewise.
6629 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
6630 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
6631 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
6632 description.
6633 * include/grub/vga.h: Move registry definitions to...
6634 * include/grub/vgaregs.h: ... here.
6635
5f92c8a1
VS
66362012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6637
6638 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
6639 signedness.
6640
e9e6f111
VS
66412012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6642
6643 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
6644 platforms with firmware disk drivers in the core.
6645
754ad9eb
VS
66462012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6647
6648 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
6649 informative verbose message.
6650 (read_lv): Handle 64-bit segment size.
6651
315654c2
VS
66522012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6653
6654 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
6655
fb022c79
VS
66562012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6657
6658 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
6659 character but still remove trainling spaces.
6660 (grub_fat_label): Ignore archive flag.
6661
8645f72c
VS
66622012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6663
6664 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
6665 cast between linux_kernel_header and linux_kernel_params.
6666
36498496
VS
66672012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6668
6669 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
6670 type for size.
6671 (grub_raid6_recover_func_t): Likewise.
6672 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
6673 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6674
0b5ea6b8
VS
66752012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6676
6677 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
6678
650cfcfe
GS
66792012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
6680
6681 Fix overflow.
6682
6683 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
6684 [__NetBSD__]: Add explicit cast before bitshift.
6685
8a4d6a44
VS
66862012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6687
6688 * configure.ac: Bump to 2.00~rc1.
6689
2fb97ed3
VS
66902012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6691
6692 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
6693 half of $a0.
6694
1fa097dc
VS
66952012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
66962012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
6697
6698 * docs/grub.texi: Fix search syntax.
6699 (Multi-boot manual config): Put msdos rather than GPT example.
6700 Grammar corrections.
6701
c890ba78
VS
67022012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6703
6704 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
6705
0f92dca7
VS
67062012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
6709
3988c4a0
VS
67102012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6711
6712 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
6713 message on double free. Put the value of magic in case of mismatch.
6714
9e86d4c5
VS
67152012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6716
6717 Speed-up video on yeeloong.
6718
6719 * grub-core/video/sm712.c (framebuffer): Remove render_target and
6720 add cached_ptr.
6721 (grub_video_sm712_video_fini): Unmap cached_ptr.
6722 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
6723 (grub_video_sm712_set_active_render_target): Removed.
6724 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
6725 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
6726 sync caches.
6727
ed24c312
VS
67282012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6729
6730 Avoid flushing the same line multiple times on loongson.
6731
6732 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
6733 Step in 32 bytes and not 1 byte.
6734 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
6735 Likewise.
6736
d1718e7d
VS
67372012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6738
6739 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
6740 subvolumes.
6741
982f1909
VS
67422012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6743
6744 Implement flow control for http.
6745
6746 * grub-core/net/http.c (parse_line): Handle response 206.
6747 (http_receive): Stall if too many packets are in the queue.
6748 (http_establish): Fix range header.
6749 (http_seek): Fix double free.
6750 (http_close): Likewise.
6751 (http_packets_pulled): New function.
6752 (grub_http_protocol): Set http_seek
6753 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
6754 (ack_real): Set window depending on i_stall.
6755 (grub_net_send_tcp_packet): Likewise.
6756 (grub_net_tcp_stall): New function.
6757 (grub_net_tcp_unstall): Likewise.
6758 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
6759 (grub_net_tcp_unstall): Likewise.
6760
bd407d6e
VS
67612012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6762
6763 * grub-core/net/tftp.c: Decrease stall to 50 packets.
6764
c7564b8e
VS
67652012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6766
6767 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
6768
a3706162
VS
67692012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 * tests/util/grub-shell.in: Fix a typo.
6772
b27069e0
VS
67732012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6774
6775 Implement flow control for tftp.
6776
6777 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
6778 packets but stop only if stop condition is satisfied.
6779 (grub_net_fs_read_real): Call packets_pulled after real read. Use
6780 `stall' instead of `eof' as stop condition.
6781 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
6782 (http_err): Likewise.
6783 * grub-core/net/tftp.c (ack): Replace the first argument with data
6784 instead of socket.
6785 (tftp_receive): Stall if too many packets are in wait queue.
6786 (tftp_packets_pulled): New function.
6787 (grub_tftp_protocol): Set packets_pulled.
6788 * include/grub/net.h (grub_net_packets): New field count.
6789 (grub_net_put_packet): Increment count.
6790 (grub_net_remove_packet): Likewise.
6791 (grub_net_app_protocol): New field `packets_pulled'.
6792 (grub_net): New field `stall'.
6793
6b9cfac6
VS
67942012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6795
6796 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
6797 sync part to handle them.
6798
f35abd81
VS
67992012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6800
6801 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
6802 * grub-core/net/drivers/ieee1275/ofnet.c
6803 (grub_ieee1275_net_config_real): Likewise.
6804
0e7ec820
VS
68052012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6806
6807 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
6808 the direct route for server/gateway.
6809
9d611a31
VS
68102012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6811
6812 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
6813 IP address to server name since we may not hame the DNS.
6814
418f45ab
VS
68152012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6816
6817 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
6818 freeing random buffer on failure.
6819 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
6820
44a0efc1
VS
68212012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6822
6823 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
6824
531e2241
VS
68252012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6826
6827 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
6828 reserved bytes.
6829 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
6830 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
6831 Handle malloc error correctly.
6832
cde393c9
VS
68332012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6834
6835 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
6836 blocks.
6837
538478d0
VS
68382012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6839
6840 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
6841 increment.
6842
9b55efe0
VS
68432012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
6846 none is explicitly specified.
6847
9eb832c3
VS
68482012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
6851 while reallocating.
6852
d6b7c7c9
VS
68532012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 Respect netmask from bootp/dhcp.
6856
6857 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
6858 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
6859 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
6860 into ...
6861 (grub_net_add_ipv4_local): ... this.
6862 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
6863 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
6864 (grub_net_add_ipv4_local): New proto.
6865
67caf9eb
VS
68662012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6867
6868 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
6869 determining EFI memory map size.
6870
43657558
VS
68712012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6872
6873 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
6874
eb6d0dd3
VS
68752012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6876
6877 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
6878 when looking for partition separator.
6879
31230544
VS
68802012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6881
6882 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6883 Escape commas.
6884
918a2517
VS
68852012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6886
6887 Restructure FAT driver to avoid hook in label reading as it hits a
6888 GCC bug.
6889
6890 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
6891 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
6892 (grub_fat_iterate_dir): Split into ...
6893 (grub_fat_iterate_init): ... this, ...
6894 (grub_fat_iterate_fini): ... this, ...
6895 (grub_fat_iterate_dir_next): ... and this. All users updated.
6896
9f1d654e
VS
68972012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6898
6899 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6900 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
6901 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6902 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
6903 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
6904 New fields last_key and last_key_time.
6905 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
6906 extended key-esc into extended key-extended key.
6907
52f0f643
VS
69082012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6909
6910 Avoid unnecessary memcpy of whole video buffer.
6911
6912 * grub-core/video/fb/video_fb.c (dirty): New struct.
6913 (framebuffer): Add members current_dirty and previous_dirty.
6914 (dirty): New function.
6915 (grub_video_fb_fill_rect): Update dirty.
6916 (common_blitter): Likewise.
6917 (grub_video_fb_scroll): Likewise.
6918 (doublebuf_blit_update_screen): Copy only dirty part.
6919 (doublebuf_pageflipping_update_screen): Likewise.
6920 (grub_video_fb_doublebuf_blit_init): Init dirty.
6921 (doublebuf_pageflipping_init): Likewise.
6922 (grub_video_fb_setup): Likewise.
6923
e169a180
VS
69242012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6925
6926 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
6927 poll rate.
6928
48556879
VS
69292012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6930
6931 Fix wildcard regexp dot and other special characters handling.
6932 Reported by: Robert Mabee.
6933
6934 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
6935 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
6936 (split_path): Trigger expansion on '?'.
6937 (unescape): New function.
6938 (wildcard_expand): Unescape parts copied without globbing.
6939 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
6940 (grub_script_arglist_to_argv): Don't unescape expansions.
6941
0494408e
VS
69422012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6943
6944 * include/grub/net.h (grub_net_card): New member txbufsize.
6945 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
6946 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
6947 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
6948 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
6949 txbufsize.
6950 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
6951 compatible property to check for macs. Set
6952 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
6953 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
6954 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
6955 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
6956 (send_card_buffer): Use txbuf.
6957 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
6958 nested function out of the parent while on it.
6959
cc35fe8f
VS
69602012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6961
6962 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
6963 presence check.
6964 (grub_ieee1275_net_config_real): Fix config pointer.
6965
970a0a09
VS
69662012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6967
6968 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
6969 filename parsing to non-block devices.
6970
3e19bf87
VS
69712012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6972
6973 * grub-core/kern/device.c (grub_device_open): Remove dead code.
6974
c62d1a0c
VS
69752012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6976
6977 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
6978 All users updated.
6979
ef76bec3
VS
69802012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6981
6982 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
6983 UUID search command even if hints probing failed.
6984
69852012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
6986
6987 * po/POTFILES.in: Regenerated.
6988
70aaf305
VS
69892012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
6990
6991 Speed-up video on fuloong.
6992
6993 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
6994 New function.
6995 (grub_pci_device_unmap_range): Handle non-cached address.
6996 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
6997 add direct_ptr.
6998 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
6999 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
7000 (grub_video_sis315pro_set_active_render_target): Removed.
7001 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
7002 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7003 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
7004 sync caches.
7005 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
7006 New proto.
7007
10400f0b
VS
70082012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 * docs/grub.texi (Multi-boot manual config): New section.
7011
ba67e2c6
VS
70122012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7013
7014 Avoid slow read-back from VRAM.
7015
7016 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
7017 Move from here ...
7018 * grub-core/video/fb/video_fb.c
7019 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
7020 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
7021 (front_target): Remove front_target. Add pages.
7022 (grub_video_fb_init): Skip setting front_pages.
7023 (grub_video_fb_fini): Likewise.
7024 (doublebuf_blit_update_screen): Use pages.
7025 (grub_video_fb_doublebuf_blit_init): Likewise.
7026 (doublebuf_pageflipping_init): Allocate offscreen buffer.
7027 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
7028 (grub_video_fb_setup): Prefer doublebuffing.
7029
377c98cb
VS
70302012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7031
7032 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
7033 gzio.
7034
eac49cff
VS
70352012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7036
7037 Add loongson tests.
7038
7039 * tests/util/grub-shell.in: Handle loongson.
7040 * tests/partmap_test.in: Add loongson to the list of platform using ATA
7041 drivers.
7042 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
7043 Reboot instead of shutdown if REBOOT is defined.
7044
0321415e
VS
70452012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7046
7047 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
7048 sized ports since unlike on real hardware qemu supports only 32-bit
7049 regs.
7050
3f2bdd8f
VS
70512012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7052
7053 * Makefile.util.def (grub-mkrescue): Enable on loongson.
7054 * util/grub-mkrescue.in: Handle loongson.
7055
29a049c9
VS
70562012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
7057
7058 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
7059 Set is_part appropriately.
7060 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
7061 names. Canonicalize partition without full disk.
7062
4abde346
VS
70632012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7064
7065 Revert usb-quiesce since it's wrong.
7066
7067 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
7068 (grub_ofdisk_init): Don't do quiesce.
7069
61f1d93b
VS
70702012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
7073 PowerMac workaround to Xserves as well.
7074 Information supplied by: Benjamin Herrenschmidt.
7075
a09eb541
VS
70762012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7077
7078 Don't assume that beginning address is also the entry point on ppc.
7079
7080 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
7081 (grub_linux_boot): Use linux_entry.
7082 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
7083 (grub_linux_load64): Likewise.
7084
505b3c9b
VS
70852012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7086
7087 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
7088
cbe0b4ef
VS
70892012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7090
7091 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
7092 needlessly lose the console.
7093
3006e981
VS
70942012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
7097 space.
7098
4e5a96b0
VS
70992012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7100
7da036bb
VS
7101 Remove non-functional EFI grub_get_rtc. Put a better fatal message
7102 than current grub_get_rtc() not implemented when booted with
7103 coreboot without TSC.
7104
7105 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
7106 Add machine/time.h to kernel headers on loongson.
7107 * grub-core/Makefile.core.def (kernel): Remove
7108 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
7109 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
7110 (grub_get_rtc): Likewise.
7111 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
7112 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
7113 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
7114 * grub-core/kern/i386/tsc.c (grub_tsc_init)
7115 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
7116 rather than installing known non-working time source.
7117 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
7118 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
7119 * include/grub/time.h: Don't include machine/time.h.
7120 * include/grub/efi/time.h: Removed.
7121 * include/grub/i386/efi/time.h: Likewise.
7122 * include/grub/i386/ieee1275/time.h: Likewise.
7123 * include/grub/powerpc/ieee1275/time.h: Likewise.
7124 * include/grub/sparc64/ieee1275/time.h: Likewise.
7125 * include/grub/x86_64/efi/time.h: Likewise.
7126
71272012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7128
7129 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
7130
7131 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
7132 value.
7133 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
7134 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
7135 with dotless variants when any combining above is present.
7136
5561c22d
VS
71372012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7138
7139 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
7140 text and not binary.
7141
96f7e60e
VS
71422012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7143
7144 Stop polling as soon as we have the packet we were waiting for.
7145
7146 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
7147 All users updated.
7148 * grub-core/net/arp.c (have_pending): New var.
7149 (pending_req): Likewise.
7150 (grub_net_arp_send_request): Fill pending_req and use have_pending as
7151 stop indicator.
7152 (grub_net_arp_receive): Set have_pending.
7153 * grub-core/net/dns.c (recv_data): New field stop.
7154 (recv_hook): Set stop.
7155 (grub_net_dns_lookup): Init stop and use as stop condition.
7156 * grub-core/net/http.c (http_establish): Use headers_recv as stop
7157 condition.
7158 * grub-core/net/net.c (grub_net_poll_cards): New argument
7159 stop_condition. Stop when it goes true.
7160 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
7161 indicator.
7162 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
7163
3e747239
VS
71642012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7165
7166 Keep TX and RX buffers on EFI rather than always allocate new ones.
7167
7168 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
7169 card. All users updated.
7170 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
7171 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
7172 (get_card_packet): Likewise.
7173 (grub_efinet_findcards): Init new fields.
7174
f695e99a
VS
71752012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
7178 compilation error on sparc64.
7179
9e5e66d1
VS
71802012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 Use ITC on IA64 rather than broken routine based on daytime.
7183
7184 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
7185 ia64.
7186 (grub_get_rtc) [__ia64__]: Likewise.
7187 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
7188 (get_itc): New function.
7189 (grub_rtc_get_time_ms): Likewise.
7190 (grub_machine_init): Calibrate ITC.
7191 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
7192 Keep only on non-ia64. Don't export since it's broken and used only
7193 if TSC is unavailable.
7194
a1767404
VS
71952012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7196
7197 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
7198 even if it's used.
7199 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
7200 Skip if parent is unused.
7201
34b2bced
VS
72022012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7203
7204 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
7205
5e619f40
VS
72062012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7207
7208 Fix wildcard escaping.
7209
7210 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
7211 * grub-core/script/execute.c (wildcard_escape): .. to here.
7212 Don't escape dot.
7213 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
7214 * grub-core/script/execute.c (wildcard_unescape): .. to here.
7215 Don't escape dot.
7216 * grub-core/script/execute.c (gettext_append): Always escape.
7217 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
7218 * grub-core/script/yylex.l: Don't cut away the escaping.
7219 * tests/grub_script_echo1.in: Add tests with wildcard.
7220
c8ca5855
VS
72212012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7222
7223 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
7224 (ftdi_hw_configure): Likewise.
7225 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
7226 define.
7227 (real_config): Handle 1.5 stop bits.
7228 (pl2303_hw_configure): Likewise.
7229
7183452c
VS
72302012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7231
7232 * Makefile.am: Add ppc linux bootcheck.
7233 * grub-core/tests/boot/linux-ppc.cfg: New file.
7234 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
7235
f57c84cd
VS
72362012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7237
7238 * tests/grub_script_expansion.in: Skip network protocols.
7239
ecfc6207
VS
72402012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7241
7242 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
7243
8d03d284
VS
72442012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7245
7246 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
7247 --rom-directory.
7248 Add -graft-points.
7249
61c42af0
VS
72502012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7251
7252 ESCC serial driver for conducting sautomated tests in qemu.
7253 Not tested on real hardware.
7254
7255 * include/grub/serial.h (grub_serial_port): New field escc_desc.
7256 * grub-core/term/ieee1275/escc.c: New file.
7257 * grub-core/Makefile.core.def (escc): New module.
7258
08fd1291
VS
72592012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7260
7261 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
7262 invalid on error.
7263 (serial_hw_fetch): Don't read invalid handle.
7264 (serial_hw_put): Don't write into invalid handle.
7265
08dafeea
VS
72662012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7267
7268 Add a 1.5 stop bits value.
7269
7270 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
7271 * include/grub/serial.h (grub_serial_stop_bits_t): Add
7272 GRUB_SERIAL_STOP_BITS_1_5.
7273
9068fdcf
VS
72742012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7275
7276 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
7277 value rather than let it uninited.
7278
f4d5820f
VS
72792012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 * grub-core/commands/wildcard.c (+check_file): New function.
7282 (wildcard_expand): Don't expand to non-existing files, expand with
7283 suffix and not attempt to expand if not needed.
7284
3d2de9a7
VS
72852012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7286
7287 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
7288 out of partitions containing other partitions.
7289
c5c81ff9
VS
72902012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7291
7292 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
7293 on some qemu versions with GRUB.
7294
7295 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
7296 define.
7297 (grub_openbsd_bootarg_pcibios): New struct.
7298 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
7299 Add PCIINFO.
7300
08a14e0b
VS
73012012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7302
7303 * tests/util/grub-shell.in: Trim firmware output on EFI.
7304
cede3ca3
VS
73052012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7306
7307 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
7308 and coreboot since it's already in kernel.
7309
558d3a60
VS
73102012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7311
7312 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
7313 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7314 to here. New return value start. All users updated.
7315 Recursively scan linear mappings.
7316 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
7317 proto.
7318 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7319 Use grub_util_get_dm_node_linear_info.
7320 * util/getroot.c (convert_system_partition_to_system_disk): Use
7321 grub_util_info rather than grub_dprintf.
7322 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
7323
60fde14d
VS
73242012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7325
7326 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
7327
7328 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
7329 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
7330
24bd8838
VS
73312012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7332
7333 * include/grub/types.h (grub_set_unaligned64): New function.
7334 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
7335 (setup): Likewise.
7336
7bc06a49
VS
73372012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7338
7339 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
7340 (grub_ofdisk_fini): Quiesce USB devices.
7341
49cea015
VS
73422012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7343
7344 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
7345 caches.
7346
8dcbe03b
VS
73472012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7348
7349 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
7350
5b258735
VS
73512012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7352
7353 * grub-core/disk/pata.c (grub_pata_pio_read)
7354 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
7355 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7356
37ba07eb
VS
73572012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7358
7359 Extend automated tests to qemu-mips.
7360
7361 * Makefile.am: reorganise tests and enable qemu-mips.
7362 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
7363 * grub-core/tests/boot/linux.init-mips.S: New file.
7364 * tests/partmap_test.in: Handle ata0 disks.
7365 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
7366 non-pc i386.
7367
070038f8
VS
73682012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7369
7370 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
7371 ia64.
7372 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
7373 quotes while on it.
7374
004be2cd
VS
73752012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7376
7377 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
7378 (grub_halt): Likewise.
7379 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
7380
b1622487
VS
73812012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7382
7383 * grub-core/term/serial.c (grub_serial_register)
7384 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
7385 the behaviour in line with x86 platforms.
7386
b7b4ab33
VS
73872012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7388
7389 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
7390 (grub_ata_strncpy): Likewise.
7391 (grub_ata_identify): Add missing byteswaps.
7392
5e3535ae
VS
73932012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7394
7395 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
7396 byte-swap.
7397 (screen_read_char): Likewise.
7398 (grub_vga_text_cls): Likewise.
7399
c21b17e6
VS
74002012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7401
7402 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
7403 filenames.
7404 (make_file_path): Likewise.
7405
bf293dec
VS
74062012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7407
7408 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
7409 machines.
7410 Tested by: Paulo Flabiano Smorigo.
7411 Crucial information about API supplied by: Coleen <Last name unknown>.
7412 Reviewed by: Coleen <Last name unknown>.
7413
81f6ef0e
VS
74142012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7415
7416 * util/grub-mkimage.c: Disable -Wcast-align.
7417
7284143a
VS
74182012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7419
7420 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
7421 as they are fatal.
7422
b99f3e00
VS
74232012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7424
7425 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
7426
944f752d
VS
74272012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7428
7429 * util/grub-probe.c (escape_of_path): Fix double free.
7430
6cce6f38
VS
74312012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7432
7433 * grub-core/commands/videoinfo.c (hook): Show pitch.
7434
1e1eb50e
VS
74352012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7436
7437 * util/grub.d/20_linux_xen.in: Skip xen-syms.
7438
1c715b5a
VS
74392012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7440
7441 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
7442 (probe): Add ieee1275 to OFW devices.
7443
007ae52d
VS
74442012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7445
7446 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
7447
4557a36d
VS
74482012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 Handle IBM OFW path.
7451
7452 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
7453 available.
7454 (of_path_of_scsi): Handle vdevice.
7455
efbeefe9
VS
74562012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7457
7458 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
7459 Allocate in multiples of 16 to avoid adding a few bytes free region the
7460 windows bugs upon.
7461
15a940bb
VS
74622012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7463
7464 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
7465 Allocate in multiples of 16 to avoid adding a few bytes free region the
7466 windows bugs upon.
7467 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
7468
6e5efd60
VS
74692012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
7472 resolutions.
7473 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
7474 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
7475
0d3d137e
IS
74762012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
7477
7478 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
7479
45dbe300
VS
74802012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7481
7482 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
7483 resulted in \\ at the end of the line.
7484
6d8db947
VS
74852012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7486
7487 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
7488 (grub_parser_cmdline_state): Likewise.
7489 (grub_parser_split_cmdline): Likewise.
7490
de89d338
VS
74912012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7492
7493 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
7494 /dev/root and /dev/dm-*.
7495
00d41dee
VS
74962012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7497
7498 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
7499 fix partially stale display.
7500
f95d1f11
VS
75012012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 * grub-core/normal/menu_entry.c (backward_char): Use right line for
7504 substraction.
7505
6297e197
VS
75062012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7507
7508 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
7509 Fix MBR remapping workaround.
7510 (grub_util_biosdisk_read) [__linux__]: Likewise.
7511
8a7ecad3
VS
75122012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 * util/grub-install.in: Check for ieee1275 and not ieee1276.
7515
2b34f944
VS
75162012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7517
7518 * configure.ac: Bump to beta6.
7519
684aef11
CW
75202012-05-31 Christer Weinigel <christer@weinigel.se>
7521
7522 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
7523
05b0bb91
VS
75242012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7525
7526 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
7527 (grub_cmd_linux): Likewise.
7528
bda36bfa
CW
75292012-05-31 Christer Weinigel <christer@weinigel.se>
7530
7531 Fix EHCI low-speed.
7532
7533 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
7534 (GRUB_EHCI_MULT_TWO): Likewise.
7535 (GRUB_EHCI_MULT_THREE): Likewise.
7536 (GRUB_EHCI_CMASK_MASK): New enum value.
7537 (GRUB_EHCI_SMASK_MASK): Likewise.
7538 (GRUB_EHCI_CMASK_OFF): Likewise.
7539 (GRUB_EHCI_SMASK_OFF): Likewise.
7540 (grub_ehci_pci_iter): Enable periodic schedule.
7541 (grub_ehci_parse_notrun): Likewise.
7542 (grub_ehci_restore_hw): Likewise.
7543 (grub_ehci_setup_qh): Set flags for low speed transfers.
7544 (grub_ehci_find_qh): Use periodic list for low speed.
7545 (grub_ehci_setup_transfer): Check periodic queue as well.
7546 (grub_ehci_check_transfer): Likewise.
7547 (grub_ehci_cancel_transfer): Cancel periodic transfer.
7548
e12bcb1c
PFS
75492012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7550
7551 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
7552 parameter is used.
7553
bcc75fb3
PJ
75542012-05-31 Peter Jones <pjones@redhat.com>
7555
7556 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
7557 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
7558 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
7559
f19cb95e
VS
75602012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
7563 uninited variable. Allocate at least setup_sects.
7564
a4e5ca80
VS
75652012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7566
7567 Fix handling of EFI with big memory maps.
7568
7569 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
7570 (real_mode_mem): Likewise.
7571 (real_mode_target): Likewise.
7572 (real_mode_pages): Likewise.
7573 (prot_mode_pages): Likewise.
7574 (linux_params): New var.
7575 (linux_cmdline): Likewise.
7576 (free_pages): Don't set real mode variables.
7577 (allocate_pages): Don't allocate real mode memory.
7578 (grub_e820_add_region): Remove the limit.
7579 (grub_linux_boot): Allocate and copy real mode memory.
7580 (grub_linux_unload): Free linux_cmdline.
7581 (grub_cmd_linux): Use temporary storage for parameters.
7582 (grub_cmd_initrd): Likewise.
7583 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
7584 (linux_kernel_params): Make it 1K big.
7585
ddb73558
VS
75862012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * Makefile.util.def: Remove -Wno-format.
7589 * grub-core/Makefile.core.def: Likewise.
7590
1c4afb60
VS
75912012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 * tests/cmp_unit_test.c: Add missing failure message.
7594 * tests/example_unit_test.c: Likewise.
7595 * tests/printf_unit_test.c: Likewise.
7596
941e3a6d
VS
75972012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7598
7599 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
7600 relaxation of protective MBR requirements.
7601
b105df76
VS
76022012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7603
7604 * configure.ac: Add condition for COND_HOST_XNU.
7605 * Makefile.util.def (10_xnu): New script.
7606 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
7607
84e1569e
VS
76082012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
7611 objconv bug.
7612
130c0f77
VS
76132012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7614
7615 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
7616 Binary on other platforms stays identical.
7617
6fd0b143
VS
76182012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7619
7620 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
7621 Apple.
7622
0af1751d
VS
76232012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7624
7625 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
7626
176d5f7d
VS
76272012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7628
7629 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
7630 rather than defining size_t ourselves to avoid conflict.
7631
7de5e20a
VS
76322012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7633
7634 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
7635 initialisation to avoid __bzero reference.
7636
f7143efe
VS
76372012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7638
7639 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
7640 version.
7641 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
7642 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
7643 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
7644 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
7645 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
7646
e6ad0555
VS
76472012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7648
7649 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
7650 * grub-core/kern/misc.c: Likewise.
7651 * grub-core/loader/i386/xnu.c: Likewise.
7652 * include/grub/i386/tsc.h: Likewise.
7653 * include/grub/symbol.h: Likewise.
7654
4a5a3c4a
VS
76552012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7656
7657 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
7658 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
7659 on older compiler.
7660
037f6d90
VS
76612012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7662
7663 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
7664 Implement Apple flavour.
7665 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
7666
f7194551
VS
76672012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7668
7669 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
7670 (memmove) [__APPLE__]: Likewise.
7671 (memcpy) [__APPLE__]: Likewise.
7672 (memset) [__APPLE__]: Likewise.
7673 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
7674 (memmove) [__APPLE__]: Likewise.
7675 (memcpy) [__APPLE__]: Likewise.
7676 (memset) [__APPLE__]: Likewise.
7677
85a730ca
VS
76782012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
7681 dependency discard.
7682
40e80b94
VS
76832012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7684
7685 * grub-core/normal/main.c (read_config_file): Provide config_file and
7686 config_directory.
7687 * util/grub.d/41_custom.in: Use config_directoy when available.
7688
9da59c32
VS
76892012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7690
7691 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
7692 (grub_bfs_dir): Likewise.
7693
2787ae53
PJ
76942012-05-27 Peter Jones <pjones@redhat.com>
7695
7696 The old code gives arguments to a printf function which can't work
7697 correctly, and the compiler complains.
7698
7699 * grub-core/tests/example_functional_test.c (example_test): Add
7700 missing text.
7701 * grub-core/tests/lib/test.c (add_failure): Rewrite.
7702 * include/grub/test.h (grub_test_assert_helper): New declaration.
7703 (grub_test_assert): Use grub_test_assert_helper.
7704
526ef13d
VS
77052012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7706
7707 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
7708 (exfctest): ... this to avoid overlong filenames.
7709 All users updated.
7710
20dd511c
VS
77112012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7712
7713 Handle "." and ".." on squashfs.
7714
7715 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
7716 Make inode numbers into stack.
7717 (grub_squash_read_symlink): Use stack.
7718 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
7719 (make_root_node): Fill stack.
7720 (grub_squash_open): Use stack.
7721
1d80c62a
VS
77222012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7723
7724 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
7725 freeing.
7726
d336f652
VS
77272012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
7730 stderr on test calls.
7731
8b43f587
VS
77322012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7733
7734 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
7735
80a3dc3f
VS
77362012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7737
7738 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
7739
47e297d4
VS
77402012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
7743 "..".
7744
df042ccb
VS
77452012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
7748 (grub_hfsplus_iterate_dir): Add "." and "..".
7749
fc977f48
VS
77502012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7751
7752 * grub-core/fs/cpio.c (canonicalize): Handle "..".
7753 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
7754
f3250e5f
VS
77552012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7756
7757 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
7758 (find_path): Handle "." and "..".
7759
fd8ed4c5
VS
77602012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7761
7762 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
7763 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
7764 (grub_affs_iterate_dir): Handle hardlinks.
7765
4ce776d2
MG
77662012-05-26 Matthew Garrett <mjg@redhat.com>
7767
7768 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
7769 (grub_efi_console_fini): Likewise.
7770 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
7771 (grub_video_gop_fill_mode_info): Rename to ...
7772 (grub_video_gop_fill_real_mode_info): ... this.
7773 (grub_video_gop_fill_mode_info): New function.
7774 (grub_video_gop_setup): Setup double framebuffer.
7775 (grub_video_gop_get_info_and_fini): Use original framebuffer.
7776 Free offscreen.
7777 (grub_video_gop_swap_buffers): Copy framebuffer.
7778 (grub_video_gop_fini): Free offscreen buffer.
7779 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
7780 New enum.
7781 (grub_efi_gop_blt_pixel): New struct.
7782
683031ba
VS
77832012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7784
7785 * gentpl.py: Remove error disabling for objconv.
7786
c2deb798
VS
77872012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7788
7789 * configure.ac: Remove -Wunitialized as it's not available on older
7790 compilers.
7791
77922012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
7793
7794 Fix extent overflow comparator.
7795
7796 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
7797 (grub_hfsplus_read_block): Set type.
7798 (grub_hfsplus_cmp_extkey): Compare type.
7799
d6b1fd36
VS
78002012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
7801
7802 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
7803
0a9aa0f6
VS
78042012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7805
7806 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
7807 than 0.
7808
8360e159
VS
78092012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7810
7811 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
7812 (dejavu_bold_14.pf2): New target.
7813
501b9e4b
VS
78142012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7815
7816 * configure.ac: Fix djvu font detection.
7817
7026b0e2
VS
78182012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7819
7820 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
7821 ext* instead of ext2.
7822
c2a51ade
VS
78232012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7824
7825 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
7826 name with \0.
7827
8f803a5d
JU
78282012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
7829
7830 * docs/grub-dev.texi: Remove dot from .png.
7831
13c6353f
VS
78322012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7833
7834 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
7835 protective entry in any slot.
7836 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
7837 if protective entry is found in any slot.
7838
7839 Protective entry in non-first slot make no sense but is a widespread
7840 brain damage.
7841
4cf6be1b
VS
78422012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7843
7844 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
7845
937d1c44
VS
78462012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7847
7848 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
7849 with old reiserfs.
7850 (grub_reiserfs_open): Don't free root.
7851
021d90ec
VS
78522012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7853
7854 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
7855 after freeing for safety.
7856
967b2b64
VS
78572012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7858
7859 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
7860 Reported by: Jordan Uggla.
7861
34274d02
JU
78622012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
7863
967b2b64
VS
7864 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
7865 actual implementation. Specifically, clarify that the grub menu will
7866 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
7867 passed.
34274d02 7868
dcaaae9d
BH
78692012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
7870
7871 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
7872 of r0.
7873
7086ad52
VS
78742012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7875
7876 Remove unjustified hard dependency of normal.mod on gfxterm.
7877
7878 * include/grub/term.h (grub_term_output): New member fullscreen.
7879 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
7880 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
7881 (grub_gfxterm): Set .fullscreen.
7882 * grub-core/normal/menu.c (menu_init): Use fullscreen.
7883 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
7884
37ed2c9b
VS
78852012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7886
7887 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
7888 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 7889 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 7890
a4469c88
VS
78912012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7892
7893 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
7894
4e461486
VS
78952012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7896
7897 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
7898 a bad FS.
7899
aa78f5c4
VS
79002012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7901
7902 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
7903 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
7904
197626b5
VS
79052012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7906
7907 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
7908 (grub_jfs_mount): Fill caseins.
7909 (grub_jfs_find_file): Respect caseins.
7910
8ad3f28c
VS
79112012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7912
7913 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
7914 through UTF-16.
7915
0c6c324e
VS
79162012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7917
7918 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
7919 New argument origpath. All users updated.
7920
c6666ba6
VS
79212012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7922
7923 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
7924 (read_attr): Ensure that we read start of possibly compressed block.
7925
e28e5fe5
VS
79262012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7927
7928 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
7929 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
7930 All users updated.
7931
5fc23ab2
VS
79322012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7933
7934 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
7935 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
7936 (dejavu.pf2): Replace with ...
7937 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
7938 this.
7939
79dbc21c
VS
79402012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7941
7942 * util/grub.d/20_linux_xen.in: Add missing line.
7943
d2fcfb0c
VS
79442012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7945
7946 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
7947 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
7948 (grub_utf16_to_utf8): Likewise.
7949
5560e9d6
VS
79502012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7951
7952 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
7953 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
7954 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7955 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
7956 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7957 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
7958
79592012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
7960
7961 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
7962 a bad FS.
7963
5560e9d6 79642012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
7965
7966 * grub-core/fs/udf.c (read_string): Bail out on size=0.
7967 (grub_udf_read_symlink): Handle read_string failure.
7968
5eae3175
VS
79692012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
7972 comment.
7973
c1ad82db
VS
79742012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7975
7976 Fix handling of UDF symlinks.
7977
7978 * grub-core/fs/udf.c (read_string): New argument outbuf.
7979 All users updated.
7980 (grub_ufs_read_symlink): Rename to ...
7981 (grub_udf_read_symlink): ... this. All users updated.
7982 Handle symlinks with more than one component.
7983
33eca6e0
VS
79842012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7985
7986 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
7987 symlinks. Replace leading colon with a slash.
7988
57f4a70b
VS
79892012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7990
7991 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
7992 filename.
7993
38c8ee20
VS
79942012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7995
7996 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
7997 match in inner node.
7998
2e57f28f
VS
79992012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8000
8001 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
8002 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
8003 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
8004 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
8005 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
8006 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
8007 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
8008 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
8009 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
8010
fe8c2f11
VS
80112012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
8012
8013 Use grub-probe and not cmp to check that disk is empty.
8014
8015 * util/grub-install.in: Use grub-probe for zero-check.
8016 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
8017 (probe): Handle PRINT_ZERO_CHECK.
8018 (argp_parser): Handle -t zero_check.
8019
80202012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
8021
8022 Flush block cache on adding disk to device map.
8023
8024 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
8025 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
8026 adding.
8027 (read_device_map): Likewise.
8028 (open_device): Flush on opening.
8029
690434e8
VS
80302012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8031
8032 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
8033 (handle_symlink): Fix off-by-one error.
8034 Canonicalize the target.
8035 (grub_cpio_dir): Canonicalize the name.
8036 Fix memory leak.
8037 Set directory.
8038 (grub_cpio_open): Canonicalize the name.
8039
742d2be6
VS
80402012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
8043 handling.
8044
3244fe96
VS
80452012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8046
8047 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
8048 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
8049
8aeb1837
VS
80502012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8051
8052 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
8053 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 8054 All users updated.
8aeb1837 8055
9133fd05
VS
80562012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8057
8058 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
8059 counterpart.
8060
6d521c5b
VS
80612012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8062
8063 Fix UFS1 big file support.
8064
8065 * grub-core/fs/ufs.c (INODE): Removed.
8066 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
8067 64-bit.
8068 (INODE_MODE): Simplify.
8069 (grub_ufs_inode): Use uint64_t for size and not int64_t.
8070 (grub_ufs_lookup_symlink): Don't use INODE.
8071
21b82e17
VS
80722012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8073
8074 Fix minixfs with non-power-of-two blocks since it's supported by minix.
8075
8076 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
8077 (grub_minix_data): Replace log_block_size with block_size.
8078 (grub_minix_read_file): Use block_size but avoid 64-bit division.
8079 (grub_minix_mount): Fill block_size.
8080
80812012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
8082
8083 * configure.ac: Bump to beta5.
8084
f417ed04
VS
80852012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 Fix wrapped HFS+ handling.
8088
8089 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
8090 blocks_start. All users updated.
8091 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
8092 wrapping offset.
8093 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
8094
607d282b
VS
80952012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8096
8097 Fix long symlinks on reiserfs.
8098
8099 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
8100 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
8101 (grub_reiserfs_iterate_dir): Save size for non-directories.
8102 (grub_reiserfs_open): Don't reread stat block as we already know the
8103 size.
8104 (grub_reiserfs_read): Split into...
8105 (grub_reiserfs_read_real): ... and ...
8106 (grub_reiserfs_read): ...this.
8107
ae16024d
VS
81082012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8109
8110 Fix non-indexed JFS.
8111
8112 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
8113 (grub_jfs_data): New field namecomponentlen.
8114 (grub_jfs_mount): Fill namecomponentlen.
8115 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
8116
eea1e26e
VS
81172012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8118
8119 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
8120 * tests/grub_script_echo1.in: Add tests.
8121
df760f77
VS
81222012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 * util/grub-install.in: Ignore empty devicetree directory.
8125
5efb817d
B
81262012-05-08 Bean <bean123ch@gmail.com>
8127
8128 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
8129 All users updated.
8130 (free_rsm): Free header as well.
8131 (free_old_fragments): Fix memory leak.
8132 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
8133 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
8134 (destroy_pq): Likewise.
8135 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
8136
668ea6d2
VS
81372012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8138
8139 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
8140 resulting hash as a precaution.
8141
1739b1fe
VS
81422012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8143
8144 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
8145 '_' in variable names.
8146 * grub-core/net/net.c (grub_net_network_level_interface_register):
8147 Likewise.
8148
6ae485aa
VS
81492012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8150
8151 Fix AFFS with non-512B blocks.
8152
8153 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
8154 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
8155 (grub_affs_data): Replace blocksize with log_blocksize.
8156 (grub_affs_read_block): Fix non-512B blocks.
8157 (grub_affs_read_symlink): Likewise.
8158 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
8159 (grub_affs_read): Fix non-512B blocks.
8160 (grub_affs_label): Likewise.
8161 (grub_affs_mtime): Likewise.
8162 (grub_affs_mount): Fix block detection routine.
8163
d20fab84
VS
81642012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8165
8166 Add filesystem mtime to AFFS.
8167
8168 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
8169 (aftime2ctime): New function.
8170 (grub_affs_dir): Use aftime2ctime.
8171 (grub_affs_label): Fix return value.
8172 (grub_affs_mtime): New function.
8173 (grub_affs_fs): Add mtime.
8174
e87b10f5
VS
81752012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8176
8177 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
8178 UTF-8.
8179
7dceec9b
VS
81802012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8181
8182 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
8183 UTF-8.
8184
2f48221f
VS
81852012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8186
8187 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
8188
dacd85cf
VS
81892012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8190
8191 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
8192 flags.
8193 (FLAGS_CASE_SENSITIVE): New enum value.
8194 (cache_entry): New struct.
8195 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
8196 cache_size and cache.
8197 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
8198 Add log_blocksize and fshelp_flags.
8199 (grub_sfs_read_extent): Handle non-512 blocks.
8200 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
8201 (grub_sfs_read_file): Handle non-512 blocks.
8202 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
8203 fshelp_flags.
8204 (grub_sfs_read_symlink): Handle non-512 blocks.
8205 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
8206 (grub_sfs_dir): Free cache.
8207 (grub_sfs_close): Likewise.
8208
24e9a854
VS
82092012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8210
8211 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
8212 filesystems.
8213
62ace64d
VS
82142012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8215
8216 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
8217
83b2e89c
VS
82182012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8219
8220 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
8221
75ccaea3
VS
82222012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
8225 (grub_sfs_read_extent): Likewise.
8226 (grub_sfs_read_block): Likewise.
8227 (grub_sfs_mount): Likewise.
8228 (grub_sfs_iterate_dir): Likewise.
8229 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
8230 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
8231
1b8463f2
VS
82322012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8233
8234 Fix errors on compressed NTFS with 512B clusters.
8235
8236 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
8237 types.
8238 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
8239 not 0.
8240 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
8241 Relax check for inline extents.
8242 (ntfscomp): Return correct -1 on error and not 0.
8243
4f8e368f
VS
82442012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8245
8246 * util/grub-install.in: Fix handling of prefix containing spaces.
8247
6f5d5ee8
VS
82482012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8249
8250 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
8251 (grub_squash_read_data): Fix offset byte-swapping.
8252
ce41ab7a
VS
82532012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8254
8255 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
8256 per common usage and preffered in several parts of code.
8257 (grub_memcmp): Likewise.
8258 (grub_strncmp): Likewise.
8259 * include/grub/misc.h (grub_strcasecmp): Likewise.
8260 (grub_strncasecmp): Likewise.
8261 * Makefile.util.def (cmp_test): New test.
8262 (grub_script_strcmp): Likewise.
8263 * tests/cmp_unit_test.c: New file.
8264 * tests/grub_script_strcmp.in: Likewise.
8265 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
8266
49717bf4
VS
82672012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8268
8269 * include/grub/pci.h: Move enums into no-asm part.
8270
0a308f64
VS
82712012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8272
8273 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
8274
1796965f
ST
82752012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
8276
8277 * util/getroot.c (find_hurd_root_device): Try to make error message
8278 and comments to translators clearer.
8279
4e9b2819
VS
82802012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8281
8282 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
8283
076aeb50
VS
82842012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8285
8286 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
8287 btrfs.
8288
19424d94
VS
82892012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 * docs/grub.cfg: Update.
8292
ebb73076
VS
82932012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8294
8295 * docs/grub.texi (PXE): Remove not present variables.
8296
9a1b669c
VS
82972012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8298
8299 * grub-core/net/net.c (defserver_set_env): New function.
8300 (defserver_get_env): Likewise.
8301 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
8302
d38bf7d3
VS
83032012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8304
8305 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
8306 entries.
8307
83082012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
8309
8310 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
8311 * grub-core/kern/emu/hostdisk.c: Likewise.
8312
e5e4ca48
ST
83132012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8314
8315 Handle hurd userspace partitions.
8316
8317 * util/getroot.c (find_hurd_root_device): New function.
8318 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
8319
56bb5dd5
VS
83202012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8321
8322 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
8323 names.
8324 Reported by: Bastian Blank.
8325
9e8bc27a
VS
83262012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8327
8328 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
8329 crossing page boundary.
8330
aa01499d
VS
83312012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8332
8333 Fix B-tree search in BFS, especially in presence of non-ASCII
8334 characters.
8335
8336 * grub-core/fs/bfs.c (bfs_strcmp): New function.
8337 (find_in_b_tree): Use standard bsearch + btree algorithm.
8338
57006035
VS
83392012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8340
8341 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
8342 and so on.
8343
9d34bb85
MG
83442012-05-03 Matthew Garrett <mjg@redhat.com>
83452012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8346
8347 Suspend broadcom cards in order to stop their DMA.
8348
8349 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
8350 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
8351 (pci): Don't build on x86 EFI.
8352 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
8353 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
8354 New function.
8355 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
8356 stop_broadcom if running on EFI.
8357 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
8358 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
8359 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
8360 (grub_pci_find_capability): New proto.
8361
01aab997
VS
83622012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 * docs/grub.texi: Remove dot from the extension as it apparently
8365 doesn't work with some makeinfo versions.
8366
fbd8dca6
VS
83672012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8368
8369 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
8370 with GRUB expectance.
8371
dab797f4
VS
83722012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8373
8374 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
8375
1516bfb4
VS
83762012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8377
8378 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
8379 zero after directory block since last entry may be not 0-terminated if
8380 it ends on block boundary. Use continue instead of if spanning whole
8381 loop.
8382
a3a0eace
VS
83832012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8384
8385 Support 4K sectors UDF inline files.
8386
8387 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
8388 (grub_udf_extended_file_entry): Likewise.
8389 (grub_fshelp_node): Name the anonymous union. Put block at the end.
8390 All users updated.
8391 (get_fshelp_size): New function.
8392 (grub_udf_read_icb): Read whole block.
8393 (grub_udf_iterate_dir): Likewise.
8394 (grub_udf_dir): Likewise.
8395 (grub_udf_open): Likewise.
8396
c82f16c1
VS
83972012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8398
8399 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
8400
59fd2aac
VS
84012012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
8404 inline symlinks in addition to workaround.
8405
3b4afb4d
VS
84062012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8407
8408 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
8409
f45c794a
VS
84102012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8411
8412 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
8413
f25cecbd
VS
84142012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8415
8416 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
8417
bb9a34e8
VS
84182012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8419
8420 Fix reiserfs big seek times.
8421
8422 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
8423 exact. All users updated.
8424 (grub_reiserfs_read): Use nearest btree search for seeking.
8425 Fix return value on error.
8426
dc478aea
VS
84272012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8428
8429 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
8430 entries.
8431 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
8432 * docs/grub.texi: Update menuentry description.
8433
8db10f47
VS
84342012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8435
8436 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
8437 crash when embedding onto filesystem.
8438
bcb288ed
VS
84392012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
8442 name.
8443
a626fdd7
VS
84442012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8445
8446 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
8447
b2f68477
VS
84482012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8449
8450 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
8451 commit.
8452
ba15b2af
B
84532012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
84542012-05-01 Bean <bean123ch@gmail.com>
8455
8456 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
8457
a188012e
VS
84582012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8459
8460 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
8461 Special behaviour for len = 0 to read whole file isn't used anywhere and
8462 can cause buffer ovewrflows in several places.
8463
f0a53ed2
VS
84642012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8465
8466 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
8467
5ed554f0
VS
84682012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 Handle RAIDZ on non-512B sectors.
8471
8472 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
8473 max_children_ashift.
8474 (fill_vdev_info_real): Fill max_children_ashift.
8475 (read_device): Use max_children_ashift.
8476
ddc58357
VS
84772012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8478
8479 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
8480
e3282399
VS
84812012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8482
8483 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
8484 disk names.
8485 * docs/grub.texi: Update device.map parts.
8486
ee618bd4
VS
84872012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8488
8489 Don't scan into non-diskfilter devices having diskfilter names.
8490
8491 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
8492 (scan_disk): New argument accept_diskfilter. Fix recursion depth
8493 handling.
8494 (scan_disk_hook): New function.
8495
bdf88864
B
84962012-04-29 Bean <bean123ch@gmail.com>
8497
8498 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
8499 allocation.
8500
32745f51
MK
85012012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
8502
8503 * configure.ac: Detect starfield theme font path
8504 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
8505
bc95c8c0
VS
85062012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8507
8508 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
8509 geometry on serial consoles.
8510
147fbcab
VS
85112012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8512
8513 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
8514 because of network consoles.
8515
0f42c889
VS
85162012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8517
8518 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
8519 handling.
8520
4a3594c9
VS
85212012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8522
8523 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
8524 falls on Q syndrom.
8525
5cb53879
VS
85262012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8527
8528 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
8529 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
8530
b282dfe5
VS
85312012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8532
8533 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
8534 Allocate at lest 8192 for temporary buffer as required for lzo.
8535
daa59f47
VS
85362012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8537
8538 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
8539 to cluster_bits, since it's already added in.
8540 (grub_fat_read_data): Likewise.
8541
986748ce
VS
85422012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8543
8544 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
8545 as long as cluster size is multiple of 512 bytes.
8546
a20f6ad0
VS
85472012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8548
8549 * util/grub-mkrescue.in: Fix locale directory.
8550
385f9abb
VS
85512012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8552
8553 * grub-core/kern/emu/hostdisk.c (map): Make static.
8554
1c557d30
B
85552012-04-23 Bean <bean123ch@gmail.com>
8556
8557 * util/grub-fstest.c (fstest): Add missing break.
8558
524b5d3a
ST
85592012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
8560
8561 Fix hurd build.
8562
8563 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
8564 not define nr variable.
fe4824e9 8565 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
8566 find_root_devices_from_poolname, find_root_devices_from_libzfs,
8567 grub_find_device): Do not define.
524b5d3a 8568
9a06490c
VS
85692012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8570
8571 Fix kfreebsd compile and behaviour.
8572
8573 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
8574 format-security.
8575 * util/getroot.c: Fix wait.h include.
8576 (grub_guess_root_devices): Error if grub_find_device fails.
8577 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
8578 (grub_util_get_dev_abstraction): Likewise.
8579 (grub_util_pull_device): Likewise.
8580 (grub_util_get_grub_dev): Likewise.
8581 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
8582
48143d96
VS
85832012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8584
8585 Fix and unify wholedisk detection.
8586
8587 * util/getroot.c (convert_system_partition_to_system_disk): New argument
8588 is_part. All users updated.
8589 (device_is_wholedisk): Removed.
8590 (grub_util_biosdisk_get_grub_dev): Use is_part.
8591
ebbd24f3
VS
85922012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8593
8594 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
8595 mode.
8596
56f7aa1e
VS
85972012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8598
8599 * configure.ac: Bump to beta4.
8600
9c815e01
VS
86012012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8602
8603 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
8604 --fs-uuid --set UUID syntax.
8605
59e2651a
VS
86062012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8607
8608 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
8609 disunification.
8610
54e03cfc
VS
86112012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8612
8613 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
8614
81092a75
MK
86152012-04-18 Mads Kiilerich <mads@kiilerich.com>
8616
8617 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
8618
f8315e14
MG
86192012-04-18 Mike Gilbert <floppym@gentoo.org>
8620
8621 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
8622
1501ac21
B
86232012-04-18 Bean <bean123ch@gmail.com>
8624
8625 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
8626 place.
8627
cb7f944e
VS
86282012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
8631 users updated.
8632 (grub_util_biosdisk_read): Handle Linux partitions not exactly
8633 corresponding to GRUB partitions.
8634 (grub_util_biosdisk_write): Likewise.
8635
b72d44a1
VS
86362012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8637
8638 Scan mdraid before LVM.
8639
8640 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
8641 (grub_diskfilter_register_front): ... this.
8642 (grub_diskfilter_register_back): New function.
8643 All users of grub_diskfilter_register updated.
8644
33d918b8
VS
86452012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8646
8647 * util/grub-install.in: Fix an automatic target detection bug.
8648
c6ca973d
VS
86492012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8650
8651 * util/grub-install.in: New option --efi-directory.
8652
b41be562
VS
86532012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8654
8655 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
8656 boot services if we have no other choice.
8657
86582012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
8659
8660 * util/grub-mknetdir.in: Rename --override-directory to --directory and
8661 document it.
8662 * tests/util/grub-shell.in: Update to --directory.
8663
e0595a73
VS
86642012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8665
8666 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
8667
4ed80652
VS
86682012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8669
8670 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
8671 (grub_minix_read_file): Likewise.
8672 (grub_minix_read_inode): Likewise.
8673 (grub_minix_find_file): Likewise.
8674 (grub_minix_dir): Likewise.
8675
56008077
VS
86762012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 * util/grub-setup.c (setup): Fix partition handling and blocklist
8679 check.
8680
ee520775
VS
86812012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8682
8683 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
8684 redundant buggy overlap check.
8685
16fc9293
VS
86862012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
8689 and grub-mknetdir.
8690
9bab65c4
VS
86912012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
8694 kh.loadflags on pre-2.00 kernels.
8695
3c491b47
VS
86962012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8697
8698 Terminate UNDI and PXE before launching the payload to avoid problems
8699 with DMA.
8700
8701 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
8702 (grub_loader_flags): ... this. All users updated.
8703 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
8704 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
8705 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
8706 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
8707 function.
8708 (grub_pxe_restore): Likewise.
8709 (fini_hnd): New var.
8710 (GRUB_MOD_INIT): Register shutdown hook.
8711 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
8712 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
8713 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
8714 (grub_loader_set): Rename second argument to flags.
8715
851ffada
VS
87162012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8717
8718 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
8719 written bytes.
8720 (grub_get_num_of_utf8_bytes): New function.
8721 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
8722 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
8723 executing it.
8724 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
8725 (grub_ucs4_to_utf8): Change return type.
8726
491c57a8
VS
87272012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8728
8729 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
8730 warning.
851ffada
VS
8731 * grub-core/fs/bfs.c (hop_level): Likewise.
8732 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 8733
756773df
VS
87342012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8735
8736 * grub-core/lib/adler32.c: Recode due to license unclearness.
8737
fd556a96
VS
87382012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8739
8740 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
8741 (test_header): Likewise.
8742
9f9d3f69
VS
87432012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8744
8745 Fix --help formatting.
8746
8747 * util/grub-mkconfig_lib.in (print_option_help): New function.
8748 (grub_fmt): Likewise.
8749 * util/grub-install.in: Use print_option_help and grub_fmt.
8750 * util/grub-kbdcomp.in: Likewise.
8751 * util/grub-mkconfig.in: Likewise.
8752 * util/grub-mknetdir.in: Likewise.
8753 * util/grub-mkrescue.in: Likewise.
8754 * util/grub-mkstandalone.in: Likewise.
8755 * util/grub-reboot.in: Likewise.
8756 * util/grub-set-default.in: Likewise.
8757 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8758
561ec77e
VS
87592012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8760
8761 * linguas.sh: Remove autogenerated *.po.
8762
7ec2b021
VS
87632012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8764
8765 * po/README: Move language fetcing to ...
8766 * linguas.sh: ... here.
8767 * po/README: Point to linguas.sh.
8768
a88f3270
VS
87692012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8770
8771 * po/README: Exclude ko.po due to disclaimer problems.
8772
d61357ce
VS
87732012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8774
8775 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
8776 len = 0.
8777 (grub_gettext_translate_real): Handle 0th string.
8778 (grub_gettext_translate): Ensure that "" isn't translated.
8779
505e41dc
VS
87802012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8781
8782 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
8783 TRANSLATORS comment.
8784 (grub_diskfilter_print_partmap): Propagate changing of error into
8785 warning.
8786
e44092db
VS
87872012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8788
8789 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
8790 to uint64_t to prevent overflow.
8791 (grub_diskfilter_lv): Increase start_extent and extent_count
8792 to uint64_t to prevent overflow.
8793
9b83956a
VS
87942012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8795
8796 * configure.ac: Increase version.
8797
da0d5b3f
VS
87982012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8799
8800 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
8801
8802 * po/Rules-translit: New file.
8803 * po/arabic.sed: Likewise.
8804 * po/cyrillic.sed: Likewise.
8805 * po/greek.sed: Likewise.
8806 * po/hebrew.sed: Likewise.
8807 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
8808 * po/Makefile.in.in: Add extra_dist4.
8809
ac66b453
VS
88102012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8811
8812 Handle big-endian minixfs (fixes minixfs tests on bigendian).
8813
8814 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
8815 modify names. Introduce MODE_BIGENDIAN.
8816 * grub-core/fs/minix_be.c: New file.
8817 * grub-core/fs/minix2_be.c: Likewise
8818 * grub-core/fs/minix3_be.c: Likewise.
8819 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
8820 minix3_be.
8821 * grub-core/Makefile.core.def (minix_be): New module.
8822 (minix2_be): Likewise.
8823 (minix3_be): Likewise.
8824
88252012-04-01 Felix <email@hamburg.de>
8826
8827 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
8828 (devs): Add MBP 2011.
8829
0a2d5a82
VS
88302012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8831
8832 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
8833
d1625889
VS
88342012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8835
8836 * grub-core/normal/cmdline.c (print_completion): New field
8837 prompt_len.
8838 (grub_cmdline_get): Handle width properly.
8839
6d36a236
VS
88402012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8841
8842 * grub-core/commands/lsacpi.c (options): Add missing terminator.
8843
9576977e
VS
88442012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8845
8846 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 8847 after 29th of February.
9576977e 8848
d73ff15d
VS
88492012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8850
8851 Fix exfat endianness handling.
8852
8853 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
8854 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
8855 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
8856 Byte-swap utf16 when necessary.
8857 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
8858
bbb39a45
AB
88592012-03-31 Anton Blanchard <anton@samba.org>
88602012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8861
8862 Fix btrfs endianness handling.
8863
8864 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
8865 (lower_bound): Make root uint64_t. Use root in le.
8866 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
8867 (find_path): Fix template key init.
8868 (grub_btrfs_dir): Fix mtime byteswap.
8869 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
8870
354e0af7
VS
88712012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8872
8873 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
8874 recursion_depth. Break infinite resursions. All users updated.
8875
4e75f21c
VS
88762012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8877
8878 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
8879 after free.
8880 Reported by: Peter Jones.
8881
25581802
AB
88822012-03-31 Anton Blanchard <anton@samba.org>
8883
8884 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
8885 8 bit values.
8886
08fbf92e
VS
88872012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8888
8889 * util/grub-install.in: Fix nvram call for PreP.
8890
5d1182a6
VS
88912012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
8894 the error when some elements are missing into a warning.
8895
3f8cdd90
VS
88962012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8897
8898 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
8899
51006716
CW
89002012-03-28 Colin Watson <cjwatson@ubuntu.com>
8901
8902 * docs/grub.texi (Invoking grub-probe): New section.
8903 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
8904
e1bd676b
VS
89052012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
8906
8907 Fix tab and wide character handling in editor and menu.
8908
8909 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
8910 agglomerate control characters with combining marks.
8911 (bidi_line_wrap): Allow break on tab.
8912 (grub_unicode_get_comb_start): New function.
8913 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
8914 and tab correctly.
8915 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
8916 with a space.
8917 * grub-core/normal/term.c (print_ucs4_terminal): New argument
8918 fixed_tab_size. All users updated.
8919 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
8920 (grub_term_getcharwidth): Handle \t.
8921 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
8922 and copy.
8923
22e6a774
VS
89242012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8925
8926 Handle big-endian mdraid.
8927
8928 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
8929 * grub-core/Makefile.core.def (mdraid09_be): New module.
8930 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
8931 rather than grub_le_to_cpu* and grub_cpu_to_le*.
8932 * grub-core/disk/mdraid_linux_be.c: New file.
8933
3c0eae66
VS
89342012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8935
8936 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
8937
b6cf74c9
VS
89382012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8939
8940 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
8941 missing quotes which caused confusion among translators.
8942
83c93b9c
VS
89432012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8944
8945 * util/grub-mkconfig_lib.in: Fix typo.
8946
ac6fd218
VS
89472012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8948
8949 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
8950 spaces.
8951 * tests/grub_script_leading_whitespace.in: New file.
8952 * Makefile.util.def (grub_script_leading_whitespace): New test.
8953
ba287dd8
VS
89542012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
8957 to work.
8958
d2d58d0a
VS
89592012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8960
8961 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
8962 starts with control character.
8963
0382d9bb
VS
89642012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8965
8966 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
8967 overflow.
8968 (grub_gdb_outbuf): Likewise.
8969
d83ff9f9
VS
89702012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8971
8972 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
8973 zero terminator. Fixes a crash.
8974
2282da4a
VS
89752012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8976
8977 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
8978 beyond 4 GiB.
8979 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
8980 images independently of preffered adderss field.
8981
0ae4f0bd
VS
89822012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8983
8984 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
8985 * grub-core/commands/regexp.c: Likewise.
8986 * grub-core/loader/i386/linux.c: Likewise.
8987 * grub-core/partmap/msdos.c: Likewise.
8988 * grub-core/script/execute.c: Likewise.
8989 * grub-core/term/gfxterm.c: Likewise.
8990
546fbe9b
VS
89912012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8992
8993 Add variable parsing in $"..." and fix several mismatches with bash.
8994
8995 * Makefile.util.def (grub_script_gettext): New test.
8996 * grub-core/script/execute.c (parse_string): New function.
8997 (gettext_append): Likewise.
8998 (grub_script_arglist_to_argv): Use gettext_append.
8999 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
9000 * tests/grub_script_gettext.in: New file.
9001
9fdb2d7b
VS
90022012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9003
9004 Fix handling of leading spaces in scripts.
9005
9006 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
9007 spaces.
9008 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
9009 other than skipping \r. All users updated.
9010 * tests/grub_script_echo1.in: Add space-related tests.
9011 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
9012
1a1ac4f6
VS
90132012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9014
9015 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
9016
b63d89b6
VS
90172012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9018
9019 * configure.ac: Bump up the version to beta2.
9020
17f38c0f
VS
90212012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9022
9023 Fix gettext reload bugs (e.g. inability to disable gettext
9024 once enabled).
9025
9026 * grub-core/gettext/gettext.c: Encapsulate all static variables in
9027 main_context and secondary_context. All functions updated.
9028 (grub_gettext_translate): Rename to ...
9029 (grub_gettext_translate_real): ... this. Return NULL on failed
9030 translate.
9031 (grub_gettext_translate): Handle secondary context.
9032 (grub_gettext_delete_list): Close file and zero-out the context.
9033 (grub_mofile_open): Don't call grub_gettext_delete_list.
9034 Don't close file.
9035 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
9036 if locale="" to avoid pointless error message.
9037 (grub_gettext_env_write_lang): Update lang even if load fails.
9038 Handle secondary context.
9039 (grub_gettext_reread_prefix): New function.
9040 (read_main): Likewise.
9041 (read_secondary): Likewise.
9042 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
9043 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
9044 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
9045 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
9046
8e56f870
VS
90472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9048
9049 * configure.ac: Decrease warning level to avoid spurious warnings and
9050 to be able to compile with GCC 4.2.
9051 * Makefile.util.def: Remove -Wno-error=logical-op.
9052
82f6d455
WB
90532012-03-10 William Bittner <william.bittner@gmail.com>
9054
9055 * util/import_unicode.py: Add missing brackets around string for
9056 python 3 support.
9057
1ecd61a4
VS
90582012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9059
9060 Fix efi chainloader on network root.
9061
9062 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
9063 network devices.
9064 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
9065 New function.
9066
14361ee8
VS
90672012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
9070 unused show_text member.
9071 * docs/grub.texi: Document "text" property.
9072
922aabf3
VS
90732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9074
9075 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
9076 in dprintf.
9077
ec316771
VS
90782012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9079
9080 Fix IMSM handling on Fedora.
9081
9082 * util/getroot.c (grub_util_is_imsm): New function.
9083 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
9084
0f021838
VS
90852012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9086
9087 * Makefile.am: Strip gold section.
9088 * conf/Makefile.common: Likewise.
9089 * gentpl.py: Likewise.
9090 * grub-core/Makefile.core.def: Likewise.
9091 * grub-core/genmod.sh.in: Likewise.
9092
1039c8eb
VS
90932012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9094
9095 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
9096 * util/grub.d/20_linux_xen.in: Likewise.
9097 Based on Debian patch.
9098
6dd412cd
VS
90992012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 * util/grub.d/10_linux.in: Fix syntax error resulting in
9102 Richard Laager's patch.
9103 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
9104
3fd8bae5
VS
91052012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9106
9107 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
9108 dependencies.
9109
7eea1671
RL
91102012-03-10 Richard Laager <rlaager@wiktel.com>
9111
9112 * util/grub.d/10_linux.in: Fix ZFS root passing.
9113
e8e0566b
VS
91142012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9115
9116 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9117 * grub-core/commands/xnu_uuid.c: Likewise.
9118 * grub-core/loader/efi/appleloader.c: Likewise.
9119 * grub-core/script/execute.c: Likewise.
9120 * grub-core/script/main.c: Likewise.
9121 * util/grub-mkfont.c: Likewise.
9122
1acc5b1f
VS
91232012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9124
9125 * util/grub-mkfont.c (options): Use more appropriate "select" that
9126 "set" for face index.
9127
35d70620
VS
91282012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9129
9130 * util/grub-editenv.c (options): Gettextize command summaries.
9131
c9eb96b5
VS
91322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
9135 "out of memory" error messagge.
9136
1f493136
VS
91372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
9140 of diskfilter for diskfilter on diskfilter support.
9141
6d790129
VS
91422012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9143
9144 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
9145
005f46c9
VS
91462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9147
9148 * util/grub-install.in: Check for themes/starfield/theme.txt and not
9149 themes/starfield.
9150
c8f778a0
VS
91512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9152
9153 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
9154
de1e64eb
VS
91552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9156
9157 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
9158
c6d54211
VS
91592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
9162 of error message.
9163
dd390777
VS
91642012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9165
9166 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
9167
5fd1c522
VS
91682012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9169
9170 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
9171 message.
c6d54211 9172 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 9173
fae01f6c
VS
91742012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9175
9176 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
9177 Gettextize.
9178 * util/grub-mount.c (options): Likewise.
9179
292fdaff
VS
91802012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9181
9182 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
9183 gettextize.
9184 * grub-core/commands/search_wrap.c (options): Likewise.
9185
ecdbae77
VS
91862012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9187
9188 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
9189
52bfedfa
VS
91902012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9191
9192 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
9193 size calculation.
9194 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
9195 none is known.
9196
55b20e58
VS
91972012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
9200 "temporary" since it's used in identifier and is limited in space.
9201
fda9d101
VS
92022012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9203
9204 * po/POTFILES.in: Regenerate. Include *.h since they contain
9205 translatable strings as well.
9206
6a0295e2
VS
92072012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9208
9209 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9210 byte-swap on big-endian.
9211 Reported by: Lennart Sorensen
9212
807fb77c
VS
92132012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9214
9215 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
9216 (allocate_pages): Improve dprintf.
9217 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
9218 code32_start. Fill code32_start and kernel_alignment in params.
9219 (grub_cmd_initrd): Use prot_init_space.
9220
61ac50ba
VS
92212012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9222
9223 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
9224
abdd26dd
VS
92252012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9226
9227 * util/grub-install.in: Add missing dot at the end of sentence.
9228
6e69da9c
VS
92292012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9230
9231 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9232 * grub-core/commands/videotest.c: Likewise.
9233 * grub-core/loader/i386/linux.c: Likewise.
9234
4a929343
VS
92352012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9236
9237 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
9238 sentence.
9239 Reported by: Milo Casagrande.
9240
bb51c6c6
VS
92412012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9242
9243 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
9244 * grub-core/commands/gptsync.c: Likewise.
9245 * grub-core/commands/hashsum.c: Likewise.
9246 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9247 * grub-core/commands/legacycfg.c: Likewise.
9248 * grub-core/io/gzio.c: Likewise.
9249 * grub-core/net/net.c: Likewise.
9250 * grub-core/term/gfxterm.c: Likewise.
9251 * grub-core/term/terminfo.c: Likewise.
9252 * grub-core/tests/test_blockarg.c: Likewise.
9253 * grub-core/video/video.c: Likewise.
9254 * util/grub-install.in: Likewise.
9255 * util/grub-mkfont.c: Likewise.
9256
b2b149cb
VS
92572012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
9260
c7c080ad
VS
92612012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9262
9263 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 9264 Reported by: David Prévot.
c7c080ad 9265
f2e243c0
VS
92662012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9267
9268 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
9269 description.
9270
09963c76
VS
92712012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9272
9273 * util/grub-script-check.c (main): Fix a syntax error message which was
9274 unclear.
9275
a50514a8
VS
92762012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9277
9278 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
9279
4650daec
VS
92802012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9281
9282 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
9283 messages.
9284
92852012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
9286
9287 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
9288 without argument.
9289 * util/grub-mount.c (options): Likewise.
9290
bbc5a342
VS
92912012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9292
9293 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
9294
ef292a87
VS
92952012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 * grub-core/net/http.c: Add TRANSLATORS comments.
9298 * grub-core/normal/cmdline.c: Likewise.
9299 * grub-core/normal/misc.c: Likewise.
9300 * grub-core/partmap/msdos.c: Likewise.
9301 * grub-core/parttool/msdospart.c: Likewise.
9302 * grub-core/script/execute.c: Likewise.
9303 * grub-core/script/main.c: Likewise.
9304 * grub-core/term/terminfo.c: Likewise.
9305 * grub-core/video/bitmap.c: Likewise.
9306 * util/grub-install.in: Likewise.
9307 * util/grub-mkimage.c: Likewise.
9308 * util/grub-mklayout.c: Likewise.
9309 * util/grub-setup.c: Likewise.
9310
0fc19bd0
VS
93112012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9312
9313 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
9314 with similar messages in grub-fstest.
9315
d95862ef
VS
93162012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9317
9318 * util/grub-install.in: Unify "option requires an argument" message
9319 with similar messages in other files.
9320 * util/grub-mkconfig.in: Likewise.
9321
b7308f90
VS
93222012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9323
9324 * util/grub-set-default.in: Replace printf with gettext_printf (the
9325 string in in question is already translated from grub-reboot)
9326
559dc587
VS
93272012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9328
9329 * configure.ac: Bump up the version to beta1.
9330
1a11761f
VS
93312012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9332
9333 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
9334 case when min_align = 0.
9335
24539abd
VS
93362012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9337
9338 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
9339 and fix a case when line_start overflows.
9340
32bd735b
VS
93412012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9342
9343 * util/grub-reboot.in (usage): Mention id posibility.
9344 * util/grub-set-default.in (usage): Likewise.
9345
1a2fd1e6
VS
93462012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9347
9348 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
9349 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
9350 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9351 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9352 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9353 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9354 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9355
90eeab76
VS
93562012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9357
9358 * grub-core/commands/menuentry.c (options): Remove
9359 GRUB_ARG_OPTION_REPEATABLE.
9360 Reported by: Andreas Vogel
9361
5ad1be82
AV
93622012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
9363
9364 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
9365
cb055286
HE
93662012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
9367
9368 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
9369 error.
9370
93b1cd79
VS
93712012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9372
9373 Use sort -V by the idea of Georgi Georgiev.
9374
9375 * util/grub-mkconfig_lib.in (version_sort): New function.
9376 (version_test_numeric): Use version_sort.
9377
0cdc126c
VS
93782012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9379
9380 Use submenus in grub-mkconfig.
9381
9382 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
9383 * util/grub-mkconfig_lib.in (grub_quote): New function.
9384 (gettext_printf): Use gettext and not gettext_quoted to fix several
9385 messages.
9386 * util/grub.d/10_hurd.in: Use submenus.
9387 * util/grub.d/10_kfreebsd.in: Likewise.
9388 * util/grub.d/10_linux.in: Likewise.
9389 * util/grub.d/10_netbsd.in: Likewise.
9390 * util/grub.d/20_linux_xen.in: Likewise.
9391 * util/grub.d/30_os-prober.in: Likewise.
9392 * util/grub.d/10_illumos.in: Add missing quoting.
9393 * util/grub.d/10_windows.in: Likewise.
9394
d9bef9bc
VS
93952012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 Fix menu title instability bug.
9398
9399 * grub-core/commands/menuentry.c (options): New option --id.
9400 (grub_normal_add_menu_entry): New argument id. All users updated.
9401 (grub_cmd_menuentry): Handle --id.
9402 (grub_menu_init): Accept unknown arguments.
9403 * grub-core/normal/main.c (features): Add feature_menuentry_id and
9404 feature_menuentry_options.
9405 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
9406 saved_entry.
9407 (get_entry_number): Match with id as well.
9408 * include/grub/menu.h (grub_menu_entry): New member id.
9409 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
9410 * util/grub.d/00_header.in: Define menuentry_id_option.
9411 * util/grub.d/10_hurd.in: Define id.
9412 * util/grub.d/10_illumos.in: Likewise.
9413 * util/grub.d/10_kfreebsd.in: Likewise.
9414 * util/grub.d/10_linux.in: Likewise.
9415 * util/grub.d/10_netbsd.in: Likewise.
9416 * util/grub.d/10_windows.in: Likewise.
9417 * util/grub.d/20_linux_xen.in: Likewise.
9418 * util/grub.d/30_os-prober.in: Likewise.
9419
94202012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
9421
9422 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
9423 "scope" with "body".
9424
7c8d0ce7
VS
94252012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9426
9427 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
9428 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
9429 prot_size and prot_file_size.
9430
49de079b
VS
94312012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9432
9433 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
9434 All users updated. If easily=1 require raid-5/-6 to be full.
9435 (is_node_readable): Likewise.
9436 (scan_devices): Scan incomplete but readable LVs at the end.
9437 (grub_diskfilter_memberlist): Pull missing devices.
9438 (insert_array): Skip scanning until device is complete or scan is
9439 done otherwise.
9440 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
9441 check.
9442 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
9443 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
9444
aff05d45
MG
94452012-03-03 Matthew Garrett <mjg@redhat.com>
94462012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9447
9448 Avoid EFI boot services when loading Linux.
9449
9450 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
9451 avoid_efi_bootservices. All users updated.
9452 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
9453 argument avoid_efi_bootservices. All users updated.
9454 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
9455 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
9456 align, min_align, relocatable, prefered_address. All users updated.
9457 Allocate avoiding boot services if kernel is relocatable.
9458 (grub_cmd_linux): Check if kernel is relocatable.
9459 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
9460 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
9461 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
9462 avoid_efi_boot_services.
9463 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
9464 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
9465 (linux_kernel_params): Likewise.
9466
3935dde2
MG
94672012-03-03 Matthew Garrett <mjg@redhat.com>
94682012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9469
9470 Use EDID on EFI.
9471
9472 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
9473 datasize_out.
9474 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
9475 modes. Set gop_handle.
9476 (grub_video_gop_get_edid): New function.
9477 (grub_gop_get_preferred_mode): Likewise.
9478 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
9479 (grub_video_efi_gop_adapter): Set .get_edid.
9480 * include/grub/efi/edid.h: New file.
9481 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
9482
32107ec0
VS
94832012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9484
9485 * util/grub-install.in: Load efivars unconditionally.
9486
e70a2c50
VS
94872012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9488
9489 * po/Rules-piglatin: Change suffix from .po-update-en to
9490 .po-update-en-piglatin.
9491
8f9cace1
VS
94922012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9493
9494 Add a pig farm.
9495
9496 * po/piglatin.sed: New file.
9497 * po/en@piglatin.header: Likewise.
9498 * po/Rules-piglatin: Likewise.
9499 * po/README: Add en@piglatin to autogenerated languages.
9500
8f95d002
VS
95012012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9502
9503 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
9504 "Command for ...".
9505 * grub-core/commands/hdparm.c (options): Use "Display" rather than
9506 "Check" since we don't check anything.
9507 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
9508 is 64-bit one.
9509 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
9510 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
9511 (grub_md_sha512_real): Likewise.
9512
805a8dcc
VS
95132012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9514
9515 * grub-core/commands/gptsync.c: Fix typographic quoting.
9516 * grub-core/commands/ieee1275/suspend.c: Likewise.
9517 * grub-core/commands/parttool.c: Likewise.
9518 * grub-core/commands/search_wrap.c: Likewise.
9519 * grub-core/commands/videoinfo.c: Likewise.
9520 * grub-core/gfxmenu/gui_label.c: Likewise.
9521 * grub-core/hello/hello.c: Likewise.
9522 * grub-core/kern/emu/main.c: Likewise.
9523 * grub-core/net/net.c: Likewise.
9524 * grub-core/normal/menu.c: Likewise.
9525 * grub-core/normal/menu_text.c: Likewise.
9526 * grub-core/normal/misc.c: Likewise.
9527 * util/grub-editenv.c: Likewise.
9528 * util/grub-install.in: Likewise.
9529 * util/grub-kbdcomp.in: Likewise.
9530 * util/grub-mkconfig.in: Likewise.
9531 * util/grub-mknetdir.in: Likewise.
9532 * util/grub-mkrescue.in: Likewise.
9533 * util/grub-mkstandalone.in: Likewise.
9534 * util/grub-reboot.in: Likewise.
9535 * util/grub-set-default.in: Likewise.
9536 * util/grub-setup.c: Likewise.
9537 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9538
40211ab8
VS
95392012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9540
9541 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
9542 * grub-core/commands/keystatus.c: Likewise.
9543 * grub-core/commands/loadenv.c: Likewise.
9544 * grub-core/commands/probe.c: Likewise.
9545 * grub-core/commands/regexp.c: Likewise.
9546 * grub-core/commands/true.c: Likewise.
9547 * grub-core/commands/videoinfo.c: Likewise.
9548 * grub-core/disk/cryptodisk.c: Likewise.
9549 * grub-core/disk/ldm.c: Likewise.
9550 * grub-core/disk/loopback.c: Likewise.
9551 * grub-core/disk/luks.c: Likewise.
9552 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9553 * grub-core/kern/disk.c: Likewise.
9554 * grub-core/kern/emu/hostdisk.c: Likewise.
9555
0c7d99c7
VS
95562012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9557
9558 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
9559 * util/grub-install.in: Add missing quote in the comment.
9560
e7d2559b
VS
95612012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9562
9563 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
9564 * grub-core/commands/lsmmap.c: Likewise.
9565 * grub-core/commands/minicmd.c: Likewise.
9566 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
9567 * grub-core/commands/regexp.c: Likewise.
9568 * grub-core/gdb/gdb.c: Likewise.
9569 * grub-core/term/gfxterm.c: Likewise.
9570 * util/grub-mkconfig.in: Likewise.
9571 * util/grub-mkfont.c: Likewise.
9572 * util/grub-mklayout.c: Likewise.
9573 * util/grub-mknetdir.in: Likewise.
9574 * util/grub-mkrescue.in: Likewise.
9575 * util/grub.d/30_os-prober.in: Likewise.
9576
49ce9e50
VS
95772012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9578
9579 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
9580 with "Direct color" and "Packed" with "Packed pixel".
9581 (grub_cmd_videoinfo): Simplify legend.
9582
e4b791fa
VS
95832012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9584
9585 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9586 absolutely unclear error message.
9587
fd1265cb
VS
95882012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9589
9590 * util/grub-mkstandalone.in: Remove confusing leftover print.
9591
8822a8a0
VS
95922012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9593
9594 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
9595 comments.
9596 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
9597 (GRUB_MOD_INIT): Likewise.
9598 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
9599 VGA mode.
9600 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
9601 comments.
9602 * util/grub-install.in (usage): Likewise.
9603 Spell ID in whole letters.
9604 Add missing ending dot.
9605 Quote variables.
9606 * util/grub-reboot.in: Fix capitalisation.
9607 * util/grub-set-default.in: Likewise.
9608
937fd0cc
VS
96092012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9610
9611 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
9612 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
9613 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
9614 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
9615 Disable -Werror for -Wdeprecated-declarations.
9616 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
9617 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
9618 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
9619 (grub_util_get_grub_dev): Make luks handling dependent on
9620 HAVE_DEVICE_MAPPER and not __linux__.
9621 (get_win32_path): Fix format security.
9622 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
9623 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
9624 Don't try grub_find_zpool_from_dir.
9625 (grub_make_system_path_relative_to_its_root) [!__linux__]:
9626 #ifdef-out paresdir.
9627
1bab1ae3
VS
96282012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9629
9630 * util/grub-pe2elf.c (usage): Add missing noreturn.
9631 (write_section_data): Rename name to shname to avoid shadowing.
9632 (write_symbol_table): Rename name to symname to avoid shadowing.
9633 Fix write_reloc_section call.
9634
ef023e42
VS
96352012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9636
9637 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
9638 to ensure that it's after the last byte of .text.
9639
48afcb75
VS
96402012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9641
9642 * util/ieee1275/ofpath.c (my_isdigit): New function.
9643 (trailing_digits): Use my_isdigit.
9644 (strip_trailing_digits): Likewise.
9645
88d51eff
VS
96462012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9647
9648 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
9649 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
9650
17edc2ba
VS
96512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9652
9653 * grub-core/kern/i386/pc/startup.S: Define __start.
9654
ad5518d7
VS
96552012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9656
9657 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
9658 strip already transforms he format.
9659
9e95e1bf
VS
96602012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9661
9662 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
9663
9cc3ee5c
VS
96642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9665
9666 * util/grub-install.in: Add missing gettext init.
9667 * util/grub-kbdcomp.in: Likewise.
9668 * util/grub-mkconfig.in: Likewise.
9669 * util/grub-mknetdir.in: Likewise.
9670 * util/grub-mkrescue.in: Likewise.
9671 * util/grub-mkstandalone.in: Likewise.
9672 * util/grub-reboot.in: Likewise.
9673 * util/grub-set-default.in: Likewise.
9674 * util/grub.d/00_header.in: Likewise.
9675 * util/grub.d/10_hurd.in: Likewise.
9676 * util/grub.d/10_windows.in: Likewise.
9677 * util/grub.d/30_os-prober.in: Likewise.
9678 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9679
49e08a06
VS
96802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9681
9682 * po/Rules-swiss: Fix header comment.
9683
3809cb41
AV
96842012-02-29 Andreas Vogel <anvoit>
9685
9686 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
9687 resulted in leak of arguments.
9688
fa6ec573
VS
96892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9690
9691 * grub-core/boot/i386/pc/startup_raw.S: Use separate
9692 reed_solomon_size const definition instead of computing it since
9693 Apple assembler doesn't support the later.
9694
22899b9c
VS
96952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9696
9697 * gentpl.py (kernel): Rewrite Apple part.
9698
a132afc3
VS
96992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9700
9701 * include/grub/kernel.h (FOR_MODULES): Check module magic.
9702
9d742bd4
VS
97032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9704
9705 * util/grub-mkimagexx.c (locate_sections): Support non-standard
9706 ELF section gap.
9707 (load_image): Likewise.
9708
f04a9a21
VS
97092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9710
9711 * configure.ac: Fix a typo in previous commit.
9712
46cf439c
VS
97132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9714
9715 Don't add -Wl,-N on Apple platform.
9716
9717 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
9718 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
9719
c4c48c54
VS
97202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9721
9722 * grub-core/Makefile.core.def (lzma_decompress): Use
9723 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
9724
31a12124
VS
97252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9726
9727 * grub-core/genmod.sh.in: Rewrite the Apple part.
9728
4f3aa1af
VS
97292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9730
9731 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
9732 comparison.
9733
7bd8b0c7
VS
97342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9735
9736 * acinclude.m4 (grub_CHECK_PIC): New test.
9737 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
9738
97304d7c
VS
97392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9740
9741 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
9742 to avoid the warning.
9743
fb883812
VS
97442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9745
9746 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
9747 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
9748 after. All users updated.
9749
a121c964
VS
97502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9751
9752 Use the common size routine in hostfs so we can read disks as well.
9753
9754 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
9755 (grub_util_get_fd_size): ... this. Return size in bytes.
9756 All users updated.
9757 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
9758 grub_util_get_fd_size.
9759
c66d6410
VS
97602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9761
9762 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
9763 Add blocksize retrieval.
9764
dfc8aeb0
VS
97652012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9766
9767 * configure.ac: Restore CFLAGS after efiemu check.
9768
403e25a5
VS
97692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9770
9771 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
9772 Apple bug.
9773
382775d1
VS
97742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9775
9776 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
9777
6fd4e6e4
VS
97782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9779
9780 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
9781 (grub_cmd_halt): Likewise.
9782
bea359d6
VS
97832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9784
9785 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
9786 for local arithmetics.
9787 Break %sp init into 2 instructions.
9788 Add 0 byte at the end.
9789
32eb6ee1
VS
97902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9791
9792 * grub-core/disk/diskfilter.c (read_segment): Initialise err
9793 before loops.
9794
e8377389
VS
97952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9796
9797 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
9798 for context.
9799
8cb17de7
VS
98002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9801
9802 * grub-core/disk/ldm.c (make_vg): Init part.name.
9803 (grub_ldm_detect): Silence spurious warning.
9804 (grub_util_is_ldm): Likewise.
9805
595717e6
VS
98062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9807
9808 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
9809 sane value to avoid a spurious warning.
9810
c4b7e588
VS
98112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9812
9813 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
9814 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
9815
59824957
VS
98162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9817
9818 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
9819 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
9820
70115b99
VS
98212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9822
9823 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
9824 hardcoding the relevant info.
9825
56733740
VS
98262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9827
9828 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
9829 missing const qualifiers.
9830 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
9831
43481481
VS
98322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9833
9834 * util/getroot.c [__APPLE__]: Add missing includes.
9835 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
9836
3cb38f01
VS
98372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9838
9839 * util/grub-mkimage.c (generate_image): Silence spurious warning.
9840
d9dbf11e
VS
98412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9842
9843 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
9844 avoid conflicts.
9845
0c42a45d
VS
98462012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9847
9848 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
9849
46c34eb0
VS
98502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9851
9852 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
9853 and grub_file_close call.
9854
99ce1597
VS
98552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9856
9857 Add LZSS Mach-O support (needed for new xnu kernelcache).
9858
9859 * grub-core/Makefile.core.def (xnu): Add file lzss.c
9860 * grub-core/loader/lzss.c: New file.
9861 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
9862 on Mach-O open failure.
9863 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
9864 Don't free cmdsXX in uncompressedXX is set.
9865 (grub_macho_file): Init new fields.
9866 New argument is_64bit. All users updated.
9867 Handle compressed. Error out if no suitable architecture is found.
9868 Don't close file.
9869 (grub_macho_open): New argument is_64bit. All users updated.
9870 * grub-core/loader/macho32.c: Add defines for new fields.
9871 * grub-core/loader/macho64.c: Likewise.
9872 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
9873 (grub_macho_parse): Handle compressed.
9874 Defer actual processing if compressed.
9875 (grub_macho_cmds_iterate): Decompress if compressed. New argument
9876 "filename". All users updated.
9877 (grub_macho_size): New argument "filename". All users updated.
9878 (grub_macho_get_entry_point): Likewise.
9879 (grub_macho_load): Handle compressed.
9880 * include/grub/macho.h (grub_macho_lzss_header): New struct.
9881 (GRUB_MACHO_LZSS_OFFSET): New define.
9882 (grub_decompress_lzss): New proto.
9883 * include/grub/machoload.h (grub_macho_file): New fields to handle
9884 compressed.
9885 (grub_macho_contains_macho64): Remove proto.
9886 (grub_macho_contains_macho32): Likewise.
9887 * util/grub.d/30_os-prober.in: Use kernel cache if available.
9888
ebd17d6f
VS
98892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9890
9891 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
9892
2702b4e4
VS
98932012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9894
9895 Fix make dist.
9896
9897 * Makefile.am (starfield_theme_files): New var.
9898 (starfield_DATA): Use starfield_theme_files.
9899 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
9900 Add bootcheck-related files.
9901 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
9902 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
9903 and font_char_metrics.txt.
9904 * grub-core/Makefile.core.def (kernel): Update extra_dist.
9905 (setjmp): Add lib/ia64/longjmp.S.
9906 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
9907 * po/POTFILES.in: Regenerate.
9908 * po/Rules-swiss: use DISTFILES.common.extra2 and not
9909 DISTFILES.common.extra1.
9910 * util/devicemap.c: Removed.
9911 * grub-core/lib/i386/relocator_backward.S: Likewise.
9912 * util/import_gcry.py: Remove unused files. Add extra_dist for
9913 ChangeLog.
9914
cf1adfdf
VS
99152012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9916
9917 * grub-core/gettext/gettext.c (grub_mofile_open): Call
9918 grub_gettext_delete_list before changing grub_gettext_max to avoid
9919 running out of array bounds.
9920
99212012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
9922
9923 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
9924 grub_vga_text_init/grub_vga_text_fini.
9925
cf1adfdf 99262012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
9927
9928 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
9929
541d92e9
VS
99302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9931
9932 * configure.ac: Bump to 2.00~beta0.
9933
7931dddf
VS
99342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9935
9936 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
9937 missing initialisation.
9938
f1b16fa3
VS
99392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9940
9941 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
9942
83ddae23
VS
99432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9944
9945 Support v2 xnu boot arguments.
9946
9947 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
9948 New argument fsbfreq_out.
9949 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
9950 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
9951 be used.
9952 * grub-core/loader/machoXX.c (grub_macho_load): New argument
9953 darwin_version.
9954 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
9955 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
9956 (grub_xnu_boot_params): Rename to ...
9957 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
9958 (grub_xnu_boot_params_v2): New struct.
9959
dc693fe6
VS
99602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9961
9962 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
9963 zeroing of CRC field before computing CRC.
9964
5a6e39c2
VS
99652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9966
9967 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
9968 Change order of allocations to decrease fragmentation.
9969
6c21f5d7
VS
99702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9971
9972 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
9973
cfe456dc
CW
99742012-02-27 Colin Watson <cjwatson@ubuntu.com>
9975
9976 Use write-combining MTRR to speed up video with buggy BIOSes.
9977
9978 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
9979 (cpuid): New define.
9980 (rdmsr): Likewise.
9981 (wrmsr): Likewise.
9982 (mtrr_base): Likewise.
9983 (mtrr_mask): Likewise.
9984 (grub_vbe_enable_mtrr_entry): New function.
9985 (grub_vbe_enable_mtrr): Likewise.
9986 (grub_vbe_disable_mtrr): Likewise.
9987 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
9988 control off to BIOS.
9989 (grub_video_vbe_init): Fill mtrr.
9990 (grub_video_vbe_fini): Disable mtrr.
9991 (grub_video_vbe_get_info_and_fini): Likewise.
9992 (grub_video_vbe_setup): Enable mtrr.
9993
e3c78337
CW
99942012-02-27 Colin Watson <cjwatson@ubuntu.com>
9995
9996 * include/grub/partition.h (grub_partition_map): Change prototype of
9997 embed to take a maximum value for nsectors.
9998 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
9999 * include/grub/fs.h (grub_fs): Likewise.
10000 * grub-core/partmap/msdos.c (embed_signatures): New array.
10001 (pc_partition_map_embed): Check for and avoid sectors matching any
10002 of the signatures in embed_signatures, up to max_nsectors.
10003 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
10004 returned sector map to max_nsectors.
10005 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
10006 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
10007 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
10008 * util/grub-setup.c (setup): Allow for the embedding area being
10009 split into multiple blocklists. Tell dest_partmap->embed the
10010 maximum number of sectors we care about.
10011
100122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10013
10014 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
10015 Specify blocklist_install and reserver_first_sector for all fs.
10016 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
10017 blocklists.
10018
984b973f
VS
100192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10020
10021 * util/grub-install.in: Clarify strings.
10022 Fix source dir check.
10023
f122e0d6
RL
100242012-02-27 Richard Laager <rlaager@wiktel.com>
10025
10026 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
10027 "zfs" and "fuse.zfs" as synonyms.
10028
071114bb
VS
100292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10030
10031 * configure.ac: Put platform and target_cpu substitutions back since
10032 they are used for directories.
10033
817e6abc
RL
100342012-02-27 Richard Laager <rlaager@wiktel.com>
100352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10036
10037 * util/grub.d/10_linux.in: Add ZFS-related arguments.
10038 * util/grub.d/20_linux_xen.in: Likewise.
10039
897b7419
RL
100402012-02-27 Richard Laager <rlaager@wiktel.com>
10041
10042 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
10043 with full paths.
10044
a414bd15
RL
100452012-02-27 Richard Laager <rlaager@wiktel.com>
10046
10047 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
10048 unescape.
10049
30ac48c4
VS
100502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10051
10052 Don't use insecure popen in getroot.
10053
10054 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
10055 (exec_pipe): ... here.
10056 (find_root_devices_from_poolname): Use exec_pipe.
10057
53f13848
VS
100582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10059
10060 Remove platform and target_cpu replacement.
10061
10062 * configure.ac: Remove platform and target_cpu substitutions.
10063 * tests/util/grub-shell.in: Use modinfo.
10064 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
10065 explicitly.
10066
90cb2803
VS
100672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10068
10069 Autodetect platform in grub-install but allow override.
10070
10071 * util/grub-install.in: Autodetect platform. Support --target and
10072 --directory. Read platform from modinfo.sh.
10073
b9136427
VS
100742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10075
10076 Support btrfs multi-volume probe.
10077
10078 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
10079 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
10080 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
10081 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
10082 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
10083 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
10084 grub_find_root_devices_from_btrfs if on btrfs.
10085
c36e5cd1
VS
100862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10087
10088 Remove any awareness of *.c util files about target.
10089
10090 * Makefile.util.def (grub-setup): Split to ...
10091 (grub-bios-setup): ... and this.
10092 (grub-sparc64-setup): ... and this.
10093 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
10094 * docs/man/grub-setup.h2m: Split into ...
10095 * docs/man/grub-sparc64-setup.h2m: ... this.
10096 * docs/man/grub-bios-setup.h2m: ... and this.
10097 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
10098 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
10099 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
10100 (grub_target_addr_t): Remove.
10101 (grub_target_size_t): Remove.
10102 (grub_target_ssize_t): Remove.
10103 * util/grub-install.in: Use new grub-*-setup.
10104 * util/grub-mkimagexx.c (Elf_Word): New define.
10105 (Elf_Half): Likewise.
10106 (Elf_Section): Likewise.
10107 (ELF_ST_TYPE): Likewise.
10108 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
10109 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
10110
584b2f8a
VS
101112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10112
10113 Replace grub_target_addr with more appropriate types.
10114
10115 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
10116 grub_target_addr with grub_addr.
10117 * grub-core/commands/iorw.c (grub_cmd_read): Replace
10118 grub_target_addr with grub_port.
10119 (grub_cmd_write): Likewise.
10120 * grub-core/commands/memrw.c (grub_cmd_read): Replace
10121 grub_target_addr with grub_addr.
10122 (grub_cmd_write): Likewise.
10123 * grub-core/video/efi_uga.c (find_line_len): Likewise.
10124
5a0dc6fb
VS
101252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10126
10127 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
10128 const qualifier for vendor_guid.
10129
786aff6e
VS
101302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10131
10132 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
10133 const qualifier.
10134 (efiemu_memequal): Likewise.
10135 (find_variable): Likewise.
10136
49017b17
VS
101372012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10138
10139 Fix missing console prototype on qemu-mips.
10140
10141 * include/grub/mips/qemu_mips/console.h: New file.
10142
c5988629
MG
101432012-02-27 Matthew Garrett <mjg@redhat.com>
101442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10145
10146 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
10147 * include/grub/efi/efi.h: Likewise.
10148 * include/grub/efi/api.h: Add guid for EFI-specified variables.
10149 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
10150 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
10151 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
10152 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
10153 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
10154
e33f8d69
MG
101552012-02-27 Matthew Garrett <mjg@redhat.com>
10156
10157 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
10158
fb312cd9
VS
101592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10160
10161 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
10162 error.
10163
7134247c
VS
101642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10165
10166 * configure.ac: Remove inappropriate use of program_transform_name
10167 on grubdir and bootdir but allow explicit specification of those
10168 variables.
10169
6a313124
VS
101702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10171
10172 * util/grub-mknetdir.in (grub_prefix): Removed.
10173 (subdir): Use @bootdirname@ and @grubdirname@.
10174
2311c5ca
VS
101752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10176
10177 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
10178
7d5d60f7
VS
101792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10180
10181 * po/POTFILES.in: Regenerated.
10182
8151bc82
VS
101832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10184
10185 Remove improper use of program_transform_name on pkglibrootdir.
10186
10187 * configure.ac (pkglibrootdir): Removed.
10188 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
10189 * util/grub-mkimage.c: Likewise.
10190
b4a6a533
VS
101912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10192
10193 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
10194 warning.
10195
668f304f
VS
101962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10197
10198 * util/grub-install.in: Use file identifier if no UUID is available
10199 or user explicitly prompted for it.
10200
665f2341
NP
102012012-02-27 Navdeep Parhar <nparhar@gmail.com>
10202
10203 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
10204 (freebsd_get_zfs): New function.
10205 (grub_freebsd_boot): Pass zfs UUID.
10206 (grub_cmd_freebsd): Set zfs UUID.
10207
8151bc82 102082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
10209
10210 * conf/Makefile.common (platformdir): Base on pkglibdir and not
10211 pkglibrootdir.
10212
e4c498a1
MG
102132012-02-27 Mike Gilbert <floppym@gentoo.org>
10214
10215 Add configure flag to control libzfs integration.
10216
10217 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
10218
1e9a9a3f
VS
102192012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10220
10221 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
10222 device.
10223 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
10224 small devices.
10225
036985b8
VS
102262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10227
10228 Remove grub_{modname}_init and grub_{modname}_fini. They should never
10229 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
10230 be used on non-modules.
10231
10232 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
10233 Rename to grub_boot_init.
10234 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
10235 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
10236 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
10237 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
10238 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
10239 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
10240 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
10241 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
10242 includes.
10243 (grub_machine_init): Remove empty inits.
10244 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
10245 includes.
10246 (grub_machine_init): Remove empty inits.
10247 * grub-core/term/arc/console.c: Remove explicit proto.
10248 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
10249 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
10250 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10251 grub_at_keyboard_fini.
10252 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
10253 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
10254 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10255 grub_gfxterm_fini.
10256 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
10257 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
10258 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10259 grub_vgatext_fini.
10260 * grub-core/term/ieee1275/console.c: Remove explicit proto.
10261 * grub-core/term/serial.c (GRUB_MOD_INIT)
10262 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
10263 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10264 grub_serial_fini.
10265 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
10266 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
10267 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10268 grub_terminfo_fini.
10269 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
10270 (GRUB_MOD_FINI): Likewise.
10271 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
10272 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
10273 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10274 grub_video_radeon_fuloong2e_fini.
10275 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
10276 [LOONGSON]: Rename to grub_video_sis315pro_init.
10277 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10278 grub_video_sis315pro_fini.
10279 * grub-core/video/sm712.c (GRUB_MOD_INIT)
10280 [LOONGSON]: Rename to grub_video_sm712_init.
10281 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10282 grub_video_sm712_fini.
10283 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
10284 (grub_at_keyboard_fini): Likewise.
10285 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
10286 Don't declare grub_{modname}_init.
10287 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
10288 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
10289 New proto.
10290 (grub_keylayouts_fini) [!EMU]: Likewise.
10291 * include/grub/serial.h (grub_serial_init) [!EMU]:
10292 New proto.
10293 (grub_serial_fini) [!EMU]: Likewise.
10294 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
10295 New proto.
10296 (grub_terminfo_fini) [!EMU]: Likewise.
10297 * include/grub/video.h (grub_font_init) [!EMU]:
10298 New proto.
10299 (grub_font_fini) [!EMU]: Likewise.
10300 (grub_gfxterm_init) [!EMU]: Likewise.
10301 (grub_gfxterm_fini) [!EMU]: Likewise.
10302 (grub_video_sm712_init) [!EMU]: Likewise.
10303 (grub_video_sm712_fini) [!EMU]: Likewise.
10304 (grub_video_sis315pro_init) [!EMU]: Likewise.
10305 (grub_video_sis315pro_fini) [!EMU]: Likewise.
10306 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
10307 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
10308
d5534665
VS
103092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10310
10311 Make nand a prefix for nand devices.
10312
10313 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
10314
10133b5f
VS
103152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10316
10317 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
10318 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
10319
8e307a62
VS
103202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10321
10322 * include/grub/env.h (grub_env_find): Remove prototype.
10323 * grub-core/kern/env.c (grub_env_find): Make static.
10324 (grub_env_set): Remove useless set.
10325
a4c65f34
VS
103262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10327
10328 * grub-core/kern/i386/realmode.S: Remove useless align.
10329
d87893d5
VS
103302012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10331
10332 * include/grub/dl.h (grub_dl_load_file): Don't export.
10333
50159add
VS
103342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10335
10336 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
10337 grub_dprintf.
10338
b2582b84
VS
103392012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10340
10341 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
10342 grub_errors.
10343 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
10344 not reloading whole superblock but only the part which is really needed.
10345 Remove useless grub_errors.
10346 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
10347 grub_errors.
10348
e2a83395
VS
103492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 Don't export grub_get_rtc.
10352
10353 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
10354 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
10355
e7d2a906
VS
103562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10357
10358 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
10359
6cf1363b
VS
103602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10361
10362 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 10363 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 10364
eece3349
VS
103652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10366
10367 Remove prio_list.
10368
10369 * include/grub/list.h (grub_prio_list): Removed.
10370 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
10371 GRUB_COMMAND_PRIO_MASK.
10372 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
10373 GRUB_COMMAND_FLAG_ACTIVE.
10374 (grub_prio_list_insert): Removed.
10375 (grub_prio_list_remove): Likewise.
10376 (GRUB_AS_PRIO_LIST): Likewise.
10377 (GRUB_AS_PRIO_LIST_P): Likewise.
10378 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
10379 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
10380 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
10381 * grub-core/kern/command.c (grub_register_command_prio): Inline
10382 the prio_list code.
10383 (grub_unregister_command): Likewise.
10384
94f064b4
VS
103852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10386
10387 Fix interrupt mixup from previous commit.
10388
10389 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
10390 (grub_realidt): New var.
10391 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
10392 Load idt.
10393 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
10394 New declaration.
10395 (grub_relocator16_boot): Set grub_relocator16_idt.
10396 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
10397 (LOCAL(realidt)): ... this.
10398 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
10399 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
10400 (grub_realidt): New variable.
10401
27317084
VS
104022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
10405 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
10406 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
10407 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
10408 Gettextize.
10409 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
10410 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
10411 * po/POTFILES.in: Regenerate.
10412
47b40053
VS
104132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10414
10415 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
10416 errors.
10417
2b343101
VS
104182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10419
10420 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
10421 \0.
10422 (add_length): Likewise.
10423
ff27c3dd
LK
104242012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
104252012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
10426
10427 GDB serial and backtrace support.
10428
10429 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
10430 (prot_to_real): Likewise.
10431 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
10432 * grub-core/Makefile.core.def (backtrace): New module.
10433 (gdb): Likewise.
10434 * grub-core/gdb/cstub.c: New file.
10435 * grub-core/gdb/gdb.c: Likewise.
10436 * grub-core/gdb/i386/idt.c: Likewise.
10437 * grub-core/gdb/i386/machdep.S: Likewise.
10438 * grub-core/gdb/i386/signal.c: Likewise.
10439 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 10440 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
10441 * include/grub/backtrace.h: Likewise.
10442 * include/grub/gdb.h: Likewise.
10443 * include/grub/i386/gdb.h: Likewise.
10444
104452012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
10446
10447 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
10448 New function.
10449 (add_length): Likewise.
10450 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
10451 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
10452 proto.
10453 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
10454 __argp_get_display_len.
10455
ff27c3dd 104562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
10457
10458 $"..." support in scripts.
10459
10460 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
10461 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
10462 * grub-core/script/yylex.l: Likewise.
10463 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
10464 value.
10465
ff27c3dd 104662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
10467
10468 * gentpl.py: Remove obsolete pkglib_DATA handling.
10469
ff27c3dd 104702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
10471
10472 Don't transform PACKAGE_TARNAME following a discussion on autoconf
10473 mailing list.
10474
10475 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
10476 * util/grub-kbdcomp.in: Likewise.
10477 * util/grub-mkconfig.in: Likewise.
10478 * util/grub-mkconfig_lib.in: Likewise.
10479 * util/grub-mknetdir.in: Likewise.
10480 * util/grub-mkrescue.in: Likewise.
10481 * util/grub-mkstandalone.in: Likewise.
10482 * util/grub-reboot.in: Likewise.
10483 * util/grub-set-default.in: Likewise.
10484 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10485
ff27c3dd 104862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
10487
10488 Remove GRUB_PREFIX.
10489
10490 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
10491 * util/grub.d/00_header.in: Compute prefix in the only place it's still
10492 used for backward compatibility.
10493
ff27c3dd 104942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
10495
10496 Add new all_video module.
10497
10498 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
10499 * grub-core/Makefile.core.def (all_video): New module.
10500 * grub-core/genmoddep.awk: Generate dependency of all_video from
10501 video.lst.
10502 * grub-core/lib/fake_module.c: New file.
10503 * grub-core/normal/main.c (features): Add feature_all_video_module.
10504 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
10505 don't do explicit search again.
47454da5 10506 insmod all_video in load_video if available.
22c7ce85 10507
ff27c3dd 105082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
10509
10510 Another round of string clarification and adding TRANSLATORS comments.
10511
ff27c3dd 105122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
10513
10514 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
10515
ff27c3dd 105162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
10517
10518 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
10519 to grub_ssize_t.
10520 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
10521 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
10522
ff27c3dd 105232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
10524
10525 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
10526 trailing newline implicitly. All users updated.
10527
ff27c3dd 105282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
10529
10530 Implement serial on IEEE1275 and EFI.
10531
10532 * docs/grub.texi (Platform-specific limitations): Fix the columen video
10533 on emu. Mention arc and emu as the only platforms without serial
10534 support.
10535 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
10536 ieee1275 platforms.
10537 * grub-core/term/efi/serial.c: New file.
10538 * grub-core/term/ieee1275/serial.c: Likewise.
10539 * grub-core/term/serial.c (grub_serial_find): Disable direct port
10540 specification if no ns8250 driver is available.
10541 (grub_cmd_serial): Likewise.
10542 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
10543 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
10544 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
10545 (grub_efi_parity_type_t): New type.
10546 (grub_efi_stop_bits_t): Likewise.
10547 (grub_efi_serial_io_interface): New struct.
10548 * include/grub/serial.h (grub_serial_port): Make 'broken' field
10549 available for all interfaces.
10550 Add EFI and IEEE1275 fields.
10551 (grub_ofserial_init): New proto.
10552 (grub_efiserial_init): Likeiwse.
10553 * util/grub.d/00_header.in: Don't check for the presence of serial
10554 module.
10555
ff27c3dd 105562012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
10557
10558 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
10559 name as if it was an alias.
10560
114076ef
VS
105612012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10562
10563 * grub-core/commands/lsacpi.c (options): Fix typo.
10564
6a656b0e
VS
105652012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10566
10567 Convert grub-emu to argp.
10568
10569 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
10570 emu.
10571 * util/argp_common.c: Rename to ...
10572 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
10573 Add missing includes.
10574 * grub-core/kern/emu/main.c: Convert to argp.
10575 * po/POTFILES.in: Regenerate.
10576 * util/grub-install.in (usage): Make first letter lowcase in messages
10577 for uniformity.
10578 * util/grub-setup.c (options): Likewise.
10579
1e3f8ae8
VS
105802012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10581
10582 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
10583 Put back accidently commented-out code.
10584
ed167a80
VS
105852012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10586
10587 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
10588 loop check using Brent algorithm.
10589 (grub_hfsplus_btree_search): Likewise.
10590
6753c0ec
VS
105912012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10592
10593 * util/grub-install.in: Fix usage of wrong device for PreP install.
10594
4e27343f
VS
105952012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10596
10597 * conf/Makefile.common (CFLAGS_GNULIB): Add
10598 -Wno-unsafe-loop-optimizations.
10599 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
10600 on tools.
10601 * grub-core/commands/legacycfg.c: Add pragma to skip
10602 -Wunsafe-loop-optimizations.
10603 (check_password_md5_real): Fix loop counter type.
10604 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
10605 reading.
10606 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
10607 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
10608 loop condition.
10609 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
10610 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
10611 * grub-core/net/net.c (grub_net_route_address): Add safety loop
10612 condition.
10613 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
10614 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
10615 avoid possible infinite loops.
10616 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
10617 and -Wunsafe-loop-optimizations.
10618 * grub-core/script/yylex.l: Likewise.
10619 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
10620 (print_glyphs): Avoid infinite loops.
10621 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
10622
697f18b0
GS
106232012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
10624
10625 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
10626 to avoid infinite loop.
10627 (disp_acpi_rsdt_table): Likewise.
10628
274416e8
VS
106292012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10630
10631 * grub-core/font/font.c (grub_font_load): Add support for default
10632 path for fonts ($prefix/fonts).
10633 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
10634 for checking if string is a path.
10635 * grub-core/normal/main.c (features): Add feature_default_font_path.
10636 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
10637 * util/grub.d/00_header.in: Use default directory if possible.
10638 * util/grub-install.in: Install unicode.pf2.
10639
b3e08622
VS
106402012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10641
10642 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
10643 * po/Rules-swiss: New file.
10644 * po/swiss.sed: Likewise.
10645
fe42ce09
VS
106462012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10647
10648 * grub-core/fs/btrfs.c (find_device): Fix typos.
10649 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
10650 * util/grub-mkrelpath.c (argp_parser): Likewise.
10651 Reported by: Yuri Chornoivan.
10652
72f1d065
DO
106532012-02-23 Dalet Omega <daletomega@gmail.com>
10654
10655 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
10656 for usual informative messages.
10657
c5884973
DO
106582012-02-23 Dalet Omega <daletomega@gmail.com>
10659
10660 Starfield theme.
10661
10662 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
10663 * conf/Makefile.common: Define starfielddir.
10664 * configure.ac: Configure starfield.
10665 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
10666 * themes/starfield/README: Likewise.
10667 * themes/starfield/blob_w.png: Likewise.
10668 * themes/starfield/boot_menu_c.png: Likewise.
10669 * themes/starfield/boot_menu_e.png: Likewise.
10670 * themes/starfield/boot_menu_n.png: Likewise.
10671 * themes/starfield/boot_menu_ne.png: Likewise.
10672 * themes/starfield/boot_menu_nw.png: Likewise.
10673 * themes/starfield/boot_menu_s.png: Likewise.
10674 * themes/starfield/boot_menu_se.png: Likewise.
10675 * themes/starfield/boot_menu_sw.png: Likewise.
10676 * themes/starfield/boot_menu_w.png: Likewise.
10677 * themes/starfield/slider_c.png: Likewise.
10678 * themes/starfield/slider_n.png: Likewise.
10679 * themes/starfield/slider_s.png: Likewise.
10680 * themes/starfield/src/blob_nw.xcf: Likewise.
10681 * themes/starfield/src/bootmenu/: Likewise.
10682 * themes/starfield/src/bootmenu/center.xcf: Likewise.
10683 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
10684 * themes/starfield/src/bootmenu/side.xcf: Likewise.
10685 * themes/starfield/src/slider_c.xcf: Likewise.
10686 * themes/starfield/src/slider_n.xcf: Likewise.
10687 * themes/starfield/src/slider_s.xcf: Likewise.
10688 * themes/starfield/src/terminalbox/: Likewise.
10689 * themes/starfield/src/terminalbox/center.xcf: Likewise.
10690 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
10691 * themes/starfield/src/terminalbox/side.xcf: Likewise.
10692 * themes/starfield/starfield.png: Likewise.
10693 * themes/starfield/terminal_box_c.png: Likewise.
10694 * themes/starfield/terminal_box_e.png: Likewise.
10695 * themes/starfield/terminal_box_n.png: Likewise.
10696 * themes/starfield/terminal_box_ne.png: Likewise.
10697 * themes/starfield/terminal_box_nw.png: Likewise.
10698 * themes/starfield/terminal_box_s.png: Likewise.
10699 * themes/starfield/terminal_box_se.png: Likewise.
10700 * themes/starfield/terminal_box_sw.png: Likewise.
10701 * themes/starfield/terminal_box_w.png: Likewise.
10702 * themes/starfield/theme.txt: Likewise.
10703
17d73325
VS
107042012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10705
10706 * util/grub.d/00_header.in: Add missing export theme.
10707
dbebaf92
VS
107082012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10709
10710 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
10711 already included.
10712 Reported by: Eren D.
10713
3d68bffb
VS
107142012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10715
10716 * conf/Makefile.common (grubdatadir): Removed.
10717 (Makefile.am): Move eveything grubdata to pkgdata.
10718
4b59234d
VS
107192012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10720
10721 * grub-core/commands/acpihalt.c (get_sleep_type):
10722 Remove unused variable.
10723
463dcadc
VS
107242012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10725
10726 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
10727 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
10728 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
10729 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
10730 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
10731 i18n with gettext no-op.
10732 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
10733 GRUB_ACPI_OPCODE_STRING_CONST.
10734 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
10735 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
10736
e5b90c82
VS
107372012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10738
10739 * po/POTFILES.in: Regenerate.
10740
2a704ca9
VS
107412012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10742
10743 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
10744 -Wno-error=missing-noreturn.
10745
84f9d341
VS
107462012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10747
10748 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
10749 condition to avoid possibly infinite loops.
10750 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
10751 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
10752
d46683f9
VS
107532012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10754
10755 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
10756 condition to avoid possibly infinite loops.
10757
c44866b2
VS
107582012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
10761 on show_error.
10762
96790539
VS
107632012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10764
10765 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
10766
1ba7e295
VS
107672012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
10770
21ffe8f1
VS
107712012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10772
10773 * util/bin2h.c (usage): Add missing attribute noreturn.
10774
0ccb6b3c
VS
107752012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10776
10777 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
10778 if the size isn't divisible by 512.
10779
b00d7fb6
VS
107802012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10781
10782 Make list_push and list_remove functions rather than inline functions
10783 to decrease size and avoid aliasing violations.
10784
10785 * include/grub/list.h (grub_list_push): Move to ...
10786 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
10787 * include/grub/list.h (grub_list_remove): Move to ...
10788 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
10789
9d369087
VS
107902012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10791
10792 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
10793 and -Wunused-result.
10794
af0250d9
VS
107952012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10796
10797 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
10798 Reported by: Seth Goldberg
10799
aad32b14
VS
108002012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10801
10802 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
10803
ac96441c
ST
108042012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
10805
10806 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
10807 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
10808 command line.
10809 * docs/grub.texi (Simple configuration): Document
10810 GRUB_CMDLINE_GNUMACH.
10811
108122012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
10813
10814 * conf/Makefile.common (platform_SCRIPTS): New variable.
10815 (platform_PROGRAMS): Likewise.
10816 * gentpl.py: Mark *,module and *.image for install.
10817 * grub-core/gdb_grub.in: Add a notice of expected environment.
10818 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
10819 (gmodule.pl): Likewise.
10820
ac96441c 108212012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
10822
10823 Replace grub_checkkey with grub_getkey_noblock.
10824
10825 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
10826 (grub_getkey_noblock): ... this. All users updated.
10827
ac96441c 108282012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
10829
10830 * grub-core/kern/emu/console.c: Move to ...
10831 * grub-core/term/emu/console.c: ...here.
10832 (grub_ncurses_getkey): Fix return value if no key is detected.
10833
e51b5666
VS
108342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10835
10836 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
10837 (grub_unit_test_fini): Likewise.
10838 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
10839
108402012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10841
10842 * include/grub/test.h (GRUB_UNIT_TEST)
10843
d9a62292
VS
108442012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10845
10846 * grub-core/script/execute.c (grub_script_break): Clarify logic.
10847 Better error handling.
10848 (grub_script_return): Likewise.
10849 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
10850
77c9182f
VS
108512012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10852
10853 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
10854 rimplicit redifinition.
10855
edb13cf9
VS
108562012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10857
10858 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
10859 GRUB.
10860
a9e9dc7c
VS
108612012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10862
10863 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
10864 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
10865 prompt here.
10866
b4ba8e02
VS
108672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10868
10869 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
10870 as GRUB_ERR_BUG. Don't malloc if no device is available.
10871
dded5540
VS
108722012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10873
10874 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
10875 Mark calling with invalid term as GRUB_ERR_BUG.
10876
0cf69874
VS
108772012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10878
10879 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
10880 packets rather than raising an error.
10881
59bfe502
VS
108822012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10883
10884 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
10885 in if.
10886
db5fc596
VS
108872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10888
10889 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
10890 diagnostic to dprintf.
10891 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10892
e4b7f404
VS
108932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10894
10895 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
10896 device name.
10897
e7b02f9e
VS
108982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10899
10900 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
10901 (grub_ntfs_iterate_dir): Likewise.
10902
0331e102
VS
109032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10904
10905 Efiemu stylistic fixes and gettext.
10906
10907 * grub-core/efiemu/i386/loadcore32.c
10908 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
10909 * grub-core/efiemu/i386/loadcore64.c
10910 (grub_arch_efiemu_relocate_symbols64): Likewise.
10911 * grub-core/efiemu/i386/pc/cfgtables.c
10912 (grub_machine_efiemu_init_tables): Likewise.
10913 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
10914 (grub_efiemu_loadcore_initXX): Add a filename argument.
10915 All users updated.
10916 Improved error message.
10917 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
10918 Add a filename argument.
10919 All users updated.
10920 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
10921 Reclassify double relocation as GRUB_ERR_BUG.
10922
306fc074
VS
109232012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10924
10925 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
10926 handling.
10927
794d8ef2
VS
109282012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10929
10930 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
10931 on partition.
10932
109332012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
10934
10935 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
10936
794d8ef2 109372012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
10938
10939 Improve string. Gettextize.
10940
78dde88e
VS
109412012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10942
10943 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
10944 utils.
10945 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
10946
4786a90f
VS
109472012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10948
10949 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
10950 [GRUB_UTIL]: New function.
10951 (insert_array) [GRUB_UTIL]: Store partmaps.
10952 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
10953 partmaps.
10954 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
10955 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
10956 (probe_abstraction): Print diskfilter and not raid.
10957 Reported by: Lennart Sorensen
10958
0b6225bd
VS
109592012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10960
10961 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
10962 * util/grub-mkimagexx.c (MASK3): New define.
10963 (add_value_to_slot_20b): Use MASK3.
10964 (add_value_to_slot_21): Likewise.
10965 (relocate_addresses): Fix format specification.
10966 (load_image): Explicitly init symtab_section.
10967
b055f8f6
VS
109682012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10969
10970 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
10971 (grub_util_biosdisk_get_grub_dev): Fix format specification.
10972
b77c2fb7
VS
109732012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10974
10975 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
10976 on powerpc.
10977 Reported by: Lennart Sorensen
10978
e3ec28ab
VS
109792012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10980
10981 * gentpl.py: Add missing license header.
10982 * docs/grub.texi: Update copyright year.
10983
c8d9ead6
GS
109842012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
10985
10986 Source grub-mkconfig_lib from the build directory at build time.
10987 Suggested by: Vladimir Serbinenko.
10988
10989 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
10990 * util/grub-install.in: Define pkgdatadir if not already set, and source
10991 grub-mkconfig_lib from there.
10992 * util/grub-kbdcomp.in: Likewise.
10993 * util/grub-mkconfig.in: Likewise.
10994 * util/grub-mknetdir.in: Likewise.
10995 * util/grub-mkrescue.in: Likewise.
10996 * util/grub-mkstandalone.in: Likewise.
10997 * util/grub-reboot.in: Likewise.
10998 * util/grub-set-default.in: Likewise.
10999 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11000
ebcecdf1
VS
110012012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11002
11003 Increase warning level.
11004
11005 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
11006 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
11007 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
11008 (TARGET_CFLAGS): Likewise.
11009 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
11010 * grub-core/Makefile.core.def (decompressor_xz): Add
11011 -Wno-unreachable-code.
11012 (normal): Add -Wno-redundant-decls.
11013 (xzio): Add -Wno-unreachable-code.
11014 (lzopio): Add -Wno-redundant-decls -Wno-error.
11015 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
11016 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
11017 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
11018 * grub-core/kern/dl.c: Add exception to -Wcast-align.
11019 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
11020 * grub-core/kern/i386/coreboot/init.c: Add exception to
11021 -Wsuggest-attribute=noreturn.
11022 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
11023 * grub-core/kern/ia64/dl_helper.c: Likewise.
11024 * grub-core/kern/mips/dl.c: Likewise.
11025 * grub-core/kern/sparc64/dl.c: Likewise.
11026 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
11027 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
11028 (memcmp): Likewise.
11029 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
11030 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
11031 * grub-core/loader/mips/linux.c: Likewise.
11032 * grub-core/loader/multiboot_elfxx.c: Likewise.
11033 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
11034 * grub-core/video/sm712.c: Add exception to -Wcast-align.
11035 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
11036 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
11037 fixme.
11038 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
11039 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
11040 Fix prototype.
11041
37bb97fe
VS
110422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11043
11044 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
11045 address.
11046
29a3550b
VS
110472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11048
11049 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11050 Avoid improper use of strings.
11051 (grub_cmd_legacy_initrdnounzip): Likewise.
11052
dfdffd0d
VS
110532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 * include/grub/emu/misc.h (grub_util_warn): Add missing format
11056 attribute.
11057 (grub_util_info): Likewise.
11058 (grub_util_error): Likewise.
11059
102fae4a
VS
110602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11061
11062 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
11063 * util/grub-fstest.c (fstest): Likewise.
11064
7e94d044
VS
110652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11066
11067 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
11068 (grub_md_sha512_real): Likewise.
11069 (grub_util_get_geli_uuid): Likewise.
11070 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
11071 (grub_util_biosdisk_open): Fix format specification.
11072 Respect format security.
11073 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
11074 (xrealloc): Likewise.
11075 (xasprintf): Likewise.
11076
5ebd9769
VS
110772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11078
11079 * util/import_gcry.py: Include grub/crypto.h in init.c.
11080
495fc8c1
VS
110812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11082
11083 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
11084 (generate_image): Make prefix a const char *.
11085 Fix format specifications. Respect format security.
11086 Avoid void * arithmetics.
11087 Avoid shadowing.
11088 (argp_parser): Remove unused variable. Respect format security.
11089 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
11090 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
11091 (count_funcs): Remove unused variable.
11092 (relocate_addresses): Fix format specification.
11093 Disable x86-64 with elf32. Remove unused variables.
11094 (add_fixup_entry): Avoid shadowing.
11095 (make_reloc_section): Fix format specification.
11096 Use assert.
11097 (locate_sections): Fix format specifications.
11098 (load_image): Avoid shadowing.
11099
043c2ea3
VS
111002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11101
11102 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
11103 Fix format specifications. Respect format security.
11104 Don't translate already translated grub_errmsg.
11105 (argp_parser): Remove unused variable
11106
3ec65a81
VS
111072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11108
11109 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
11110
a4d9fe4a
VS
111112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11112
11113 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
11114 (main): Likewise. Use xmalloc. Respect format security.
11115
15b81d49
VS
111162012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11117
11118 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
11119 a const char *.
11120 (argp_parser): Remove unused variable.
11121
31731fc0
VS
111222012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11123
11124 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
11125 (add_pixel): Make static.
11126 (add_font): Likewise.
11127 (write_string_section): Make name and str a const char *.
11128 (write_be16_section): Make name a const char *.
11129 (print_glyphs): Make static.
11130 (write_font_ascii_bitmap): Likewise.
11131 (write_font_width_spec): Likewise.
11132 (write_font_pf2): Likewise.
11133 (argp_parser): Remove unused variable.
11134 Respect format security.
11135 (main): Avoid shadowing. Respect format security.
11136
0809527b
VS
111372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11138
11139 * util/grub-editenv.c (argp_parser): Make static.
11140 (create_envblk_file): Use xmalloc.
11141 (open_envblk_file): Likewise.
11142 Resepect format security.
11143 (set_variables): Respect format security.
11144
45b0c8b7
VS
111452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11146
11147 * util/getroot.c (grub_find_device): Respect format security.
11148 (get_mdadm_uuid): Remove unused variable.
11149 (grub_util_pull_device): Dont call gettext on already translated
11150 grub_errmsg.
11151 (find_system_device): Remove unused variable.
11152 (grub_util_get_grub_dev): Likewise.
11153 (grub_make_system_path_relative_to_its_root): Respect format security.
11154
1b024b4e
VS
111552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11156
11157 * util/grub-fstest.c (execute_command): Make first argument
11158 a const char *.
11159 (read_file): Avoid shadowing.
11160 Reuse underlying error message if device open fails.
11161 (cmd_cmp): Respect format security.
11162 (root): Make const char *.
11163 (fstest): Remove args argument and use global copy.
11164 Respect format security.
11165 (argp_parser): Make static.
11166 (main): Make default_root const char *.
11167
5d1d4e28
VS
111682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11169
11170 * util/grub-mount.c (root): Make const char *.
11171 (execute_command): Make first argument a const char *.
11172 (fuse_init): Respect format security.
11173 (argp_parser): Make static. Remove unused variable.
11174 (main): Make default_root a const char *.
11175 Respect format security.
11176
36eb7379
VS
111772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11178
11179 * util/grub-probe.c (probe): Don't call gettext on already translated
11180 grub_errmsg.
11181 Remove unused variables.
11182 (argp_parser): Remove unused variable.
11183
76fb2ea9
VS
111842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11185
11186 * util/grub-script-check.c (argp_parser): Remove unused variable.
11187 (main): Rename read to curread to avoid shadowing.
11188
56c98584
VS
111892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11190
11191 * util/misc.c (grub_util_write_image_at): Fix format specification.
11192 (grub_util_write_image): Likewise.
11193 (grub_script_execute_argument_to_string): Removed (unused).
11194 (grub_script_execute_menuentry): Likewise.
11195 (grub_putchar): Likewise.
11196
164ebb48
VS
111972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11198
11199 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
11200 (FUNCTION) [GRUB_UTIL]: Likewise.
11201 (VARIABLE) [GRUB_UTIL]: Likewise.
11202
44318d61
VS
112032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11204
11205 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
11206 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
11207
31a26002
VS
112082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11209
11210 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
11211 buffer.
11212
112132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11214
11215 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
11216 (LzmaEnc_SaveState): Removed (unused).
11217 (LzmaEnc_RestoreState): Likewise.
11218 (LzmaEnc_InitPriceTables): Made static.
11219 (LzmaEnc_Construct): Likewise.
11220 (LzmaEnc_FreeLits): Likewise.
11221 (LzmaEnc_Destruct): Likewise.
11222 (LzmaEnc_Init): Likewise.
11223 (LzmaEnc_InitPrices): Likewise.
11224 (LzmaEnc_Finish): Likewise.
11225 (LzmaEnc_PrepareForLzma2): Removed (unused).
11226 (LzmaEnc_MemPrepare): Likewise.
11227 (LzmaEnc_GetNumAvailableBytes): Likewise.
11228 (LzmaEnc_GetCurBuf): Likewise.
11229 (LzmaEnc_CodeOneMemBlock): Likewise.
11230
6fa67967
VS
112312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11232
11233 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
11234 (grub_util_ldm_embed): Likewise.
11235
9a7428e6
VS
112362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11237
11238 * util/grub-editenv.c (print_var): Rename name to varname to
11239 avoid shadowing.
11240 (main): Rename index to curindex to avoid shadowing.
31a26002 11241 Make filename a const char *.
9a7428e6 11242
4f96abd1
VS
112432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11244
11245 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
11246 to arg_getline to avoid shadowing.
11247
44d10dad
VS
112482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11249
11250 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
11251 disk_ to avoid shadowing.
11252
340ba63e
VS
112532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11254
11255 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
11256 curindex to avoid shadowing.
11257 Make static.
11258 (MatchFinder_GetNumAvailableBytes): Make static.
11259
22965bce
VS
112602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11261
11262 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
11263 avoid shadowing.
11264
7b5784d4
VS
112652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11266
11267 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
11268 argument from encrypt to do_encrypt to avoid shadowing.
11269
6f48ca01
VS
112702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11271
11272 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
11273 incorrect nesting of #if's.
11274
a4ea2dff
VS
112752012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11276
11277 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
11278 checks which are always false on some platforms.
11279 (grub_cmd_lsacpi): Likewise.
11280 * grub-core/kern/misc.c (grub_strtoul): Likewise.
11281 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
11282 Likewise.
11283
def9fc1b
VS
112842012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11285
11286 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
11287 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
11288
a67b2a04
VS
112892012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11290
11291 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
11292 re_dfa_t to avoid breaking alignment invariants.
11293 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
11294 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
11295
44c6828d
VS
112962012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11297
11298 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
11299 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
11300
bebe0dd0
VS
113012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11302
11303 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
11304 Fix declaration.
11305
a9cdb3cf
VS
113062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11307
11308 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
11309 conserve alignment invariants.
11310 (grub_ehci_ehcc_read16): Likewise.
11311 (grub_ehci_oper_read32): Likewise.
11312 (grub_ehci_oper_write32): Likewise.
11313 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11314 Conserve alignment invariants.
11315
ccc3b1b8
VS
113162012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11317
11318 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
11319 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
11320 declarations.
11321
987fbd95
VS
113222012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11323
11324 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
11325 Remove unused variable.
11326
0df363f3
VS
113272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11328
11329 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
11330 Remove set in if.
11331
b2c0c4a6
VS
113322012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11333
11334 * include/grub/net.h: Remove double declarations.
11335
690c531f
VS
113362012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11337
11338 Remove "payload" command in ia64 Linux loader since I couldn't
11339 find any evidence of it being used for anything.
11340 Replace "relocate" command with an environment variable
11341
11342 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
11343 fields.
11344 (ia64_boot_payload): Removed.
11345 (last_payload): Likewise.
11346 (RELOCATE_OFF): Likewise.
11347 (RELOCATE_ON): Likewise.
11348 (RELOCATE_FORCE): Likewise.
11349 (relocate): Likewise.
11350 (free_pages): Don't free payloads.
11351 (grub_load_elf64): Use common error messages.
11352 Use "linux_relocate" variable.
11353 Increase the space after boot_params.
11354 (grub_cmd_payload): Removed.
11355 (grub_cmd_relocate): Likewise.
11356 (grub_cmd_fpswa): Improve messages.
11357 (cmd_payload): Removed.
11358 (cmd_relocate): Likewise.
11359 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
11360 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
11361
01783768
VS
113622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11363
11364 Convert UHCI to DMA framework.
11365
11366 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
11367 (grub_uhci_pci_iter): Fill new members
11368 (grub_alloc_td): Use P2V and V2P functions.
11369 (grub_free_queue): Likewise.
11370 (grub_alloc_qh): Likewise.
11371 (grub_uhci_setup_transfer): Likewise.
11372 (grub_uhci_check_transfer): Likewise.
11373
43206939
VS
113742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11375
11376 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
11377 Remove assignment in if while on it.
11378
571e140e
VS
113792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11380
11381 * util/grub-mkstandalone.in: Fix modules directory.
11382
a9d96eeb
VS
113832012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11384
11385 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
11386 on i386-pc target.
11387 (argp_parser): Accept "auto" as compression specification.
11388
e4e37e8d
VS
113892012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11390
11391 Fix `help' with unloaded modules.
11392
11393 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
11394 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
11395 (grub_dyncmd_dispatcher): Small stylistic fix.
11396 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
11397 explicit help is requested.
11398
e1ea3ade
VS
113992012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11400
11401 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
11402 Explicitly init restart while on it.
11403
27556881
VS
114042012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11405
11406 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
11407 uninited variable.
11408
d65f6b36
VS
114092012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11410
11411 * util/grub-mknetdir.in: Use . rather than source for POSIX
11412 compatibility.
11413
0a1e473c
VS
114142012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11415
11416 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
11417
ce6647c8
VS
114182012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11419
11420 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
11421 variable.
11422
66747894
VS
114232012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11424
11425 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
11426 without quotes.
11427
71645f6e
VS
114282012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11429
11430 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
11431
0e1c1f61
VS
114322012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11433
11434 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
11435 iteration of partitions.
11436
9c4b5c13
VS
114372012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11438
11439 Improve gettext support. Stylistic fixes and error handling fixes while
11440 on it.
11441
215c90cb
VS
114422012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11443
11444 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
11445 part. Instead setup the correct stack in RM.
11446 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
11447 for stack.
11448 * include/grub/i386/relocator_private.h: New file.
11449
b5c1f9bf
VS
114502012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11451
11452 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
11453 argument.
11454 * util/grub-fstest.c (options): Add missing DEVICE part.
11455
b525fd83
VS
114562012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11457
11458 Clarify and unify messages.
11459
11460 * grub-core/commands/hashsum.c (options): Unify messages.
11461 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
11462 literal-only message as translatable.
11463 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
11464 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
11465 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
11466 commands.
11467 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
11468 key, not the key used to unlock. Clarify what it's used for.
11469 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
11470 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
11471 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
11472 * util/grub-editenv.c (options): Unify "verbose" message.
11473 * util/grub-fstest.c (read_file): Unify error message.
11474 (fstest): Add quotes around commands.
11475 (options): Unify "verbose" message.
11476 * util/grub-install.in: Add quotes around variable name.
11477 * util/grub-kbdcomp.in: Unify error message.
11478 * util/grub-mkfont.c (main): Likewise.
11479 * util/grub-mkrescue.in: Likewise.
11480 * util/grub-mklayout.c (options): Unify "verbose" message.
11481 * util/grub-mkstandalone.in: Unify help and verbose messages.
11482 * util/grub-mount.c (options): Unify "verbose" message.
11483 * util/grub-probe.c (options): Likewise.
11484 * util/grub-script-check.c (options): Likewise.
11485 * util/grub-setup.c (setup): Unify no-terminator message.
11486 (options): Use DEVICE and not DEV.
11487 Unify "verbose" message.
11488 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
11489
0ae70393
VS
114902012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11491
11492 Improve and unify messages.
11493
11494 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
11495 name. All users updated.
11496 Print filename in error.
11497 (read_device_map): Print filename in error.
11498 * util/getroot.c (grub_guess_root_devices): Print filename in error.
11499 (grub_util_get_os_disk): Likewise.
11500 (grub_util_biosdisk_get_grub_dev): Likewise.
11501 (grub_util_check_block_device): Likewise.
11502 (grub_util_check_char_device): Likewise.
11503 (grub_make_system_path_relative_to_its_root): Likewise.
11504 * util/grub-editenv.c (create_envblk_file): Likewise.
11505 (open_envblk_file): Likewise.
11506 (write_envblk): Likewise.
11507 * util/grub-fstest.c (cmd_cp): Likewise.
11508 (cmd_cat): Likewise.
11509 (cmd_cmp): Likewise.
11510 * util/grub-menulst2cfg.c (main): Likewise.
11511 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
11512 (write_font_width_spec): Likewise.
11513 (write_font_pf2): Likewise.
11514 * util/grub-mkimage.c (generate_image): New argument outname.
11515 All users updated.
11516 Remove unreacheable message.
11517 (options): Unify messages.
11518 (help_filter): Likewise.
11519 * util/grub-mklayout.c (usage): Removed (unused).
11520 (main): Print filename in error.
11521 * util/grub-mkrescue.in: Fix wrong quoting.
11522 * util/grub-setup.c (setup): Print filename in error.
11523 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
11524 (check_sas): Likewise.
11525 * util/misc.c (grub_util_get_fp_size): Removed.
11526 (grub_util_get_image_size): Print filename in error.
11527 (grub_util_read_at): Removed.
11528 (grub_util_read_image): Print filename in error.
11529 (grub_util_load_image): Likewise.
11530 (grub_util_write_image_at): New argument filename. All users updated.
11531 Print filename in error.
11532 (grub_util_write_image): New argument filename. All users updated.
11533 Print filename in error.
11534 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
11535 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
11536
0a96117d
VS
115372012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11538
11539 * grub-core/Makefile.core.def (pxechain): New module.
11540 * grub-core/loader/i386/pc/pxechainloader.c: New file.
11541 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
11542 function.
11543 (grub_pc_net_config_real): Use grub_pxe_get_cached.
11544 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
11545
aca002f7
VS
115462012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11547
11548 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
11549 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
11550 * include/grub/err.h (grub_error_saved): New struct.
11551 (grub_errmsg): Make array size explicit.
11552 * include/grub/misc.h (grub_error_save): New function.
11553 (grub_error_load): Likewise.
11554 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
11555 (grub_error_push): Update `errno' member name.
11556 (grub_error_pop): Likewise
11557 * grub-core/net/tftp.c (tftp_data): New member save_err.
11558 (tftp_receive): Save error.
11559 (tftp_open): Restore error.
11560
a51dab13
VS
115612012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11562
11563 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
11564 to real mode down to execute A20-related code in protected mode as
11565 intended.
11566
eb6e6649
GS
115672012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
11568
11569 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
11570 NULL when the argument `level' has an unexpected value.
11571
92cd0f6e
VS
115722012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11573
11574 Move platform-dependent files from $prefix to $prefix/$platform.
11575
11576 * config.h.in (GRUB_TARGET_CPU): New definition.
11577 (GRUB_PLATFORM): Likewise.
11578 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
11579 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
11580 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11581 * grub-core/kern/dl.c (grub_dl_load): Likewise.
11582 * grub-core/normal/autofs.c (read_fs_list): Likewise.
11583 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
11584 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
11585 * grub-core/normal/term.c (read_terminal_list): Likewise.
11586 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
11587 $prefix/locale.
11588 (grub_gettext_init_ext): Likewise.
11589 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
11590 grub_platform.
11591 * util/grub-install.in: Update directories.
11592 * util/grub-mknetdir.in: Likewise.
11593 * util/grub-mkrescue.in: Likewise.
11594
db606889
VS
115952012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11596
11597 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
11598 grub_error framework. All users updated.
11599
c39992a4
VS
116002012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11601
11602 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
11603 lists (by always binsearching), improve caching (cache strings
11604 used for binsearch, not only results), improve
11605 maintainability (by using more structured binary search) and correct
11606 error handling.
11607
1e5ec32f
VS
116082012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11609
11610 * grub-core/script/execute.c (grub_script_return): Fix warning.
11611
ac576cde
VS
116122012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11613
11614 * grub-core/script/execute.c (grub_script_return): Fix potential
11615 NULL-dereference.
11616 Reported by: Jim Meyering.
11617
498453f6
VS
116182012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11619
11620 * po/POTFILES.in: Regenerate.
11621 * util/grub-install.in: Gettextize the strings missed in first pass.
11622
8be63f2e
VS
116232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11624
11625 * Makefile.util.def (grub-mkdevicemap): Removed.
11626 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
11627 * include/grub/util/deviceiter.h: Removed.
11628 * util/deviceiter.c: Likewise.
11629 * util/getroot.c (grub_util_get_os_disk): New function.
11630 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
11631 replacement for EFI.
11632 * util/grub-mkdevicemap.c: Removed.
11633 * util/grub-probe.c (probe): Handle PRINT_DISK.
11634 (argp_parser): Handle -t disk.
11635
8e1e4e39
VS
116362012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11637
11638 * util/grub-mkfont.c: Migrate to argp.
11639 * util/grub-mklayout.c: Likewise.
11640 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11641 * util/grub-mkrelpath.c: Likewise.
11642 * util/grub-probe.c: Likewise.
11643 * util/grub-script-check.c: Likewise.
11644
4459819a
VS
116452012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11646
11647 * util/grub-reboot.in: Add missing datarootdir.
11648 Add missing newline.
11649 * util/grub-set-default.in: Add missing datarootdir.
11650 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
11651 * util/grub-mkrescue.in: Likewise.
11652
f65741c7
VS
116532012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11654
11655 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
11656
c1a33466
VS
116572012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11658
11659 * util/grub-kbdcomp.in: Add decent help and gettextize.
11660 * docs/man/grub-kbdcomp.h2m: New file.
11661
c76899a0
VS
116622012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11663
11664 Migrate grub-mkimage.c to argp.
11665
11666 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
11667 (grub-setup): Likewise.
11668 * util/grub-setup.c (print_version): Move to ...
11669 * util/argp_common.c (print_version): ... here.
11670 * util/grub-setup.c (argp_program_version_hook): Move to ...
11671 * util/argp_common.c (argp_program_version_hook): ... here.
11672 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
11673 safety.
11674 * util/grub-mkimage.c (main): Migrate to argp.
11675
57db0757
VS
116762012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11677
11678 * util/grub-mkrescue.in: Use same message as
11679 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
11680 for better translations.
11681
18534ad9
VS
116822012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11683
11684 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
11685 options with generic grub-mkrescue.in with the goal of future
11686 merge.
11687
c84ba308
VS
116882012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11689
11690 * grub-core/kern/mm.c: Add missing include of i18n.h
11691 * grub-core/lib/relocator.c: Likewise.
11692
347998c2
VS
116932012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11694
11695 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
11696 error.
11697 (allocate_pages): Check return value.
11698 Replace fatal with error.
11699 (grub_linux_boot): Replace printf with dprintf.
11700 Check find_mmap_size return value.
11701 Replace fatal with error.
11702 Don't call grub_machine_fini.
11703 (grub_load_elf64): Replace printf with dprintf.
11704 (grub_cmd_linux): Likewise.
11705 (grub_cmd_initrd): Likewise.
11706 (grub_cmd_payload): Likewise.
11707
c779226e
VS
117082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11709
11710 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
11711 message.
11712 * grub-core/video/radeon_fuloong2e.c
11713 (grub_video_radeon_fuloong2e_setup): Likewise.
11714 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
11715 * grub-core/video/video.c (grub_video_set_mode): Don't override
11716 standard out of memory message.
11717
dc87d45a
GS
117182012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11719
11720 NetBSD disk wedge support.
11721
11722 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
11723 [__NetBSD__]: Handle NetBSD disk wedges.
11724 * util/getroot.c (convert_system_partition_to_system_disk)
11725 [__NetBSD__]: Likewise.
11726
055f856f
MW
117272012-02-03 Mark Wooding <mdw@distorted.org.uk>
11728
11729 * util/grub-mkconfig.in: Use umask rather than chmod to create
11730 grub.cfg.new to avoid insecure grub.cfg.
11731
4a9f8346
VS
117322012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11733
11734 * grub-core/commands/ls.c: Gettextize.
11735 * grub-core/commands/setpci.c: Likewise.
11736 * grub-core/commands/videotest.c: Likewise.
11737 * grub-core/disk/geli.c: Likewise.
11738 * grub-core/kern/mm.c: Likewise.
11739 * grub-core/lib/relocator.c: Likewise.
11740 * grub-core/loader/efi/appleloader.c: Likewise.
11741 * grub-core/loader/i386/xnu.c: Likewise.
11742 * grub-core/loader/ia64/efi/linux.c: Likewise.
11743 * grub-core/loader/xnu.c: Likewise.
11744 * grub-core/net/dns.c: Likewise.
11745 * grub-core/net/net.c: Likewise.
11746 * grub-core/script/lexer.c: Likewise.
11747 * grub-core/script/parser.y: Likewise.
11748 * grub-core/script/yylex.l: Likewise.
11749 * util/getroot.c: Likewise.
11750 * util/grub-setup.c: Likewise.
11751
a646a366
VS
117522012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11753
11754 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
11755 number.
11756
54e2be26
VS
117572012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11758
11759 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
11760
f7c71e68
VS
117612012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11762
11763 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
11764 macro.
11765 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
11766 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
11767
a32d5c71
VS
117682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11769
11770 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
11771 * util/grub-install.in: Gettextize.
11772 * util/grub-mkconfig.in: Likewise.
11773 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
11774 if not available.
11775 (grub_warn): Gettextize.
11776 * util/grub-mknetdir.in: Gettextize.
11777 * util/grub-mkrescue.in: Likewise.
11778 * util/grub-mkstandalone.in: Likewise.
11779 * util/grub-reboot.in: Likewise.
11780 * util/grub-set-default.in: Likewise.
11781 * util/grub.d/00_header.in: Likewise.
11782 * util/grub.d/10_hurd.in: Likewise.
11783 * util/grub.d/10_kfreebsd.in: Likewise.
11784 * util/grub.d/10_linux.in: Likewise.
11785 * util/grub.d/10_netbsd.in: Likewise.
11786 * util/grub.d/10_windows.in: Likewise.
11787 * util/grub.d/20_linux_xen.in: Likewise.
11788 * util/grub.d/30_os-prober.in: Likewise.
11789 * po/POTFILES-shell.in: Regenerate.
11790
69edd81a
RL
117912012-02-03 Richard Laager <rlaager@wiktel.com>
11792
11793 * util/grub-mkimage.c (main): Fix format-security warning.
11794 * util/grub-mkrelpath.c (main): Likewise.
11795 * util/grub-probe.c (main): Likewise.
11796
65f08dbf
RL
117972012-02-03 Richard Laager <rlaager@wiktel.com>
11798
11799 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
11800 failure.
11801 Put back lost PRINT_DRIVE.
11802
e9084abe
RL
118032012-02-03 Richard Laager <rlaager@wiktel.com>
11804
11805 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
11806 (grub_guess_root_devices): Replace strlen with sizeof.
11807 Avoid crash.
11808 (find_root_devices_from_poolname): Remove unused variable.
11809 Handle raidzN.
11810
cf5f7ee7
VS
118112012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11812
11813 Support install on multi-device filesystems.
11814
11815 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
11816 (grub_guess_root_devices): ...this. Return char **. All users updated.
11817 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
11818 Removed.
11819 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
11820 (find_root_devices_from_poolname): ... here.
11821 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
11822 Support zfs-fuse.
11823 (grub_guess_root_device): Rename to ...
11824 (grub_guess_root_devices): ... this. Return char **. All users updated.
11825 * util/grub-install.in: Handle multi-device filesystems.
11826 * util/grub-probe.c (probe). Make device_names a char **. Add delim
11827 argument. All users updated.
11828 Handle multi-device filesystems.
11829 Use 'delim' as separator.
11830 Remove device check to allow filesystems on file.
11831 (main): Support -0 argument. Handle multi-device.
11832 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
11833 Fix a cross-device check while on it.
11834 (arguments): Remove root_dev.
11835 (argp_parser): Remove -r.
11836 (main): Remove root_dev.
11837
2f53a9ed
VS
118382012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11839
11840 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
11841
17e1d934
VS
118422012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11843
11844 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
11845 symbol.
11846 Reported by: NODA, Kai <nodakai>.
11847
d3e3fab5
VS
118482012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11849
11850 Fix ehci on amd64.
11851
11852 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
11853 pointers.
11854 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
11855 (grub_ehci_setup_qh): Likewise.
11856 (grub_ehci_find_qh): Likewise.
11857 (grub_ehci_transaction): Likewise.
11858 (grub_ehci_setup_transfer): Likewise.
11859 (grub_ehci_check_transfer): Likewise.
11860 (grub_ehci_portstatus): Likewise.
11861 (grub_ehci_detect_dev): Likewise.
11862 (grub_ehci_transfer_controller_data): New field td_last_phys.
11863 (grub_ehci_setup_transfer): Fill td_last_phys.
11864 (grub_ehci_check_transfer): Use td_last_phys.
11865
3008675b
SG
118662012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
11867
11868 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
11869 if no submenu is present.
11870
fc9b5652
AN
118712012-02-01 Aleš Nesrsta <starous@volny.cz>
11872
11873 CBI support.
11874
11875 * include/grub/usb.h (grub_usbms_protocol_t): New values
11876 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
11877 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
11878 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
11879 (grub_usbms_dev): Add subclass, protocol and intrpt.
11880 Remove in_maxsz and out_maxsz.
11881 (grub_usbms_reset): Rename to ...
11882 (grub_usbms_bo_reset): .. this.
11883 (grub_usbms_cbi_cmd): New function.
11884 (grub_usbms_cbi_reset): Likewise.
11885 (grub_usbms_reset): Likewise.
11886 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
11887 (grub_usbms_transfer): Rename to ...
11888 (grub_usbms_transfer_bo): ... this.
11889 (grub_usbms_transfer_cbi): Likewise.
11890 (grub_usbms_transfer): Likewise.
11891
a2b81d53
AN
118922012-02-01 Aleš Nesrsta <starous@volny.cz>
118932012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11894
11895 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
11896 the support for the CS5536 modification thereos and few bugfixes.
11897
11898 * grub-core/Makefile.core.def (ehci): New module.
11899 * grub-core/bus/usb/ehci.c: New file.
11900 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
11901 port and hubaddr. All users updated.
11902 Save port and hubaddr into dev structure.
11903 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
11904 define.
11905 * include/grub/pci.h (grub_dma_phys2virt): New function.
11906 (grub_dma_virt2phys): Likewise.
11907 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
11908
b1d51f02
VS
119092012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11910
11911 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
11912 check as some mkfs implementations omit it.
11913
fc694106
VS
119142012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 * docs/grub.texi (Unicode): Mention identifier and space limitations.
11917
6c0920e3
VS
119182012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11919
11920 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
11921 Add new member volname2.
11922 (grub_jfs_label): Use volname2 if available.
11923
d1a46f9a
VS
119242012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11925
11926 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
11927 over last_mounted as seen in image generated by mkfs.nilfs2.
11928 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
11929
dec8ed14
VS
119302012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11931
11932 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
11933 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
11934 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
11935
7397c69b
VS
119362012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11937
11938 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
11939 over the sector.
11940
b3fe42ad
VS
119412012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11942
11943 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
11944 subvolume name (by removing a bogus and useless check).
11945
10476bb0
VS
119462012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11947
11948 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
11949 sizeof while on it.
11950
9c08ad87
VS
119512012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11952
11953 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
11954 (grub_scsi_read_capacity10): ... this.
11955 (grub_scsi_read_capacity16): New function.
11956 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
11957 0xffffffff.
11958 Fix off-by-one error.
11959 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
11960 64-bit unsigned.
11961 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
11962 (grub_scsi_read_capacity10): ... this.
11963 (grub_scsi_read_capacity_data): Rename to ...
11964 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
11965 (grub_scsi_read_capacity16): New struct.
11966 (grub_scsi_read_capacity16_data): Likewise.
11967 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
11968 grub_scsi_cmd_read_capacity10.
11969 New command grub_scsi_cmd_read_capacity16.
11970
bc8d0f45
VS
119712012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11972
11973 SCSI >2TiB support.
11974
11975 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
11976 (grub_scsi_write16): Likewise.
11977 (grub_scsi_read): Use read16 when necessary.
11978 (grub_scsi_write): Likewise.
11979 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
11980 (grub_scsi_write16): Likewise.
11981 (grub_scsi_cmd_t): Add READ16 and WRITE16.
11982
cc774926
VS
119832012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11984
11985 SCSI write support (for usbms mainly).
11986
11987 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
11988 a const pointer.
11989 (grub_scsi_write): Implement.
11990 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
11991
67639fd7
VS
119922012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11993
11994 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
11995 variable.
11996
9079d3ed
VS
119972012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11998
11999 * grub-core/lib/posix_wrap/string.h (memchr): New function.
12000
c6a6f204
VS
120012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12002
12003 * po/POTFILES.in: Regenerate.
12004
ecbf8cd1
VS
120052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12006
12007 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
12008 with grub_printf to avoid unnecessary fatal failure.
12009
0b3b3b38
VS
120102012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12011
12012 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
12013 (INT_MAX): Likewise.
12014 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
12015 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
12016 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
12017 (strcpy): Likewise.
12018 (strstr): Likewise.
12019 (strchr): Likewise.
12020 (strncpy): Likewise.
12021 (strcat): Likewise.
12022 (strncat): Likewise.
12023 (strcoll): Likewise.
12024 * include/grub/types.h (GRUB_SHRT_MAX): New define.
12025 (GRUB_INT_MAX): Likewise.
12026
db7337a3
VS
120272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12028
12029 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
12030 unexpected error.
12031 (optimize_utf8): Likewise.
12032 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
12033
f37c87e1
VS
120342012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12035
12036 * grub-core/boot/i386/pc/lnxboot.S: Use
12037 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
12038 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
12039 location.
12040 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
12041 definition.
12042 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
12043
63fe43f3
VS
120442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12045
12046 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
12047 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
12048 now to avoid double free.
12049 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
12050 hostdisk.
12051 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
12052 * util/grub-probe.c (escape_of_path): Always return a new copy.
12053 (print_full_name): Escape path.
12054 (probe): Don't call grub_util_devname_to_ofpath on NULL.
12055 Fix hints on abstractions.
12056
ebe2c961
VS
120572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12058
12059 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
12060 Don't add "root" line if no compatibility hont is available.
12061 Suggested by: Seth Goldberg.
12062
2b5336a2
VS
120632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12064
12065 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
12066 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
12067 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
12068 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
12069
74310bd8
VS
120702012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12071
12072 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
12073
c30582ba
VS
120742012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12075
12076 * util/grub-pe2elf.c (ehdr): Make static.
12077 (shdr): Likewise.
12078 (num_sections): Likewise.
12079 (offset): Likewise.
12080
5f47782c
VS
120812012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12082
12083 Eliminate ofpath limits and possible overflows.
12084
12085 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
12086 (OF_PATH_MAX): Removed.
12087 (MAX_DISK_CAT): New const.
12088 (find_obppath): Use allocated rather than preallocated buffer.
12089 Return result. Argument of_path removed. All users updated.
12090 Add missing fdstat.
12091 (xrealpath): New function.
12092 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
12093 Allocate rather than use preallocated buffer. All users updated.
12094 (__of_path_common): Use allocated rather than preallocatecd buffer.
12095 Return result. Argument of_path removed. All users updated.
12096 (vendor_is_ATA): Read only needed part form the file.
12097 (check_sas): Allocate depending on contents rather than fixed.
12098 (main) [STANDALONE]: Handle NULL result.
12099
f990cbf9
VS
121002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12101
12102 * grub-core/normal/completion.c (iterate_dev): Close the disk.
12103
9c6e84b8
VS
121042012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12105
12106 Cryptodisk write support.
12107
12108 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
12109 (grub_cryptodisk_decrypt): Moved logic to ...
12110 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
12111 (grub_cryptodisk_write): Implement.
12112 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
12113 (grub_util_fd_write): ... this. Make global.
12114 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
12115
87cf9744
VS
121162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12117
12118 * include/grub/list.h (grub_list_remove): Don't crash if element is
12119 removed twice.
12120
ca8c0baf
VS
121212012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12122
12123 Rename ofconsole to console.
12124
12125 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
12126 as sysnonym to console.
12127 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
12128 * grub-core/term/ieee1275/console.c: ... this. All users updated.
12129 Rename grub_ofconsole_ to grub_console_. All users updated
12130 (grub_console_term_output): Rename "ofconsole" to "console".
12131 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
12132 as "console".
12133
64c8b8f6
VS
121342012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12135
12136 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
12137 handling.
12138 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
12139 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
12140 GRUB_DISK_DEVICE_FILE_ID.
12141
f6c434d5
VS
121422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12143
12144 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
12145 and improve performance.
12146
5858b42d
VS
121472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12148
12149 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
12150 missing ieee1275/ prefix on whole disk.
12151
4ed3c26b
VS
121522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12153
12154 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
12155 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
12156
df71143e
VS
121572012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12158
12159 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
12160
076e7c0f
VS
121612012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12162
12163 Merge common RAID and LVM logic to an abstract diskfilter.
12164 Add LDM support using the same framework.
12165
12166 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
12167 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
12168 (libgrubmods): Remove grub-core/disk/raid.c and
12169 grub-core/partmap/gpt.c.
12170 * grub-core/Makefile.core.def (ldm): New module.
12171 (raid): Renamed to diskfilter. All users updated.
12172 * grub-core/disk/raid.c: Moved to ...
12173 * grub-core/disk/diskfilter.c: ... here.
12174 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
12175 (lv_num): New var.
12176 (find_array): Renamed to ...
12177 (find_lv): ... this. Support multi-LV. Skip nameless LVs
12178 (grub_is_array_readable): Renamed to ...
12179 (grub_is_lv_readable): ... this. Support multinode hierarchy.
12180 (insert_array): New argument id.
12181 (is_node_readable): New function.
12182 (scan_device): Rename to ...
12183 (scan_disk): .. this. Restrict to one disk.
12184 (scan_devices): New function.
12185 (grub_diskfilter_iterate): Support multi-LV.
12186 Skip invisible and nameless LVs.
12187 (grub_diskfilter_memberlist): Support multi-LV.
12188 (grub_diskfilter_read_node): New function.
12189 (grub_raid_read): Most of logic moved to ...
12190 (read_segment): ... here
12191 (read_lv): New function.
12192 (grub_diskfilter_get_vg_by_uuid): New function.
12193 (grub_diskfilter_make_raid): Likewise.
12194 * grub-core/disk/ldm.c: New file.
12195 * grub-core/disk/lvm.c (vg_list): Removed.
12196 (lv_count): Likewise.
12197 (scan_depth): Likewise.
12198 (is_lv_readable): Likewise.
12199 (grub_lvm_getvalue): Advance pointer past the number.
12200 (find_lv): Removed.
12201 (do_lvm_scan): Refactored into ...
12202 (grub_lvm_detect): ... this. Support raid.
12203 (grub_lvm_iterate): Removed.
12204 (grub_lvm_memberlist): Likewise.
12205 (grub_lvm_open): Likewise.
12206 (grub_lvm_close): Likewise.
12207 (read_lv): Likewise.
12208 (read_node): Likewise.
12209 (is_node_readable): Likewise.
12210 (is_lv_readable): Likewise.
12211 (grub_lvm_read): Likewise.
12212 (grub_lvm_write): Likewise.
12213 (grub_lvm_dev): Use diskfilter
12214 (GRUB_MOD_INIT): Likewise.
12215 (GRUB_MOD_FINI): Likewise.
12216 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
12217 new interface.
12218 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
12219 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12220 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
12221 grub_diskfilter_read_node.
12222 Fix a bug with xor.
12223 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
12224 grub_diskfilter_read_node.
12225 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
12226 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
12227 (grub_disk_dev_iterate): Move from here...
12228 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
12229 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
12230 Make global.
12231 (grub_hostdisk_find_partition_start): Likewise.
12232 (grub_hostdisk_os_dev_to_grub_drive): New function.
12233 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
12234 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
12235 * util/getroot.c (make_device_name): ... here.
12236 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
12237 Move to ...
12238 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
12239 * grub-core/kern/emu/hostdisk.c
12240 (convert_system_partition_to_system_disk): Move to ...
12241 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
12242 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
12243 * util/getroot.c (device_is_wholedisk): ... here.
12244 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
12245 * util/getroot.c (find_system_device): ... here.
12246 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
12247 Move to ...
12248 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
12249 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12250 Move to ...
12251 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
12252 Handle LDM.
12253 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12254 Move to ...
12255 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
12256 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
12257 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
12258 DISKFILTER.
12259 * include/grub/raid.h: Renamed to ...
12260 * include/grub/diskfilter.h: ... this.
12261 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
12262 (GRUB_RAID_LAYOUT_*): Make into array.
12263 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
12264 (grub_diskfilter_vg): New struct.
12265 (grub_diskfilter_pv_id): Likewise.
12266 (grub_raid_member): Removed.
12267 (grub_raid_array): Likewise.
12268 (grub_diskfilter_pv): New struct.
12269 (grub_diskfilter_lv): Likewise.
12270 (grub_diskfilter_segment): Likewise.
12271 (grub_diskfilter_node): Likewise.
12272 (grub_diskfilter_get_vg_by_uuid): New proto.
12273 (grub_raid_register): Inline.
12274 (grub_diskfilter_unregister): Likewise.
12275 (grub_diskfilter_make_raid): New proto.
12276 (grub_diskfilter_vg_register): Likewise.
12277 (grub_diskfilter_read_node): Likewise.
12278 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
12279 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
12280 (grub_util_is_ldm): Likewise.
12281 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
12282 (grub_hostdisk_find_partition_start): Likewise.
12283 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
12284 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
12285 New definition.
12286 (grub_gpt_partition_map_iterate): New proto.
12287 * include/grub/lvm.h (grub_lvm_vg): Removed.
12288 (grub_lvm_pv): Likewise.
12289 (grub_lvm_lv): Likewise.
12290 (grub_lvm_segment): Likewise.
12291 (grub_lvm_node): Likewise.
12292 * util/getroot.c [...]
12293 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
12294 (probe_abstraction): Likewise.
12295 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
12296 (main): Remove dead logic.
12297
8a7f9b9c
VS
122982012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
12299
12300 Simplify root device discover and don't fail when trying to open
12301 incorrect devices.
12302
12303 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
12304 function.
12305 (get_diskname_from_path): Likewise.
12306 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
12307 of iterating.
12308
30545b85
VS
123092012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12310
12311 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
12312
28ea58cf
VS
123132012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12314
12315 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
12316 pastthe end.
12317
692dabca
VS
123182012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12319
12320 * util/grub-install.in: Add missing \.
12321 Reported by: gentoofan
12322
f6e4ea70
VS
123232012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
12324
12325 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
12326 (direct_read): Use correct compressed size.
12327 (grub_squash_read_data): Likewise.
12328
123292012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
12330
12331 * docs/grub.texi (Platform limitations): New section.
12332 (Platform-specific operations): Likewise.
12333 * docs/grub-dev.texi (Porting): Likewise.
12334
76261110
VS
123352012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12336
12337 IEEE1275 disk write support.
12338
12339 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
12340 const void *.
12341 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
12342 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
12343 and seek loginc to ...
12344 (grub_ofdisk_prepare): ... here.
12345 (grub_ofdisk_write): Implement.
12346
fc36d603
VS
123472012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12348
12349 ARC disk write support.
12350
12351 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
12352 (reopen): New argument writable. All users updated.
12353 Handle required access mode.
12354 (grub_arcdisk_write): Implement.
12355 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
12356 (grub_arc_firmware_vector): Make buffer to write a const buffer.
12357
e06c2e7a
VS
123582012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12359
12360 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
12361 (read_sblock): Don't attempt to read superblocks outside the disk size.
12362
ff447958
VS
123632012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12364
12365 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
12366 first superblock to find the second one when possible.
12367
9e88df39
VS
123682012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12369
12370 * util/grub-install.in: Fix an ARC bug.
12371 Print a warning if no platform-specific setup is available.
12372
bb26e4ff
VS
123732012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12374
12375 Use static allocation rather than scratch pointer in reed_solomon.
12376 It decreases its size significantly and avoids a variable in .text.
12377
12378 * grub-core/lib/reed_solomon.c (scratch): Removed.
12379 (chosenstat): New const or static array.
12380 (sigma): Likewise.
12381 (errpot): Likewise.
12382 (errpos): Likewise.
12383 (sy): Likewise.
12384 (mstat): Likewise.
12385 (errvals): Likewise.
12386 (eqstat): Likewise.
12387 (pol_evaluate): Replace x with log_x argument. All users updated.
12388 (syndroms): Removed.
12389 (gauss_solve): Use statically allocated arrays.
12390 (rs_recover): Likewise.
12391 Calculate syndroms directly.
12392 (decode_block): Use statically allocated arrays.
12393 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
12394 (main) [TEST]: Allow -DTEST -DSTANDALONE.
12395
2e13ede5
VS
123962012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12397
12398 Eliminate fixed limit on reed solomon decoder length.
12399
12400 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
12401 rather than hardcoding the address.
12402 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
12403 no_reed_solomon_length.
12404 Move gate_a20 to no-reed-solomon part.
12405 Don't force a particular size of no reed-solomon part.
12406 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
12407 Removed.
12408 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
12409 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
12410
f8a9ab12
VS
124112012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12412
12413 * grub-core/commands/wildcard.c (match_files): Handle filenames
12414 without explicit device.
12415 (wildcard_expand): Don't add explicit device if not already present.
12416 * tests/grub_script_echo1.in: Add a new expansion test.
12417
87edb894
VS
124182012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12419
12420 Replace single-linked with double-linked lists. It results in more
12421 compact and more efficient code.
12422
12423 * grub-core/kern/list.c (grub_list_push): Moved from here ...
12424 * include/grub/list.h (grub_list_push): ... to here. Set prev.
12425 (grub_list_remove): Moved from here ...
12426 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
12427 (grub_prio_list_insert): Set prev.
12428 * include/grub/list.h (grub_list): Add prev. All users updated.
12429
48b391e9
VS
124302012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 Handle newer autotools. Add some missing quotes while on it.
12433
12434 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
12435 (pkglib_DATA): Move grub-mkconfig_lib from here ...
12436 (pkgdata_DATA): ... here.
12437 * Makefile.util.def (update-grub_lib): Removed.
12438 * conf/Makefile.common (pkglib_DATA): Removed.
12439 (pkglib_SCRIPTS): Likewise.
12440 (pkgdata_DATA): New variable.
12441 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
12442 needed.
12443 Add missing quotes.
12444 Remove unused variable while on it.
12445 * tests/util/grub-shell.in: Likewise.
12446 * util/grub-install.in: Likewise.
12447 * util/grub-mkconfig.in: Likewise.
12448 * util/grub-mknetdir.in: Likewise.
12449 * util/grub-mkrescue.in: Likewise.
12450 * util/grub-mkstandalone.in: Likewise.
12451 * util/grub.d/00_header.in: Likewise.
12452 * util/grub.d/10_hurd.in: Likewise.
12453 * util/grub.d/10_illumos.in: Likewise.
12454 * util/grub.d/10_kfreebsd.in: Likewise.
12455 * util/grub.d/10_linux.in: Likewise.
12456 * util/grub.d/10_netbsd.in: Likewise.
12457 * util/grub.d/10_windows.in: Likewise.
12458 * util/grub.d/20_linux_xen.in: Likewise.
12459 * util/grub.d/30_os-prober.in: Likewise.
12460 * util/update-grub_lib.in: Removed.
12461
124622012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
12463
12464 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
12465 a workaround for intel problem.
12466
66832792
PRP
124672012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
124682012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
124692012-01-23 pfsmorigo
12470
12471 * util/grub-install.in: Support dd'in into PreP partition.
12472 * util/grub-probe.c (probe): Support discovering partition type.
12473 (main): Support -t msdos_parttype.
12474
7816a17e
VS
124752012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
12476
12477 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
12478 infinite recursion using counter.
12479 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
12480 init to skip it if the magic check fails.
12481 (dec_stream_header): Init s->crc32.
12482
8f9d3a8c
ZB
124832012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
124842012-01-22 Zachary Bedell <pendorbound@gmail.com>
124852012-01-22 Richard Laager <rlaager@wiktel.com>
12486
12487 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
12488 All users updated.
12489 (find_bestub): Determine correct size.
12490 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
12491 (scan_disk): Align the size down.
12492 Call check pool before find_bestub to have ashift.
12493
b055dd32
VS
124942012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12495
12496 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
12497 dprintf in no-malloc zone.
12498
d779e9bd
ML
124992012-01-22 Mario Limonciello <mario_limonciello@dell.com>
12500
12501 * configure.ac: Add back in test for limits.h.
12502
b508af69
VS
125032012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12504
12505 Support 4K-sector NTFS.
12506
12507 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
12508 (grub_ntfs_data): Remove blocksize.
12509 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
12510 Remove data argument. All users updated.
12511
dad9c8b5
VS
125122012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12513
12514 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
12515 being in .text to avoid dprel references.
12516 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
12517 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
12518 (grub_arch_highmemsize): Likewise.
12519 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
12520 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
12521 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
12522
d43a777e
VS
125232012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12524
12525 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
12526
12527 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
12528 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
12529
34e4208f
VS
125302012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12531
12532 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
12533 GRUB_UTIL.
12534 (grub_set_datetime_cmos): Likewise.
12535
3ec0fc1c
VS
125362012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12537
12538 Make XZ compression parameters dependent on target and not host CPU.
12539
12540 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
12541 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
12542
22489834
VS
125432012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12544
12545 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
12546 set but not used variable.
12547
8502fbca
VS
125482012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12549
12550 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
12551 created when no uuid support is compiled into mkfs.reiser.
12552
76df2068
VS
125532012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12554
12555 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
12556 (utf8_to_macroman): Do the opposite.
12557 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
12558
64e3f8f6
VS
125592012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12560
12561 * configure.ac: Refise build qemu_mips w/o unifont.
12562
9c271078
VS
125632012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12564
12565 Eliminate grub_min/grub_max prone to overflow usage.
12566
12567 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
12568 (poll_nonroot_hub): Likewise.
12569 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
12570 (grub_affs_label): Likewise.
12571 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
12572 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
12573 (grub_hfs_label): Likewise.
12574 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
12575 * grub-core/fs/zfs/zfs.c (MIN): Remove.
12576 (zap_leaf_array_equal): Use grub_size. Remove MIN.
12577 (zap_leaf_array_get): Likewise.
12578 (dnode_get_path): Likewise.
12579 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
12580 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
12581 * grub-core/script/execute.c (grub_script_break): Likewise.
12582 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
12583 grub_max.
12584 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
12585 * include/grub/misc.h (grub_min): Removed.
12586 (grub_max): Likewise.
12587
80662dbc
VS
125882012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12589
12590 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
12591 direct.inode = 0.
12592
e6da1467
VS
125932012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12594
12595 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
12596
b1ac4cb1
VS
125972012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12598
12599 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
12600
b4bf7c3b
VS
126012012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12602
12603 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
12604 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
12605
8ee1101a
VS
126062012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12607
12608 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
12609 rather than a hack for grub_strncasemap.
12610
126112012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12612
12613 Support multiple initrds
12614 Note: part of this was accidently committed in r3739.
12615
12616 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
12617 initrd.
12618 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
12619 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
12620 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12621 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12622 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12623
4d1e2bc9
VS
126242012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12625
12626 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
12627 disks with unknown size.
12628 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
12629
75b49ebe
VS
126302012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12631
12632 Remove defines pertaining to arbitrary limits not affecting GRUB
12633 anymore.
12634
12635 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
12636 (EXT2_MAX_SYMLINKCNT): Likewise.
12637 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
12638 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
12639 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
12640 (GRUB_PXE_MAX_BLKSIZE): Likewise.
12641 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
12642 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
12643 (DN_MAX_OBJECT_SHIFT): Likewise.
12644 (DN_MAX_OFFSET_SHIFT): Likewise.
12645 (DN_MAX_OBJECT): Likewise.
12646 (DNODES_PER_LEVEL_SHIFT): Likewise.
12647 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
12648 (SPA_MAXBLOCKSIZE): Likewise.
12649 (SPA_BLOCKSIZES): Likewise.
12650 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
12651 (MZAP_MAX_BLKSZ): Likewise.
12652
74a1dce7
VS
126532012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12654
12655 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
12656 handle NULL appropriately.
12657 Remove MIN.
12658
30c7d3ce
VS
126592012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12660
12661 Fix efiemu.
12662
12663 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
12664 cpu/types.h.
12665 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
12666 * configure.ac: Fix efiemu check.
12667
3c76ea0c
VS
126682012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12669
12670 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
12671 grub_probe.
12672 Reported by: adamwill
12673
7e532280
SG
126742012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
12675
12676 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
12677
30492374
VS
126782012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12679
12680 Fix handling of wide characters in gfxterm.
12681
12682 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
12683 (clear_char): Likewise.
12684 (paint_char): Skip code == NULL chars.
12685 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
12686
e70cb72f
VS
126872012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12688
12689 * grub-core/normal/charset.c: Move comment to right place.
12690
5c827cf9
VS
126912012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12692
12693 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
12694 (GRUB_AFFS_FLAG_FFS): Put back where it was.
12695 (grub_affs_mount): Revert the correct version checking.
12696
53603892
VS
126972012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12698
12699 * docs/grub.texi (Unicode): Mention several other unsupported features.
12700
ff094b9b
VS
127012011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12702
12703 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
12704 case statements as compile-time one.
12705 (direct_read): Prevent spurious warnings.
12706 (grub_squash_read_data): Likewise.
12707
c029da8a
VS
127082011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12709
12710 Various squash4 fixes and LZO and XZ support.
12711
12712 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
12713 Add xzembed source files.
12714 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
12715 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
12716 (grub_squash_inode): New subtype long_dir.
12717 (SQUASH_TYPE_LONG_DIR): New inode type.
12718 (COMPRESSION): New enum.
12719 (XZBUFSIZ): New const.
12720 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
12721 (read_chunk): Use data->decompress.
12722 (zlib_decompress): New function.
12723 (lzo_decompress): Likewise.
12724 (xz_decompress): Likewise.
12725 (squash_mount): Set new data fields.
12726 (grub_squash_iterate_dir): Handle long dir.
12727 (squash_unmount): Free xzdec and xzbuf.
12728 (grub_squash_open): Check ino type.
12729 (direct_read): Stylistic fixes. Use data->decompress.
12730 (grub_squash_read_data): Likewise.
12731 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
12732 (get_byte): Likewise.
12733 (grub_zlib_disk_read): Removed.
12734 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
12735 (GRUB_POSIX_BOOL_DEFINED): New define.
12736 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
12737 * grub-core/lib/xzembed/xz.h: Addmissing includes.
12738 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
12739 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
12740
7a45a539
VS
127412011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12742
12743 Don't override more informative errors.
12744
12745 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
12746 * grub-core/font/font.c (open_section): Likewise.
12747 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
12748 filename. Don't override errors.
12749 (grub_cmd_openbsd_ramdisk): Don't override errors.
12750 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
12751 (grub_cmd_initrd): Likewise.
12752 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12753 (grub_cmd_initrd): Likewise.
12754 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
12755 (grub_cmd_linux): Likewise.
12756 (grub_cmd_initrd): Likewise.
12757 (grub_cmd_payload): Likewise.
12758 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12759 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
12760 (grub_cmd_module): Likewise.
12761 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12762 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12763 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
12764 (grub_cmd_xnu_mkext): Likewise.
12765 (grub_cmd_xnu_ramdisk): Likewise.
12766 (grub_xnu_check_os_bundle_required): Likewise.
12767 (grub_xnu_load_kext_from_dir): Likewise.
12768 (grub_cmd_xnu_kextdir): Likewise.
12769 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
12770
b2d004db
VS
127712011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12772
12773 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
12774 as 1024 in block size field. Found on one of my test images.
12775 Small optimisation while on it.
12776
ec000eac
VS
127772011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12778
12779 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
12780 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
12781 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
12782 performance fixes while on it.
12783 (grub_sfs_close): Fix memory leak while on it.
12784 (grub_sfs_label): Convert Latin1 to UTF-8.
12785
f50e1165
VS
127862011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12787
12788 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
12789 space to avoid overflows.
12790 (grub_hfs_label): Convert from macroman to UTF-8.
12791
2ae254de
VS
127922011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12793
12794 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
12795
0108f491
VS
127962011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12797
12798 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
12799
f45f5f89
VS
128002011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12801
12802 * unicode: Import Unicode 6.0 data.
12803
4d8c4765
VS
128042011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12805
63fa8ef9
VS
12806 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
12807 outside of range.
12808
128092011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12810
12811 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
12812
12813 * include/grub/charset.h (grub_getend): New function.
12814 * grub-core/script/function.c (grub_script_function_find): Use
12815 grub_getend.
12816 * grub-core/normal/completion.c (add_completion): Likewise.
12817
f3cb4a4e
VS
128182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12819
12820 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
12821 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
12822 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
12823 (GRUB_UNICODE_TAG_END): Likewise.
12824 (GRUB_UNICODE_LAST_VALID): Likewise.
12825
5da8dbc5
VS
128262011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12827
12828 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
12829 len and make it smaller. All users updated.
12830 * util/import_unicode.py: Put length and not end character.
12831 Check length.
12832
8569f13d
VS
128332011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12834
12835 Make better Unicode-compliant and unify some UTF-8 code pathes.
12836
12837 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
12838 valid character.
12839 (grub_is_valid_utf8): Use grub_utf8_process.
12840 Check resulting code range.
12841 (grub_utf8_to_ucs4): Use grub_utf8_process.
12842 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
12843 valid character.
12844
cc4fddf5
VS
128452011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12846
12847 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
12848
bbc47747
VS
128492011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12850
12851 * docs/grub.texi (Filesystems): Mention AFS.
12852
f63d6bf4
VS
128532011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12854
12855 * docs/grub.texi (Filesystems): Clarify restrictions.
12856 (Regexp): Mention non-Unicode regexp behaviour.
12857 (Other): Mention non-Unicode matching behaviour.
12858
74bbf0db
VS
128592011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12860
f63d6bf4 12861 Make HFS implementation use MacRoman.
74bbf0db
VS
12862
12863 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
12864 (macroman): New const array.
12865 (macroman_to_utf8): New function.
12866 (utf8_to_macroman): Likewise.
12867 (grub_hfs_find_dir): Use utf8_to_macroman.
12868 (grub_hfs_dir): Use macroman_to_utf8.
12869 Set case_insensitive.
12870
4ea0316e
VS
128712011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12872
12873 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
12874
d3c13cbd
VS
128752011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12876
12877 Integrate hints into autogeneration scripts.
12878
12879 * docs/grub.texi (Filesystems): Add a hostdisk example.
12880 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
12881 (grub-probe): Add ofpath.
12882 * gentpl.py: Remove group nosparc64.
12883 * grub-core/commands/search.c (cache_entry): New struct.
12884 (cache): New var.
12885 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
12886 * grub-core/commands/search_wrap.c (options): Add platform-specific
12887 hint options.
12888 (grub_cmd_search): Handle platform-specific hints.
12889 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
12890 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
12891 (grub_util_biosdisk_data): Likewise.
12892 (grub_util_biosdisk_open): Set device_map.
12893 (read_device_map): Handle "" as indication of no map.
12894 Set device_map.
12895 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
12896 (grub_util_biosdisk_get_compatibility_hint): New function.
12897 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
12898 * include/grub/emu/hostdisk.h
12899 (grub_util_biosdisk_get_compatibility_hint): New proto.
12900 * util/grub-install.in: Don't call grub-mkdevicemap.
12901 Add platform-specific hint to load.cfg.
12902 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
12903 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
12904 hints. Set root preliminary to compatibility hint, not to OS name.
12905 * util/grub-probe.c (PRINT_*): Add hints.
12906 (print): Make static.
12907 (escape_of_path): New function.
12908 (guess_bios_drive): Likewise.
12909 (guess_efi_drive): Likewise.
12910 (guess_baremetal_drive): Likewise.
12911 (print_full_name): Likewise.
12912 (probe): Handle hints.
12913 (main): Likewise.
12914 * util/ieee1275/devicemap.c: Removed.
12915 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
12916 updated.
12917 (grub_util_devname_to_ofpath): Return NULL on failure.
12918
12919 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
12920 resource leak.
12921 * util/getroot.c (grub_util_pull_device): Fix memory leak.
12922
12923 * po/POTFILES.in: Regenerated.
12924
12925 Allow purely long options
12926
12927 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
12928 (SHORT_ARG_USAGE): Likewise.
12929 (grub_arg_show_help): Compare opt with help_options.
12930 (parse_option): Receive opt as argument. If makes big simplificatons.
12931 All users updated
12932
00ce2df3
VS
129332011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12934
12935 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
12936 Restructure to avoid warning.
12937
e77e325f
VS
129382011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12939
12940 * util/grub-install.in: Account for possible escaped comma in device
12941 name.
12942
165099ea
VS
129432011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12944
12945 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
12946 channel.
12947
ce4a999d
VS
129482011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12949
12950 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
12951 allocation and zero-setting.
12952 (grub_ieee1275_get_devname): Check that alias is complete.
12953
379586ad
VS
129542011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12955
12956 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
12957 unaligned segments.
12958
9197b0ad
VS
129592011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12960
12961 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
12962 prefix.
12963 (grub_ofdisk_open): Check and discard ieee1275 prefix.
12964 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12965 Add ieee1275 prefix.
12966
edddb7f9
VS
129672011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12968
12969 * docs/grub.texi (Filesystems): Update.
12970
a1a8b1b9
VS
129712011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12972
12973 Support odc, newc and bigendian cpio formats.
12974
12975 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
12976 * grub-core/Makefile.core.def (newc): New module.
12977 (odc): Likewise.
12978 (cpio_be): Likewise.
12979 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
12980 (MAGIC): Likewise.
12981 (MAGIC2): Likewise.
12982 (head) [MODE_ODC]: Adapt for the format.
12983 (head) [MODE_NEWC]: Likewise.
12984 (head) [!MODE_*]: Write fields of interest as arrays.
12985 (MAGIC_USTAR): Removed.
12986 (read_number) [MODE_NEWC]: Change to hex.
12987 (read_number) [!MODE_*]: Parse binary arrays.
12988 (grub_cpio_find_file): Factor out the code for better structure and
12989 always use read_number.
12990 (grub_cpio_mount): Use MAGIC and MAGIC2.
12991 (grub_cpio_dir): Exit on first hook non-0 return.
12992 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
12993 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
12994 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
12995 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
12996 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
12997 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
12998 * grub-core/fs/newc.c: New file.
12999 * grub-core/fs/odc.c: Likewise.
13000 * grub-core/fs/cpio_be.c: Likewise.
13001
58eba9ee
VS
130022011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13003
13004 Fix handling of tar numbers occupying the whole field.
13005
13006 * grub-core/fs/cpio.c (read_number): New function.
13007 (grub_cpio_find_file): Use read_number instead of strtoull.
13008
a54a0e12
VS
130092011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13010
13011 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
13012 occupying the whole field size.
13013
a6120aca
LA
130142011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
13015
13016 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
13017
a93964ce
VS
130182011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13019
13020 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
13021
3ea1ca46
SG
130222011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
13023
13024 * grub-core/Makefile.core.def (lzma_decompress): Add missing
13025 TARGET_IMG_LDFLAGS.
13026
b87f7ef2
VS
130272011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13028
13029 * util/getroot.c (ESCAPED_PATH_MAX): New define.
13030 (mountinfo_entry): Increase the field size to take escaping into
13031 account.
13032 (find_root_device_from_libzfs): Add one byte to size of strings for
13033 security.
13034
62092395
VS
130352011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13036
13037 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
13038 an assert.
13039 * util/grub-setup.c (setup): Likewise.
13040
1f0b1a77
VS
130412011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13042
13043 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
13044 _LzmaDecodeA.
13045
8eba9997
VS
130462011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13047
13048 * docs/grub.texi (Internationalisation): New section.
13049
dd0c91e9
VS
130502011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13051
13052 * docs/grub.texi (Loopback booting): New section.
13053
130542011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
13055
13056 * util/grub-mkstandalone.in: Fix minor typo errors.
13057
198e150a
VS
130582011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13059
13060 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
13061
13062 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
13063 net/icmp.c and net/icmp6.c.
13064 (http): New module.
13065 (priority_queue): Likewise.
13066 * grub-core/io/bufio.c: Rewritten.
13067 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
13068 TYPE_WITH_CONFIGFILE_OPTION.
13069 (legacy_commands): Add bootp and dhcp.
13070 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
13071 (grub_legacy_parse): Likewise.
13072 * grub-core/lib/priority_queue.c: New file.
13073 * grub-core/net/arp.c: Add missing license header.
13074 (arp_find_entry): Removed.
13075 (arp_find_entry): Likewise.
13076 (grub_net_arp_resolve): Rename to ...
13077 (grub_net_arp_send_request): ...this.
13078 (grub_net_arp_receive): New card argument.
13079 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
13080 Set router and DNS server.
13081 (grub_net_configure_by_dhcp_ack): Handle routing information.
13082 (grub_cmd_bootp): Set checksum.
13083 (grub_bootp_init): Remove net_dhcp.
13084 * grub-core/net/dns.c: New file.
13085 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
13086 completion.
13087 (get_card_packet): Handle allocation.
13088 (grub_efinet_findcards): Set mtu.
13089 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
13090 (get_card_packet): Handle allocation.
13091 (emucard): Set mtu.
13092 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
13093 (GRUB_MOD_INIT): Set mtu.
13094 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
13095 mtu.
13096 (get_card_packet): Handle allocation.
13097 (grub_ofnet_findcards): Set mtu.
13098 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
13099 assert.
13100 (grub_net_recv_ethernet_packet): Handle IPv6.
13101 * grub-core/net/http.c: New file.
13102 * grub-core/net/icmp.c: Likewise.
13103 * grub-core/net/icmp6.c: Likewise.
13104 * grub-core/net/ip.c (ip6addr): New type.
13105 (ip6hdr): Likewise.
13106 (reassemble): Likewise.
13107 (cmp): New function.
13108 (reassembles): New variable.
13109 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
13110 (id): New variable.
13111 (send_fragmented): New function.
13112 (grub_net_send_ip_packet): Rename to ...
13113 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
13114 Handle non-UDP.
13115 (grub_net_recv_ip_packets): Rename to ...
13116 (handle_dgram): ... this. Check checksum. Handle non-UDP.
13117 (free_rsm): New function.
13118 (free_old_fragments): Likewise.
13119 (grub_net_recv_ip4_packets): New function.
13120 (grub_net_send_ip6_packet): Likewise.
13121 (grub_net_send_ip_packet): Likewise.
13122 (grub_net_recv_ip6_packets): Likewise.
13123 (grub_net_recv_ip_packets): Likewise.
13124 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
13125 (LINK_LAYER_CACHE_SIZE): New const.
13126 (link_layer_find_entry): New function.
13127 (grub_net_link_layer_add_address): Likewise.
13128 (grub_net_link_layer_resolve_check): Likewise.
13129 (grub_net_link_layer_resolve): Likewise.
13130 (grub_net_ipv6_get_slaac): Likewise.
13131 (grub_net_ipv6_get_link_local): Likewise.
13132 (grub_cmd_ipv6_autoconf): Likewise.
13133 (parse_ip): Handle one number representation.
13134 (parse_ip6): New functoion.
13135 (match_net): Handle IPv6.
13136 (grub_net_resolve_address): Handle IPv6 and DNS.
13137 (grub_net_resolve_net_address): Handle IPv6.
13138 (route_cmp): New function.
13139 (grub_net_route_address): Find best route.
13140 (grub_net_addr_to_str): Handle IPv6.
13141 (grub_net_addr_cmp): New function.
13142 (grub_net_add_addr): Register local route.
13143 (print_net_address): Handle net address.
13144 (grub_net_poll_cards): Retransmit TCP.
13145 (grub_net_poll_cards_idle_real): Likewise.
13146 (have_ahead): New function.
13147 (grub_net_seek_real): Use underlying seek.
13148 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
13149 * grub-core/net/tcp.c: New file.
13150 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
13151 (cmp): New function.
13152 (ack): Likewise.
13153 (tftp_receive): Handle unordered input.
13154 (destroy_pq): New function.
13155 (tftp_close): Close pq.
13156 * grub-core/net/udp.c: Put missing license header.
13157 (grub_net_udp_socket): New function.
13158 (udp_socket_register): Likewise.
13159 (grub_net_udp_close): Likewise.
13160 (grub_net_recv_udp_packet): Check checksum.
13161 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
13162 * include/grub/misc.h (grub_memchr): New function.
13163 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
13164 (grub_net_card_driver): Return buf in recv.
13165 (grub_net_slaac_mac_list): New struct.
13166 (grub_network_level_protocol_id): Add ipv6.
13167 (grub_net_network_level_addr): Likewise.
13168 (grub_net_network_level_net_addr): Likewise.
13169 (grub_net_app_protocol): Add seek.
13170 (grub_net_socket): Removed.
13171 (grub_net_sockets): Likewise.
13172 (grub_net_socket_register): Likewise.
13173 (grub_net_socket_unregister): Likewise.
13174 (FOR_NET_SOCKETS): Likewise.
13175 (grub_net_add_addr): Add const.
13176 (GRUB_NET_BOOTP_*): New enum.
13177 (grub_net_addr_cmp): New proto.
13178 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
13179 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
13180 (grub_net_hwaddr_to_str): NEw proto.
13181 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
13182 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
13183 (grub_dns_init): New proto.
13184 (grub_dns_fini): Likewise.
13185 (grub_net_tcp_retransmit): Likewise.
13186 (grub_net_link_layer_add_address): Likewise.
13187 (grub_net_link_layer_resolve_check): Likewise.
13188 (grub_net_link_layer_resolve): Likewise.
13189 (grub_net_dns_lookup): Likewise.
13190 (grub_net_add_dns_server): Likewise.
13191 (grub_net_remove_dns_server): Likewise.
13192 (GRUB_NET_TRIES): New const.
13193 (GRUB_NET_INTERVAL): Likewise.
13194 * include/grub/net/arp.h: Mostly rewritten.
13195 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
13196 * include/grub/net/ip.h: Mostly rewritten.
13197 * include/grub/net/netbuff.h: Indent.
13198 * include/grub/net/tcp.h: New file.
13199 * include/grub/net/udp.h: Mostly rewritten.
13200 * include/grub/priority_queue.h: New file.
13201 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
13202 (grub_swap_bytes64_compile_time): Likewise.
13203 (grub_cpu_to_be16_compile_time): Likewise.
13204 (grub_cpu_to_be32_compile_time): Likewise.
13205 (grub_cpu_to_be64_compile_time): Likewise.
13206 (grub_be_to_cpu64_compile_time): Likewise.
13207
215c1800
VS
132082011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13209
13210 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
13211 UINT_TO_PTR with cast.
13212
c17e546c
VS
132132011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13214
13215 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
13216 don't use them.
13217
ff6b18b6
VS
132182011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13219
13220 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
13221 already there.
13222
70ffcc93
VS
132232011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13224
13225 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
13226 confusing ipxe.
13227
e5f4d260
VS
132282011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13229
13230 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
13231 Add missing const attribute.
13232 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
13233 Likewise.
13234 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
13235 Likewise.
13236
8e54b4b7
VS
132372011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13238
13239 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
13240 misaligned access.
13241 (serpent_setkey): Likewise.
13242 (serpent_encrypt_internal): Likewise.
13243 (serpent_decrypt_internal): Likewise.
13244 (serpent_encrypt): Don't put an alignment-increasing cast.
13245 (serpent_decrypt): Likewise.
13246 (serpent_test): Likewise.
13247
813c0a2b
VS
132482011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13249
13250 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
13251
f2b60fbd
VS
132522011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13253
13254 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
13255
13256 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
13257 grub_addr_t casts.
13258 (PTR_TO_UINT64): Likewise.
13259 (PTR_TO_UINT32): Likewise.
13260
5ef5c511
VS
132612011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13262
13263 * util/grub-mkimage.c (generate_image): Decrease the higher limit
13264 because of stack.
13265 * util/grub-setup.c (setup): Don't add redundancy past the higher load
13266 limit.
13267
c476e6df
VS
132682011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13269
13270 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
13271 text_width > available width a bit more gracefully.
13272
384ad7cc
VS
132732011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13274
13275 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
13276 current address calculation.
13277
96f8caf8
VS
132782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13279
13280 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
13281 stack.
13282 (encode_block): Likewise.
13283
276b7a8b
VS
132842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13285
13286 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
13287 certainety.
13288
e3fd394a
VS
132892011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13290
13291 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
13292 non-RS part to avoid RS messing with GDT.
13293 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13294 Increase to suit in realmode routines.
13295
132962011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13297
13298 * grub-core/kern/i386/realmode.S: Increase alignment.
13299 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
13300
ee9c2e7a
VS
133012011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13302
13303 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
13304 be deterministic.
13305 (syndroms): Compute 0 syndrom.
13306 (rs_recover): Use 0 syndrom.
13307
7a7f7cc9
VS
133082011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13309
13310 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
13311
a14b16d1
VS
133122011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13313
13314 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
13315 brackets.
13316
9f59e9fc
VS
133172011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13318
ca1b552c
VS
13319 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
13320 account.
13321 (get_top_pad): Likewise.
13322 (get_right_pad): Likewise.
13323 (get_bottom_pad): Likewise.
13324
133252011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13326
13327 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 13328
e739d698
VS
133292011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13330
13331 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
13332 attribute as the structure isn't guaranteed to be properly aligned.
13333 (grub_efi_pci_device_path): Likewise.
13334 (grub_efi_pccard_device_path): Likewise.
13335 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
13336 specify the size of `memory_type'.
13337 (grub_efi_vendor_device_path): Likewise.
13338 (grub_efi_controller_device_path): Likewise.
13339 (grub_efi_acpi_device_path): Likewise.
13340 (grub_efi_expanded_acpi_device_path): Likewise.
13341 (grub_efi_atapi_device_path): Likewise.
13342 (grub_efi_scsi_device_path): Likewise.
13343 (grub_efi_fibre_channel_device_path): Likewise.
13344 (grub_efi_1394_device_path): Likewise.
13345 (grub_efi_usb_device_path): Likewise.
13346 (grub_efi_usb_class_device_path): Likewise.
13347 (grub_efi_i2o_device_path): Likewise.
13348 (grub_efi_mac_address_device_path): Likewise.
13349 (grub_efi_ipv4_device_path): Likewise.
13350 (grub_efi_ipv6_device_path): Likewise.
13351 (grub_efi_infiniband_device_path): Likewise.
13352 (grub_efi_uart_device_path): Likewise.
13353 (grub_efi_vendor_messaging_device_path): Likewise.
13354 (grub_efi_hard_drive_device_path): Likewise.
13355 (grub_efi_cdrom_device_path): Likewise.
13356 (grub_efi_vendor_media_device_path): Likewise.
13357 (grub_efi_file_path_device_path): Likewise.
13358 (grub_efi_protocol_device_path): Likewise.
13359 (grub_efi_piwg_device_path): Likewise.
13360 (grub_efi_bios_device_path): Likewise.
13361
cb8f88ea
VS
133622011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13363
13364 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
13365 (grub_ucs4_to_utf8_alloc): Likewise.
13366 (grub_ucs4_to_utf8): Likewise.
13367 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
13368 (grub_ucs4_to_utf8_alloc): Likewise.
13369
309e5352
VS
133702011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13371
13372 AFFS never uses unicode.
13373
13374 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
13375 (grub_latin1_to_utf8): New inline function.
13376 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
13377
e7987e1b
VS
133782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13379
13380 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
13381 overflow.
13382
efc2616e
VS
133832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13384
13385 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
13386 (grub_squash_dirent_header): Likewise.
13387 (read_chunk): Don't double swap.
13388 (grub_squash_iterate_dir): Fix swap sizes.
13389
3c349f5a
VS
133902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13391
13392 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
13393
b453412d
VS
133942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13395
13396 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
13397 (grub_hfs_iterate_dir): Likewise.
13398
12e9d4d1
VS
133992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13400
13401 Fix video on platforms where unaligned access is forbidden.
13402 Make several optimisations while on it.
13403
13404 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
13405 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13406 (grub_video_fbblit_replace_32bit_1bit): Likewise.
13407 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13408 Disable.
13409 (grub_video_fbblit_replace_16bit_1bit):
13410 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13411 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13412 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
13413 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
13414 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13415 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13416 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
13417 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
13418 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
13419 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
13420 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
13421 (grub_video_fbblit_replace_index_RGB888): Likewise.
13422 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
13423 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
13424 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
13425 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
13426 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
13427 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13428 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13429 Disable.
13430 (grub_video_fbblit_blend_XXX565_1bit):
13431 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13432 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
13433 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
13434 void *.
13435 * grub-core/video/fb/video_fb.c (common_blitter)
13436 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
13437 (grub_video_fb_create_render_target_from_pointer)
13438 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13439 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
13440 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
13441 definition.
13442 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
13443
ace96609
VS
134442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13445
13446 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
13447 HH22 and HM10 relocations.
13448
fd261d73
VS
134492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13450
13451 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
13452
e59b7857
VS
134532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13454
13455 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
13456 allocation succeeded.
13457
9b4baaa4
VS
134582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13459
13460 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
13461 argument a u8 pointer. All users updated.
13462 Handle unaligned buffers.
13463
dc713193
VS
134642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13465
13466 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
13467 add_part to workaround compiler bug.
13468
30dd48c2
VS
134692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13470
13471 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
13472
0c6087a8
VS
134732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13474
13475 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
13476 Reserve alignment invariants.
13477 (grub_multiboot_load): Likewise.
13478 (retrieve_video_parameters): Likewise.
13479 (grub_multiboot_make_mbi): Likewise.
13480
c2e77777
VS
134812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13482
13483 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
13484 incorrect pointer.
13485
b70b6d11
VS
134862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13487
13488 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
13489 (grub_pata_pio_write): Likewise.
13490
02a2bf83
VS
134912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13492
13493 Add noreturn attributes and remove unreachable code.
13494
13495 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
13496 code.
13497 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
13498 code. Mark as noreturn.
13499 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
13500 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
13501 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
13502 unreachable code.
13503 * grub-core/kern/main.c (grub_main): Mark as noreturn.
13504 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
13505 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
13506 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
13507 * include/grub/kernel.h (grub_main): Mark as noreturn.
13508 * include/grub/reader.h (grub_rescue_run): Likewise.
13509
2019d09e
VS
135102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13511
13512 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
13513 redundant declaration.
13514
d1c501ee
VS
135152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13516
13517 * include/grub/net.h (grub_net_network_level_interfaces): Remove
13518 redundant declaration.
13519 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
13520
61664420
VS
135212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13522
13523 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
13524 to ensure alignment.
13525 (grub_hdparm_print_identify): Make argument uint16 * to ensure
13526 alignment. Ensure tmp alignment.
13527 (grub_cmd_hdparm): Ensure buf alignment.
13528 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
13529 to ensure alignment.
13530 (grub_ata_dumpinfo): Ensure text alignment.
13531 (grub_atapi_identify): Preserve alignment invariant.
13532 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
13533
0d51ee20
VS
135342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13535
13536 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
13537 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
13538 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
13539 * include/grub/misc.h (grub_reboot)
13540 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
13541 (grub_halt) [__mips__]: Likewise.
13542
753ef8c1
VS
135432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13544
13545 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
13546 Remove redundant declaration.
13547 (grub_mmap_get_post64): Likewise.
13548 (grub_mmap_get_upper): Likewise.
13549 (grub_mmap_get_lower): Likewise.
13550
85c85365
VS
135512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13552
13553 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
13554 uint32_t * to ensure alignment.
13555 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
13556
a23f2cc4
VS
135572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13558
93018f64
VS
13559 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
13560 uint16_t * to ensure alignment.
13561 (sun_pc_partition_map_iterate): Make `block' a union to ensure
13562 alignment.
13563
135642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13565
13566 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
13567 to ensure alignment.
13568 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
13569
58acccd6
VS
135702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13571
13572 * grub-core/fs/ntfs.c (u16at): Make into inline function.
13573 Handle unaligned pointers.
13574 (u32at): Likewise.
13575 (u64at): Likewise.
13576 (fixup): Use byte access instead of v16at.
13577 (find_attr): Fix imporper usage of v32at.
13578 (read_data): Likewise.
13579 (list_file): Handle byte-swapping and unaligned strings.
13580 (grub_ntfs_label): Likewise.
13581
9b05cad7
VS
135822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13583
13584 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
13585 as it's not necessarily aligned.
13586
b3950b84
VS
135872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13588
13589 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
13590 redundant declaration.
13591 (grub_serial_init): Likewise.
13592 (grub_terminfo_init): Likewise.
13593
fcd232b7
VS
135942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13595
13596 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
13597 function.
13598 (ZAP_HASH_IDX): Likewise.
13599 (ZAP_LEAF_HASH_SHIFT): Likewise.
13600 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
13601 (LEAF_HASH): Likewise.
13602 (ZAP_LEAF_NUMCHUNKS): Likewise.
13603 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
13604 alignment invariants. Return pointer. All users updated.
13605 (ZAP_LEAF_ENTRY): Make into inline function.
13606 (NBBY): Removed.
13607 (xor): LIkewise.
13608 (xor_out): Use grub_crypto_xor.
13609 (dnode_get_path): Use grub_get_unaligned.
13610 (nvlist_find_value): Likewise.
13611 (grub_zfs_nvlist_lookup_uint64): Likewise.
13612 (grub_zfs_nvlist_lookup_string): Likewise.
13613 (get_nvlist_size): Likewise.
13614 (grub_zfs_open): Likewise.
13615 (fill_fs_info): Likewise.
13616 (grub_zfs_dir): Likewise.
13617 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
13618 alignment invariants.
13619 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
13620 necessarily aligned.
13621
f138623a
VS
136222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13623
13624 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
13625
564840dc
VS
136262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13627
13628 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
13629 arithmetic to conserve alignment invariants.
13630
9b40df20
VS
136312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
13634 redundant declaration.
13635 (grub_efiemu_mm_obtain_request): Likewise.
13636 (grub_efiemu_prepare): Likewise.
13637
d1c930f9
VS
136382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13639
13640 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
13641 to match types.
13642
4c5f3056
VS
136432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13644
13645 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
13646 case of aunaligned recptr.
13647 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
13648 alignment.
13649 (grub_hfsplus_btree_search): Handle unaligned index.
13650
728cba91
VS
136512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13652
13653 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
13654 to get freetag and skip.
13655
eb561f31
VS
136562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13657
13658 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
13659 array.
13660 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
13661 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
13662
20993fbb
VS
136632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13664
13665 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
13666 name for checksum and fix allocation algorithm.
13667
1f313b94
VS
136682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13669
13670 * include/grub/types.h (grub_properly_aligned_t): New type.
13671 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
13672 (grub_get_unaligned16): Add explicit casts.
13673 (grub_get_unaligned32): Likewise.
13674 (grub_get_unaligned64): Likewise.
13675 (grub_set_unaligned16): New function.
13676 (grub_set_unaligned32): Likewise.
13677
47ae27ec
VS
136782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13679
13680 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
13681
78c2cd1c
VS
136822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13683
13684 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
13685 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
13686 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
13687
53072f9b
VS
136882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13689
13690 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
13691 conditionals.
13692
055dc239
VS
136932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13694
13695 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
13696 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
13697
496bd074
VS
136982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13699
13700 Unify and improve RAID and crypto xor.
13701
13702 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
13703 changed to grub_crypto_xor
13704 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
13705 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
13706 Use bigger types when possible.
13707
ef6e4335
VS
137082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13709
13710 * grub-core/disk/raid.c (scan_devices): Fix condition.
13711
5d048bf2
VS
137122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13713
13714 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
13715 Make name a const ptr.
13716
ee533335
VS
137172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13718
13719 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
13720 first argument a const pointer.
13721 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13722 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
13723 proto.
13724 (grub_children_iterate): Likewise.
13725 (grub_machine_mmap_iterate): Remove redundant declaration.
13726
cc8f3668
VS
137272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13728
13729 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
13730 (grub_cmd_acpi) [!x86]: Disable EBDA.
13731
c5fc563a
VS
137322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13733
13734 Enable UTF8 in gnulib regexp.
13735
13736 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
13737 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
13738 (isupper): Use grub_isupper.
13739 (isascii): New inline function.
13740 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
13741 * grub-core/lib/posix_wrap/wctype.h: Likewise.
13742 * grub-core/normal/charset.c (grub_utf8_process): New function.
13743 (grub_utf8_to_utf16): Use grub_utf8_process.
13744 (grub_encode_utf8_character): New function.
13745 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
13746 * include/grub/charset.h (grub_utf8_process): New declaration.
13747 (grub_encode_utf8_character): Likewise.
13748 * include/grub/misc.h (grub_islower): New inline function.
13749 (grub_isupper): Likewise.
13750 (grub_strchrsub): Moved down to fix the definitions.
13751
0af2346f
VS
137522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13753
13754 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
13755 specification.
13756
74dbd244
VS
137572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13758
13759 * include/grub/loader.h (grub_loader_register_preboot_hook):
13760 Use struct preboot * and not void * for handle. All users updated.
13761 (grub_loader_unregister_preboot_hook): Likewise.
13762
1bc8f60d
VS
137632011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13764
13765 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
13766 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
13767 UTF-16-BE. All users updated.
13768 (grub_hfsplus_cmp_catkey): Fix unicode handling.
13769 (grub_hfsplus_iterate_dir): Likewise.
13770 (grub_hfsplus_label): Likewise.
13771
48d6e456
VS
137722011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13773
13774 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
13775
bf3a3857
VS
137762011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
13777
13778 Add missing const qualifiers.
13779
13780 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
13781 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
13782 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
13783 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
13784 (grub_lvm_check_flag): Likewise.
13785 * grub-core/efiemu/i386/coredetect.c
13786 (grub_efiemu_get_default_core_name): Likewise
13787 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13788 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
13789 * grub-core/fs/ntfs.c (fixup): Likewise.
13790 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
13791 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
13792 (fzap_lookup): Likewise.
13793 (zap_lookup): Likewise.
13794 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
13795 * grub-core/lib/legacy_parse.c (check_option): Likewise.
13796 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
13797 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
13798 (grub_freebsd_add_meta_module): Likewise.
13799 (grub_cmd_freebsd_module): Likewise.
13800 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
13801 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
13802 (grub_xnu_writetree_get_size): Likewise.
13803 (grub_xnu_writetree_toheap_real): Likewise.
13804 (grub_xnu_find_key): Likewise.
13805 (grub_xnu_create_key): Likewise.
13806 (grub_xnu_create_value): Likewise.
13807 (grub_xnu_register_memory): Likewise.
13808 (grub_xnu_check_os_bundle_required): Likewise.
13809 (grub_xnu_scan_dir_for_kexts): Likewise.
13810 (grub_xnu_load_kext_from_dir): Likewise.
13811 * grub-core/normal/color.c (color_list): Likewise.
13812 * grub-core/normal/completion.c (current_word): Likewise.
13813 * grub-core/normal/menu_entry.c (insert_string): Likewise.
13814 * grub-core/term/serial.c (grub_serial_find): Likewise.
13815 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
13816 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
13817 Likewise.
13818 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
13819 (grub_freebsd_add_meta_module): Likewise.
13820 * include/grub/lib/arg.h (grub_arg_option): Likewise.
13821 * include/grub/net.h (grub_net_card_driver): Likewise.
13822 (grub_net_card): Likewise.
13823 (grub_net_app_protocol): Likewise.
13824 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
13825 * include/grub/serial.h (grub_serial_find): Likewise.
13826 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
13827 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
13828 (grub_xnu_create_value): Likewise.
13829 (grub_xnu_find_key): Likewise.
13830 (grub_xnu_scan_dir_for_kexts): Likewise.
13831 (grub_xnu_load_kext_from_dir): Likewise.
13832
13833 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
13834 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
13835 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
13836 Moved from here ...
13837 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
13838
112b4837
CW
138392011-11-28 Colin Watson <cjwatson@ubuntu.com>
13840
13841 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
13842
49e891ac
VS
138432011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
13844
13845 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
13846 (read_device): Fix size calculation.
13847
fd258e5c
RM
138482011-11-25 Robert Millan <rmh@gnu.org>
13849
13850 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
13851 (find_root_device_from_libzfs): Add zpool output parser to be used
13852 as fallback when libzfs isn't available.
13853
78845dc2
SG
138542011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
13855
13856 * po/Makefile.in.in: Add missing escape-continuation.
13857
adac5211
VS
138582011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
13859
13860 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
13861
10b64f1c
VS
138622011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13863
13864 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
13865
bb416954
VS
138662011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13867
13868 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
13869
bdfe9eeb
VS
138702011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13871
13872 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
13873
581ffa8a
VS
138742011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13875
13876 * grub-core/lib/adler32.c: Add missing license specification.
13877 * grub-core/lib/crc64.c: Likewise.
13878 * grub-core/loader/i386/pc/plan9.c: Likewise.
13879 * grub-core/partmap/plan.c: Likewise.
13880
2536cf64
LK
138812011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
13882
13883 Add facility to debug GRUB with gdb under qemu.
13884
13885 * grub-core/gdb_grub.in: New file.
13886 * grub-core/gmodule.pl.in: Likewise.
13887 * grub-core/Makefile.core.def (gmodule.pl): New script.
13888 (gdb_grub): Likewise.
13889
bc108a4a
VS
138902011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13891
13892 * util/grub-mount.c (argp_parser): Accept relative pathes.
13893 * util/grub-fstest.c (argp_parser): Likewise.
13894
111c1778
VS
138952011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13896
13897 Plan9 support.
13898
13899 * Makefile.util.def (libgrubmods): Add
13900 grub-core/partmap/plan.c.
13901 * docs/grub.texi: Notice Plan9 support.
13902 * grub-core/Makefile.core.def (plan9): New module.
13903 (part_plan): Likewise.
13904 * grub-core/loader/i386/pc/plan9.c: New file.
13905 * grub-core/partmap/plan.c: Likewise.
13906 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
13907 define.
13908 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
13909 * include/grub/mm.h (grub_extend_alloc): New inline function.
13910
c30be3b6
VS
139112011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13912
13913 Make Reed-Solomon faster by using power of generator representation of
13914 GF(256)*.
13915
13916 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
13917 (gf_double_t): Likewise.
13918 (gf_invert): Removed.
13919 (gf_powx): New array.
13920 (gf_powx_inv): Likewise.
13921 (scratch): Move higher.
13922 (gf_reduce): Removed.
13923 (gf_mul): Use powx.
13924 (gf_invert): Likewise.
13925 (init_inverts): Replaced with ...
13926 (init_powx): ...this. All users updated.
13927 (pol_evaluate): Replace multiplications with additions.
13928 (rs_encode): Likewise.
13929 (gauss_eliminate): Call gf_invert.
13930 (grub_reed_solomon_add_redundancy): Call init_powx.
13931 (grub_reed_solomon_recover): Call init_powx unconditionally.
13932
fa5aeffc
VS
139332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13934
13935 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
13936
a346b81c
VS
139372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13938
13939 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
13940 disk->partiton for safety.
13941
d89ee414
VS
139422011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13943
13944 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
13945 Fix a memory leak.
13946 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
13947
91ee7b6d
VS
139482011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13949
13950 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
13951
91e5a33d
VS
139522011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13953
13954 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
13955
9edd7be2
VS
139562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13957
13958 Fix spaces handling in proc/self/mountinfo.
13959
13960 * util/getroot.c (unescape): New function.
13961 (grub_find_root_device_from_mountinfo): Use unescape.
13962
ba102053
VS
139632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13964
13965 Support ZFS embedding.
13966
13967 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
13968 (grub_zfs_fs): Register grub_zfs_embed.
13969
aa94b870
VS
139702011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13971
13972 Fix MIPS compilation.
13973
13974 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
13975 * include/grub/offsets.h: Rename decompressor fields from
13976 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
13977 * util/grub-mkimage.c (image_targets): Use new names.
13978
5fbdac14
VS
139792011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13980
13981 Defer multiboot device parsing until we're in compressed part.
13982
13983 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
13984 bsd_part. setdevice has fallen into disuse.
13985 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
13986 (bsd_part): Likewise.
13987 (boot_dev): New variable.
13988 (multiboot_trampoline): Don't parse multiboot device.
13989 Pass multiboot device in %edx.
13990 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
13991 grub_boot_device.
13992 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
13993 Likewise.
13994 * grub-core/kern/i386/pc/startup.S: Save edx.
13995 (grub_boot_drive): Removed.
13996 (grub_install_dos_part): Likewise.
13997 (grub_install_bsd_part): Likewise.
13998 (grub_boot_device): New variable.
13999 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
14000 (grub_install_bsd_part): Likewise.
14001 (grub_boot_drive): Likewise.
14002 (grub_boot_device): New variable.
14003 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
14004 Removed.
14005 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
14006 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
14007 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
14008 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
14009 * util/grub-install.in: Remove redundant condition.
14010
691cbb58
VS
140112011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14012
14013 Fix bug introduced by previous commit.
14014
14015 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
14016
60240b8b
VS
140172011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14018
14019 Use decompressors framework on i386-pc. It increases core size
14020 by 46 bytes but improves compatibility and maintainability.
14021
14022 * grub-core/Makefile.core.def (lzma_decompress): New image.
14023 (kernel): Add i386_pc_ldflags.
14024 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
14025 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
14026 to real_to_prot, prot_to_real and device info.
14027 * include/grub/offsets.h: Renamed decompressor offsets.
14028 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
14029 (image_target_desc): Remove raw_size and rename decompressor fields.
14030 (compress_kernel): Handle lzma.
14031 (generate_image): Handle decompressors on i386-pc.
14032
e9d3421c
VS
140332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14034
14035 * configure.ac: Add -fno-asynchronous-unwind-tables.
14036
2b23074a
VS
140372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14038
14039 Move assembly code to C by using intwrap. It increases core size
14040 by 88 bytes but improves compatibility and maintainability.
14041
14042 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
14043 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
14044 ... here. Translated to C.
14045 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
14046 * grub-core/term/i386/pc/console.c (grub_console_getkey):
14047 ... here. Translated to C.
14048 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
14049 * grub-core/term/i386/pc/console.c (grub_console_getxy):
14050 ... here. Translated to C.
14051 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
14052 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
14053 ... here. Translated to C.
14054 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
14055 * grub-core/term/i386/pc/console.c (grub_console_cls):
14056 ... here. Translated to C.
14057 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
14058 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
14059 ... here. Translated to C.
14060 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
14061 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
14062 Translated to C.
14063 * grub-core/term/i386/pc/console.c (int10_9): New function.
14064 (grub_console_putchar): Likewise.
14065 * include/grub/i386/pc/console.h: Removed the not anymore shared
14066 functions.
14067
678f4b67
VS
140682011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14069
14070 Move grub_chainloader_real_boot out of the kernel.
14071
14072 * grub-core/Makefile.am: Remove machine/loader.h.
14073 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14074 Removed.
14075 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
14076 variable.
14077 (grub_relocator16_keep_a20_enabled): Likewise.
14078 (grub_relocator16_boot): Fill new variables.
14079 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
14080 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
14081 relocator.
14082 (grub_chainloader_unload): Likewise.
14083 (grub_chainloader_cmd): Likewise.
14084 * include/grub/i386/pc/loader.h: Removed.
14085 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
14086 and esi. All initialisers updated.
14087
4626edf6
VS
140882011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
140892011-11-12 Colin Watson <cjwatson@ubuntu.com>
14090
14091 * Makefile.util.def (grub-mount): New util.
14092 * .bzrignore: Add grub-mount.
14093 * configure.ac: Check for fuse and enable grub-mount if available.
14094 * docs/man/grub-mount.h2m: New file.
14095 * util/grub-mount.c: Likewise.
14096
10f0117b
VS
140972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14098
14099 * grub-core/commands/efi/fixvideo.c: Gettextize.
14100 * grub-core/commands/hashsum.c: Likewise.
14101 * grub-core/commands/i386/cmostest.c: Likewise.
14102 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14103 * grub-core/commands/i386/pc/lsapm.c: Likewise.
14104 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14105 * grub-core/commands/lsmmap.c: Likewise.
14106 * grub-core/commands/menuentry.c: Likewise.
14107 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
14108 * grub-core/commands/setpci.c: Likewise.
14109 * grub-core/loader/i386/bsd.c: Likewise.
14110 * grub-core/loader/i386/linux.c: Likewise.
14111 * util/getroot.c: Likewise.
14112 * util/grub-editenv.c: Likewise.
14113 * util/grub-fstest.c: Likewise.
14114 * util/grub-mkfont.c: Likewise.
14115 * util/grub-mkimage.c: Likewise.
14116 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14117 * util/grub-pe2elf.c: Likewise.
14118 * util/grub-probe.c: Likewise.
14119 * util/grub-setup.c: Likewise.
14120 * util/ieee1275/ofpath.c: Likewise.
14121 * util/misc.c: Likewise.
14122 * util/raid.c: Likewise.
14123
566f779b
RM
141242011-11-11 Robert Millan <rmh@gnu.org>
14125
14126 * util/getroot.c (grub_util_get_geom_abstraction): Remove
14127 __attribute__((unused)) from `os_dev', which *is* being used.
14128
b50787de
VS
141292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14130
14131 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
14132 forgotten define.
14133 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
14134 GRUB_IA64_DL_GOT_ALIGN.
14135 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
14136 GRUB_IA64_DL_TRAMP_ALIGN.
14137
119d11c8
VS
141382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14139
14140 Replace grub_fatal with normal errors in i386 linux loader.
14141
14142 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
14143 (allocate_pages): Check find_efi_mmap_size return value.
14144 (grub_e820_add_region): Return error.
14145 (grub_linux_boot): Check mmap return value.
14146
6e0632e2
VS
141472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14148
14149 * grub-core/commands/acpihalt.c: Gettextized.
14150 * grub-core/commands/cacheinfo.c: Likewise.
14151 * grub-core/commands/cmp.c: Likewise.
14152 * grub-core/commands/efi/loadbios.c: Likewise.
14153 * grub-core/commands/gptsync.c: Likewise.
14154 * grub-core/commands/ieee1275/suspend.c: Likewise.
14155 * grub-core/commands/legacycfg.c: Likewise.
14156 * grub-core/commands/memrw.c: Likewise.
14157 * grub-core/commands/minicmd.c: Likewise.
14158 * grub-core/commands/parttool.c: Likewise.
14159 * grub-core/commands/time.c: Likewise.
14160 * grub-core/commands/videoinfo.c: Likewise.
14161 * grub-core/disk/geli.c: Likewise.
14162 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
14163 * grub-core/disk/luks.c: Likewise.
14164 * grub-core/disk/lvm.c: Likewise.
14165 * grub-core/font/font_cmd.c: Likewise.
14166 * grub-core/fs/zfs/zfscrypt.c: Likewise.
14167 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14168 * grub-core/gfxmenu/view.c: Likewise.
14169 * grub-core/kern/emu/hostdisk.c: Likewise.
14170 * grub-core/kern/emu/main.c: Likewise.
14171 * grub-core/kern/emu/misc.c: Likewise.
14172 * grub-core/kern/emu/mm.c: Likewise.
14173 * grub-core/kern/mips/arc/init.c: Likewise.
14174 * grub-core/kern/mips/loongson/init.c: Likewise.
14175 * grub-core/kern/partition.c: Likewise.
14176 * grub-core/lib/i386/halt.c: Likewise.
14177 * grub-core/lib/mips/arc/reboot.c: Likewise.
14178 * grub-core/lib/mips/loongson/reboot.c: Likewise.
14179 * grub-core/loader/i386/pc/chainloader.c: Likewise.
14180 * grub-core/loader/i386/xnu.c: Likewise.
14181 * grub-core/loader/multiboot.c: Likewise.
14182 * grub-core/net/bootp.c: Likewise.
14183 * grub-core/net/net.c: Likewise.
14184 * grub-core/normal/term.c: Likewise.
14185 * grub-core/partmap/bsdlabel.c: Likewise.
14186 * grub-core/parttool/msdospart.c: Likewise.
14187 * grub-core/term/gfxterm.c: Likewise.
14188 * grub-core/term/terminfo.c: Likewise.
14189 * grub-core/video/i386/pc/vbe.c: Likewise.
14190 * util/grub-menulst2cfg.c: Likewise.
14191 * util/grub-mkdevicemap.c: Likewise.
14192 * util/grub-mklayout.c: Likewise.
14193 * util/grub-mkrelpath.c: Likewise.
14194 * util/grub-script-check.c: Likewise.
14195 * util/ieee1275/grub-ofpathname.c: Likewise.
14196 * util/resolve.c: Likewise.
14197
073aa7a9
VS
141982011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14199
14200 Support %1$d syntax.
14201
14202 * tests/printf_unit_test.c: New file.
14203 * Makefile.util.def (printf_test): New test.
14204 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
14205
c76b5417
VS
142062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14207
14208 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
14209 fix.
14210
df067ad1
VS
142112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14212
14213 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
14214 dprintf.
14215 * grub-core/font/font.c (grub_font_load): Likewise.
14216
5b289bc5
VS
142172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14218
14219 * util/grub-macho2img.c: Add comment concerning gettext.
14220 * grub-core/lib/legacy_parse.c: Likewise.
14221
c1860f87
VS
142222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14223
14224 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
14225 (grub_xvasprintf): Likewise.
14226
d35d0d37
VS
142272011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14228
14229 Add const keyword to grub_env_get and gettextize week days.
14230
14231 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
14232 (grub_read_hook_datetime): Return const char *.
14233 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
14234 updated.
14235 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14236 Mark for gettext.
14237 (grub_get_weekday_name): Return const char *. Call gettext.
14238 * grub-core/script/argv.c (grub_script_argv_append): Receive const
14239 char * and len as the argument. All users updated.
14240 (grub_script_argv_split_append): Receive const char *.
14241 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
14242 * include/grub/env.h (grub_env_get): Likewise.
14243 (grub_env_read_hook_t): Return const char *.
14244 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
14245 (grub_script_argv_split_append): Likewise.
14246
9aed8a71
VS
142472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14248
14249 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
14250
067fdf00
VS
142512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14252
14253 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
14254 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
14255
a8bd9d39
VS
142562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14257
14258 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
14259 Fix prototype.
14260
f7ce5baf
VS
142612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14262
14263 Fix mips compilation.
14264
14265 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
14266 normal decoder.
14267 (hashes): Use in embed decoder as well (for sizes).
14268 (dec_stream_header): Fix embed decompressor logic.
14269 (dec_stream_footer): Likewise.
14270
9bb182f3
VS
142712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14272
14273 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
14274 an error and not a fatal on unrecognised relocation types.
14275
63a9e6f6
VS
142762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14277
14278 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14279 Issue error rather than printf on unknown arguments.
14280
4c458569
VS
142812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14282
14283 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
14284 Make buf a const.
14285
e2d22baf
VS
142862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14287
14288 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
14289 Fix module name.
14290
53dc8590
VS
142912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14292
14293 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
14294 leftover debug printf.
14295
6c189294
VS
142962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14297
14298 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
14299
f7688369
VS
143002011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14301
14302 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
14303 A stylistic fix.
14304
11a775a3
VS
143052011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14306
14307 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
14308
33f784e8
SL
143092011-11-10 Shea Levy <slevy@tieronedesign.com>
14310
14311 Allow all modules to perform serial IO
14312
14313 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
14314 * include/grub/serial.h (grub_serial_port_configure): New inline
14315 function.
14316 (grub_serial_port_fetch): Likewise.
14317 (grub_serial_port_put): Likewise.
14318 (grub_serial_port_fini): Likewise.
14319 (grub_serial_find): New proto.
14320
f6276525
VS
143212011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14322
14323 Put symlink at the end of the node and fix a potential
14324 memory corruption.
14325
14326 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
14327 Make symlink into an array.
14328 (set_rockridge): Set have_symlink and alloc_dirents.
14329 (grub_iso9660_read_symlink): Use new layout.
14330 (grub_iso9660_iterate_dir): Fix memory corruption.
14331 Use new layout.
14332 (grub_iso9660_dir): Set have_symlink.
14333 (grub_iso9660_open): Likewise.
14334
c3591189
VS
143352011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14336
14337 Remove local keyword.
14338
14339 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
14340 (version_test_gt): Likewise.
14341 (version_find_latest): Likewise.
14342 (gettext_printf): Likewise.
14343 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
14344
cb544caa
VS
143452011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14346
14347 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
14348
45bd824d
VS
143492011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14350
14351 Fix ZFS memory and resource leaks.
14352
14353 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
14354 All users updated.
14355 Free type on exit.
14356 (fill_vdev_info): New parameter inserted. All users updated.
14357 (check_pool_label): Likewise.
14358 (scan_disk): Likewise.
14359 (scan_devices): Close non-inserted disks.
14360 (fzap_iterate): Free l.
14361 (unmount_device): Free children descripto memory.
14362
ad9a2f44
VS
143632011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14364
14365 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
14366 argument (access out of bounds).
14367
6b68db81
VS
143682011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14369
14370 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
14371 >= 6 drives.
14372
28840fda
VS
143732011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14374
14375 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
14376 Fix declaration.
14377
8a5a3a5b
VS
143782011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14379
14380 Fix several memory leaks.
14381
14382 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
14383 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
14384 (grub_cpio_dir): Likewise.
14385 * grub-core/fs/fat.c (grub_fat_label): Likewise.
14386 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
14387 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
14388 (grub_romfs_label): Likewise.
14389 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
14390 (squash_unmount): New function.
14391 (grub_squash_dir): Fix memory leak.
14392 (grub_squash_open): Likewise.
14393 (grub_squash_read): Likewise.
14394 (grub_squash_mtime): Likewise.
14395 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
14396 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
14397 * util/grub-fstest.c (fstest): Likewise.
14398
57b01250
VS
143992011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14400
14401 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
14402 avoid accessing beyond the array.
14403
19e81ba7
VS
144042011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14405
14406 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
14407
52b656c0
VS
144082011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14409
14410 Several AFFS fixes.
14411
14412 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
14413 (GRUB_AFFS_FLAG_FFS): Removed.
14414 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
14415 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
14416 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
14417 (grub_fshelp_node): Make block 32-bit.
14418 Add block_cache and last_block_cache.
14419 (grub_affs_read_block): Fill and use block cache.
14420 (grub_affs_read_file): Removed.
14421 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
14422 boot block.
14423 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
14424 safety.
14425 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
14426 space.
14427 (grub_affs_close): Free block cache.
14428 (grub_affs_read): Use grub_fshelp_read_file directly.
14429
438a746a
VS
144302011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14431
14432 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
14433 with no error set.
14434
49a45021
VS
144352011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14436
14437 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
14438 used variable.
14439 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14440 Likewise.
14441
3ae17eb8
VS
144422011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14443
14444 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
14445
14446 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
14447 byteswap when needed.
14448
27610c38
VS
144492011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14450
14451 Fix FreeBSD compilation.
14452
14453 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
14454 to avoid circular dependency.
14455 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
14456 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
14457 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
14458
4a19b601
VS
144592011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14460
14461 Fix ZFS crypto error types.
14462
14463 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
14464 (grub_gcm_decrypt): Likewise.
14465 (grub_zfs_load_key_real): Fix error code type. Handle possible error
14466 from PBKDF2.
14467
958ee221
VS
144682011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14469
14470 Illumos support.
14471
14472 * Makefile.util.def (10_illumos): New script.
14473 * configure.ac: Set COND_HOST_ILLUMOS.
14474 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
14475 Support Illumos calls.
14476 (find_partition_start) [__sun__]: Likewise.
14477 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
14478 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
14479 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
14480 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
14481 device.
14482 * util/grub-probe.c (probe) [__sun__]: Do character check.
14483 * util/grub.d/10_illumos.in: New file.
14484
cac14fb6
VS
144852011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14486
14487 Support escaped commas in hostdisk.
14488
14489 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
14490 (find_grub_drive): Use unescape_cmp.
14491 (make_device_name): Escape commas.
14492
78e08dc3
VS
144932011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14494
14495 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
14496
9f421dd1
VS
144972011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14498
14499 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
14500 variable.
14501
ed64e9e2
VS
145022011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14503
14504 Support trampoline jumps on powerpc.
14505
14506 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
14507 __ia64__ path.
14508 (grub_dl_load_segments): Set mod->sz.
14509 (grub_dl_flush_cache): Flush whole space occupied by module, not just
14510 segments.
14511 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
14512 (jump): Likewise.
14513 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
14514 function.
14515 (trampoline): New struct.
14516 (trampoline_template): New const.
14517 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
14518 * include/grub/dl.h (grub_dl): Add sz element.
14519 [__powerpc__]: Follow __ia64__.
14520 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
14521 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
14522 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
14523 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
14524
3084ede4
VS
145252011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14526
14527 ZFS crypto support.
14528
14529 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
14530 * grub-core/Makefile.core.def (zfscrypt): New module.
14531 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
14532 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
14533 it. All users updated.
14534 (grub_zfs_decrypt): New var.
14535 (grub_zfs_load_key): Likewise.
14536 (zio_checksum_functions): Add SHA256+MAC.
14537 (zio_checksum_verify): Handle incomplete comparison due to MAC.
14538 (zio_read): Handle encrypted blocks.
14539 (zap_verify): Remove incorrect check.
14540 (fzap_iterate): Handle non-standard fzap.
14541 (zap_iterate): Likewise.
14542 (zap_iterate_u64): New function.
14543 (dnode_get_fullpath): Load keys.
14544 * grub-core/fs/zfs/zfscrypt.c: New file.
14545 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
14546 (grub_crypto_ecb_encrypt): Make input const.
14547 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
14548 (grub_crypto_ecb_encrypt): Make input const.
14549 (GRUB_CIPHER_AES): New macro.
14550 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
14551 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
14552 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
14553 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
14554 prefix. All users updated.
14555 (grub_zfs_add_key): New proto.
14556 (grub_zfs_decrypt): Likewise.
14557 (grub_zfs_load_key): Likewise.
14558 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
14559 * util/grub-fstest.c (options): Add -K option.
14560 (argp_parser): Likewise.
14561
b632b404
VS
145622011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14563
14564 Support zle compression on ZFS.
14565
14566 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
14567 (decomp_table): Add zle.
14568 * include/grub/zfs/zio.h (zio_compress): Add zle.
14569
c7ba4f69
VS
145702011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14571
14572 Support BtrFS embedding.
14573
14574 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
14575 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
14576 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
14577 * util/grub-setup.c (setup): Use fs embedding if available.
14578 Add additional sanity check.
14579
455377d9
VS
145802011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14581
14582 * util/grub-install.in: Fix condition for config_opt.
14583
c2fd16ca
VS
145842011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14585
14586 Support third redundancy strip on raidz3.
14587
14588 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
14589 Return error on singularity. All users updated.
14590 (read_device): Don't stop on 3rd failure on raidz3.
14591
8622923b
VS
145922011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14593
14594 Support case-insensitive ZFS subvolumes.
14595
14596 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
14597 All users updated.
14598 (zap_hash): Likewise.
14599 (name_cmp): New function.
14600 (zap_leaf_array_equal): New parameter case_insensitive.
14601 All users updated.
14602 (zap_leaf_lookup): Likewise.
14603 (fzap_lookup): Likewise.
14604 (zap_lookup): Likewise.
14605 (dnode_get_path): New parameter case_insensitive. Retrieve case
14606 sensitiviness of a volume. All users updated.
14607 (dnode_get_fullpath): New parameter case_insensitive.
14608 All users updated.
14609 (grub_zfs_dir): Set info.case_insensitiveness.
14610
95f2e860
VS
146112011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14612
14613 Support second redundancy strip on raidz(2,3).
14614
14615 * grub-core/fs/zfs/zfs.c (powx): New array.
14616 (powx_inv): Likewise.
14617 (poly): New const.
14618 (xor_out): New function.
14619 (gf_mul): Likewise.
14620 (recovery): Likewise.
14621 (read_device): Use second redundancy strip.
14622
11ee4389
VS
146232011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14624
14625 Use a power of generator representation of GF(256) multiplication group
14626 to save space time and complexity.
14627
14628 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
14629 (raid6_table2): Likewise.
14630 (powx): New array.
14631 (powx_inv): Likewise.
14632 (poly): New const.
14633 (grub_raid_block_mul): Replace with ...
14634 (grub_raid_block_mulx): ...this.
14635 (grub_raid6_init_table): Rewritten.
14636 (grub_raid6_recover): Use power of generator representation.
14637
09e2763f
VS
146382011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14639
14640 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
14641 for the right device.
14642
8bec9a28
VS
146432011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14644
14645 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
14646 expected by grub-mkimage and it's more clear since there is no implicit
14647 padding.
14648
dbd3a32e
VS
146492011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14650
14651 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
14652 disk.
14653 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14654
182c872a
PMH
146552011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
14656
14657 * util/grub-mkrescue.in: Fix handling xorriso option.
14658
1e51cabd
VS
146592011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14660
14661 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
14662 NULL.
14663
9cc3581d 146642011-11-03 crocket <crockabiscuit@gmail.com>
14665
14666 * util/grub.d/10_linux.in: Add Slackware initrd naming.
14667
158dc1ea
VS
146682011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14669
14670 XZ CRC64 and SHA256 support.
14671
14672 * Makefile.util.def (libgrubmods): Add crc64.c.
14673 * grub-core/Makefile.core.def (crc64): New module.
14674 * grub-core/lib/crc64.c: New file.
14675 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
14676 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
14677 Fix the type.
14678 (MAX_HASH_SIZE): New define.
14679 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
14680 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
14681 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14682 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14683 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
14684 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
14685 Handle non-crc32 hashes.
14686 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
14687 (dec_stream_header): Handle non-crc32 hashes.
14688 (dec_stream_footer): Likewise.
14689 (dec_block_header): Likewise.
14690 (dec_main): Likewise.
14691 (xz_dec_init): Likewise.
14692 (xz_dec_reset): Likewise.
14693 (xz_dec_end): Likewise.
14694 * util/import_gcry.py: Add CRC64 line.
14695
9d9b3d2f
VS
146962011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14697
14698 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
14699 as well.
14700
7d0ac931
VS
147012011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14702
14703 Make reiserfs label retrieval similar to other *_label functions.
14704
14705 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
14706 (REISERFS_MAX_LABEL_LENGTH): Removed.
14707 (REISERFS_LABEL_OFFSET): Likewise.
14708 (grub_reiserfs_label): Rewritten.
14709
147102011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14711
14712 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
14713 field.
14714
cf5ba824
VS
147152011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14716
14717 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
14718
17744004
VS
147192011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14720
14721 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
14722 drive failure on both raidz and raidz2.
14723
aca5aefc
VS
147242011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14725
14726 Fix RAIDZ(2) for >= 5 devices.
14727
14728 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
14729 asize argument. All users updated.
14730
ce8ca56e
VS
147312011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14732
14733 Fix RAIDZ(2).
14734
14735 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
14736 (fill_vdev_info_real): Set ashift.
14737 (read_device): Rewrite RAIDZ part based on reverse engineering.
14738
7c01e783
VS
147392011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14740
14741 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
14742 don't report potentially unavialiable fields in debug output.
14743 (find_path): Fix double-free and memory leak.
14744
ce109e84
VS
147452011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14746
14747 Read label on UFS1.
14748
14749 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
14750 (grub_ufs_fs): Always set .label.
14751
87661123
VS
147522011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14753
14754 Use shifts in UFS.
14755
14756 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
14757 (grub_ufs_data): New field log2_blksz.
14758 (grub_ufs_read_file): Use shifts.
14759 (grub_ufs_mount): Check block size and logarithm it.
14760
46bc1dc2
VS
147612011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14762
14763 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
14764 long symlinks.
14765
19ee2987
VS
147662011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14767
14768 Handle symlinks and long names on tar and cpio.
14769
14770 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
14771 (ATTR_FILE): Likewise.
14772 (ATTR_DIR): Likewise.
14773 (ATTR_LNK): Likewise.
14774 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
14775 (grub_cpio_find_file): Fill mode, handle linkname field as well as
14776 L and K entries.
14777 (grub_cpio_mount): Zero-fill data.
14778 (handle_symlink): New function.
46bc1dc2
VS
14779 (grub_cpio_dir): Handle symlinks.
14780 (grub_cpio_open): Likewise.
14781 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 14782
c83a08d8
VS
147832011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14784
14785 Fix iso9660 filename limitations and fix memory leaks.
14786
14787 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
14788 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
14789
45cdd3ea
VS
147902011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14791
14792 Fix JFS file name length limitations.
14793
14794 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
14795 (grub_jfs_diropen): Fix maximum filename length.
14796 (grub_jfs_getent): Fix filename length.
14797 (grub_jfs_lookup_symlink): Fix size checks.
14798
94ef05c2
VS
147992011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14800
14801 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
14802 string.
14803
785ab8c7
VS
148042011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14805
eb0b6b45
VS
14806 Leverage BFS implementation to read AFS.
14807
14808 * Makefile.util.def (libgrubmods): Add afs.c.
14809 * grub-core/Makefile.core.def (afs): New module
14810 * grub-core/fs/afs.c: New file.
14811 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
14812
148132011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14814
14815 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 14816
c4a1628f
VS
148172011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14818
14819 * grub-core/fs/bfs.c: Run indent.
14820
5825b379
VS
148212011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14822
14823 BFS implementation based on the specification.
14824
14825 * grub-core/fs/bfs.c: New file.
14826 * Makefile.util.def (libgrubmods): Add bfs.c.
14827 * grub-core/Makefile.core.def (bfs): New module.
14828
42b2a706
VS
148292011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14830
14831 * util/grub-fstest.c (cmd_cp): Clarify error message.
14832 (cmd_cmp): Likewise.
14833
61b99bfc
YB
148342011-10-30 Yves Blusseau <blusseau@zetam.org>
14835
14836 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
14837 and befs_be.
14838
faba3d16
VS
148392011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
14840
14841 Remove afs and befs because of copyright problem.
14842
14843 * grub-core/fs/afs.c: Removed.
14844 * grub-core/fs/afs_be.c: Removed.
14845 * grub-core/fs/befs.c: Removed.
14846 * grub-core/fs/befs_be.c: Removed.
14847 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
14848 * grub-core/Makefile.core.def (afs): Removed.
14849 (afs_be): Likewise.
14850 (befs): Likewise.
14851 (befs_be): Likewise.
14852
c39224b0
VS
148532011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14854
14855 Prefer rockridge over Joliet.
14856
14857 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
14858 to ...
14859 (set_rockridge): ... here.
14860 (grub_iso9660_mount): Check rockridge on the primary label when
14861 discovering. Ignore Joliet if Rockridge is present.
14862
e551115a
VS
148632011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14864
14865 Use shifts in nilfs2.
14866
14867 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
14868 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
14869 (grub_nilfs2_palloc_entries_per_group): Replace with ...
14870 (grub_nilfs2_log_palloc_entries_per_group): ... this.
14871 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
14872 (grub_nilfs2_entries_per_block): Replaced with ...
14873 (grub_nilfs2_log_entries_per_block_log): ... this.
14874 (grub_nilfs2_blocks_per_group): Replaced with ...
14875 (grub_nilfs2_blocks_per_group_log): ... this.
14876 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
14877 (grub_nilfs2_blocks_per_desc_block_log): ... this.
14878 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
14879 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
14880 (grub_nilfs2_palloc_entry_offset): Replaced ...
14881 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
14882 (grub_nilfs2_dat_translate): Use shifts.
14883 (grub_nilfs2_read_inode): Likewise.
14884 (GRUB_MOD_INIT): Ensure that logs are correct.
14885
564dd58c
VS
148862011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14887
14888 Use shifts in minix filesystem.
14889
14890 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
14891 (GRUB_MINIX_ZONE2SECT): Likewise.
14892 (grub_minix_data): Replace block_size with log_block_size.
14893 (grub_minix_read_file): Use shifts.
14894 (grub_minix_mount): Check block size and take a logarithm.
14895
ed9ba06d
VS
148962011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14897
14898 Use shifts in squash4.
14899
14900 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
14901 (squash_mount): Check block size and take logarithm.
14902 (direct_read): Use shifts.
14903
ad03fe76
VS
149042011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14905
14906 Correct befs block counting logic.
14907
14908 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
14909 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
14910 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
14911 (grub_afs_read_inode): Use block_shift.
14912 (RANGE_SHIFT): New definition.
14913 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
14914 unexpected conditions, use shifts and appropriate types.
14915 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
14916
6563f63d
VS
149172011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14918
14919 * grub-core/disk/raid.c (scan_devices): Check partition.
14920 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14921
5b1ae25f
VS
149222011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
14923
14924 Support BFS (befs) UUID.
14925
14926 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
14927 (grub_afs_small_data_element_header): New struct.
14928 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
14929 (grub_afs_read_attribute) [MODE_BFS]: New function.
14930 (grub_afs_iterate_dir): Allocate for complete inode.
14931 (grub_afs_mount): Likewise.
14932 (grub_afs_uuid) [MODE_BFS]: New function.
14933 (grub_afs_fs) [MODE_BFS]: Add .uuid.
14934
f8d82408
VS
149352011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
14936
14937 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
14938 (zfs_unmount): Fix memory leak.
14939
5773fb64
VS
149402011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14941
14942 Support NTFS reparse points.
14943
14944 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
14945 (symlink_descriptor): New struct.
14946 (grub_ntfs_read_symlink): New function.
14947 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
14948 (grub_ntfs_open): Likewise.
14949
91c3fdde
VS
149502011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14951
14952 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
14953
3be82e10
VS
149542011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14955
14956 fstest xnu_uuid subcommand.
14957
14958 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
14959 grub-core/commands/xnu_uuid.c.
14960 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
14961 (fstest): Handle xnu_uuid.
14962 (options): Document xnu_uuid.
14963 (argp_parser): Parse xnu_uuid.
14964
8e32442e
VS
149652011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14966
14967 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
14968 -l argument. Add newline at the end if printing.
14969 (GRUB_MOD_INIT): Document -l.
14970
52a05075
VS
149712011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14972
14973 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
14974
1869edb5
VS
149752011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14976
14977 ZFS multi-device and version 33 support.
14978
14979 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
14980 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
14981 (grub_zfs_data): Add multidev-ice-related fields.
14982 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
14983 (dva_get_offset): Make dva const.
14984 (zfs_fetch_nvlist): New function.
14985 (fill_vdev_info_real): Likewise.
14986 (fill_vdev_info): Likewise.
14987 (check_pool_label): Likewise.
14988 (scan_disk): Likewise.
14989 (scan_devices): Likewise.
14990 (read_device): Likewise.
14991 (read_dva): Likewise.
14992 (zio_read_gang): Use read_dva.
14993 (zio_read_data): Likewise.
14994 (zap_leaf_lookup): Add missing endian conversion.
14995 (zap_verify): Add missing endian conversion. All users updated.
14996 (fzap_lookup): Likewise.
14997 (fzap_iterate): Likewise.
14998 (dnode_get_path): Handle SA bonus.
14999 (nvlist_find_value): Make input const. All users updated.
15000 (unmount_device): New function.
15001 (zfs_unmount): Use unmount_device.
15002 (zfs_mount): Use scan_disk.
15003 (zfs_mtime): New function.
15004 (grub_zfs_open): Handle system attributes.
15005 (fill_fs_info): Likewise.
15006 (grub_zfs_dir): Likewise.
15007 (grub_zfs_fs): Add mtime.
15008 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
15009 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
15010 (SA_MTIME_OFFSET): Likewise.
15011 (SA_SYMLINK_OFFSET): Likewise.
15012 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
15013 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
15014 (fstest): Support zfsinfo.
15015 (argp_parser): Likewise.
15016
186b4028
VS
150172011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15018
15019 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
15020 error.
15021
150222011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
15023
15024 ZFS fixes.
15025
15026 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
15027 sharing the same block. Iterate over correct number of indices.
15028 (dnode_get_path): Handle symlinks correctly.
15029
c0584900
VS
150302011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15031
15032 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
15033
67e2bd71
VS
150342011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15035
15036 Read label on HFS+.
15037
15038 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
15039 (grub_hfsplus_btree_search): Fix types.
15040 (grub_hfsplus_label): Implement.
15041
e9cc6b7b
VS
150422011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15043
15044 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
15045
19832ddb
VS
150462011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15047
15048 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
15049
66b40850
VS
150502011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15051
15052 Fix symlink handling on iso9660.
15053
15054 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
15055 All users updated.
15056 (grub_iso9660_susp_iterate): Accept zero-size iterate.
15057 (grub_iso9660_read_symlink): Moved most of code ...
15058 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
15059
db821363
VS
150602011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15061
15062 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15063 Use union to avoid breaking strict-aliasing rules.
15064
e1211949
VS
150652011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15066
15067 Support multi-extent iso files.
15068
15069 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
15070 Add node.
15071 (grub_fshelp_node): Revamp. All users updated.
15072 (FLAG_*): New enum.
15073 (read_node): New function.
15074 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
15075 All users updated.
15076 (grub_iso9660_mount): Don't attempt to read sua when there is none.
15077 (get_node_size): New function.
15078 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
15079 entries.
15080 Fix memory leak on . and ..
15081 (grub_iso9660_read): Use read_node.
15082 (grub_iso9660_close): Free node.
15083
d4888031
VS
150842011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15085
15086 Fix tar 4G limit and handle paths containing dot.
15087
15088 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
15089 (canonicalize): New function.
15090 (grub_cpio_find_file): Use canonicalize. Store offs in
15091 grub_disk_addr_t.
15092 (grub_cpio_dir): Use grub_disk_addr_t.
15093 (grub_cpio_open): Likewise.
15094
9f12e664
VS
150952011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15096
15097 Fix handling of uncompressed blocks on squashfs and break 4G limit.
15098
15099 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
15100 unused flags.
15101 (grub_squash_inode): Add long_file and block_size.
15102 (grub_squash_cache_inode): New struct.
15103 (grub_squash_dirent): Make types into enum.
15104 (SQUASH_TYPE_LONG_REGULAR): New type.
15105 (grub_squash_frag_desc): Add field size.
15106 (SQUASH_BLOCK_FLAGS): New enum.
15107 (grub_squash_data): Use grub_squash_cache_inode.
15108 (grub_fshelp_node): Make ino_chunk 64-bit.
15109 (read_chunk): Minor argument change. All users updated.
15110 (squash_mount): Use correct le_to_cpu.
15111 (grub_squash_open): Handle LONG_REGULAR.
15112 (direct_read): New function.
15113 (grub_squash_read_data): Handle blocks correctly.
15114
9f326fba
VS
151152011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15116
15117 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
15118
f4d9b64b
VS
151192011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15120
15121 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
15122
5bbd28b8
VS
151232011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15124
15125 Fix 2G limit on ZFS.
15126
15127 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
15128 types.
15129 (uberblock_verify): Likewise.
15130 (dmu_read): Likewise.
15131 (grub_zfs_read): Likewise. Remove invalid cast.
15132
68c72069
VS
151332011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15134
15135 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
15136 (grub_jfs_blkno): Fix incorrect shift.
15137 (grub_jfs_read_file): Use more appropriate types.
15138
6e536dc8
VS
151392011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15140
15141 Support triple indirect on minix2 and minix3.
15142
15143 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
15144 Declare triple_indir_zone.
15145 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
15146 indirect.
15147
e0864e7a
VS
151482011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15149
15150 Minix FS fixes.
15151
15152 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
15153 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
15154 Rename ctime to mtime. All users updated.
15155 (grub_minix_get_file_block): Fix types and double indirect computations.
15156
89481cab
VS
151572011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15158
15159 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
15160 if no label is found.
15161 (grub_fat_iterate_dir): Fix file size type.
15162 (grub_fat_iterate_dir): Likewise.
15163
f646e143
VS
151642011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15165
15166 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
15167 save some space.
15168 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15169 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15170
534d769e
VS
151712011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15172
15173 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
15174
e084ba18
VS
151752011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15176
15177 * util/import_gcry.py: Accept space between # and include.
15178
3471ecdf
VS
151792011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15180
15181 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
15182
124df5f6
VS
151832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15184
15185 Fine grainely disable warnings on lexer. Remove Wno-error on it.
15186
15187 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
15188 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
15189 yylex_strncpy.
15190 * grub-core/script/yylex.l: Add fine-grained #pragma.
15191
4defb8d5
VS
151922011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15193
15194 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
15195 New inline function.
15196 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
15197 Likewise.
15198 (memset) [GRUB_UTIL]: Likewise.
15199 (memcmp) [GRUB_UTIL]: Likewise.
15200
4e94ae65
VS
152012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15202
15203 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
15204 inline function rather than a define.
15205
18c575e5
VS
152062011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15207
15208 * util/grub-setup.c: Add missing include.
15209
f8bc22a8
VS
152102011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15211
15212 * util/ieee1275/grub-ofpathname.c: Add missing include.
15213
3ce69fc9
VS
152142011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15215
15216 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
15217 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
15218 Likewise.
15219
d1e293bb
VS
152202011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15221
15222 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
15223 grub_memcmp usage.
15224
7a5c54a4
VS
152252011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15226
15227 * util/grub-install.in: Add datarootdir as per automake manual
15228 suggestion.
15229 * util/grub-mknetdir.in: Likewise.
15230
152312011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
15232
15233 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
15234 suggestion.
15235 * util/grub.d/10_kfreebsd.in: Likewise.
15236 * util/grub.d/10_linux.in: Likewise.
15237 * util/grub.d/10_netbsd.in: Likewise.
15238 * util/grub.d/10_windows.in: Likewise.
15239 * util/grub.d/20_linux_xen.in: Likewise.
15240
766f7d08
VS
152412011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
15242
15243 Remove redundant grub_kernel_image_size.
15244
15245 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
15246 _edata and _start.
15247 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
15248 the small code. It moves it only by few bytes but simplifies the code.
15249 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
15250 _start.
15251 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
15252 (grub_kernel_image_size): Removed.
15253 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
15254 (grub_kernel_image_size): Removed.
15255 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
15256 compiled with Apple toolchain.
15257 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
15258 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
15259 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
15260 (grub_total_module_size): Likewise.
15261 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
15262 Removed.
15263 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
15264 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
15265 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15266 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
15267 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
15268 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
15269 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
15270 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
15271 Removed.
15272 (grub_total_module_size): Removed.
15273 * util/grub-mkimage.c (image_target_desc): Remove image_size.
15274 (image_targets): Likewise.
15275 Set .compressed_size to no field on sparc.
15276 (generate_image): Remove kernel_image_size handling.
15277
fcf1d672
SJ
152782011-10-19 Szymon Janc <szymon@janc.net.pl>
15279
15280 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
15281 NULL pointer dereference.
15282
de9c615e
VS
152832011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15284
15285 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
15286 done with a dedicated section.
15287
15288 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
15289 Ensure the correct position of boot_path.
15290 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
15291 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
15292 other fields.
15293 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
15294 * include/grub/boot.h: Removed. All references removed.
15295 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
15296 Removed.
15297 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
15298
e55599dc
VS
152992011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15300
15301 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
15302 name.
15303
36dd20ad
VS
153042011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15305
15306 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
15307
f8f72eb8
VS
153082011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15309
15310 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15311 Don't add the bogus brackets.
15312
a374751b
VS
153132011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15314
15315 ExFAT support.
15316
15317 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
15318 * grub-core/Makefile.core.def (exfat): New module.
15319 * grub-core/fs/exfat.c: New file.
15320 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
15321 (GRUB_FAT_ATTR_*): Make into an enum.
15322 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
15323 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
15324 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
15325 (GRUB_FAT_MAXFILE): Removed.
15326 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
15327 (grub_current_fat_bpb_t): New type.
15328 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
15329 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
15330 (grub_fat_dir_node_t): New type.
15331 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
15332 (fat_log2) [MODE_EXFAT]: Removed.
15333 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
15334 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
15335 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
15336 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
15337 (grub_fat_label) [MODE_EXFAT]: New function.
15338 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
15339 reserved_first_sector to 0.
15340
544c2487
VS
153412011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15342
15343 Move grub_reboot out of the kernel.
15344
15345 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
15346 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
15347 * grub-core/lib/efi/reboot.c: ... here.
15348 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
15349 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15350 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
15351 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
15352 * grub-core/lib/i386/reboot_trampoline.S: ... here.
15353 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
15354 * grub-core/lib/ieee1275/reboot.c: ... here.
15355 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
15356 * grub-core/lib/mips/arc/reboot.c: ... here.
15357 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
15358 * grub-core/lib/mips/loongson/reboot.c: ...here.
15359 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
15360 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
15361 * include/grub/emu/misc.h (grub_reboot): New function declaration.
15362 * include/grub/i386/reboot.h: New file.
15363 * include/grub/mips/loongson/ec.h: Fix includes.
15364 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
15365 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
15366 * grub-core/lib/i386/reboot.c: New file.
15367
a97501d2
VS
153682011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
15369
15370 Make grub_prefix into module to fix the arbitrary limit and save
15371 some space.
15372
15373 * grub-core/kern/emu/main.c (grub_prefix): Removed.
15374 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
15375 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
15376 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
15377 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
15378 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
15379 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
15380 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
15381 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15382 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
15383 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
15384 * include/grub/ia64/efi/kernel.h: Removed.
15385 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
15386 (grub_prefix): Removed.
15387 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
15388 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
15389 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
15390 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
15391 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
15392 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
15393 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
15394 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
15395 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
15396 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
15397 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15398 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15399 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15400 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15401 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
15402 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
15403 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
15404 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15405 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
15406 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
15407 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
15408 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
15409 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
15410 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
15411 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
15412 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
15413 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
15414 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
15415 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
15416 from module.
15417 * util/grub-mkimage.c (image_target_desc): Removed prefix and
15418 prefix_end.
15419 (image_targets): Likewise.
15420 (generate_image): Put prefix as a module.
15421
39705fad
VS
154222011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15423
15424 Replace grub_module_iterate with FOR_MODULES.
15425
15426 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
15427 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
15428 (grub_efi_modules_addr): ...this.
15429 * grub-core/kern/efi/init.c (grub_modbase): New variable.
15430 (grub_efi_init): Set grub_modbase.
15431 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
15432 (grub_modbase): New variable.
15433 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
15434 (grub_modbase): New variable.
15435 (grub_machine_init): Set grub_modbase.
15436 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
15437 (grub_modbase): New variable.
15438 (grub_machine_init): Set grub_modbase.
15439 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
15440 (grub_modbase): New variable.
15441 (grub_machine_init): Set grub_modbase.
15442 * grub-core/kern/main.c (grub_module_iterate): Remove.
15443 (grub_modules_get_end): Use grub_modbase.
15444 (grub_load_modules): Use FOR_MODULES.
15445 (grub_load_config): Likewise.
15446 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
15447 (grub_modbase): New variable.
15448 (grub_machine_init): Set grub_modbase.
15449 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
15450 (grub_modbase): New variable.
15451 (grub_machine_init): Set grub_modbase.
15452 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
15453 Removed.
15454 (grub_modbase): New variable.
15455 (grub_machine_init): Set grub_modbase.
15456 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
15457 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
15458 (grub_module_iterate): Likewise.
15459 (grub_modbase): New variable declaration.
15460 (FOR_MODULES): New macro.
15461
2afb7f6c
VS
154622011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15463
15464 * configure.ac: Check for __ctzdi2 and __ctzsi2.
15465 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
15466
366e34fa
VS
154672011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15468
15469 Fix few obvious type discrepancies.
15470
15471 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
15472 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
15473 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
15474 variable.
15475 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
15476 and connected types.
15477 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
15478 offset.
15479 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
15480 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
15481 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
15482 and connected types.
15483
177b960e
VS
154842011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15485
15486 Fix python 3.x incompatibilities.
15487
15488 * gentpl.py: Put brackets around print strings.
15489 * util/import_gcry.py: Open explicitly as utf-8.
15490 Use in instead of has_key.
15491
3b619ae1
VS
154922011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15493
15494 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
15495 (GRUB_XFS_INO_AGBITS): Make into inline function.
15496 (GRUB_XFS_INO_INOINAG): Likewise.
15497 (GRUB_XFS_INO_AG): Likewise.
15498 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15499 (GRUB_XFS_EXTENT_OFFSET): Likewise.
15500 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15501 (GRUB_XFS_EXTENT_SIZE): Likewise.
15502 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
15503 (GRUB_XFS_NEXT_DIRENT): Likewise.
15504 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
15505 (grub_xfs_read_file): Fix offset type.
15506
8bcebcb8
RM
155072011-10-15 Robert Millan <rmh@gnu.org>
15508
15509 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
15510
0017e5ef
RM
155112011-10-15 Robert Millan <rmh@gnu.org>
15512
15513 Fix build problem on FreeBSD and GNU/kFreeBSD.
15514
15515 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
15516
d8919552
VS
155172011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15518
15519 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
15520
15521 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
15522 types.
15523 (grub_hfsplus_btree_recoffset): Likewise.
15524 (grub_hfsplus_btree_recptr): Likewise.
15525 (grub_hfsplus_find_block): Likewise.
15526 (grub_hfsplus_btree_search): Likewise.
15527 (grub_hfsplus_read_block): Likewise.
15528 (grub_hfsplus_read_file): Likewise.
15529 (grub_hfsplus_mount): Likewise.
15530 (grub_hfsplus_btree_iterate_node): Likewise.
15531 (grub_hfsplus_btree_search): Likewise.
15532 (grub_hfsplus_iterate_dir): Likewise.
15533 (grub_hfsplus_read): A small code simplification.
15534
c81296b6
VS
155352011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15536
15537 * grub-core/kern/emu/hostdisk.c
15538 (convert_system_partition_to_system_disk): Don't assume that children
15539 of mapper nodes are mapper nodes.
15540
0eb8ffb1
VS
155412011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15542
15543 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
15544 * include/grub/misc.h (grub_isxdigit): New function.
15545 * grub-core/video/colors.c (my_isxdigit): Removed. All users
15546 switched to grub_isxdigit.
15547 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
15548 number starting with a letter.
15549
a98f4a08
RM
155502011-10-09 Robert Millan <rmh@gnu.org>
15551
15552 LVM support for FreeBSD and GNU/kFreeBSD.
15553
15554 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
15555 GNU/kFreeBSD.
15556 (LVM_DEV_MAPPER_STRING): Move from here ...
15557 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
15558 * util/getroot.c: Include `<grub/util/lvm.h>'.
15559 (grub_util_get_dev_abstraction): Enable
15560 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
15561 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
15562 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
15563 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
15564 support it.
15565 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
15566 GNU/kFreeBSD.
15567 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
15568 when LVM abstraction is required for ${GRUB_DEVICE}.
15569
050e8e90
SJ
155702011-10-06 Szymon Janc <szymon@janc.net.pl>
15571
15572 Add support for LZO compression in GRUB:
15573 - import of minilzo library,
15574 - LZO decompression for btrfs,
15575 - lzop files decompression.
15576
15577 * grub-core/io/lzopio.c: New file.
15578 * grub-core/lib/adler32.c: Likewise.
15579 * grub-core/lib/minilzo/lzoconf.h: Likewise.
15580 * grub-core/lib/minilzo/lzodefs.h: Likewise.
15581 * grub-core/lib/minilzo/minilzo.c: Likewise.
15582 * grub-core/lib/minilzo/minilzo.h: Likewise.
15583 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
15584 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
15585 grub-core/lib/minilzo/minilzo.c to common.
15586 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
15587 cflags in cppflags.
15588 * grub-core/Makefile.core.def (btrfs): Likewise.
15589 * grub-core/Makefile.core.def (lzopio): New module.
15590 (adler32): Likewise.
15591 * grub-core/fs/btrfs.c: Include minilzo.h.
15592 (GRUB_BTRFS_COMPRESSION_LZO): New define.
15593 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
15594 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
15595 (grub_btrfs_lzo_decompress): New function.
15596 (grub_btrfs_extent_read): Add support for LZO compression type.
15597 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
15598 (GRUB_USHRT_MAX): Likewise.
15599 (GRUB_UINT_MAX): Likewise.
15600 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
15601 (UINT_MAX): Likewise.
15602 (CHAR_BIT): Likewise.
15603 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
15604 grub-core/lib/posix_wrap/limits.h
15605 (UCHAR_MAX): Likewise.
15606 * include/grub/file.h (grub_file_filter_id): New compression filter
15607 GRUB_FILE_FILTER_LZOPIO.
15608 * include/grub/file.h (grub_file_filter_id): Set
15609 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
15610 * include/grub/types.h (grub_get_unaligned16): New function.
15611 (grub_get_unaligned32): Likewise.
15612 (grub_get_unaligned64): Likewise.
15613 * util/import_gcry.py (cryptolist): Add adler32.
15614
0eb8ffb1
VS
156152011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
15616
15617 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
15618 in perspective decreases the complexity of build system and fixes
15619 compilation right now.
15620
ce79cc99 156212011-10-01 Ales Nesrsta <starous@volny.cz>
15622
15623 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
15624 (fixed problem related to using UHCI with coreboot).
15625
8667a314
BC
156262011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15627
15628 * gentpl.py: Use Autogen macros so that the output template file
15629 (Makefile.tpl) size is reduced.
15630
fc5efcc0
MK
156312011-09-29 Mads Kiilerich <mads@kiilerich.com>
15632
15633 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
15634 extra_dist.
15635
d1ab689d
ML
156362011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15637
15638 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
15639 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
15640
c05de032
ML
156412011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15642
15643 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
15644 _fullpath.
15645
cca7ccd8
ML
156462011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15647
15648 Remove extra declaration of sleep for mingw32.
15649
15650 * util/misc.c (sleep) [__MINGW32__]: Removed.
15651 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
15652
e0b0dc83
GS
156532011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
15654
15655 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
15656 type and packname.
15657 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
15658 Resurrected.
15659 (NETBSD_BTINFO_BOOTWEDGE): New definition.
15660 (grub_netbsd_btinfo_bootwedge): New struct.
15661 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15662 New function.
15663 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
15664
91a1a164
TH
156652011-09-28 Thomas Haller <thomas.haller@fen-net.de>
15666
15667 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
15668 loader.
15669
2ded951e
AB
156702011-09-28 Andreas Born <futur.andy@googlemail.com>
15671
15672 Fix incorrect identifiers in bash-completion.
15673
15674 * util/bash-completion.d/grub-completion.bash.in
15675 (_grub_mkpasswd-pbkdf2): Rename to ...
15676 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
15677 (_grub_script-check): Rename to ...
15678 (_grub_script_check): ... this. All users updated.
15679
69915030
VS
156802011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
15681
15682 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
15683 Return 0 if disk isn't biosdisk.
15684
20fd15f9
GS
156852011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15686
15687 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
15688 on NetBSD.
15689 * Makefile.util.def (grub-fstest): Likewise.
15690
1a7d7db9
GS
156912011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15692
15693 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
15694 Get sector size from disk label.
15695
2221ab6c
CW
156962011-09-05 Colin Watson <cjwatson@ubuntu.com>
15697
15698 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
15699 */README* as well as README*.
15700 Reported by: Axel Beckert.
15701
ca51c4a0
VS
157022011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15703
15704 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
15705 case of less than 256 MiB of RAM.
15706
ab80f326
VS
157072011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15708
15709 * grub-core/commands/wildcard.c (make_regex): Handle @.
15710
4155e697
VS
157112011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15712
15713 * util/grub-install.in: Move cryptodisk logic to appropriate place.
15714
ab178c08
SJ
157152011-08-21 Szymon Janc <szymon@janc.net.pl>
15716
15717 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
15718 AC_LANG_CONFTEST macros.
15719
7dc3c686
SJ
157202011-08-20 Szymon Janc <szymon@janc.net.pl>
15721
15722 Add grub-fstest option to uncompress data for commands.
15723
15724 * util/grub-fstest.c (uncompress): New var.
15725 (options): New option -u.
15726
fe8d4a7b
SJ
157272011-08-20 Szymon Janc <szymon@janc.net.pl>
15728
15729 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
15730 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
15731
a5219af1
SJ
157322011-08-20 Szymon Janc <szymon@janc.net.pl>
15733
15734 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
15735 file type was not recognized correctly (not gzip or corrupted).
15736
f87abff5
VS
157372011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15738
15739 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
15740 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
15741
d94497ea
VS
157422011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15743
15744 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
15745 loongson.
15746 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15747 video_radeon_fuloong2e.
15748 * grub-core/video/radeon_fuloong2e.c: New file.
15749 * include/grub/video.h (grub_video_id_t): Add new ID
15750 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
15751
0d1fd011
VS
157522011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15753
15754 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
15755 define.
15756 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
15757 that PRID matches the detected subplatform and reset the subplatform
15758 if it doesn't.
15759
84beb0ee
VS
157602011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15761
15762 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
15763
1227c133
VS
157642011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15765
15766 Fix PCI iterating on functions >= 4.
15767
15768 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
15769 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
15770 Removed.
15771 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
15772 (grub_pci_read): Fix bitmask.
15773 (grub_pci_read_word): Likewise.
15774 (grub_pci_read_byte): Likewise.
15775 (grub_pci_write): Likewise.
15776 (grub_pci_write_word): Likewise.
15777 (grub_pci_write_byte): Likewise.
15778
9594c689
VS
157792011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15780
15781 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
15782 can still be specified in TARGET_CFLAGS)
15783
14a2562c
VS
157842011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15785
15786 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
15787
15788 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
15789 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
15790 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
15791 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
15792 (FULOONG): Rename to ...
15793 (FULOONG2F): ... this. All users updated.
15794 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
15795 (machtype_fuloong2f_str): ... this.
15796 (machtype_fuloong2e_str): New string.
15797 Check for machtype_fuloong2e_str.
15798 * grub-core/loader/mips/linux.c (loongson_machtypes)
15799 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
15800 * grub-core/term/serial.c (loongson_defserial)
15801 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
15802 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
15803 loongson_defserial.
15804 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
15805 Rename to ...
15806 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
15807 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
15808 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
15809 to IMAGE_FULOONG2F_FLASH. All users updated.
15810 (image_targets): Rename images.
15811 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
15812
b526cbb6
SJ
158132011-08-19 Szymon Janc <szymon@janc.net.pl>
15814
15815 Make enable of disk cache statistics code configurable.
15816
15817 * configure.ac: --enable-cache-stats added.
15818 * config.h.in (DISK_CACHE_STATS): New define.
15819 * grub-core/Makefile.core.def (cacheinfo): New command.
15820 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
15821 * grub-core/commands/cacheinfo.c: New file.
15822 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
15823 moved to cacheinfo.c.
15824 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
15825 debug code.
15826 * include/grub/disk.h: Likewise.
15827
fb739ccd
SJ
158282011-08-19 Szymon Janc <szymon@janc.net.pl>
15829
15830 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
15831 * grub-core/Makefile.am: Likewise.
15832
2bba8cfd
VS
158332011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15834
15835 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
15836 non-zero pull.
15837
43526629
VS
158382011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15839
15840 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
15841 All users updated.
15842 (grub_jfs_lookup_symlink): Use correct starting inode.
15843
5c144cc8
VS
158442011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15845
15846 * util/grub-setup.c (main): Add missing gcry initialisation.
15847
b1257f65
VS
158482011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15849
15850 Don't accept text modes on EFI when booting Linux.
15851
15852 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
15853 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
15854
828bc390
ML
158552011-08-15 Mario Limonciello <mario_limonciello@dell.com>
158562011-08-15 Colin Watson <cjwatson@ubuntu.com>
15857
15858 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
15859 use of "/path/.." as in grub-install for EFI as well as handling
15860 symlinks correctly.
15861 Fixes Debian bug #637768.
15862
5f60ccac
CW
158632011-08-15 Colin Watson <cjwatson@ubuntu.com>
15864
15865 * util/grub-probe.c: Remove duplicate #include.
15866
6dc212f9
RM
158672011-08-10 Robert Millan <rmh@gnu.org>
15868
15869 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
15870
15871 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
15872 function.
15873 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
15874 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
15875
66816d85
RM
158762011-08-03 Robert Millan <rmh@gnu.org>
15877
15878 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
15879 la_array as packed.
15880 Reported by: Zachary Bedell
15881
20168fca
CW
158822011-07-26 Colin Watson <cjwatson@ubuntu.com>
15883
15884 * configure.ac: The Loongson port requires grub-mkfont due to its
15885 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
15886 be built.
15887
303b6246
CW
158882011-07-26 Colin Watson <cjwatson@ubuntu.com>
15889
15890 * util/grub-install.in: Don't source grub-mkconfig_lib until after
15891 processing arguments (otherwise help2man fails when GRUB has not yet
15892 been installed).
15893
6795300e
VS
158942011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15895
41aa28ea
VS
15896 New script grub-mkstandalone.
15897
15898 * Makefile.util.def (grub-mkstandalone): New script.
15899 * docs/man/grub-mkstandalone.h2m: New file.
15900 * util/grub-mkstandalone.in: Likewise.
15901
159022011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15903
15904 Support ATA disks with 4K sectors.
6795300e
VS
15905
15906 * include/grub/ata.h (grub_ata): New member log_sector_size.
15907 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
15908 (grub_ata_identify): Read sector size.
15909 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
15910
92227597
VS
159112011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15912
15913 * util/grub-install.in: Don't use uhci outside of x86.
15914
c77069f5
VS
159152011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15916
15917 * util/grub-mkrescue.in: Add missing quotes.
15918
159192011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
15920
15921 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
15922 dereference.
15923
583168a2
VS
159242011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15925
15926 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
15927
6be1c01f
VS
159282011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15929
15930 * include/grub/video.h: add missing EXPORT_FUND on
15931 grub_video_edid_checksum and grub_video_edid_preferred_mode.
15932
a1167439
VS
159332011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15934
15935 * include/grub/mips/kernel.h: Fix define conflict.
15936
bf66054f
VS
159372011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15938
15939 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
15940 all four ways.
15941
8fc4fa45
CW
159422011-07-21 Colin Watson <cjwatson@ubuntu.com>
15943
15944 Preferred resolution detection for VBE.
15945
15946 * grub-core/video/video.c (grub_video_edid_checksum): New function.
15947 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
15948 the Flat Panel extension, in line with the X.org VESA driver.
15949 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
15950 New function.
15951 (grub_vbe_bios_get_ddc_capabilities): Likewise.
15952 (grub_vbe_bios_read_edid): Likewise.
15953 (grub_vbe_get_preferred_mode): Likewise.
15954 (grub_video_vbe_setup): When the mode is "auto", try to get the
15955 preferred mode from VBE, and use the largest mode that is no larger
15956 than the preferred mode (some BIOSes expose a preferred mode that is
15957 not in their mode list!). If this fails, fall back to 640x480 as a
15958 safe conservative choice.
15959 (grub_video_vbe_get_edid): New function.
15960 (grub_video_vbe_adapter): Add get_edid.
15961 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
15962 (struct grub_video_adapter): Add get_edid.
15963 (grub_video_edid_checksum): Add prototype.
15964 (grub_video_edid_preferred_mode): Likewise.
15965 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
15966 structure.
15967
15968 * grub-core/commands/videoinfo.c (print_edid): New function.
15969 (grub_cmd_videoinfo): Print EDID if available.
15970
15971 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
15972 is more appropriate on a wider range of platforms than 640x480.
15973 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
15974 documentation.
15975
ca5572a9
VS
159762011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15977
15978 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
15979
e4bcf625
VS
159802011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15981
15982 * po/POTFILES.in: Regenerate.
15983
c4edd548
VS
159842011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15985
15986 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
15987 incorrect memory usage.
15988
16a2bab0
VS
159892011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15990
15991 * util/grub-install.in: Source grub-mkconfig_lib.
15992
2e418de6
VS
159932011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
15994
15995 Remove getroot.c from core on emu platform.
15996
15997 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
15998 kern/emu/raid.c.
15999 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
16000 useless.
16001 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
16002 * util/getroot.c (get_win32_path): ... here.
16003 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
16004 * util/getroot.c (fini_libzfs): ... here.
16005 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
16006 * util/getroot.c (grub_get_libzfs_handle): ... here.
16007 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
16008 Moved from here...
16009 * util/getroot.c (grub_find_zpool_from_dir): ... here.
16010 * grub-core/kern/emu/misc.c
16011 (grub_make_system_path_relative_to_its_root): Moved from here...
16012 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
16013 * grub-core/kern/emu/getroot.c: Moved from here ...
16014 * util/getroot.c: ... here. All users updated.
16015 * grub-core/kern/emu/raid.c: Moved from here ...
16016 * util/raid.c: ... here. All users updated.
16017
def9832a
VS
160182011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16019
16020 * po/POTFILES.in: Regenerate.
16021
cd8fe79a
VS
160222011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16023
16024 Fix compilation on GNU/Linux.
16025
16026 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
16027 Disable geli.
16028 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
16029 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
16030 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
16031
a251b719
VS
160322011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
160332011-07-07 Michael Gorven <michael@gorven.za.net>
160342011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
16035
16036 LUKS and GELI support.
16037
16038 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
16039 grub-core/disk/luks.c, grub-core/disk/geli.c,
16040 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
16041 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
16042 grub-core/lib/arg.c.
16043 (libgrubmods.a): Remove gcrypts cflags and cppflags.
16044 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
16045 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
16046 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
16047 (grub-bin2h): Add libgcry.a.
16048 (grub-mkimage): Likewise.
16049 (grub-mkrelpath): Likewise.
16050 (grub-script-check): Likewise.
16051 (grub-editenv): Likewise.
16052 (grub-mkpasswd-pbkdf2): Likewise.
16053 (grub-pe2elf): Likewise.
16054 (grub-fstest): Likewise.
16055 (grub-mkfont): Likewise.
16056 (grub-mkdevicemap): Likewise.
16057 (grub-probe): Likewise.
16058 (grub-ofpath): Likewise.
16059 (grub-mklayout): Likewise.
16060 (example_unit_test): Likewise.
16061 (grub-menulst2cfg): Likewise.
16062 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
16063 * grub-core/Makefile.core.def (cryptodisk): New module.
16064 (luks): Likewise.
16065 (geli): Likewise.
16066 * grub-core/disk/AFSplitter.c: New file.
16067 * grub-core/disk/cryptodisk.c: Likewise.
16068 * grub-core/disk/geli.c: Likewise.
16069 * grub-core/disk/luks.c: Likewise.
16070 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
16071 grub_util_is_lvm.
16072 (grub_util_get_dm_abstraction): New function.
16073 (grub_util_follow_gpart_up): Likewise.
16074 (grub_util_get_geom_abstraction): Likewise.
16075 (grub_util_get_dev_abstraction): Use new functions.
16076 (grub_util_pull_device): Pull GELI and LUKS.
16077 (grub_util_get_grub_dev): Handle LUKS and GELI.
16078 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
16079 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
16080 (follow_geom_up): Removed.
16081 (grub_util_fd_seek): New function.
16082 (open_device): Use grub_util_fd_seek.
16083 (nread): Rename to ..
16084 (grub_util_fd_read): ... this. All users updated.
16085 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
16086 (grub_crypto_cbc_decrypt): Likewise.
16087 (grub_crypto_hmac_write): Likewise.
16088 (grub_crypto_hmac_buffer): Likewise.
16089 (grub_password_get): Extend to util.
16090 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
16091 New member modname.
16092 (gcry_md_spec) [GRUB_UTIL]: Likewise.
16093 * include/grub/cryptodisk.h: New file.
16094 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
16095 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
16096 LUKS and GELI.
16097 (grub_util_follow_gpart_up): New proto.
16098 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
16099 (grub_util_fd_read): Likewise.
16100 (grub_cryptodisk_cheat_mount): Likewise.
16101 (grub_util_cryptodisk_print_uuid): Likewise.
16102 (grub_util_get_fd_sectors): Likewise.
16103 * util/grub-fstest.c (mount_crypt): New var.
16104 (fstest): Mount crypto if requested.
16105 (options): New option -C.
16106 (argp_parser): Parse -C.
16107 (main): Init and fini gcry.
16108 * util/grub-install.in: Support cryptodisk install.
16109 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
16110 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
16111 cryptodisk.
16112 (prepare_grub_to_access_device): Likewise.
16113 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
16114 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
16115 (probe_cryptodisk_uuid): New function.
16116 (probe_abstraction): Likewise.
16117 (probe): Use new functions.
16118 * util/import_gcry.py: Create Makefile.utilgcry.def.
16119 Add modname member.
16120
9bfdcbbc
VS
161212011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16122
16123 Lazy device scanning.
16124
16125 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
16126 (grub-setup): Remove util/raid.c.
16127 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
16128 * grub-core/disk/lvm.c (scan_depth): New variable.
16129 (grub_lvm_iterate): Rescan if necessary.
16130 (find_lv): New function based on grub_lvm_open.
16131 (grub_lvm_open): Use find_lv. Rescan on error.
16132 (is_node_readable): New function.
16133 (is_lv_readable): Likewise.
16134 (grub_lvm_scan_device): Skip already found disks.
16135 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
16136 Stop if searched device is found and readable.
16137 * grub-core/disk/raid.c (inscnt): New variable.
16138 (scan_depth): Likewise.
16139 (scan_devices): New function based on grub_raid_register. Abort if
16140 looked for device is found.
16141 (grub_raid_iterate): Rescan if needed.
16142 (find_array): NEw function based on -grub_raid_open.
16143 (grub_raid_open): Use find_array and rescan.
16144 (insert_array): Set became_readable_at.
16145 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
16146 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
16147 New function.
16148 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
16149 (grub_util_pull_device): New function.
16150 (grub_util_get_grub_dev): Call grub_util_pull_device.
16151 * util/raid.c: Moved to ..
16152 * grub-core/kern/emu/raid.c: ... here.
16153 (grub_util_raid_getmembers): New parameter "bootable".
16154 All users updated. Support 1.x.
16155 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
16156 All users updated.
16157 * include/grub/disk.h (grub_disk_pull_t): New enum.
16158 (grub_disk_dev): Change iterate prototype.
16159 All users updated.
16160 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
16161 New proto.
16162 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
16163 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
16164 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
16165 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
16166 All users updated.
16167 * include/grub/util/raid.h: Removed.
16168
1c358e59
VS
161692011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16170
16171 * po/POTFILES.in: Regenerate.
16172
abee94ed
VS
161732011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16174
16175 Unify sparc init with other ieee1275.
16176
16177 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
16178 instead of kern/sparc64/ieee1275/init.c.
16179 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
16180 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
16181 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
16182 grub/machine/kernel.h.
16183 (grub_ieee1275_original_stack) [__sparc__]: New variable.
16184 (grub_claim_heap) [__sparc__]: Use sparc version.
16185 (grub_machine_init): Moved args parsing to
16186 (grub_parse_cmdline): ...this.
16187 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
16188 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
16189 New definition.
16190 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
16191
16192 Move BOOTP to separate file.
16193
16194 * grub-core/Makefile.core.def (net): Add net/bootp.c.
16195 * grub-core/net/net.c: Move all BOOTP functions to
16196 * grub-core/net/bootp.c: ... here.
16197
16198 Use frame interface on PXE.
16199
16200 * grub-core/Makefile.core.def (pxecmd): Removed.
16201 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
16202 * grub-core/commands/i386/pc/pxecmd.c: Removed.
16203 * grub-core/i386/pc/pxe.c: Moved from here ...
16204 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
16205 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
16206 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
16207
16208 EFI network support.
16209
16210 * grub-core/Makefile.core.def (efinet): New module.
16211 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
16212 here...
16213 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
16214 All users updated.
16215 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
16216 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
16217 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
16218 * grub-core/net/drivers/efi/efinet.c: New file.
16219 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
16220 (grub_efi_net_config): New extern var.
16221
16222 Various cleanups and bugfixes.
16223
16224 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
16225 error.
16226 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
16227 disk declared as partition.
16228 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
16229 leak on failure.
16230 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
16231 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
16232 (grub_debug_zalloc): Likewise.
16233 (grub_debug_realloc): Likewise.
16234 (grub_debug_memalign): Likewise.
16235 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
16236 Check that target is IPv4.
16237 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
16238 local-mac-address as fallback.
16239 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
16240 memory leak.
16241 * grub-core/net/ip.c (ipchksum): Rename to ...
16242 (grub_net_ip_chksum): ... this. All users updated.
16243 (grub_net_recv_ip_packets): Special handling for DHCP.
16244 * util/grub-mkimage.c (generate_image): Zero-out aout header.
16245
16246 Unify prefix handling
16247
16248 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
16249 (grub_machine_get_bootlocation): ... this.
16250 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
16251 (grub_machine_get_bootlocation): ... this.
16252 (grub_prefix): New variable.
16253 (prefix): Removed.
16254 (root_dev): New variable.
16255 (dir): Likewise.
16256 (main): Use new variables.
16257 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
16258 Revamped into ...
16259 (grub_machine_get_bootlocation): ... this.
16260 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
16261 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
16262 (grub_machine_get_bootlocation): ... this.
16263 (grub_machine_set_prefix): Removed.
16264 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
16265 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
16266 Revamped into ...
16267 (grub_machine_get_bootlocation): ... this.
16268 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
16269 (grub_set_prefix_and_root): ... this. All users updated.
16270 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
16271 Revamped into ...
16272 (grub_machine_get_bootlocation): ... this.
16273 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
16274 (grub_machine_get_bootlocation): New proto.
16275 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
16276
16277 Less intrusive and more reliable seek on network implementation.
16278
16279 * grub-core/kern/file.c (grub_file_net_seek): Removed.
16280 (grub_file_seek): Don't call grub_file_net_seek.
16281 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
16282 (grub_net_fs_read_real): .. this.
16283 (grub_net_seek_real): Use net->offset.
16284 (grub_net_fs_read): Seek if necessary.
16285
16286 Unify IEEE1275 netwotk config with the other platforms.
16287
16288 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
16289 New variable.
16290 (grub_machine_get_bootlocation): Support network.
16291 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16292 Support type and device parsing.
16293 (grub_ieee1275_get_device_type): New function.
16294 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
16295 into ...
16296 (grub_ieee1275_net_config_real): ... this.
16297 (grub_ofnet_probecards): Removed.
16298 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
16299 * include/grub/ieee1275/ofnet.h: Removed.
16300 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
16301 extern var.
16302 (grub_ieee1275_get_device_type): New function.
16303
16304 Unify network device closing across platforms and make more robust.
16305
16306 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
16307 grub_grubnet_fini.
16308 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
16309 already.
16310 * grub-core/net/net.c (grub_net_network_level_interface_register):
16311 Update num_ifaces.
16312 (grub_net_card_unregister): Close all interfaces.
16313 (receive_packets): Don't poll if no iterfaces are registered.
16314 Open if necessary.
16315 (grub_net_fini_hw): New function.
16316 (grub_net_restore_hw): Likewise.
16317 (fini_hnd): New variable.
16318 (GRUB_MOD_INIT): Register preboot hook.
16319 (GRUB_MOD_FINI): Run and unregister preboot hook.
16320
16321 Poll network cards when idle.
16322
16323 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
16324 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
16325 * grub-core/net/net.c (receive_packets): Save last poll time.
16326 (grub_net_poll_cards_idle_real): New function.
16327 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
16328 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
16329 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
16330
16331 Rename ofnet interfaces.
16332
16333 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
16334 (grub_ofnet_findcards): Use ofnet_%s names.
16335
16336 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
16337
16338 Cleanup socket opening.
16339
16340 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
16341 (grub_net_fs_close): Likewise.
16342 (grub_net_fs_read_real): Use eof member.
16343 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
16344 (+grub_net_udp_close): New inline function.
16345
16346 * include/grub/net/tftp.h: Moved to the top of ...
16347 * grub-core/net/tftp.c: ... here.
16348 * include/grub/net/ip.h: Moved mostly to the top of ...
16349 * grub-core/net/ip.c: ... here.
16350 * include/grub/net/ethernet.h: Moved mostly to the top of ...
16351 * grub-core/net/ethernet.c: ... here.
16352
16353 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
16354
16355 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
16356 FS name.
16357
16358 * include/grub/net/ip.h (ipv4_ini): Removed.
16359 (ipv4_fini): Likewise.
16360
16361 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
16362 (grub_net_send_ip_packets): Likewise.
16363
cf1337aa
VS
163642011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16365
16366 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
16367 grub_read_cmos prototype.
16368
93c06ff9
VS
163692011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16370
16371 VGA text support in qemu-mips
16372
16373 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
16374 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
16375 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
16376 text.
16377 * grub-core/kern/i386/qemu/init.c: Renamed to ...
16378 * grub-core/kern/vga_init.c: ... this.
16379 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
16380 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
16381 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
16382 Adjust.
16383 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
16384 GRUB_MACHINE_PCI_IO_BASE.
16385
748ccabe
VS
163862011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16387
16388 MIPS qemu flash support.
16389
16390 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
16391 magic.
16392 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
16393 (grub_machine_init): Probe memory if its size isn't known.
16394 * util/grub-mkimage.c (image_targets): Add flash targets.
16395 (generate_image): Handle flash targets.
16396
d7345994
VS
163972011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16398
16399 MIPS qemu at_keyboard support.
16400
16401 * gentpl.py (videoinkernel): Add qemu-mips.
16402 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
16403 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
16404 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
16405 modules.
16406 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
16407 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
16408 * grub-core/term/serial.c (grub_serial_register)
16409 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
16410
a07a81b3
VS
164112011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16412
16413 CMOS support on sparc.
16414
16415 * gentpl.py (cmos): Add powerpc and sparc.
16416 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
16417 powerpc and sparc.
16418 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
16419 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
16420 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
16421 grub_set_datetime_cmos.
16422 * grub-core/lib/ieee1275/cmos.c: New file.
16423 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
16424 (find_rtc): Set no_ieee1275_rtc on error.
16425 (grub_get_datetime): Call grub_get_datetime_cmos on error.
16426 (grub_set_datetime): Call grub_set_datetime_cmos on error.
16427 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
16428 fail. Move value to argument. All users updated
16429 (grub_cmos_write): Likewise.
16430 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
16431 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
16432 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
16433 grub_get_datetime_cmos and grub_set_datetime_cmos.
16434
77546584
GS
164352011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16436
16437 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
16438 sourcing grub-mkconfig_lib.
16439 * util/update-grub_lib.in: Likewise.
16440 * util/grub.d/00_header.in: Likewise.
16441 * util/grub.d/10_hurd.in: Likewise.
16442 * util/grub.d/10_kfreebsd.in: Likewise.
16443 * util/grub.d/10_linux.in: Likewise.
16444 * util/grub.d/10_netbsd.in: Likewise.
16445 * util/grub.d/10_windows.in: Likewise.
16446 * util/grub.d/20_linux_xen.in: Likewise.
16447 * util/grub.d/30_os-prober.in: Likewise.
16448
54894791
CW
164492011-06-28 Colin Watson <cjwatson@ubuntu.com>
16450
16451 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
16452 default_bg_color rather than black.
16453 (grub_gfxterm_fullscreen): Likewise.
16454 (grub_gfxterm_background_color_cmd): Save new background color in
16455 default_bg_color.
16456
8d5d8444
VS
164572011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16458
16459 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
16460
5afeb5bd
VS
164612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16462
16463 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
16464 mismerge.
16465
ba7df45e
VS
164662011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16467
16468 Chainloading on coreboot support.
16469
16470 * grub-core/Makefile.core.def (chain): Add coreboot.
16471 * grub-core/loader/i386/coreboot/chainloader.c: New file.
16472
d0b526b2
VS
164732011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16474
16475 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
16476 if it happens.
16477
5ff1d945
VS
164782011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16479
16480 Implement time command.
16481
16482 * grub-core/Makefile.core.def (time): New module.
16483 * grub-core/commands/time.c: New file.
16484 * grub-core/script/parser.y: Remove "time" keyword.
16485 * grub-core/script/yylex.l: Likewise.
16486
5ebaad7e
VS
164872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16488
16489 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
16490
bdea3798
VS
164912011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16492
16493 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
16494 when handling leftovers.
16495
b28c5655
VS
164962011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16497
16498 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
16499 so that help2man doesn't fail.
16500
b6f945dc
VS
165012011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16502
16503 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
16504 type in pointers on sparc64.
16505 (get_card_packet): Likewise.
16506
f9b75e8a
CW
165072011-06-27 Colin Watson <cjwatson@ubuntu.com>
16508
16509 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
16510 with `*'.
16511 (grub_cmd_videoinfo): Fetch current video mode.
16512
1e3d9b86
VS
165132011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16514
16515 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
16516 because of underlying system restrictions.
16517
efff4b1c
VS
165182011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16519
16520 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
16521 necessary.
16522
9fc9ce37
VS
165232011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16524
16525 Coreboot video support.
16526
16527 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
16528 (vbe): Likewise.
16529 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
16530 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
16531 here ...
16532 * grub-core/kern/i386/int.S: ... here.
16533 * grub-core/video/i386/pc/vbe.c: Updated includes.
16534 * grub-core/video/i386/pc/vga.c: Likewise.
16535 * include/grub/i386/coreboot/memory.h
16536 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
16537 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
16538 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
16539 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
16540 Disable interrupts.
16541 * include/grub/i386/pc/vga.h: Removed. All users updated.
16542
41bec7fe
VS
165432011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16544
16545 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
16546 definitions for dprintf.
16547 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
16548
ca80309d
VS
165492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16550
16551 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
16552 prototype.
16553 (get_card_packet): Likewise.
16554
9e322ce8
YB
165552011-06-26 Yves Blusseau <blusseau@zetam.org>
16556
16557 Display the path of the file when file is not found
16558
16559 * grub-core/fs/fat.c: Display the filename when file is not found.
16560 * grub-core/fs/fshelp.c: Likewise.
16561 * grub-core/fs/hfs.c: Likewise.
16562 * grub-core/fs/jfs.c: Likewise.
16563 * grub-core/fs/minix.c: Likewise.
16564 * grub-core/fs/ufs.c: Likewise.
16565 * grub-core/fs/btrfs.c: Likewise.
16566 * grub-core/commands/i386/pc/play.c: Likewise.
16567
cbf597af
SJ
165682011-06-26 Szymon Janc <szymon@janc.net.pl>
16569
16570 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
16571 pointer checks before calling grub_free().
16572 * grub-core/commands/wildcard.c (match_devices): Likewise.
16573 * grub-core/commands/wildcard.c (match_files): Likewise.
16574 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
16575 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
16576 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
16577 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
16578 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
16579 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
16580 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
16581 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16582 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
16583
6295b32f
P
165842011-06-25 Patrick <p55@mailinator.com>
16585
16586 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
16587
77c0840b
VS
165882011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
16589
16590 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
16591 (grub_pxe_send): Likewise.
16592 (GRUB_MOD_INIT): Fix types.
16593
40ea05de
SJ
165942011-06-24 Szymon Janc <szymon@janc.net.pl>
16595
16596 * grub-core/io/xzio.c: Fix code style issues
16597
90162423
MRA
165982011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
165992011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
16600
16601 Network infrastructure.
16602 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
16603
16604 * include/grub/net/arp.h: New file.
90162423
MRA
16605 * include/grub/net/device.h: Likewise.
16606 * include/grub/net/ethernet.h: Likewise.
16607 * include/grub/net/ip.h: Likewise.
16608 * include/grub/net/netbuff.h: Likewise.
16609 * include/grub/net/tftp.h: Likewise.
16610 * include/grub/net/udp.h: Likewise.
16611 * include/grub/ieee1275/ofnet.h: Likewise.
16612 * include/grub/emu/export.h: Likewise.
16613 * include/grub/net.h: Likewise.
16614 * grub-core/net/arp.c: Likewise.
16615 * grub-core/net/ethernet.c: Likewise.
16616 * grub-core/net/ip.c: Likewise.
16617 * grub-core/net/udp.c: Likewise.
16618 * grub-core/net/tftp.c: Likewise.
16619 * grub-core/net/netbuff.c: Likewise.
16620 * grub-core/net/net.c: Likewise.
16621 * grub-core/net/drivers/emu/emunet.c: Likewise.
16622 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
16623 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
16624 export.h.
16625 * grub-core/Makefile.core.def (net): New module.
16626 (tftp): Likewise.
16627 (ofnet): Likewise.
16628 (emunet): Likewise.
16629 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
16630 network protocols.
16631 * grub-core/kern/device.c (grub_net_open) : New variable.
16632 (grub_device_open): Handle network device.
16633 (grub_device_close): Likewise.
16634 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
16635 (grub_grubnet_fini): Likewise.
16636 (grub_file_seek): Seek in network device.
16637 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
16638 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
16639 network root.
16640 (grub_machine_fini): Call grub_grubnet_fini.
16641 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
16642 network.
16643 (grub_ieee1275_get_aliasdevname): New function.
16644 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16645 Add unofficial Solaris network info.
16646 (grub_multiboot_make_mbi): Likewise.
16647 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
16648 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
16649 * include/grub/device.h (grub_fs): Removed.
16650 * include/grub/err.h (grub_err_t): Add network-related values.
16651 * include/grub/i386/pc/pxe.h: Removed bootp parts.
16652 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
16653 (grub_ieee1275_get_aliasdevname): New proto.
16654 * include/grub/net.h: Rewritten.
423a1849 16655
031f22a0
VS
166562011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16657
16658 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
16659 names.
16660
4388ca72
VS
166612011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16662
16663 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
16664 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
16665 it truncates the output.
16666 Reported by: Ximin Luo.
16667
98e2f506
VS
166682011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16669
16670 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
16671
2a5e94d8
VS
166722011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16673
16674 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
16675 partmap before abstraction.
16676
535c1910
AK
166772011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
16678
16679 * util/grub-mkconfig_lib.in: Add missing quotes.
16680
bc09e1a2
VS
166812011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16682
16683 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
16684 old method if mountinfo would return /dev/root and /dev/root doesn't
16685 exist.
16686
290766fb
VS
166872011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16688
16689 ZFS zlib support
16690
16691 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
16692 (decomp_table): Add zlib entries.
16693 (zio_read): USe 8 bits for compression function rather than 3.
16694 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
16695
166962011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16697
16698 * grub-core/disk/ahci.c: Add missing license statements.
16699 * grub-core/fs/romfs.c: Likewise.
16700 * grub-core/lib/ia64/setjmp.S: Likewise.
16701 * grub-core/loader/i386/pc/freedos.c: Likewise.
16702 * grub-core/loader/ia64/efi/linux.c: Likewise.
16703 * grub-core/video/colors.c: Likewise.
16704 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
16705
5ab3f48a
VS
167062011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16707
16708 AHCI support.
16709
16710 * grub-core/Makefile.core.def (ata_pthru): Removed.
16711 (ahci): New module.
16712 (pata): Likewise.
16713 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
16714 on unload.
16715 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
16716 readwrite.
16717 (grub_hdparm_do_check_powermode_cmd): Likewise.
16718 (grub_hdparm_do_smart_cmd): Likewise.
16719 (grub_hdparm_set_val_cmd): Likewise.
16720 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
16721 * grub-core/disk/ahci.c: New file.
16722 * grub-core/disk/ata.c: Factor out the low-level part into ...
16723 * grub-core/disk/pata.c: ... here.
16724 * grub-core/disk/ata_pthru.c: Contents moved to ...
16725 * grub-core/disk/pata.c: ... here.
16726 * grub-core/disk/scsi.c (grub_scsi_names): New array.
16727 (grub_scsi_iterate): Use grub_scsi_names.
16728 (grub_scsi_open): Likewise.
16729 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
16730 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
16731 (grub_ata_regs_t): New struct.
16732 (grub_disk_ata_pass_through_parms): Likewise.
16733 (grub_ata_device): Renamed to ...
16734 (grub_ata): ... this.
16735 (grub_ata_dev): New struct.
16736 Removed all low-level inline functions.
16737 * include/grub/scsi.h: Add PATA and AHCI subsystems.
16738 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
16739 iterate hooks and open. All users updated.
16740 * util/grub-install.in: Handle AHCI disk module.
16741
c31dc5f5
SJ
167422011-06-23 Szymon Janc <szymon@janc.net.pl>
16743
16744 Add support for DRI and RSTn markers in JPEG files.
16745
16746 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
16747 (JPEG_MARKER_RST0): Likewise.
16748 (JPEG_MARKER_RST1): Likewise.
16749 (JPEG_MARKER_RST2): Likewise.
16750 (JPEG_MARKER_RST3): Likewise.
16751 (JPEG_MARKER_RST4): Likewise.
16752 (JPEG_MARKER_RST5): Likewise.
16753 (JPEG_MARKER_RST6): Likewise.
16754 (JPEG_MARKER_RST7): Likewise.
16755 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
16756 (grub_jpeg_decode_dri): New function.
16757 (grub_jpeg_decode_sos): Move image data related part into
16758 grub_jpeg_decode_data function.
16759 (grub_jpeg_decode_data): New function.
16760 (grub_jpeg_reset): New function.
16761 (grub_jpeg_decode_jpeg): Handle new markers.
16762
fe12fd5b
VS
167632011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16764
16765 * util/ieee1275/ofpath.c (check_sas): Close fd.
16766 (main): Free of_path.
16767 Reported by: David Volgyes <dvolgyes>.
16768
03147f46
VS
167692011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16770
16771 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
16772 Reported by: David Volgyes <dvolgyes>.
16773
cad3237f
VS
167742011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16775
16776 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
16777 file after stat.
16778 Reported by: David Volgyes <dvolgyes>.
16779
13548d26
VS
167802011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16781
16782 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
16783
16784 Reported by: David Volgyes <dvolgyes>.
16785
e061a1b5
VS
167862011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16787
16788 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
16789 Prevent memory leak.
16790
1abe47dc
VS
167912011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16792
16793 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
16794 (main): Close file.
e061a1b5 16795 Reported by: David Volgyes <dvolgyes>.
1abe47dc 16796
fbc62666
VS
167972011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16798
16799 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
16800 to continue if allocation is failed.
16801
16802 Reported by: David Volgyes <dvolgyes>.
16803
e98c83e9
DV
168042011-06-23 David Volgyes <dvolgyes>
16805
16806 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
16807 dereference.
16808
a199a8cd
VS
168092011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16810
16811 Fix spurious warning.
16812
16813 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
16814 (acorn_partition_map_find): Use .bin member.
16815
e2d1dba0
VS
168162011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16817
16818 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
16819 /dev/root as a valid device.
16820
8a5d6919
JM
168212011-06-23 Jim Meyering <meyering@redhat.com>
16822
e2d1dba0
VS
16823 Avoid NULL deref in grub_device_open.
16824
8a5d6919
JM
16825 * grub-core/kern/device.c (grub_device_open): Don't dereference
16826 a NULL pointer upon failed grub_env_get.
16827
f7db6f4a
VS
168282011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16829
16830 Support non-512B sectors and agglomerate reads.
16831
16832 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
16833 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
16834 (disk_io_guid): Removed.
16835 (make_devices): Locate solely by BlockIO.
16836 (grub_efidisk_open): Fill log_sector_size and total_sectors.
16837 (grub_efidisk_read): Use read_blocks.
16838 (grub_efidisk_write): Use write_blocks.
16839 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
16840 log_sector_size.
16841 (get_safe_sectors): Handle non-512B sectors.
16842 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
16843 sectors.
16844 (grub_biosdisk_write): Handle non-512B sectors.
16845 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
16846 (grub_scsi_read): Remove special non-512B block handling (now handled
16847 one level up).
16848 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
16849 and do sanity checks.
16850 (grub_disk_adjust_range): Handle non-512B sectors.
16851 (transform_sector): New function.
16852 (grub_disk_read_small): Likewise.
16853 (grub_disk_read): Rewritten.
16854 (grub_disk_write): Handle non-512B sectors.
16855 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
16856 log_sector_size.
16857 (open_device): Use log_sector_size.
16858 (grub_util_biosdisk_read): Likewise.
16859 (grub_util_biosdisk_write): Likewise.
16860 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
16861 non-512B sectors.
16862 (pc_partition_map_embed): Likewise.
16863 * include/grub/disk.h (grub_disk): New field log_sector_size.
16864 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
16865 (GRUB_DISK_CACHE_BITS): Increased to 6.
16866 * util/grub-fstest.c (fstest): New command testload.
16867 (argp_parser): Likewise.
16868
881ac815
RM
168692011-06-16 Robert Millan <rmh@gnu.org>
16870
16871 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
16872 `ata' driver on kernel of FreeBSD 9.
16873
16874 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
16875 (get_ataraid_disk_name): New functions.
16876 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
16877 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
16878 get_ataraid_disk_name() and get_ada_disk_name().
16879
1e9aef7d
CW
168802011-06-13 Colin Watson <cjwatson@ubuntu.com>
16881
16882 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
16883 input format.
16884
351c7c8a
CW
168852011-05-29 Colin Watson <cjwatson@ubuntu.com>
16886
16887 * docs/grub.texi (Obtaining and Building GRUB): Substitute
16888 `ftp.gnu.org' for `alpha.gnu.org'.
16889
6b4e6430
CW
168902011-05-27 Colin Watson <cjwatson@ubuntu.com>
16891
16892 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
16893 partitions under /dev/disk/by-id/.
16894
c64db050
CW
168952011-05-27 Colin Watson <cjwatson@ubuntu.com>
16896
16897 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
16898 after ten consecutive open failures. Scanning all the way up to
16899 10000 is excessive and can cause serious performance problems in
16900 some configurations.
16901 Fixes Ubuntu bug #787461.
16902
245f4aba
VS
169032011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16904
16905 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
16906 opening new one.
16907
f767c929
VS
169082011-05-21 Colin Watson <cjwatson@ubuntu.com>
169092011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16910
16911 Don't stat devices unless we have to.
16912
16913 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
16914 dir == /dev/mapper.
16915 (grub_guess_root_device): Use already known os_dev if possible.
16916 * grub-core/kern/emu/hostdisk.c
16917 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
16918 if device is known to be a dm one.
16919
f35fa3a6
CW
169202011-05-20 Colin Watson <cjwatson@ubuntu.com>
16921
16922 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
16923 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
16924 Reported by: Pawel Tecza.
16925
9a79fcf2
VS
169262011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
16927
16928 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
16929 (lsefisystab): Likewise.
16930 (lssal): Likewise.
16931 (lsefimmap): Likewise.
16932 (hdparm): Enable on qemu-mips.
16933 (setjmp): Add ia64 nodist.
16934 (serial): Simplify tags.
16935
63e3eea9
CW
169362011-05-18 Colin Watson <cjwatson@ubuntu.com>
16937
16938 * Makefile.util.def (grub-ofpathname): Install manual page.
16939
09728256
CW
169402011-05-18 Colin Watson <cjwatson@ubuntu.com>
16941
16942 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
16943
8b63a142
CW
169442011-05-18 Colin Watson <cjwatson@ubuntu.com>
16945
16946 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
16947
e775d8ed
VS
169482011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16949
16950 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
16951 into dprintf.
16952
bf947d36
VS
169532011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16954
16955 Use full 64-bit division.
16956
16957 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
16958 (grub_divmod64): ... this.
16959 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
16960 version.
16961
b84f26c5
CW
169622011-05-18 Colin Watson <cjwatson@ubuntu.com>
16963
16964 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
16965 `source'.
16966
5626056f
CW
169672011-05-18 Colin Watson <cjwatson@ubuntu.com>
16968
16969 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
16970 to avoid accidents when debugging with 'sh -x'.
16971 * grub-core/gensyminfo.sh.in: Likewise.
16972 * tests/example_scripted_test.in: Likewise.
16973 * tests/grub_cmd_regexp.in: Likewise.
16974 * tests/grub_script_blanklines.in: Likewise.
16975 * tests/grub_script_dollar.in: Likewise.
16976 * tests/grub_script_expansion.in: Likewise.
16977 * tests/grub_script_final_semicolon.in: Likewise.
16978 * tests/partmap_test.in: Likewise.
16979 * tests/util/grub-shell-tester.in: Likewise.
16980 * tests/util/grub-shell.in: Likewise.
16981
e2965f4a
CW
169822011-05-18 Colin Watson <cjwatson@ubuntu.com>
16983
16984 Move gfxmenu color handling to video, so that gfxterm can use it
16985 too.
16986
16987 * grub-core/gfxmenu/named_colors.c: Move to ...
16988 * grub-core/video/colors.c: ... here. Rename
16989 grub_gui_get_named_color to grub_video_get_named_color.
16990 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
16991 * grub-core/video/colors.c (my_isxdigit): ... here.
16992 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
16993 Move to ...
16994 * grub-core/video/colors.c (parse_hex_color_component): ... here.
16995 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
16996 to ...
16997 * grub-core/video/colors.c (grub_video_parse_color): ... here.
16998
16999 * include/grub/gui.h (grub_gui_color_t): Move to ...
17000 * include/grub/video.h (grub_video_rgba_color_t): ... here.
17001 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
17002 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
17003 * include/grub/gui.h (grub_gui_map_color): Move to ...
17004 * include/grub/video.h (grub_video_map_rgba_color): ... here.
17005 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
17006 to ...
17007 * include/grub/video.h (grub_video_get_named_color): ... here.
17008 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
17009 * include/grub/video.h (grub_video_parse_color): ... here.
17010
17011 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
17012 video/colors.c.
17013 (gfxmenu): Remove gfxmenu/named_colors.c.
17014 (video) [videomodules]: Add video/colors.c.
17015
17016 Add a background_color command.
17017
17018 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
17019 function.
17020 (GRUB_MOD_INIT): Register background_color command.
17021 (GRUB_MOD_FINI): Unregister background_color command.
17022 (redraw_screen_rect): Allow blend/replace of text layer to be
17023 controlled independently from whether there is a background bitmap.
17024 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
17025 changing bitmap.
17026
1e4b4390
VS
170272011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17028
26618ff0
VS
17029 Patch BPB in ntldr and chainloader --bpb.
17030
1e4b4390
VS
17031 * grub-core/fs/fat.c: Include grub/fat.h.
17032 (grub_fat_bpb): Moved to ...
17033 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
17034 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
17035 grub/ntfs.h.
17036 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
17037 Moved from here...
17038 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
17039 here.
17040 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
17041 New function.
17042 (grub_chainloader_cmd): Patch BPB if --bpb is given.
17043 (GRUB_MOD_INIT): Show --bpb.
17044 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
17045 * grub-core/normal/main.c (features): New variable.
17046 (GRUB_MOD_INIT): Set feature_* variables.
17047 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
17048 proto.
17049 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
17050
cf02731e
VS
170512011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17052
17053 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
17054 for cleanness.
17055
e3a1073f
VS
170562011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17057
17058 FreeDOS direct loading support.
17059
17060 * docs/grub.texi (Supported OS): Add FreeDOS.
17061 * grub-core/Makefile.core.def (freedos): New module.
17062 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
17063 variable.
17064 (grub_relocator16_boot): Handle %ebx.
17065 * grub-core/lib/i386/relocator16.S: Likewise.
17066 * grub-core/loader/i386/pc/freedos.c: New file.
17067
05caa461
VS
170682011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17069
17070 Long Linux command line support.
17071
17072 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17073 (maximal_cmdline_size): New variable.
17074 (allocate_pages): Use maximal_cmdline_size.
17075 (grub_cmd_linux): Set and use maximal_cmdline_size.
17076 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17077 (allocate_pages): Use maximal_cmdline_size.
17078 (grub_cmd_linux): Set and use maximal_cmdline_size.
17079 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
17080 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
17081 and cmdline_size.
17082
a2491e23
VS
170832011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
170842011-05-18 Colin Watson <cjwatson@ubuntu.com>
17085
17086 Improve devmapper support
17087
17088 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
17089 (grub_util_is_lvm): New function.
17090 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
17091 than lvm if not dmraid.
17092 Handle mapped md nodes.
17093 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
17094 (grub_util_device_is_mapped): ... this. Make always available. All users
17095 updated.
17096 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
17097 (convert_system_partition_to_system_disk): Handle lvm, mpath and
17098 dmraid nodes.
17099 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
17100
6ad6223e
VS
171012011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17102
17103 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
17104
17105 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
17106 * grub-core/modinfo.sh.in: New file.
17107 * grub-core/Makefile.core.def (modinfo.sh): New script.
17108 * util/grub-mknetdir.in: Use modinfo.sh.
17109 * util/grub-mkrescue.in: Likewise.
17110
543a8f6e
VS
171112011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17112
17113 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
17114 Fix potential usage of Elf32 instead of Elf64 when compiling on
17115 32-bit architecture. Add endianness macros while on it.
17116
4959e111
VS
171172011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17118
17119 Use mipsel- rather than mips- in directories involving mipsel ports to
17120 allow both endiannesses coexist.
17121
17122 * configure.ac: proparate target_cpu=mipsel rather than resetting to
17123 mips. All conditions adjusted.
17124 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
17125 variable.
17126 * util/grub-install.in: Adjust conditions to take renaming into account.
17127 * util/grub-mkimage.c (image_targets): Likewise. New target
17128 mips-qemu_mips-elf for bigendian mips.
17129
35341bbc
VS
171302011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17131
17132 Avoid unnecessary copying on MIPS.
17133
17134 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
17135 early if src == dest.
17136 * util/grub-mkimage.c (generate_image): Arange for src == dest if
17137 compression is none.
17138
b772baed
VS
171392011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17140
17141 Reduce memory footprint on SGI by putting modules before the kernel
17142 as opposed to after.
17143
17144 * grub-core/Makefile.core.def (kernel): Increase linking address.
17145 (none_decompress): Likewise.
17146 (xz_decompress): Likewise.
17147 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
17148 address.
17149 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
17150 layout change.
17151 (grub_arch_modules_addr): New function.
17152 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
17153 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
17154 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
17155 here.
17156 * grub-core/kern/mips/startup.S (total_size): Rename to ...
17157 (grub_total_modules_size): ... this. Make global.
17158 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
17159 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
17160 New definition.
17161 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
17162 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
17163 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
17164 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
17165 * util/grub-mkimage.c (image_target_desc): New flag
17166 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
17167 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
17168 (generate_image): Handle images with modules before kernel.
17169
566a1917
VS
171702011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17171
17172 Prevent potential loss of memory map by overwrite on qemu-mips.
17173
17174 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17175 Save ram size in $s4.
17176 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
17177 All users changed to grub_arch_memsize.
17178 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
17179 Loongson.
17180 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
17181 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
17182 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
17183 external variable.
17184
5d420cd9
CW
171852011-05-17 Colin Watson <cjwatson@ubuntu.com>
17186
17187 * .bzrignore: Remove grub-dumpbios.
17188
d064b830
CW
171892011-05-17 Colin Watson <cjwatson@ubuntu.com>
17190
17191 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
17192 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
17193 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
17194 existing options which append).
17195 * docs/grub.texi (Simple configuration): Document new options.
17196 Reported by: Ian Jackson. Fixes Debian bug #617538.
17197
3ca2b466
CW
171982011-05-17 Colin Watson <cjwatson@ubuntu.com>
17199
17200 * util/grub-fstest.c (cmd_cat): New function.
17201 (fstest): Handle CMD_CAT.
17202 (options): Add cat.
17203 (argp_parser): Handle cat.
17204
24c9143a
CW
172052011-05-17 Colin Watson <cjwatson@ubuntu.com>
17206
17207 * Makefile.util.def (grub-bin2h): Don't install.
17208 * docs/man/grub-bin2h.h2m: Remove.
17209
90f7ac19
VS
172102011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17211
17212 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
17213 place.
17214
8d4a5178
VS
172152011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17216
17217 Reenable qemu-mips port.
17218
17219 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
17220 Fix small arc bug while on it.
17221 * gentpl.py: Handle qemu_mips.
17222 * grub-core/Makefile.am: Likewise.
17223 * grub-core/Makefile.core.def: Likewise.
17224 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
17225 inappropriate includes.
17226 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
17227 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
17228 * grub-core/kern/main.c (grub_modules_get_end)
17229 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
17230 * grub-core/kern/mips/qemu-mips: Moved to ..
17231 * grub-core/kern/mips/qemu_mips: ... this.
17232 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
17233 (grub_machine_init): Call terminfo_init and serial_init.
17234 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
17235 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17236 New variable.
17237 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
17238 parameter passing.
17239 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
17240 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
17241 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
17242 * include/grub/mips/qemu_mips/cmos.h: New file.
17243 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
17244 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
17245 Removed.
17246 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
17247 Use correct mips-style address.
17248 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
17249 (GRUB_TICKS_PER_SECOND): Removed.
17250 (grub_get_rtc): Likewise.
17251 (grub_cpu_idle): Likewise.
17252 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
17253 New definition.
17254 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
17255 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
17256 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
17257 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
17258 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17259 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17260 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
17261 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
17262
400b9371
VS
172632011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17264
17265 SGI ARCS port.
17266
17267 * Makefile.util.def (libgrubmods.a): Add dvh.c.
17268 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
17269 platforms.
17270 * configure.ac: New target mips-arc.
17271 * gentpl.py: Likewise.
17272 * grub-core/Makefile.am: Likewise.
17273 * grub-core/Makefile.core.def: Likewise.
17274 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
17275 (none_decompress): Likewise.
17276 (lsdev): New module.
17277 (datetime): Use lib/arc/datetime.c on ARC.
17278 (part_dvh): New module.
17279 * grub-core/commands/arc/lsdev.c: New file.
17280 * grub-core/disk/arc/arcdisk.c: Likewise.
17281 * grub-core/kern/mips/arc/init.c: Likewise.
17282 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
17283 aligned addresses.
17284 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
17285 support.
17286 (grub_arch_dl_relocate_symbols): Likewise.
17287 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
17288 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
17289 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
17290 platforms.
17291 * grub-core/lib/arc/datetime.c: New file.
17292 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
17293 pci.h on non-loongson.
17294 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
17295 (grub_linux_boot): Set unused registers to 0.
17296 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
17297 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
17298 * grub-core/mmap/mips/uppermem.c: ...here.
17299 * grub-core/partmap/dvh.c: New file.
17300 * grub-core/term/arc/console.c: Likewise.
17301 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
17302 (grub_terminfo_set_current): Add terminal "arc".
17303 (grub_terminfo_readkey): Support ARC sequences.
17304 * include/grub/arc/arc.h: New file.
17305 * include/grub/arc/console.h: Likewise.
17306 * include/grub/disk.h (grub_disk_dev_id): Add
17307 GRUB_DISK_DEVICE_ARCDISK_ID.
17308 * include/grub/mips/arc/kernel.h: New file.
17309 * include/grub/mips/arc/memory.h: Likewise.
17310 * include/grub/mips/arc/time.h: Likewise.
17311 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
17312 * include/grub/mips/kernel.h (grub_halt): ... here.
17313 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
17314 here...
17315 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
17316 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
17317 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
17318 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
17319 proto.
17320 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
17321 from here ...
17322 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
17323 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
17324 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
17325 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
17326 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
17327 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
17328 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
17329 (grub_phys_addr_t): Moved from here ...
17330 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
17331 (grub_vtop): Moved from here ...
17332 * include/grub/mips/memory.h (grub_vtop): ... here.
17333 (grub_map_memory): Moved from here ...
17334 * include/grub/mips/memory.h (grub_map_memory): ... here.
17335 (grub_unmap_memory): Moved from here ...
17336 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
17337 (grub_machine_mmap_iterate): Moved from here ...
17338 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
17339 (grub_mmap_get_lower): Moved from here ...
17340 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
17341 (grub_mmap_get_upper): Moved from here ...
17342 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
17343 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17344 here ...
17345 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17346 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
17347 here ...
17348 * include/grub/mips/time.h (grub_get_rtc): ... here.
17349 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17350 here ...
17351 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17352 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
17353 here ...
17354 * include/grub/mips/time.h (grub_cpu_idle): ... here.
17355 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
17356 definition.
17357 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
17358 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
17359 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
17360 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
17361 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17362 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17363 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
17364 (GRUB_MACHINE_LINK_ADDR): Likewise.
17365 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
17366 to 6.
17367 * util/grub-install.in: Run dvhtool on ARC.
17368 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 17369 (generate_image): Handle ECOFF output for mips-arc.
400b9371 17370
c8ecc840
VS
173712011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17372
17373 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
17374 blocks.
17375
153a4b55
VS
173762011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17377
17378 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
17379 after enabling port.
17380
ff44d107
VS
173812011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17382
17383 Skip incorrect USB devices.
17384
17385 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
17386 configcnt == 0.
17387 * include/grub/usb.h (grub_usb_err_t): New enum value
17388 GRUB_USB_ERR_BADDEVICE.
17389
638dbe4f
VS
173902011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17391
17392 Fuloong video init support.
17393
17394 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
17395 well.
17396 (grub_vga_read_arx): New function.
17397 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
17398 definition.
17399 (framebuffer): New members io, mmioptr and mmiobase.
17400 (read_sis_cmd): New function.
17401 (write_sis_cmd): Likewise.
17402 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
17403 rather than 640x400.
17404 * grub-core/video/sis315_init.c: New file.
17405
c3fc520c
VS
174062011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17407
17408 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
17409 non-loongson.
17410 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
17411 to grub_dl_register_symbol.
17412
67b1e5c9
VS
174132011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17414
17415 Fix compilation errors.
17416
17417 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
17418 potentially unused.
17419 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
17420 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
17421 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
17422 to loongson machines.
17423
b756f75f
VS
174242011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17425
17426 Several FS mtime support.
17427
17428 * grub-core/fs/affs.c (grub_affs_time): New struct.
17429 (grub_affs_file): New field mtime.
17430 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
17431 type. Removed 'size'. New field 'di'. All users updated.
17432 (grub_affs_mount): Simplify checsum checking.
17433 (grub_affs_iterate_dir): New helper grub_affs_create_node.
17434 (grub_affs_dir): Handle mtime.
17435 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
17436 (grub_cpio_dir): Likewise.
17437 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
17438 (grub_hfs_filerec): New field mtime.
17439 (grub_hfs_dir): Handle mtime.
17440 (grub_hfs_mtime): New function.
17441 (grub_hfs_fs): Register grub_hfs_mtime.
17442 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
17443 (grub_iso9660_dir): New field mtime.
17444 (grub_fshelp_node): New field dirent.
17445 (iso9660_to_unixtime): New function.
17446 (iso9660_to_unixtime2): Likewise.
17447 (grub_iso9660_read_symlink): Use node->dirent.
17448 (grub_iso9660_iterate_dir): Likewise.
17449 (grub_iso9660_dir): Set mtime.
17450 (grub_iso9660_mtime): New function.
17451 (grub_iso9660_fs): Register grub_iso9660_mtime.
17452 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
17453 (grub_jfs_inode): New fields atime, ctime and mtime.
17454 (grub_jfs_dir): Set mtime.
17455 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17456 * grub-core/fs/ntfs.c (list_file): Set mtime.
17457 (grub_ntfs_dir): Likewise.
17458 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
17459 (grub_reiserfs_iterate_dir): Set mtime.
17460 (grub_reiserfs_dir): Likewise.
17461 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
17462 (grub_fshelp_node): Likewise.
17463 (grub_sfs_iterate_dir): Set mtime.
17464 (grub_sfs_dir): Likewise.
17465 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
17466 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
17467 (grub_xfs_inode): New fields atime, mtime, ctime.
17468 (grub_xfs_dir): Set mtime.
17469 * include/grub/datetime.h (grub_datetime2unixtime): New function.
17470 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
17471 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
17472
17473 Support UDF symlinks.
17474
17475 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
17476 (grub_ufs_read_symlink): New function. All users updated.
17477
17478 Check amiga partmap checksum.
17479
17480 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
17481 (grub_amiga_partition): Likewise.
17482 (amiga_partition_map_checksum): New function.
17483 (amiga_partition_map_iterate): Check checksum.
17484
5470225d
VS
174852011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17486
17487 ROMFS support.
17488
17489 * Makefile.util.def (libgrubmods.a): Add romfs.
17490 * grub-core/Makefile.core.def (romfs): New module.
17491 * grub-core/fs/romfs.c: New file.
17492
d4680a35
VS
174932011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17494
17495 Squashfs v4 support.
17496
17497 * Makefile.util.def (libgrubmods.a): Add squash4.
17498 * grub-core/Makefile.core.def (squash4): New module.
17499 * grub-core/fs/squash4.c: New file.
17500 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
17501 disk_input_start, disk_input.
17502 (get_byte): Handle disk_input.
17503 (grub_zlib_disk_read): New function.
17504 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
17505
bcb18e74
FZ
175062011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
175072011-05-15 Feiran Zheng <famcool@gmail.com>
17508
17509 * Makefile.util.def (libgrubmods.a): Add minix3.
17510 * grub-core/Makefile.core.def (minix3): New module.
17511 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
17512 (GRUB_MINIX_BSIZE): Removed.
17513 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
17514 (grub_minix_ino_t): New type.
17515 (grub_minix_le_to_cpu_ino): New macro.
17516 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
17517 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
17518 (grub_minix_data): New field block_size.
17519 (grub_minix_read_file): Handle 64-bit correctly.
17520 * grub-core/fs/minix3.c: New file.
17521
32297d5f
TG
175222011-05-15 Tristan Gingold <gingold@free.fr>
175232011-05-15 Robert Millan <rmh.grub@aybabtu.com>
175242011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17525
17526 IA64 support.
17527
17528 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
17529 * configure.ac: Add ia64-efi target.
17530 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
17531 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
17532 * gentpl.py: Add ia64_efi platform.
17533 Rename x86_efi to efi and Add ia64-efi. All users updated.
17534 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
17535 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
17536 Remove kern/generic/rtc_get_time_ms.c on EFI.
17537 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
17538 kern/ia64/dl_helper.c on ia64-efi.
17539 Add kern/emu/cache.c on emu.
17540 (linux): Use on loader/ia64/efi/linux.c on ia64.
17541 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
17542 whether symbol is a function.
17543 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
17544 (grub_symbol): New field 'isfunc'.
17545 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
17546 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
17547 (grub_dl_load_segments): Place all sections into the same region.
17548 [__ia64__]: Create trampolines and got.
17549 [GRUB_MACHINE_EMU]: Call mprotect.
17550 (grub_dl_resolve_symbols): Resolve symbol type as well.
17551 [__ia64__]: Create function descriptors.
17552 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
17553 (grub_rtc_get_time_ms): ... this. Expressions simplified.
17554 (grub_get_rtc): New function.
17555 * grub-core/kern/emu/cache.c [__ia64__]: New file.
17556 * grub-core/kern/emu/cache.S: Renamed to ...
17557 * grub-core/kern/emu/cache_s.S: ... this.
17558 [__ia64__]: Add a nop.
17559 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
17560 [__ia64__]: New function.
17561 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
17562 * grub-core/kern/ia64/dl.c: New file.
17563 * grub-core/kern/ia64/dl_helper.c: Likewise.
17564 * grub-core/kern/ia64/efi/init.c: New file.
17565 * grub-core/kern/ia64/efi/startup.S: Likewise.
17566 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
17567 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
17568 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
17569 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
17570 * grub-core/loader/ia64/efi/linux.c: New file.
17571 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
17572 (GRUB_MOD_DEP): Likewise.
17573 (grub_dl) [__ia64__]: New fields got and tramp.
17574 (grub_dl): New field 'base'.
17575 (grub_dl_register_symbol): New argument isfunc. All users updated.
17576 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
17577 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
17578 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
17579 (grub_ia64_dl_get_tramp_got_size): New proto.
17580 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
17581 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
17582 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
17583 * include/grub/efi/api.h: Skip call wrappers on ia64.
17584 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
17585 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
17586 * include/grub/elf.h (ELF_ST_INFO): New definition.
17587 * include/grub/ia64/efi/kernel.h: New file.
17588 * include/grub/ia64/efi/memory.h: Likewise.
17589 * include/grub/ia64/efi/time.h: Likewise.
17590 * include/grub/ia64/kernel.h: Likewise.
17591 * include/grub/ia64/setjmp.h: Likewise (from glibc).
17592 * include/grub/ia64/time.h: New file.
17593 * include/grub/ia64/types.h: Likewise.
17594 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
17595 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
17596 New protos.
17597 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
17598 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17599 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
17600 * util/grub-mkimage.c (image_target_desc): New field pe_target.
17601 All users updated.
17602 (EFI64_HEADER_SIZE): New definition. All users updated.
17603 (image_targets): Add ia64-efi.
17604 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
17605 jumpers_addr. All users updated.
17606 Create function descriptors.
17607 (count_funcs): New function.
17608 (unaligned_uint32): New struct.
17609 (MASK20): New definition.
17610 (MASK19): Likewise.
17611 (MASKF21): Likewise.
17612 (add_value_to_slot_20b): New function.
17613 (add_value_to_slot_21_real): Likewise.
17614 (add_value_to_slot_21): Likewise.
17615 (ia64_kernel_trampoline): New struct.
17616 (nopm): New variable.
17617 (jump): Likewise.
17618 (make_trampoline): New function.
17619 (relocate_addresses): Handle ia64.
17620 (make_reloc_section): Likewise.
17621 (load_image): Likewise.
17622
983b414d
VS
176232011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17624
17625 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
17626 warning. Move variables before code while on it.
17627
5d063cdc
VS
176282011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17629
17630 Fuloong support.
17631
17632 * configure.ac: Rename yeeloong platform to loongson. All users updated.
17633 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
17634 * grub-core/boot/mips/loongson/fuloong.S: New file.
17635 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
17636 Explicitly init CS5536.
17637 [FULOONG]: Don't use serial until CS5536 is available.
17638 Set GPIO based on dumps.
17639 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
17640 [FULOONG]: Handle GPIO and memory controller differences.
17641 Parse machine type in $a2.
17642 * grub-core/boot/mips/startup_raw.S: Determine and save the
17643 architecture.
17644 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
17645 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
17646 init on architecture type.
17647 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17648 SIS315E. Don't init at_keyboard on fuloong.
17649 (grub_halt): Support Fuloong.
17650 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
17651 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
17652 (loongson_machtypes): New array.
17653 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
17654 type.
17655 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
17656 config. All users updated. Handle CS5536 serial.
17657 * grub-core/term/serial.c (grub_serial_register): Conditionalise
17658 default port on machine type. Register serial as inactive.
17659 * grub-core/video/sis315pro.c: New file.
17660 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
17661 definition.
17662 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
17663 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
17664 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
17665 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
17666 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
17667 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
17668 to ...
17669 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
17670 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
17671 definition.
17672 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
17673 (grub_arch_machine): New extern var.
17674 * include/grub/mips/loongson/serial.h
17675 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
17676 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
17677 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
17678 (GRUB_MACHINE_SERIAL_PORT0): ... this.
17679 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
17680 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
17681 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
17682 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
17683 * include/grub/term.h (grub_term_register_input_inactive): New inline
17684 function.
17685 (grub_term_register_output_inactive): Likewise.
17686 * include/grub/video.h (grub_video_driver_id): New value
17687 GRUB_VIDEO_DRIVER_SIS315PRO.
17688 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
17689 New field "names". All users updated.
17690 New field value IMAGE_FULOONG_FLASH.
17691 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
17692
6ada82d1
JU
176932011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
17694
17695 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
17696 and add some clarification.
17697
90c571a4
VS
176982011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17699
17700 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
17701 platforms if kernel is compressed.
17702
de04eecf
VS
177032011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17704
17705 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
17706 unused modules since currently referrence counter isn't reliable and
17707 there isn't much memory to recover there anyway.
17708
57688121
VS
177092011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17710
17711 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
17712 rather than resetting it to allow modules to reference themselves
17713 in init.
17714
3d2c7e35
VS
177152011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17716
17717 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
17718 counter on dependencies since grub_dl_unref already handles this.
17719
b25db218
VS
177202011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17721
17722 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
17723 on error if not already done.
17724
25a45338
VS
177252011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17726
17727 Fix few potential memory misusage.
17728
17729 * grub-core/font/font.c (load_font_index): Don't free char_index to
17730 avoid double free.
b25db218
VS
17731 (grub_font_load): Zero-fill font at alloc for safety.
17732 Close file on error.
17733 (free_font): Free bmp_idx.
25a45338 17734
0cac83df
VS
177352011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17736
17737 * docs/grub.texi (Installation): Fix several outdated claims.
17738
2217a143
VS
177392011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17740
17741 Handle module_license on windows.
17742
17743 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
17744 sections shifted.
17745 (insert_string): Make argument const char * instead of char *.
17746 (write_section_data): Handle long section names.
17747 Handle module_license.
17748
d4de6b01
VS
177492011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17750
17751 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
17752 handle class-free menuentries.
17753 (grub_normal_add_menu_entry): Add a check to be sure.
17754
4c2a3b43
VS
177552011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17756
17757 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
17758 PgUp and PgDown.
17759
85c6210f
VS
177602011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17761
17762 * configure.ac: Bump version to 1.99.
17763
36084912
VS
177642011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17765
17766 Give ATA device a bit more time on first try in order to allow disks
17767 to spin up.
17768
17769 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
17770 if dev->present is 1. Reset dev->present on failure.
17771 (grub_ata_device_initialize): Set dev->present to 1.
17772 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
17773 (grub_ata_device): New member 'present'.
17774
bda0e219
VS
177752011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17776
17777 * util/grub-mkimage.c (generate_image): Update hash.
17778
19e1c41b
VS
177792011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17780
17781 Flush caches on DMA memory.
17782
17783 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
17784 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
17785 (grub_dma_free): Likewise.
17786 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
17787
91bbcc0c
VS
177882011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17789
17790 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
17791 to avoid asm treating ld and sd as macros.
17792
60ddfad3
VS
177932011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17794
17795 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
17796 decompressor.
17797
a298aa04
VS
177982011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17799
17800 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
17801 grub_decompress_core since later would fail if grub_decompress_core
17802 is too far.
17803
9b44feca
VS
178042011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17805
17806 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
17807 R_MIPS_JALR since it's used by newer compiler.
17808
56dbe7b4
VS
178092011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
17810
17811 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
17812
52856af2
VS
178132011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17814
17815 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
17816 file_path to 0 for surety.
17817 (grub_chainloader_boot): Set exit_data to NULL.
17818 Unset the loader once done.
17819 (grub_cmd_chainloader): Fix confusing error message if file is empty.
17820
9c9bfc6d
VS
178212011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17822
17823 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
17824 unknown key into a dprintf.
17825
dd94a3df
VS
178262011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17827
17828 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
17829 on first non-existant partition.
17830
fa68d99c
VS
178312011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17832
17833 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
17834 openning fails.
17835 Reported by: Mark Korenberg.
17836
157effb7
VS
178372011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17838
17839 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
17840 overflow.
17841
ea75312f
VS
178422011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17843
17844 * util/grub-mkimage.c (main): Explicitely flush and sync the output
17845 before closing to ensure that it will be readable by grub-setup.
17846
072b5d31
VS
178472011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17848
17849 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
17850 (devpath_1): Use MAKE_PIWG_PATH.
17851 (devpath_2): Likewise.
17852 (devpath_3): Likewise.
17853 (devpath_4): Likewise.
17854 (devpath_5): Likewise.
17855 (devpath_6): Likewise.
17856
17857 The appleldr.mod was checked that to be binary identical to previous
17858 version.
17859
7fae0051
Z
178602011-05-05 Zach <mikezackles>
17861
17862 Support 2010 Macbooks.
17863
17864 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
17865 (devs): Add devpath_6.
17866
7c515bee
VS
178672011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17868
17869 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
17870 /dev/random. /dev/urandom is good enough for our purposes (salting).
17871
ed660bd8
VS
178722011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17873
17874 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
17875
ee5614b7
VS
178762011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17877
17878 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
17879 hexadecimal.
17880
664889a6
VS
178812011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17882
17883 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
17884 and not 0 on failure.
17885
bd405bbc
CW
178862011-05-03 Colin Watson <cjwatson@ubuntu.com>
17887
17888 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
17889 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
17890 disk; otherwise grub_fs_probe will not fall back to the next
17891 filesystem.
17892 (grub_pxefs_open): Likewise, for consistency.
17893 Reported and tested by: Ezekiel Grave.
17894
4ebff753
CW
178952011-05-03 Colin Watson <cjwatson@ubuntu.com>
17896
17897 * tests/partmap_test.in: Don't hardcode path to parted.
17898 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
17899
8f942553
CW
179002011-05-01 Colin Watson <cjwatson@ubuntu.com>
17901
17902 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
17903 of `ls' to find out which devices are available.
17904
3c62402d
VS
179052011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17906
17907 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
17908 than source address for efi mmap buffer.
17909
723f63f2
VS
179102011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17911
17912 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
17913 wrong action on non-detecting the magic.
17914
68797f92
VS
179152011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17916
17917 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
17918 already supplied by another part of the module (fixes compilation on
17919 FreeBSD).
17920
6be8715d
VS
179212011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17922
17923 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
17924 match the one used by mdadm.
17925
e91dba5b
CW
179262011-04-21 Colin Watson <cjwatson@ubuntu.com>
17927
17928 * po/README: Add instructions for creating po/LINGUAS.
17929
c85140b3
CW
179302011-04-21 Colin Watson <cjwatson@ubuntu.com>
17931
17932 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
17933 #551428.
17934
17935 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
17936 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
17937 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
17938 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
17939 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
17940 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
17941 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
17942 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
17943 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
17944 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
17945 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
17946 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
17947 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
17948 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
17949 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
17950 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
17951 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
17952 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
17953 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
17954 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
17955 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
17956 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
17957
92051871
CW
179582011-04-21 Colin Watson <cjwatson@ubuntu.com>
17959
17960 * grub-core/kern/emu/getroot.c
17961 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
17962 test that was incorrectly reintroduced in r3214.
17963 Reported by: Ian Dall. Fixes Savannah bug #33133.
17964
b13f79a4
CW
179652011-04-21 Colin Watson <cjwatson@ubuntu.com>
17966
17967 Fix stack pointer handling in 16-bit relocator.
17968
17969 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
17970 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
17971 Fixes Ubuntu bug #683904.
17972
9b710a88
VS
179732011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17974
17975 * configure.ac: Bump version to 1.99~rc2.
17976
d97e7b59
VS
179772011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17978
17979 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
17980 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
17981 * grub-core/lib/x86_64/setjmp.S: Likewise.
17982 * grub-core/lib/mips/setjmp.S: Likewise.
17983 * grub-core/lib/powerpc/setjmp.S: Likewise.
17984 * grub-core/lib/sparc64/setjmp.S: Likewise.
17985
0624551c
VS
179862011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17987
17988 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
17989 * grub-core/lib/efi/datetime.c: Likewise.
17990
e8f28d4c
VS
179912011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17992
17993 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
17994 New function.
17995 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
17996 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
17997 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
17998
bba79a15
VS
179992011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18000
18001 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
18002 bitmap.
18003 (grub_gfxterm_term_init): Likewise.
18004
abc474ef
VS
180052011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18006
18007 Take into account the decorations the computing menu entry width.
18008
18009 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
18010 (grub_gfxmenu_create_box): Register get_border_width.
18011 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
18012 if available.
18013 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
18014 get_border_width.
18015
e74b3947
EP
180162011-04-18 Endres Puschner <code@e7p.de>
18017
18018 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
18019 Don't skip first class.
18020
34faa595
VS
180212011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18022
18023 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
18024 chunks.
18025 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
18026
93a777e3
VS
180272011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18028
18029 Complete 64-bit division support.
18030
18031 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
18032 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
18033 * include/grub/misc.h (grub_divmod64): Rename to ...
18034 (grub_divmod64_full): ... this.
18035 (grub_divmod64): New inline function.
18036
a5102d94
VS
180372011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18038
18039 * util/grub-mkimage.c (generate_image): Add forgotten comma.
18040
f3fb7b36
VS
180412011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18042
18043 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
18044 performing the necessary test.
18045
9ac718b0
VS
180462011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18047
18048 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
18049 (kfreebsd.elf): Likewise.
18050 (pc-chainloader.elf): Likewise.
18051 (ntldr.elf): Likewise.
18052
50d2cc5a
VS
180532011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18054
18055 Identify RAID by its UUID rather than (guessed) name.
18056
18057 * grub-core/disk/raid.c (ascii2hex): New function.
18058 (grub_raid_open): Accept mduuid/%s specification.
18059 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
18060 (get_mdadm_uuid): ... this.
18061 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
18062
e03f7bea
VS
180632011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
18064
18065 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
18066 to negative size.
18067
e74c3112
CW
180682011-04-13 Colin Watson <cjwatson@ubuntu.com>
18069
18070 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
18071 btrfs subvolume.
18072 * util/grub.d/20_linux_xen.in: Likewise.
18073
78fa584f
CW
180742011-04-13 Colin Watson <cjwatson@ubuntu.com>
18075
18076 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
18077 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
18078
18079 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
18080 Build a list of relevant visible mounts using the mnt_id and
18081 parent_mnt_id fields, and then scan that list at the end.
18082
9d5f8162
CW
180832011-04-12 Colin Watson <cjwatson@ubuntu.com>
18084
18085 * docs/grub.texi (normal): New section.
18086 (normal_exit): New section.
18087 (Embedded configuration): Add reference to normal.
18088 (GRUB only offers a rescue shell): Likewise.
18089 * docs/grub-dev.texi (Error Handling): Fix typo.
18090
09a9d66f
CW
180912011-04-12 Colin Watson <cjwatson@ubuntu.com>
18092
18093 * NEWS: Drop obsolete entry about probe-only btrfs support.
18094
0c676933
CW
180952011-04-12 Colin Watson <cjwatson@ubuntu.com>
18096
18097 * util/import_gcry.py: Fix typo.
18098
ec9f5e0d
VS
180992011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18100
18101 * NEWS: Add btrfs support.
18102
fe6b2cba
VS
181032011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
181042011-04-11 Colin Watson <cjwatson@ubuntu.com>
18105
18106 BtrFS support. Written by me (Vladimir) with important bugfixes and
18107 even more important testing by Colin.
18108
18109 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
18110 * grub-core/Makefile.core.def (btrfs): Add crc.c.
18111 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
18112 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
18113 mem_input_off and mem_input. All users updated to accept in-RAM input.
18114 (gzio_seek): New function.
18115 (test_zlib_header): Likewise.
18116 (grub_gzio_read): Likewise.
18117 (grub_zlib_decompress): Likewise.
18118 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
18119 Accept partial and non-virtual mounts.
18120 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
18121 avoid receiving /dev/dm-X as device.
18122 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
18123 Handle bind and partial mounts.
18124 * grub-core/lib/crc.c: New file.
18125 * include/grub/deflate.h: Likewise.
18126 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
18127 proto.
18128 * include/grub/lib/crc.h: New file.
18129
e745cf0c
VS
181302011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18131
18132 Implement automatic module license checking according to new GNU
18133 guidelines.
18134
18135 * grub-core/kern/dl.c (grub_dl_check_license): New function.
18136 (grub_dl_load_core): Use grub_dl_check_license.
18137 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
18138 (GRUB_MOD_LICENSE): Likewise.
18139 (GRUB_MOD_DUAL_LICENSE): Likewise.
18140 All modules updated.
18141
2a9bc016
CW
181422011-04-11 Colin Watson <cjwatson@ubuntu.com>
18143
18144 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
18145 reserved_first_sector to 1. btrfs reserves plenty of space for boot
18146 loaders.
18147 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
18148
8a3bc88e
VS
181492011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18150
18151 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
18152
af869a4a
VS
181532011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18154
18155 * util/grub-fstest.c (read_file): Report GRUB error if file opening
18156 failed.
18157
9ee8d94f
VS
181582011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18159
18160 * grub-core/kern/file.c (grub_file_open): Don't take into account the
18161 parenthesis in the middle of the filename.
18162
b01abe3e
VS
181632011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18164
18165 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
18166 rather than trying to put initrd way too high.
18167 Reported by: Ryan Lortie <desrt@desrt.ca>
18168
335bda1e
VS
181692011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18170
18171 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
18172 improperly removed string.
18173
5ca1a64d
VS
181742011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18175
18176 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
18177 is_disk.
18178 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
18179 (open_device) Likewise.
18180 (grub_util_biosdisk_close): Likewise.
d8ce9995 18181 Reported by: Mark Korenberg.
5ca1a64d 18182
cbac5b1e
AK
181832011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
18184
18185 * util/grub-mkconfig_lib.in: Add missing quotes.
18186
088cdb65
CW
181872011-04-10 Colin Watson <cjwatson@ubuntu.com>
18188
18189 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
18190 is NULL.
18191
8b8a81fa
VS
181922011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18193
18194 Dynamically count the number of lines for the lower banner.
18195
18196 * grub-core/normal/menu_entry.c (per_term_screen): New member
18197 num_entries.
18198 (print_down): Use num_entries.
18199 (update_screen): Likewise.
18200 (grub_menu_entry_run): Set num_entries.
18201 * grub-core/normal/menu_text.c (menu_viewer_data): New member
18202 num_entries.
18203 (grub_print_message_indented): Move real part to ...
18204 (grub_print_message_indented_real): ... here. Additional argument
18205 dry_run.
18206 (draw_border): Additional argument num_entries.
18207 (print_message): Additional argument dry_run.
18208 (print_entries): Receive menu viewer data.
18209 (grub_menu_init_page): New argment num_entries.
18210 (menu_text_set_chosen_entry): Use num_entries.
18211 (grub_menu_try_text): Likewise.
18212 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
18213 All users updated.
18214 (grub_ucs4_count_lines): New function.
18215 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
18216 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
18217 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
18218 (grub_term_border_height): Likewise.
18219 (grub_term_num_entries): Likewise.
18220
277f955b
VS
182212011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18222
18223 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
18224 Remove now unused string.
18225
536ce85a
CW
182262011-04-09 Colin Watson <cjwatson@ubuntu.com>
18227
18228 * docs/grub-dev.texi (Finding your way around): Update for 1.99
18229 build system.
18230 (Getting started): GRUB is developed in Bazaar now, not Subversion.
18231
18232 (Comment): Fix typo.
18233 (Getting started): General copy-editing.
18234 (Typical Development Experience): Likewise.
18235 (Error Handling): Likewise.
18236 (Video API): Likewise.
18237
2cf09e32
CW
182382011-04-09 Colin Watson <cjwatson@ubuntu.com>
18239
18240 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
18241 throughout.
18242
1ec652f4
VS
182432011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18244
18245 * util/grub-mkimage.c (main): Handle special naming of yeeloong
18246 directory.
18247
2c583728
CW
182482011-04-08 Colin Watson <cjwatson@ubuntu.com>
18249
18250 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
18251 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
18252 "development".
18253
d7a565e9
VS
182542011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18255
18256 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
18257 grub_strcpy since the lines aren't necessarily 0-terminated.
18258
7c2e4909
VS
182592011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18260
18261 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
18262 root on legacy.
18263
34c09785
VS
182642011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18265
18266 * grub-core/commands/probe.c (options): Argument to set isn't optional.
18267 (GRUB_MOD_INIT): DEVICE isn't optional.
18268
6a6f8058
VS
182692011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18270
18271 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
18272 word on new line if it's too long anyway. Fixes a hang.
18273
2e335e90
VS
182742011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18275
18276 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
18277 const.
18278 * util/grub-setup.c (main): Reuse md device name if available.
18279 * util/raid.c (grub_util_raid_getmembers): Receive device name and
18280 not GRUB name as argument.
18281 Based on patch by: Florian Wagner <fwagner>.
18282
10a7a867
VS
182832011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18284
18285 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18286 Place mbi on low memory for better compatibility.
18287
7a3d6cd9
VS
182882011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18289
18290 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
18291
18dd6b47
VS
182922011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
182932011-04-08 Colin Watson <cjwatson@ubuntu.com>
18294
18295 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 18296 * conf/Makefile.common: Likewise.
18dd6b47 18297
3c0e3f14
VS
182982011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18299
f7148863
VS
18300 * grub-core/normal/menu.c: Add missing include.
18301
183022011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18303
18304 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 18305
6d1fa41f
MZ
183062011-04-08 Martin Zuther <mzuther@mzuther.de>
18307
18308 * util/grub-mkconfig.in: Ignore emacsen backup.
18309
478182a8
VS
183102011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18311
18312 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
18313 on open.
18314 (grub_util_biosdisk_close): Likewise.
18315
72a89a54
VS
183162011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18317
18318 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
18319 const attribute and use grub_isdigit.
18320
b5ebecfa
A
183212011-04-06 Andrey <dev_null@ukr.net>
18322
18323 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
18324 gcc warning.
18325
7755f66e
VS
183262011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18327
18328 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
18329 useful grub_dprintf's.
18330
461121ff
VS
183312011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18332
18333 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
18334
2a961775
VS
183352011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18336
18337 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
18338
adf594cc
VS
183392011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18340
18341 Output errors if theme loading failed.
18342
18343 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
18344 grub_gfxterm_fullscreen on error paths to ...
18345 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
18346 theme loading error.
18347
665900a3
VS
183482011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18349
18350 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
18351 space for older compilers.
18352 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18353
a562b479
VS
183542011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18355
18356 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
18357 and report them as not RAID members since they are useless for GRUB.
18358 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18359
850e9373
VS
183602011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18361
18362 Increase LVM implementation robustness in order not to crash on
18363 configurations like pvmove. Previously code assumed that in some places
18364 only lvs or only pvs are used whereas it seems that they are used
18365 interchangeably.
18366
18367 * grub-core/disk/lvm.c (read_node): New function.
18368 (read_lv): Use read_node.
18369 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
18370 Match volumes only at the end when all lvs are found. Take both
18371 pvs (first) and lvs (second) into account.
18372 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
18373 mirror_* into node_*. All users updated.
18374 (grub_lvm_stripe): Merge this ...
18375 (grub_lvm_mirror): ... and this ...
18376 (grub_lvm_node): ... into this. All users updated.
18377
6f332153
VS
183782011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18379
18380 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
18381 of function to allow further scanning for LVMs.
18382
829ea451
VS
183832011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18384
18385 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
18386 on failed seek as it breaks open fd reusage.
18387
09ceb9a5
VS
183882011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18389
18390 * util/grub-install.in: Add a recommendation to use --recheck before
18391 reporting bugs.
18392
67e11623
VS
183932011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18394
18395 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
18396 are obtained.
18397
caee5efd
VS
183982011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18399
18400 GRUB developper manual based on existing Internals section and
18401 contributions by the various authors with active copyright assignment.
18402
18403 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
18404 * docs/font_char_metrics.png: New file.
18405 * docs/font_char_metrics.txt: Likewise.
18406 * docs/grub-dev.texi: Likewise.
18407 * docs/grub.texi (Internals): Move from here ...
18408 * docs/grub-dev.texi: ... here.
18409
2cccc747
CW
184102011-04-01 Colin Watson <cjwatson@ubuntu.com>
18411
18412 Store the loopback device as data on loopback grub_disk structures,
18413 rather than the file it points to. This fixes use of freed memory
18414 if an existing loopback device is replaced.
18415
18416 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
18417 disk->data, not dev->file.
18418 (grub_loopback_read): Adjust file assignment to match.
18419 Fixes Ubuntu bug #742967.
18420
186ae367
CW
184212011-04-01 Colin Watson <cjwatson@ubuntu.com>
18422
18423 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
18424 when replacing an existing device.
18425
cfed2ad0
VS
184262011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
18427
18428 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
18429 memory corruptions.
18430
18431 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
18432 unsigned.
18433 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
18434 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
18435 (grub_jfs_read_inode): Likewise.
18436 (grub_jfs_opendir): Likewise. Remove now useless casts.
18437 (grub_jfs_getent): Likewise.
18438 Make ino a grub_uint32_t rather than int.
18439 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
18440 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
18441 division and module with bit operations.
18442 (grub_jfs_find_file): Make ino a grub_uint32_t.
18443 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
18444
05d2ed32
CW
184452011-04-01 Colin Watson <cjwatson@ubuntu.com>
18446
18447 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
18448 warning. (This was in fact always initialised before use, but GCC
18449 wasn't smart enough to prove that.)
18450 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
18451
91dc6073
VS
184522011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18453
18454 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
18455 stack alignment.
18456 (efi_wrap_1): Likewise.
18457 (efi_wrap_2): Likewise.
18458 (efi_wrap_3): Likewise.
18459 (efi_wrap_4): Likewise.
18460 (efi_wrap_5): Likewise.
18461 (efi_wrap_6): Likewise.
18462 (efi_wrap_10): Likewise.
18463 Based on information by: Red Hat/Peter Jones.
18464
a8afc1d1
CW
184652011-03-31 Colin Watson <cjwatson@ubuntu.com>
18466
18467 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
18468 set-but-not-used variable.
18469
a826cc7d
CW
184702011-03-31 Colin Watson <cjwatson@ubuntu.com>
18471
18472 * docs/grub.texi (Simple configuration): Be more explicit about
18473 GRUB_DEFAULT, and add an example.
18474 Reported by: Leslie Rhorer.
18475
875b67ba
CW
184762011-03-30 Colin Watson <cjwatson@ubuntu.com>
18477
18478 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
18479 shell".
18480
fd7cd914
AS
184812011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18482
18483 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
18484 * util/grub.d/20_linux_xen.in: Likewise.
18485
090b1b6a
VS
184862011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18487
18488 * util/grub.d/10_linux.in: Try alternative config filenames where
18489 we parse config file.
18490 * util/grub.d/20_linux_xen.in: Likewise.
18491
baad885c
AS
184922011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18493
18494 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
18495 * util/grub.d/20_linux_xen.in: Likewise.
18496
241e41f5
VS
184972011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18498
18499 * grub-core/disk/raid.c (insert_array): Add few potentially
18500 useful grub_util_info.
18501 (grub_raid_register): Likewise.
18502
56445fb2
VS
185032011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18504
18505 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
18506 Preserve partition number in mdadm code path.
18507
c871b1c6
VS
185082011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18509
18510 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
18511 few potentially useful grub_util_info.
18512
5e631b4f
CW
185132011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18514
18515 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
18516
2d5d0333
CW
185172011-03-30 Colin Watson <cjwatson@ubuntu.com>
18518
18519 * docs/grub.texi (default): Use @example rather than nested
18520 itemized lists to avoid breaking gendocs.
18521
3d7ed04e
CW
185222011-03-30 Colin Watson <cjwatson@ubuntu.com>
18523
18524 * docs/grub.texi (Future): Update.
18525
abf04200 185262011-03-30 Colin Watson <cjwatson@ubuntu.com>
18527
18528 * docs/grub.texi (Environment): New chapter.
18529 (Changes from GRUB Legacy): Link to "Environment block" section for
18530 details of limitations.
18531 (Simple configuration): Likewise. Link to documentation of gfxmode
18532 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
18533 respectively.
18534 (Shell-like scripting): Note that normal variables are stored in the
18535 environment.
18536 (gettext): Link to documentation of lang and locale_dir.
18537 (list_env): New section.
18538 (load_env): New section.
18539 (save_env): New section.
18540
18541 (Reporting bugs): Fix typo.
18542
e1ad0edd
VS
185432011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18544
18545 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
18546 the example.
18547
5d803174
VS
185482011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18549
18550 * grub-core/term/at_keyboard.c (set_scancodes)
18551 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
18552
2a2da1d0
CW
185532011-03-30 Colin Watson <cjwatson@ubuntu.com>
18554
18555 * docs/grub.texi (Menu-specific commands): Remove some semantics
18556 that were true in GRUB Legacy but not in GRUB 2.
18557 (submenu): New section.
18558 (false): New section.
18559 (read): New section.
18560 (true): New section.
18561
a7527639
CW
185622011-03-30 Colin Watson <cjwatson@ubuntu.com>
18563
18564 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
18565
185662011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
18567
18568 * docs/grub.texi (Simple configuration): Explain some of the
18569 current limitations of grub-mkconfig.
8a748df2 18570 Reported by: Leslie Rhorer.
e30af029 18571
fc858482
VS
185722011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18573
18574 Old macs search for boot.efi rather than for bootia32.efi.
18575
18576 * util/grub-install.in: Copy bootia32.efi to boot.efi.
18577 * util/grub-mkrescue.in: Likewise.
18578 Suggested by: Peter Jones.
18579
e1eb511d
VS
185802011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18581
18582 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
18583
70e75364
VS
185842011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18585
18586 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
18587 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
18588 (grub_lvm_mirror): New struct.
18589 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
18590 (grub_lvm_iterate): Iterate only visible volumes.
18591 (grub_lvm_read): Factor out to ..
18592 (read_lv): ... this. Support mirrors.
18593 (grub_lvm_read): New wrapper function.
18594 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
18595 stripped or mirrored.
18596
fc18f6a3
VS
185972011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18598
18599 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
18600
5c650f4c
CW
186012011-03-29 Colin Watson <cjwatson@ubuntu.com>
18602
18603 * docs/grub.texi (loopback): New section.
18604
61d7156b
CW
186052011-03-29 Colin Watson <cjwatson@ubuntu.com>
18606
18607 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
18608 removed -p option.
18609
994b8264
CW
186102011-03-29 Colin Watson <cjwatson@ubuntu.com>
18611
18612 * docs/grub.texi (BIOS installation): New section, partly based on
18613 previous text in other sections.
18614 (Installing GRUB using grub-install): Replace BIOS discussion with a
18615 cross-reference.
18616 (Images): Likewise.
18617
9e4d19e0
VS
186182011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18619
18620 * grub-core/kern/emu/hostdisk.c (find_partition_start)
18621 [HAVE_DIOCGDINFO]: Add safety checks.
18622
a307c0b2
VS
186232011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18624
18625 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
18626 per default compiled in kernel and prior to 8.0 isn't shipped at all.
18627
b4db4f39
CW
186282011-03-29 Colin Watson <cjwatson@ubuntu.com>
18629
18630 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
18631 real_sb->size is zero (e.g. RAID-0), get the disk size from
18632 real_sb->data_size instead.
18633 Fixes Ubuntu bug #743136.
18634
35e5f84c
VS
186352011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18636
18637 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
18638 printf clauses for printing size and start.
18639
d2e29d81
VS
186402011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18641
18642 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
18643 Reported and tested by: Timothy Nikkel.
18644
ed5587af
VS
186452011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18646
18647 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
18648 (dirty_region_add_real): ... this.
18649 (dirty_region_add): Don't discard margin refresh when performing
18650 scheduled repaint.
18651
a1dc717c
VS
186522011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18653
18654 * grub-core/lib/relocator.c (allocate_regstart)
18655 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
18656 terminals are capabple of malloc-free operation.
18657 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18658 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18659
9f3677d3
VS
186602011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
18661
18662 * util/grub-setup.c: Copy the partition table zone if floppy support
18663 is disabled, even if no partition table is found.
18664
18665 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
18666 during POST if an invalid partition table is contained in the PBR
18667 of the active partition when GRUB is installed to a partition.
18668
24148725
CW
186692011-03-28 Colin Watson <cjwatson@debian.org>
18670
18671 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
18672 comment.
18673
f329eda7
CW
186742011-03-28 Colin Watson <cjwatson@debian.org>
18675
18676 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
18677 to be specific about what kind of RAID device we're scanning for.
18678
c482ad98
SG
186792011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
18680
18681 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
18682 return freed string.
18683
5ee04984
VS
186842011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18685
18686 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
18687
f4727da9
VS
186882011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18689
18690 Use libgeom on FreeBSD to detect partitions.
18691
18692 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
18693 (grub-mkrelpath): Likewise.
18694 (grub-script-check): Likewise.
18695 (grub-editenv): Likewise.
18696 (grub-mkpasswd-pbkdf2): Likewise.
18697 (grub-fstest): Likewise.
18698 (grub-mkfont): Likewise.
18699 (grub-mkdevicemap): Likewise.
18700 (grub-probe): Likewise.
18701 (grub-setup): Likewise.
18702 (grub-ofpathname): Likewise.
18703 (grub-mklayout): Likewise.
18704 (example_unit_test): Likewise.
18705 (grub-menulst2cfg): Likewise.
18706 * grub-core/Makefile.core.def (grub-emu): Likewise.
18707 (grub-emu-lite): Likewise.
18708 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
18709 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
18710 define HAVE_DIOCGDINFO.
18711 (follow_geom_up) [FreeBSD]: New function.
18712 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
18713 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
18714 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
18715 unconditionally of HAVE_DIOCGDINFO.
18716
82fe6c75
VS
187172011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18718
18719 Fix FreeBSD compilation problem.
18720
18721 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
18722 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
18723
4c6c9431
CW
187242011-03-24 Colin Watson <cjwatson@ubuntu.com>
18725
18726 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
18727 Switch back to page zero before loading a kernel, since some kernel
18728 drivers expect that.
18729 Thanks to: Felix Kuehling.
18730
c7064d94
VS
187312011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18732
18733 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
18734 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
18735 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
18736
3f71cded
VS
187372011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18738
18739 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
18740 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
18741
ef6de21a
VS
187422011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18743
18744 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
18745 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
18746 malloc is disabled.
18747
8bc66a2c
VS
187482011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18749
18750 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
18751 for modules headers when counting the needed allocation size.
18752
5657722c
VS
187532011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18754
18755 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
18756 if no ASCII character is found to prevent crash.
18757
41a85f55
AK
187582011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
18759
18760 * grub-core/video/bitmap.c (match_extension): Ignore case.
18761
59e1e5f1
VS
187622011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18763
18764 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
18765
bd4d051a
VS
187662011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18767
18768 * grub-core/script/parser.y: Declare "time" as valid argument.
18769
bae7fcc1
PJ
187702011-03-23 Peter Jones <pjones@redhat.com>
18771
18772 Fix incorrect assert failure reporting.
18773
18774 * grub-core/tests/example_functional_test.c (example_test): Add
18775 a failure comment.
18776 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
18777 (failure_start): ...this. Check that malloc succeeded.
18778 Don't call xvasprintf. Return failure struct.
18779 (failure_append_vtext): New function.
18780 (failure_append_text): Likewise.
18781 (add_failure): Likewise.
18782 (grub_test_assert_helper): Likewise.
18783 * include/grub/test.h (grub_test_assert_helper): New declaration.
18784 (grub_test_assert): Macro rewritten.
18785
537dc9be
VS
187862011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18787
18788 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
18789
fa3e01bf
VS
187902011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18791
18792 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
18793
b1d28404
VS
187942011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18795
18796 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
18797 into GRUB-style one.
18798
2e3e2e09
VS
187992011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18800
18801 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
18802 error and not grub_errno.
18803 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
18804
ed57e557
VS
188052011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18806
18807 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
18808 GRUB_USB_SPEED_NONE in case of failure and not the error code.
18809
d1611f01
VS
188102011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18811
18812 * grub-core/efiemu/i386/pc/cfgtables.c
18813 (grub_machine_efiemu_init_tables): Make declaration a prototype.
18814 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
18815 (grub_xnu_unlock): Likewise.
18816 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
18817
7d4e39d6
VS
188182011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18819
18820 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
18821 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
18822 * grub-core/commands/hashsum.c (aliases): Likewise.
18823 * grub-core/commands/setpci.c (pci_registers): Likewise.
18824 * grub-core/disk/usbms.c (attach_hook): Likewise.
18825 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
18826 (zio_checksum_table): Likewise.
18827 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
18828 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
18829 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
18830 * grub-core/lib/relocator.c (leftovers): Likewise.
18831 (extra_blocks): Likewise.
18832 * grub-core/loader/i386/bsd.c (relocator): Likewise.
18833 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
18834 (modules_last): Likewise.
18835 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
18836 (devices): Likewise.
18837 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
18838 (modules_last): Likewise.
18839 * grub-core/normal/auth.c (users): Likewise.
18840 * grub-core/normal/context.c (initial_menu): Likewise.
18841 (current_menu): Likewise.
18842 * grub-core/normal/crypto.c (crypto_specs): Likewise.
18843 * grub-core/term/serial.c (grub_serial_ports): Likewise.
18844 (grub_serial_terminfo_input_template): Likewise.
18845 (grub_serial_terminfo_output_template): Likewise.
18846 (grub_serial_terminfo_input): Likewise.
18847 (grub_serial_terminfo_output): Likewise.
18848 (registered): Likewise.
18849 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
18850
40fc4659
VS
188512011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18852
18853 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
18854 grub_video_mode_type_t.
18855 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
18856 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
18857 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
18858
2da48d28
VS
188592011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18860
18861 * util/grub-install.in: Correct the x86-64 name as x86_64.
18862
9b43bf39
CW
188632011-03-11 Colin Watson <cjwatson@ubuntu.com>
18864
18865 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
18866 initial chunk read from the kernel always includes GRUB's multiboot
18867 header, which is now outside the first sector.
18868
be1a7ce0
CW
188692011-03-09 Colin Watson <cjwatson@ubuntu.com>
18870
18871 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
18872 cached mmap_size, so that this works correctly when called multiple
18873 times.
18874 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
18875
83a3c48d
CW
188762011-03-09 Colin Watson <cjwatson@ubuntu.com>
18877
18878 * docs/grub.texi (Simple configuration): Tidy up formatting.
18879
57d75699
SJ
188802011-03-07 Szymon Janc <szymon@janc.net.pl>
18881
18882 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
18883 Set-but-not-used variable removed.
18884
028501a0
VS
188852011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18886
18887 Workaround yet another IEEE1275 bug.
18888
18889 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
18890 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
18891 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
18892 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
18893 is set.
18894 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18895 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
18896
d998657d
VS
188972011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18898
18899 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
18900 error.
18901
fee7cdd4
CW
189022011-02-11 Colin Watson <cjwatson@ubuntu.com>
18903
18904 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
18905 empty, since in that case we can only generate either nothing or a
18906 syntactically invalid configuration file.
18907 Reported by: Michal Suchanek. Fixes Debian bug #612898.
18908
97286eb5
CW
189092011-02-09 Colin Watson <cjwatson@ubuntu.com>
18910
18911 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
18912 (Making a GRUB bootable CD-ROM): Likewise.
18913 (Invoking grub-mkrescue): New section.
18914 Reported by: Yann Dirson. Fixes Debian bug #612585.
18915
22b28eb3
CW
189162011-02-09 Colin Watson <cjwatson@ubuntu.com>
18917
18918 * util/grub-install.in: Remove unnecessary brackets from tr
18919 arguments.
18920 * util/grub.d/10_hurd.in: Likewise.
18921 * util/grub.d/10_kfreebsd.in: Likewise.
18922 * util/grub.d/10_linux.in: Likewise.
18923 * util/grub.d/20_linux_xen.in: Likewise.
18924 Reported by: Jamie Heilman. Fixes Debian bug #612564.
18925
7e735e43
CW
189262011-02-08 Colin Watson <cjwatson@ubuntu.com>
18927
18928 * include/grub/file.h (not_easly_seekable): Rename to ...
18929 (not_easily_seekable): ... this. Update all users.
18930
800f1881
CW
189312011-01-28 Colin Watson <cjwatson@ubuntu.com>
18932
18933 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
18934 grub-mkrescue.
18935
3281d3d6
VS
189362011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
18937
18938 * util/grub-mkimage.c (generate_image): Refuse to create the images
18939 bigger than the actual flash (512K) in Loongson machines. 512K is also
18940 the biggest chip supported by them.
18941
3533413c
VS
189422011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18943
18944 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
18945
73ae4f4f
VS
189462011-01-22 Anthony DeRobertis <anthony@derobert.net>
18947
18948 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
18949 super_offset field.
18950
37f4f608
VS
189512011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18952
18953 * util/grub-install.in: Ignore install device on platforms
18954 where it doesn't make sense. Always use UUIDs except on pc, efi and
18955 sparc64.
18956 Reported by: Daniel Kahn Gillmor.
18957
03a4ccb5
VS
189582011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18959
18960 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
18961
ffc8f4d8
VS
189622011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18963
18964 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
18965 (iterate_real): Don't rely on partition being non-NULL.
18966
80f23be7
VS
189672011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18968
18969 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
18970 supported platforms. Put a compile time assert for this rather than
18971 generate a warning with 32-bit shift.
18972
5d4f4dd5
VS
189732011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18974
18975 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
18976 logical expression more readable.
18977
e489601a
VS
189782011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18979
18980 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
18981 even if some elements have a name.
18982 Reported by: Alexander GQ Gerasiov.
18983
96e0a6ea
CW
189842011-01-22 Colin Watson <cjwatson@ubuntu.com>
18985
18986 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
18987 path unreadable if `grub-probe -t abstraction' fails, for example if
18988 memberlist fails on an LVM volume group.
18989 Reported by: Darius Jahandarie.
18990
81431e2b
CW
189912011-01-22 Colin Watson <cjwatson@ubuntu.com>
18992
18993 * docs/grub.texi (Simple configuration): Document
18994 GRUB_PRELOAD_MODULES.
18995
5e79d66a
CW
189962011-01-17 Colin Watson <cjwatson@ubuntu.com>
18997
18998 * .bzrignore: Remove nonexistent grub-pbkdf2.
18999
646ada34
VS
190002011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
19001
19002 * configure.ac: Bump version to 1.99~rc1.
19003
04360337
VS
190042011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19005
19006 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
19007 for safety.
19008
46c9db88
VS
190092011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19010
19011 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
19012 module.
19013
190142011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
19015
19016 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
19017
4fbf1852
VS
190182011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19019
19020 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
19021 diskdevid.
19022
f1632d4d
VS
190232011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19024
19025 Fix compilation on cygwin.
19026
19027 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
19028 -R .drectve on cygwin.
19029 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
19030 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
19031 (COND_CYGWIN): New condition.
19032 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
19033 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
19034 not @TARGET_OBJ2ELF@.
19035 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
19036 type to determine whether aux is to be used.
19037
0b5e127b
VS
190382011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19039
19040 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
19041 realpath'ed device string.
19042 Handle floppy (somewhat).
19043 Issue error in unknown case rather than garbage.
19044 Reported by: Axel Beckert.
19045
173b71e9
VS
190462011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19047
19048 * util/grub.d/00_header.in (load_video): Handle the case when no video
19049 drivers available.
19050 Thanks to: Axel Beckert.
19051
f8f479db
VS
190522011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19053
19054 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
19055 variable. Fixes problem on big endian platforms.
19056
8fc0a245
VS
190572011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19058
19059 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
19060 It doesn't work well there.
19061
b8494fbe
VS
190622011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19063
19064 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
19065 warning.
19066 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
19067 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
19068 counter.
19069
b44a558c
VS
190702011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19071
19072 Use alias->path rather than buggy "canon".
19073
19074 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
19075 (ofdisk_hash_add): New argument curcan. All users updated.
19076
51fa856c
CW
190772011-01-11 Colin Watson <cjwatson@ubuntu.com>
19078
19079 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
19080
9da068a5
VS
190812011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19082
19083 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
19084 loadmask before doing any calculations. Use correct type for offset.
19085 (grub_linux_load64): Likewise.
19086
86205c94
CW
190872011-01-11 Colin Watson <cjwatson@ubuntu.com>
19088
19089 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
19090 with NULL.
19091 (console_grub_equivalences_unshift): Likewise.
19092 Reported by: Daniel Dehennin.
19093
4531a206
VS
190942011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19095
19096 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
19097 (set_env_limn_ro): Likewise.
19098 (GRUB_MOD_INIT): Likewise.
19099 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
19100 ARRAY_SIZE while on it.
19101 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
19102 * grub-core/normal/context.c (grub_env_export): Move from here ...
19103 * grub-core/kern/env.c (grub_env_export): ... here.
19104 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
19105 prefix.
19106 * grub-core/kern/main.c (grub_main): Export root and prefix.
19107 * include/grub/env.h (grub_env_export): Export.
19108 Reported by: Seth Goldberg.
19109
45146057
VS
191102011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19111
19112 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19113 Take into account space used by ELF sections and multiboot palette.
19114 Reported by: Grégoire Sutre.
19115
f093110b
VS
191162011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19117
19118 * BUGS: New file.
19119
3395fe52
VS
191202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19121
19122 Pass more appropriate video id to Linux.
19123
19124 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
19125 grub_video_get_driver_id and variable gfxpayloadforcelfb to
19126 fill have_vga.
19127 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
19128 shift params->lfb_size.
19129 * include/grub/i386/linux.h: Make an enume out of have_vga values.
19130
c2fa6cbb
VS
191312011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19132
19133 * util/grub-menulst2cfg.c: Add missing include of misc.h.
19134
b3ff6ff0
VS
191352011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19136
19137 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
19138 separator and pass bootpath/devid even if only one of them is available.
19139 Reported by: Seth Goldberg.
19140
ae67942e
VS
191412011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19142
19143 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
19144 implementations bug on them.
19145
19146 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
19147 memory.
19148 (filter_memory_map): Likewise.
19149
d570097a
VS
191502011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19151
19152 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
19153 Reported by: nebuchadnezzar.
19154
a508e776
VS
191552011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19156
19157 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
19158 Reported by: nebuchadnezzar.
19159
dcb883b1
VS
191602011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19161
19162 Submenu default support.
19163
19164 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
19165 auto_boot. All users updated.
19166 Declared static.
19167 Handle chosen and default with submenus.
19168 (grub_menu_execute_with_fallback): Declared static.
19169 Don't notify failure if autobooted. Upper level does it.
19170 (menuentry_eq): New function.
19171 (get_entry_number): Use menuentry_eq.
19172 (show_menu): New parameter "autobooted". All users updated.
19173 (grub_show_menu): Likewise.
19174 * include/grub/normal.h (grub_show_menu): Likewise.
19175 * include/grub/menu.h (grub_menu_execute_entry): Removed.
19176 (grub_menu_execute_with_fallback): Likewise.
19177
6fef99b4
VS
191782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19179
19180 * util/grub-mklayout.c (usage): Update help text.
19181
47a77af5
VS
191822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19183
19184 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
19185
ce6bb3ee
VS
191862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19187
19188 * util/grub-menulst2cfg.c (main): Trim the line.
19189
db87be2a
VS
191902011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19191
19192 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
19193 (grub_machine_init): Don't check amount of low memory as reportedly
19194 INT 12h can be broken and if low memory is too low we wouldn't have
19195 gotten into grub_machine_init anyway.
19196
c49849cc
VS
191972011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19198
19199 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
19200 (grub_machine_mmap_iterate): Take low memory into account
19201
b1969b30
VS
192022011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19203
19204 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
19205 badfs.
19206 Reported by: TiCPU.
19207
cf0eaf13
VS
192082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19209
19210 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
19211 members errors.
19212
1f060f39
GS
192132011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19214
19215 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
19216 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
19217
a21e5672
GS
192182011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19219
19220 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
19221 openbsd and netbsd types being in part_bsd module.
19222
c88172fa
VS
192232011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19224
19225 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
19226 (_FILE_OFFSET_BITS): Likewise.
19227 Reported by: Seth Goldberg.
19228
53798c4b
GS
192292011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19230
19231 * configure.ac: Check for libdevmapper header.
19232
e7121b69
VS
192332011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19234
19235 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
19236 avoid aliasing.
19237 (fzap_lookup): Likewise.
19238 (dnode_get): Likewise.
19239 (make_mdn): Likewise.
19240 (zfs_mount): Likewise.
19241 (fzap_iterate): Use temporary pointer to avoid aliasing.
19242 (grub_zfs_read): Likewise.
19243 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
19244 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
19245 pointers to avoid aliasing.
19246 (grub_cmd_xnu_kernel64): Likewise.
19247 (grub_xnu_load_driver): Likewise.
19248
fc836af9
VS
192492011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19250
19251 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
19252 aliasing warning.
19253 (grub_cmd_terminal_output): Likewise.
19254 Reported and tested by: Grégoire Sutre.
19255
f9f37648
VS
192562011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19257
19258 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
19259 warning.
19260 Reported and tested by: Grégoire Sutre.
19261
ec1dfd63
VS
192622011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19263
19264 * configure.ac: Do CPU substitution even if it's specified explicitly.
19265 Reported and tested by: Alain Greppin.
19266
9462775a
VS
192672011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19268
19269 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
19270 Reported and tested by: Alain Greppin.
19271
0fd48e35
VS
192722011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19273
19274 Satisfy some bison versions need for inttypes.h.
19275
19276 * grub-core/lib/posix_wrap/inttypes.h: New file.
19277 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
19278 (int16_t): Likewise.
19279 (int32_t): Likewise.
19280 (int64_t): Likewise.
19281 Reported and tested by: Alain Greppin.
19282
43f1bc83
VS
192832011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19284
19285 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
19286 Silence spurious warning.
19287 Reported and tested by: Alain Greppin.
19288
64d1f041
SJ
192892011-01-07 Szymon Janc <szymon@janc.net.pl>
19290
19291 * docs/grub.texi (Support automatic decompression): Update with xz
19292 decompression support.
19293
25953e10
SJ
192942011-01-07 Szymon Janc <szymon@janc.net.pl>
19295
19296 Improve loaders' kernel command line handling.
19297
19298 * grub-core/lib/cmdline.c: New file.
19299 * include/grub/lib/cmdline.h: Likewise.
19300 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
19301 grub_create_loader_cmdline to create kernel command line.
19302 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19303 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
19304 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
19305 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
19306 (linux): Add lib/cmdline.c on common.
19307
e72d259f
VS
193082011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19309
19310 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
19311 inopos might be unaligned.
19312
c0cf26da
VS
193132011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19314
19315 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
19316 endian transformations.
19317 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19318 Based on report by: Doug Nazar.
19319
0ca09e6c
DN
193202011-01-07 Doug Nazar <nazard.michi@gmail.com>
19321
19322 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
19323 array->members[i].start_sector.
19324 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
19325
014b6806
VS
193262011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19327
19328 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
19329 Reported and tested by: Grégoire Sutre.
19330
415502c2
CW
193312011-01-06 Colin Watson <cjwatson@ubuntu.com>
19332
19333 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
19334 avoid causing test failures by clearing the screen.
19335
71b6a2b7
CW
193362011-01-06 Colin Watson <cjwatson@ubuntu.com>
19337
19338 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19339 Fix prefix check to handle the case where dir ends with a slash
19340 (most significantly, "/" itself).
19341 Reported by: Michael Vogt.
19342
b3f8d28a
VS
193432011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19344
19345 Run terminfo_cls on initing terminfo output to clear the screen and
19346 move the cursor to (0,0).
19347
19348 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
19349 Call grub_terminfo_output_init.
19350 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
19351 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
19352 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
19353
4c3e4f37
VS
193542011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19355
19356 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
19357 only when needed.
19358
488f71f1
VS
193592011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19360
19361 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
19362 CTRL.
19363
18a38098
VS
193642011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19365
19366 The E820 type 5 is BADRAM, not EXEC_CODE.
19367
19368 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19369 (GRUB_E820_BADRAM): New define.
19370 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
19371 into reserved. Propagate BADRAM.
19372 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19373 (GRUB_E820_BADRAM): New define.
19374
9eae2084
VS
193752011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19376
19377 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
19378 Ignore the memory post-4G.
19379 (grub_relocator_firmware_alloc_region): Additional debug statement.
19380
ebc71d28
VS
193812011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19382
19383 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
19384 names.
19385 Reported by: David Pravec.
19386
446fa400
VS
193872011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19388
19389 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
19390 BIOSes.
19391
a0159f37
VS
193922011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19393
19394 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
19395 Prevent overflow.
19396 (grub_reed_solomon_recover): Likewise.
19397
e5146ca1
VS
193982011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19399
19400 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
19401
194022011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
19403
19404 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
19405 variable.
19406
5b1bdf12
CW
194072011-01-04 Colin Watson <cjwatson@ubuntu.com>
19408
19409 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
19410 descriptions of extract_legacy_entries_source and
19411 extract_legacy_entries_configfile.
19412 Reported by: Seung Soo, Ha.
19413
99d925aa
CW
194142011-01-03 Colin Watson <cjwatson@ubuntu.com>
19415
19416 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
19417 on devices that do not implement function 0.
19418
4af0504b
DV
194192011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
19420
19421 * grub-core/fs/hfsplus.c: Make parent unsigned.
19422 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
19423 overflows.
19424 (grub_hfsplus_cmp_extkey): Likewise
19425
469ee10a
VS
194262011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19427
19428 * util/grub-install.in: Correctly use bootloader_id and not
19429 GRUB_DISTRIBUTOR on efibootmgr line.
19430
323a8e9c
VS
194312011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19432
19433 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
19434
1b394975
IC
194352010-12-31 Ian Campbell <ijc@hellion.org.uk>
19436
19437 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
19438 Xen and reorder menu item wording to make it clearer that this entry
19439 will launch Xen. Print separate messages when loading Xen and
19440 Linux.
19441
275bff5f
VS
194422010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19443
19444 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
19445 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
19446 loop in case of incorrect amiga partmap.
19447
307806cb
VS
194482010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19449
19450 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
19451 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
19452 Reported by:EHeM.
19453
b12b923e
VS
194542010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19455
19456 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
19457 spurious warning.
19458 Reported by: crocket
19459
14b48a19
VS
194602010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19461
19462 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
19463 Preload EFIemu.
19464 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
19465
693db2df
VS
194662010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19467
19468 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
19469 is loaded
19470 (grub_cmd_xnu_kextdir): Likewise.
19471 (grub_cmd_xnu_splash): Likewise.
19472
c7638645
VS
194732010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19474
19475 Avoid using Reed-Solomon with 0 redundancy.
19476
19477 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
19478 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
19479 or 0 redundancy.
19480 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
19481 (grub_reed_solomon_recover): Likewise.
19482
25dd4780
VS
194832010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19484
19485 Don't use disk subsystem in freebsd_boot.
19486
19487 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
19488 (freebsd_biosdev): Likewise.
19489 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
19490 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
19491
0b2db943
VS
194922010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
19493
19494 Handling of files of unknown size is currently limited. They can't be
19495 used e.g. for initrd or modules. Moreover gzip handling of not
19496 easily seekable files is buggy. Disable unknown file size for now. May
19497 be inefficient but works.
19498
19499 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
19500 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
19501
5c408d0f
MP
195022010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
19503
19504 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
19505 floppy probe.
19506
190a011a
JD
195072010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
19508
19509 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
19510
022d01b8
SL
195112010-12-25 Shea Levy <shlevy>
19512
19513 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
19514
c4855fdc
VS
195152010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19516
19517 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
19518 Windows Server 2008.
19519 Reported by: Devin Giddings.
19520
0354b867
VS
195212010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19522
19523 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
19524 writing an error message because of async power management.
19525 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
19526 (grub_reboot): Likewise.
19527
ab66c69f
JU
195282010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
19529
19530 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
19531 keep unit tests from failing when they shouldn't.
19532
1426ef35
CW
195332010-12-21 Colin Watson <cjwatson@ubuntu.com>
19534
19535 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
19536 previous patch increased the size of the RS code by 20 bytes (at
19537 least with gcc-4.4), so increase this by 20 bytes to match.
19538 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19539
20641b6b
CW
195402010-12-21 Colin Watson <cjwatson@ubuntu.com>
19541
19542 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
19543 scratch area. Make sure to initialise chosen in standalone mode as
19544 well as non-standalone.
19545 Reported by: Robert Hooker and Andy Whitcroft.
19546 Tested by: Andy Whitcroft.
19547
d060ad60
CW
195482010-12-21 Colin Watson <cjwatson@ubuntu.com>
19549
19550 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
19551 constructing a new unescaped string and passing it to grub_xputs in
19552 one go, rather than passing characters to grub_printf one at a time.
19553
b889cfad
CW
195542010-12-21 Colin Watson <cjwatson@ubuntu.com>
19555
19556 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
19557 initialising utf16.
19558
4e01b6c8
CW
195592010-12-21 Colin Watson <cjwatson@ubuntu.com>
19560
19561 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
19562 comment. Add an extra layer of quotation, requiring the output of
19563 this function to be used in a printf format string.
19564 (gettext_printf): New function.
19565 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
19566 Extract translatable strings from here-documents and use a temporary
19567 variable instead, so that xgettext can find them.
19568 * util/grub.d/10_kfreebsd.in: Likewise.
19569 * util/grub.d/10_linux.in: Likewise.
19570 * util/grub.d/20_linux_xen.in: Likewise.
19571
19572 * po/grub.d.sed: New file.
19573 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
19574 arguments. Set c-format flags on all strings extracted from
19575 util/grub.d/ (xgettext refuses to include these itself for strings
19576 it extracted from a shell file, but these really are c-format).
19577
5318fe98
VS
195782010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19579
19580 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
19581 Avoid next pointing to nowhere.
19582
6c85b743
VS
195832010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19584
19585 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
19586 rather than assuming than rootblock is exactly in the middle.
19587 (grub_affs_label): Likewise.
19588
a2a08a35
VS
195892010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19590
19591 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
19592 reserved_first_sector to 0.
19593 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
19594 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
19595 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
19596
7059d1ec
VS
195972010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19598
19599 Fix handling of UTF-16 UDF labels.
19600
19601 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
19602 (read_string): .. here.
19603 (grub_udf_label): Use read_string.
19604
30aff4cb
BC
196052010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
19606
19607 * grub-core/normal/menu_entry.c (run): Execute commands from menu
19608 editor under argument scope.
19609 Reported by: Jordan Uggla
19610
5cf86f4b
VS
196112010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19612
19613 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
19614
32570200
CW
196152010-12-18 Colin Watson <cjwatson@ubuntu.com>
19616
19617 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
19618 line, and other keys scroll an entire page (previous handling was
19619 for \r and \n to scroll a page and other keys to scroll two lines).
19620
e1dffcf2
VS
196212010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19622
19623 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19624 Set ptrdest to correct get_physical_target_address rather than
19625 incorrect get_virtual_current_address.
19626
b04298cf 196272010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
19628
19629 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
19630 correct cat to grub_uint8_t * rather than grub_uint32_t *.
19631
5367ecd3
CW
196322010-12-10 Colin Watson <cjwatson@ubuntu.com>
19633
19634 * .bzrignore: Ignore grub-core/rs_decoder.S.
19635
1fb430f8
CW
196362010-12-10 Colin Watson <cjwatson@ubuntu.com>
19637
19638 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
19639 .mo/.mo.gz opening sequence to ...
19640 (grub_mofile_open_lang): ... here.
19641 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
19642 * util/grub.d/00_header.in (grub_lang): Include country part of
19643 locale.
19644 Reported by: Mario Limonciello.
19645
a94a6671
RM
196462010-12-09 Robert Millan <rmh@gnu.org>
19647
19648 * NEWS: Document addition of ZFS support.
19649
24b7938b
CW
196502010-12-04 Colin Watson <cjwatson@ubuntu.com>
19651
19652 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
19653 rather than `/ 2', as the latter requires -Wa,--divide which would
19654 require bumping our minimum binutils version.
19655
bddc3ef6
BC
196562010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
19657
19658 * util/grub-script-check.c (main): Print script line number on
19659 error.
19660
bf78d5b2
RM
196612010-12-01 Robert Millan <rmh@gnu.org>
19662
19663 * grub-core/fs/zfs/zfs.c: New file.
19664 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
19665 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
19666 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
19667 * grub-core/fs/zfs/zfsinfo.c: Likewise.
19668
19669 * include/grub/zfs/dmu.h: Likewise.
19670 * include/grub/zfs/dmu_objset.h: Likewise.
19671 * include/grub/zfs/dnode.h: Likewise.
19672 * include/grub/zfs/dsl_dataset.h: Likewise.
19673 * include/grub/zfs/dsl_dir.h: Likewise.
19674 * include/grub/zfs/sa_impl.h: Likewise.
19675 * include/grub/zfs/spa.h: Likewise.
19676 * include/grub/zfs/uberblock_impl.h: Likewise.
19677 * include/grub/zfs/vdev_impl.h: Likewise.
19678 * include/grub/zfs/zap_impl.h: Likewise.
19679 * include/grub/zfs/zap_leaf.h: Likewise.
19680 * include/grub/zfs/zfs.h: Likewise.
19681 * include/grub/zfs/zfs_acl.h: Likewise.
19682 * include/grub/zfs/zfs_znode.h: Likewise.
19683 * include/grub/zfs/zil.h: Likewise.
19684 * include/grub/zfs/zio.h: Likewise.
19685 * include/grub/zfs/zio_checksum.h: Likewise.
19686
19687 * Makefile.util.def: Build ZFS into libgrubmods.
19688 * grub-core/Makefile.core.def: Build zfs.mod.
19689
3f0f3831
SJ
196902010-11-30 Szymon Janc <szymon@janc.net.pl>
19691
19692 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
19693 variable.
19694 * grub-core/commands/wildcard.c (match_files): Likewise.
19695
3a4253b2
RM
196962010-11-30 Robert Millan <rmh@gnu.org>
19697
19698 * grub-core/loader/i386/bsd.c
19699 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
19700 whether kernel is loaded using grub_loader_is_loaded(), rather
19701 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
19702 certain error conditions.
19703
8c317b27
RM
197042010-11-30 Robert Millan <rmh@gnu.org>
19705
c5c9cd3e
RM
19706 * grub-core/commands/echo.c: Include `<grub/term.h>'.
19707 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 19708
49d3ab46
VS
197092010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19710
19711 Avoid using tricks for initialising endian variables.
19712
19713 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
19714 Make const.
19715 (GRUB_MOD_INIT): Don't byte-swap.
19716 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19717 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
19718 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
19719 (grub_swap_bytes32_compile_time): Likewise.
19720 (grub_cpu_to_le32_compile_time): Likewise.
19721 (grub_cpu_to_le16_compile_time): Likewise.
19722
f420a804
VS
197232010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19724
19725 * util/grub-setup.c (setup): Stop recommending --force. People who
19726 understand the dangers of blocklists are able to find this option
19727 anyway and the ones who don't shouldn't use it anyway.
19728
4e7db17b
RM
197292010-11-26 Robert Millan <rmh@gnu.org>
19730
19731 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
19732 Update all users.
19733
9be57a0d
CW
197342010-11-26 Colin Watson <cjwatson@ubuntu.com>
19735
19736 Fix LVM-on-RAID probing.
19737
19738 * util/grub-probe.c (probe): Remember which disk was detected as
19739 RAID (perhaps an LVM physical volume). Use that disk's raidname
19740 rather than that of the top-level disk.
19741
2c7859b3 197422010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 19743
d7647bb6
BC
19744 Fix cmdline argument quotes for setparams command of menuentry
19745 definitions.
7e623b0d
BC
19746
19747 * grub-core/commands/menuentry.c (setparams_prefix): Use single
19748 quotes for arguments.
f866fe80 19749 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 19750 grub_strchrsub function instead.
f866fe80 19751
7955bea0 19752 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 19753
74f72a64
CW
197542010-11-24 Colin Watson <cjwatson@ubuntu.com>
19755
19756 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
19757 effort by skipping "." and ".." entries up-front.
19758 Suggested by: Michael Lazarev.
19759
5a407278
CW
197602010-11-24 Colin Watson <cjwatson@ubuntu.com>
19761
19762 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
19763 ldflags to ldadd, to fix link line ordering.
19764 (none_decompress): Likewise.
19765
3030d8ec
CW
197662010-11-24 Colin Watson <cjwatson@ubuntu.com>
19767
19768 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
19769 platforms.
19770 (grub-emu-lite): Remove kern/emu/cache.S.
19771
b7fbac12
CW
197722010-11-23 Colin Watson <cjwatson@ubuntu.com>
19773
19774 * util/deviceiter.c (compare_devices): If the by-id link for a
19775 device couldn't be resolved, fall back to sorting by the by-id link
19776 rather than segfaulting.
19777 Reported and tested by: Daniel Mierswa.
19778
5225f328
CW
197792010-11-23 Colin Watson <cjwatson@ubuntu.com>
19780
19781 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
19782 ldflags, to fix link line ordering.
19783
038b3ce8
CW
197842010-11-23 Colin Watson <cjwatson@ubuntu.com>
19785
19786 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
19787 linkers are picky about this.
19788
bf16e98e
CW
197892010-11-23 Colin Watson <cjwatson@ubuntu.com>
19790
19791 * grub-core/Makefile.am (command.lst): Adjust sed expression
19792 ordering so that extended and priority commands aren't treated as
19793 ordinary commands.
19794
7242bab6
CW
197952010-11-23 Colin Watson <cjwatson@ubuntu.com>
19796
19797 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19798 Remove byte-swapping function calls, which are not valid in
19799 structure initialisers.
19800 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
19801 non-const.
19802 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
19803 grub_gpt_partition_type_bios_boot.
19804
14e8b279
CW
198052010-11-22 Colin Watson <cjwatson@ubuntu.com>
19806
19807 Fix test program build on GNU/kFreeBSD.
19808
19809 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
19810 $(LIBNVPAIR)' library dependencies.
19811
e6f63338 198122010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
19813
19814 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
19815
cf8ffc38
CW
198162010-11-22 Colin Watson <cjwatson@ubuntu.com>
19817
19818 * util/grub-install.in: Remove excessive quoting that broke
19819 installations to RAID devices.
19820
7f8b0fd7
VS
198212010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19822
19823 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
19824 bootloader version instead of 0.
19825
dfd240b1
VS
198262010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19827
19828 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
19829 warning.
19830
7b61e609
VS
198312010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19832
19833 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
19834 retrieve the metadat sector if size isn't known.
19835 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19836
9dfe92d0
RM
198372010-11-18 Robert Millan <rmh@gnu.org>
19838
19839 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
19840 with grub_memcmp().
19841
41cc919e
VS
198422010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
19843
19844 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
19845 arrow.
19846 Reported by: Jordan Uggla.
19847
1afcc914
VS
198482010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19849
19850 Make better UTF compliant.
19851
19852 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
19853 sequences as incorrect.
19854 (grub_is_valid_utf8): Likewise.
19855 (grub_utf8_to_ucs4): Likewise.
19856 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
19857 (grub_ucs4_to_utf8_alloc): Likewise.
19858 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
19859
f1808884
VS
198602010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19861
19862 Make legacy_source behave like source.
19863
19864 * grub-core/commands/legacycfg.c (legacy_file): Don't call
19865 grub_show_menu.
19866 (grub_cmd_legacy_source): Call grub_show_menu if needed.
19867
24ec575b
CW
198682010-11-16 Colin Watson <cjwatson@debian.org>
19869
19870 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
19871 (-Wunused implies -Wunused-parameter, but not vice versa).
19872
72b7c7aa
CW
198732010-11-16 Colin Watson <cjwatson@ubuntu.com>
19874
19875 * configure.ac: Make error messages less confusing by testing for
19876 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
19877 accepted, but produces a diagnostic if something else is wrong).
19878
e98937aa
VS
198792010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
19880
19881 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
19882 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
19883 (now unused).
19884 (grub_keyboard_controller_init)
19885 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
19886 read the initial state since controller isn't inited yet.
19887
f6bbabc3
VS
198882010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
19889
19890 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
19891 allocate_regbeg may need to create new chunk header.
19892
22e7dbb2
VS
198932010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19894
19895 Fix quoting in legacy parser.
19896
19897 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
19898 single quotes.
19899 (grub_legacy_parse): Likewise.
19900 Reported by: Jordan Uggla.
19901 Tested by: Jordan Uggla.
19902
03f80960
VS
199032010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19904
19905 Don't add -lgcc on i386 and x86_64.
19906
19907 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
19908 * conf/Makefile.common (LDADD_KERNEL): Likewise.
19909 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
19910
779dc15b
VS
199112010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19912
19913 * configure.ac: Add -Wno-trampolines when supported.
19914
d20a3b37
MV
199152010-11-14 Modestas Vainius <modax@debian.org>
19916
19917 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
19918 fakeraid.
19919
e5360933
GC
199202010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19921
19922 Add generic logical block size support for UDF.
19923
19924 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
19925 (GRUB_UDF_BLKSZ): Removed.
19926 (struct grub_udf_data): New field "lbshift" to hold the logical block
19927 size of the file system in log2 format. All users updated.
19928 (sblocklist): Change type to unsigned.
19929 (grub_udf_mount): Change type of "sblklist" to unsigned.
19930 Move AVDP search before VRS recognition, because the latter requires
19931 knowledge of the logical block size, which is detected during the
19932 former.
19933 Detect and validate logical block size during AVDP search, adding
19934 support for block sizes 512, 1024 and 4096.
19935 Make VRS recognition independent of block size.
19936
cb0229c5
GC
199372010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19938
19939 Properly handle deleted files on UDF.
19940
19941 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
19942 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
19943 set.
19944
406858a8
GC
199452010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19946
19947 Support reading files larger than 2 GiB.
19948
19949 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
19950 "offset" to grub_off_t.
19951 (grub_udf_read_file): Likewise for parameter "pos".
19952
130da6a7
VS
199532010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19954
19955 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
19956 unavailable.
19957 (Simple configuration): Refer to Changes from GRUB Legacy about
19958 save_env availability.
19959
65e93f6b
VS
199602010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19961
19962 * util/grub-install.in: Ignore empty partition table detection
19963 instead of trying to include part_ module.
19964
1fd08bf1
VS
199652010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19966
19967 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
19968 LVM on RAID support.
19969
de1a024f
VS
199702010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19971
19972 Properly define WORDS_BIGENDIAN in wrapped environments.
19973
19974 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
19975 definition.
19976 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
19977
19978 Reported by: Manoel Rebelo Abranches.
19979 Tested by: Manoel Rebelo Abranches.
19980
bc5dd0b9
VS
199812010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19982
19983 * util/grub-mkconfig.in: Fix quoting.
19984
58c184be
VS
199852010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19986
19987 Support big ext2 files.
19988
19989 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
19990 (grub_ext2_read_block): Support triple indirect blocks.
19991 (grub_ext2_read_file): Use 64-bit types and read size_high.
19992 (grub_ext2_open): Read size_high.
19993 Reported by: Ximin Luo.
19994 Tested by: Manoel Rebelo Abranches.
19995
5f0c02b3
VS
199962010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19997
19998 * util/grub-install.in: Handle filenames containing spaces.
19999 Reported by: Jordan Uggla.
20000 Tested by: Jordan Uggla.
20001
4417aae6
VS
200022010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20003
20004 * util/grub-mkconfig.in (grub_script_check): New variable.
20005 Use grub_script_check instead of grub-script-check.
20006 Reported by: Barry Jackson.
20007
7625a68e
VS
200082010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20009
20010 * docs/grub.texi (menu): Correct the order.
20011 Reported by: D. Hugh Redelmeier.
20012
10001ac5
VS
200132010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
20014
20015 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
20016 jump.
20017
9c4cf53b
MRA
200182010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
20019
10001ac5
VS
20020 * include/grub/elfload.h (grub_elf32_size): New parameter.
20021 All users updated.
9c4cf53b
MRA
20022 Return maximum segments alignment.
20023 (grub_elf64_size): Likewise.
20024 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
20025 Return maximum segments alignment.
20026 (grub_elf64_size): Likewise.
20027 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
20028 (grub_linux_claimmap_iterate): New function. Uses the
20029 "available" property in the "memory" node for memory allocation
20030 for kernel in the PowerPC loader.
9c4cf53b
MRA
20031 (grub_linux_load32): Correctly find linux entry point offset.
20032 (grub_linux_load64): Likewise.
20033
d2bf06bf
RM
200342010-11-07 Robert Millan <rmh@gnu.org>
20035
20036 On mips-yeeloong, build with -march=loongson2f when this flag is
20037 available (GCC >= 4.4).
20038 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
20039 `-march=mips3'.
20040 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
20041 or otherwise add -march=mips3.
20042
898c99a2
BC
200432010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
20044
87220a68
BC
20045 Suppress shell expansion on echo '*' and echo "*" like cases.
20046 Reported by: Jordan Uggla.
898c99a2
BC
20047
20048 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
20049 string arguments before shell expansion.
20050 * tests/grub_cmd_echo.in: New testcases.
20051
4f9b406a
RM
200522010-11-07 Robert Millan <rmh@gnu.org>
20053
20054 * conf/mips-qemu-mips.rmk: Remove stale file from previous
20055 transition.
20056
80c6d25e
VS
200572010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
20058
20059 * grub-core/kern/emu/hostdisk.c
20060 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
20061
4a1a0153
VS
200622010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20063
20064 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
20065 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
20066 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
20067
34706ddc
VS
200682010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20069
20070 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
20071
6972dea9
VS
200722010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20073
20074 * util/grub-install.in: Replace useless recomendation to pass
20075 --modules with a recomendation to report a bug.
20076
9c693bd6
VS
200772010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20078
20079 Properly register serial terminfo.
20080 Reported by: Jordan Uggla
20081
20082 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
20083 const.
20084 (grub_serial_terminfo_output_template): Likewise.
20085 (grub_cmd_serial): Register "serial" with terminfo.
20086 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
20087 grub_serial_terminfo_output.
20088
6c9e4c0c
RM
200892010-11-05 Robert Millan <rmh@gnu.org>
20090
20091 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
20092 needed).
20093
b9b3839f
RM
200942010-11-05 Robert Millan <rmh@gnu.org>
20095
20096 On Yeeloong, pass machine type information to Linux.
20097
20098 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
20099 (LOONGSON_MACHTYPE): New macro, set to
20100 "machtype=lemote-yeeloong-2f-8.9inches".
20101 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
20102 additional argument to Linux.
20103
1a3aaff4
RM
201042010-11-04 Robert Millan <rmh@gnu.org>
20105
20106 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
20107 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
20108 (its SATA disks are detected as slaveless IDE master drives on
20109 kFreeBSD).
20110 Reported by Carsten Aulbert.
20111
a75f4f62
CW
201122010-11-02 Colin Watson <cjwatson@ubuntu.com>
20113
20114 * util/bin2h.c (main): Fix spelling error in generated output.
20115
33b4b0c6
GS
201162010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
20117
20118 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
20119
2b36fbf4
VS
201202010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20121
20122 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
20123 vga= option is supplied.
20124
74aaf558
VS
201252010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20126
20127 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
20128 * util/grub.d/10_kfreebsd.in: Likewise.
20129 * util/grub.d/10_linux.in: Likewise.
20130 * util/grub.d/20_linux_xen.in: Likewise.
20131
6428dec3
VS
201322010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20133
20134 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
20135 argument as an argument to no-argument option.
20136
f8729d98
VS
201372010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20138
20139 * util/grub.d/10_linux.in: Add missing load_video with explicit
20140 GRUB_GFXPAYLOAD_LINUX.
20141
89d68fa6
VS
201422010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20143
20144 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
20145
3a1197cd
VS
201462010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20147
20148 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
20149 elements with invlid index.
20150 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20151 * grub-core/disk/raid.c (insert_array): Automatically reallocate
20152 members.
20153 * include/grub/raid.h (grub_raid_member): New struct.
20154 (grub_raid_array): Transform devices and start_sector into usage of
20155 grub_raid_member. All users updated
20156 (allocated_devs): New member.
20157
71574288
VS
201582010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20159
20160 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
20161 is modified
20162
8d40ec65
BC
201632010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
20164
20165 NetBSD build fix for getline function conflict from gnulib.
20166
20167 * Makefile.util.def (libgrubkern.a): New library for grub kernel
20168 components that depend on gnulib headers.
20169 (libgrubmods.a): Renamed from earlier libgrub.a.
20170 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
20171
95b9257e
VS
201722010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20173
20174 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
20175 install rather than creating a broken install.
20176
26c53dc6
VS
201772010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20178
20179 * util/grub-setup.c (argp): Remove misleading example of installing to
20180 a partition.
20181
4171b3c5
VS
201822010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20183
20184 * util/grub-setup.c (setup): Clarify the error message.
20185
18568d18
VS
201862010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20187
20188 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
20189
4f6a2e21
VS
201902010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
20191
20192 * grub-core/kern/emu/misc.c
20193 (grub_make_system_path_relative_to_its_root)
20194 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
20195
201962010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
20197
20198 * grub-core/kern/emu/misc.c
20199 (grub_make_system_path_relative_to_its_root): Revert r2882.
20200
e138c458
VS
202012010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
20202
20203 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
20204 useless field head. All users updated.
20205 (free_subchunk): Correct handling of IN_REGION subchunk.
20206
0cbcdf0e
CW
202072010-10-22 Colin Watson <cjwatson@ubuntu.com>
20208
20209 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
20210 (Supported kernels): Likewise.
20211
b65ea155
GS
202122010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20213
20214 Make mktemp invocations portable.
20215
20216 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
20217 exit if mktemp fails.
20218 * tests/grub_script_blockarg.in: Likewise.
20219 * tests/partmap_test.in: Likewise.
20220 * tests/util/grub-shell-tester.in: Likewise.
20221 * tests/util/grub-shell.in: Likewise.
20222 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20223 * Makefile.am: Likewise, and chain shell commands with `&&'
20224 instead of ';'.
20225 * util/grub-mkrescue.in: Use the same explicit template as above, and
20226 exit if mktemp fails.
20227
05f43cdd
BC
202282010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
20229
20230 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
20231 Linux kernel, reported by Dennis Schridde.
20232
800e6a9b
SJ
202332010-10-17 Szymon Janc <szymon@janc.net.pl>
20234
20235 * grub-core/normal/auth.c (grub_auth_check_authentication):
20236 Set-but-not-used variable removed.
20237
d82df574
VS
202382010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20239
20240 * docs/grub.texi (GNU/Linux): Document APM unavailability with
20241 32-bit linux protocol.
20242
7bced458
VS
202432010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20244
20245 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
20246 cursor shape for sanity.
20247
5b027690
VS
202482010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20249
20250 * docs/grub.texi (Installation): Document buggy BIOS install.
20251
ba5f65cf
VS
202522010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20253
20254 * docs/grub.texi (Installation): Indent.
20255
fdf2ec9c
VS
202562010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20257
20258 * util/grub-setup.c (setup): New parameter allow_floppy.
20259 (arguments): New member allow_floppy.
20260 (argp_parser): Handle --allow-floppy.
20261 (main): Pass allow_floppy.
20262 * util/grub-install.in: New option --allow-floppy passed though to
20263 grub-setup.
20264
861dfd4c
VS
202652010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20266
20267 * util/grub-install.in: Handle partitionless disks.
20268
f77a8c24
VS
202692010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20270
20271 * util/grub-setup.c (setup): Don't clean blocklists before readability
20272 verfification.
20273
27d9ee32
VS
202742010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20275
20276 * docs/grub.texi (Installation): Document embedding zone. Remove
20277 obsolete grub-install example.
20278
6bdda8f8
SJ
202792010-10-16 Szymon Janc <szymon@janc.net.pl>
20280
20281 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
20282 Set-but-not-used variable ifdef'ed.
20283 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
20284 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
20285 variable removed.
20286 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
20287 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
20288 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
20289 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
20290 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
20291 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
20292 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
20293 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
20294 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
20295 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
20296 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
20297 Likewise.
20298
e19b016b
VS
202992010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20300
20301 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
20302 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
20303 enum value.
20304
6c8d3002
VS
203052010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20306
20307 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
20308 synonym to _S5_. Needed for some DSDTs.
20309
c32b51c9
VS
203102010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20311
20312 Userspace ACPI parser debugging.
20313
20314 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
20315 headers and add relevant defines. Don't include standard headers.
20316 (main) [GRUB_DSDT_TEST]: New function.
20317 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
20318 Don't declare functions.
20319
fbfbeb39
VS
203202010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20321
20322 Remove dead grub_efi_mm_fini.
20323
20324 * grub-core/kern/efi/mm.c (allocated_page): Removed.
20325 (ALLOCATED_PAGES_SIZE): Likewise.
20326 (MAX_ALLOCATED_PAGES): Likewise.
20327 (allocated_pages): Likewise.
20328 (grub_efi_allocate_pages): Don't record allocated pages.
20329 (grub_efi_free_pages): Likewise.
20330 (grub_efi_mm_init): Likewise.
20331 (grub_efi_mm_fini): Removed.
20332
65f7ed7c
VS
203332010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20334
20335 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
20336 (grub_efi_mm_init): Take into account the memory map size increase.
20337
24977b44
VS
203382010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20339
20340 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
20341 (serial_hw_put): Wait based on real time rather than port reads. Don't
20342 roken ports.
20343 * include/grub/serial.h (grub_serial_port): New field broken.
20344
1eb01cd2
RM
203452010-10-16 Robert Millan <rmh@gnu.org>
20346
20347 * grub-core/kern/emu/misc.c
20348 (grub_make_system_path_relative_to_its_root): Fix premature return
20349 when processing non-root ZFS filesystems.
5f8b440b 20350 Reported by Sergio Talens-Oliag.
1eb01cd2 20351
2d5fed60
RM
203522010-10-15 Robert Millan <rmh@gnu.org>
20353
20354 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
20355 guarantee compressed ones are processed first.
20356
d0f4c1ea
VS
203572010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20358
20359 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
20360 grub_efiemu_autocore.
20361
d87c681f
VS
203622010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20363
20364 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
20365 rather than 0x1b.
20366 (grub_console_getkey): Use correct jae opcode rather than ja.
20367
219b3564
RM
203682010-10-12 Robert Millan <rmh@gnu.org>
20369
20370 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
20371 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
20372 variable. All references updated.
20373
20374 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
20375
20c6bb7e
VS
203762010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
20377
20378 Correctly distinguish mdraid flavours.
20379
20380 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
20381 (insert_array): New argument raid.
20382 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
20383 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
20384 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
20385
74baff84
VS
203862010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
20387
20388 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
20389 handling of special keys.
20390
3ef068df 203912010-10-02 Aleš Nesrsta <starous@volny.cz>
20392
c7980ad9
VS
20393 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
20394 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 20395
a9455194 203962010-10-02 Aleš Nesrsta <starous@volny.cz>
20397
c7980ad9
VS
20398 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
20399 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
20400 users updated.
a9455194 20401 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 20402 Use right endpoint when querying descriptor.
a9455194 20403
441cfe65
VS
204042010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20405
20406 Clear out 0x80 color bit on EFI.
20407 Tested by: decoder
20408 Reported by: decoder and meta tech.
20409
20410 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
20411 (grub_console_setcolorstate): Clear out 0x80 bit.
20412 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
20413 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
20414 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
20415
bf26bcc4
VS
204162010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20417
20418 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
20419 Set to "auto".
20420
6e3c515d
VS
204212010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20422
20423 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
20424 mo_file after freeing.
20425
e6d983ba
VS
204262010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20427
20428 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
20429
74ccb5b5
VS
204302010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20431
20432 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
20433 flags.
20434
17821956
VS
204352010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20436
20437 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
20438 usage.
20439
ee74fa48
VS
204402010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20441
20442 Put terminfo into core on ieee1275 and yeeloong (needed for console).
20443
20444 * gentpl.py: New groups terminfoinkernel and terminfomodule.
20445 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
20446 and terminfo.h when needed.
20447 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
20448 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
20449 (terminfo): Enable only on terminfokernel.
20450 (extcmd): Likewise.
20451 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
20452 * include/grub/lib/arg.h: Likewise.
20453 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
20454 incorrect usage of ->.
20455
aa438e68
VS
204562010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20457
20458 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
20459 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
20460
57994012
VS
204612010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20462
20463 Fix coreboot compilation.
20464
20465 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
20466 Take VBE info into account even if only text is supported.
20467 (fill_vbe_info): Take into account the case when only VGA text
20468 is supported.
20469 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
20470 on coreboot, multiboot and qemu.
20471
2a406611
VS
204722010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20473
20474 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
20475 debug messages.
20476 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
20477
d33613fc
VS
204782010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20479
20480 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
20481 parameters.
20482
44a1b432
VS
204832010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20484
20485 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
20486 if they were BSD-style.
20487
edde54e6
VS
204882010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20489
20490 * grub-core/boot/i386/pc/lnxboot.S: Replace
20491 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
20492 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
20493
b65830fa
VS
204942010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20495
20496 Write embedding zone using Reed-Solomon.
20497
20498 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
20499 * grub-core/Makefile.am (rs_decoder.S): New target.
20500 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
20501 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
20502 (multiboot): Move to RS part.
20503 (post_reed_solomon): New label.
20504 (grub_boot_drive): Move to non-RS part since it's modified in memory
20505 on boot.
20506 Include rs_decoder.S.
20507 * grub-core/lib/reed_solomon.c: New file.
20508 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
20509 New definition.
20510 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
20511 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
20512 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
20513 * include/grub/partition.h (grub_partition_map): Change prototype of
20514 embed to allow returning additional sectors.
20515 * include/grub/reed_solomon.h: New file.
20516 * util/grub-setup.c (setup): Handle Reed-Solomon.
20517
0b4b227f
CW
205182010-09-28 Colin Watson <cjwatson@ubuntu.com>
20519
20520 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20521 i386 and x86-64 definedness tests.
20522
f772623b
YB
205232010-09-27 Yves Blusseau <blusseau@zetam.org>
20524
20525 Fix generation of kernel_syms.lst
20526
20527 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
20528 ASM_PREFIX
20529
8e57a6ca
RM
205302010-09-26 Robert Millan <rmh@gnu.org>
20531
20532 Support degraded ZFS arrays in "grub-probe -t device" resolution.
20533
20534 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
20535 the pool is an array of devices, iterate through it and return the
20536 first device that passes a stat() test (instead of blindly returning
20537 the first one).
20538
f9130836
RM
205392010-09-26 Robert Millan <rmh@gnu.org>
20540
20541 Build fixes for GNU/kFreeBSD.
20542
20543 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
20544 to programs that require ZFS conversion.
20545 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
20546 kernels that don't have FLOPPY_MAJOR.
20547
96510faf
BC
205482010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20549
20550 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
20551
449333eb
BC
205522010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20553
20554 Fix grub-emu build.
20555
20556 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
20557 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
20558 mdraid09 and mdraid1x.
20559
e1fd1939
CW
205602010-09-24 Colin Watson <cjwatson@ubuntu.com>
20561
20562 Re-enable grub-extras.
20563
20564 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
20565 avoid confusing Automake. Run autogen only twice, once for the top
20566 level and once for grub-core. Add Makefile.util.def and
20567 Makefile.core.def from extra modules to the appropriate autogen
20568 invocations. If Makefile.common exists in an extra module, include
20569 it in both Makefile.util.am and grub-core/Makefile.core.am;
20570 similarly, include any Makefile.util.common file in Makefile.util.am
20571 and any Makefile.core.common file in grub-core/Makefile.core.am.
20572 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
20573 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
20574 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
20575 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
20576
20577 * gentpl.py (gvar_add): Turn GVARS into a set.
20578 (global_variable_initializers): Sort global variables on output.
20579 (vars_init): New function.
20580 (first_time): Likewise.
20581 (library): Ensure that non-global variable initialisations are
20582 emitted before the first time we emit code for a library block.
20583 Append to variables rather than setting them. Only emit
20584 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
20585 each conditional path.
20586 (program): installdir() emits an Autogen macro, so must be passed to
20587 var_add rather than gvar_add.
20588 (data): Likewise.
20589 (script): Likewise.
20590 (rules): New function, centralising handling for different target
20591 types. Set up Guile association lists for first_time and vars_init,
20592 and send most output to a diversion so that variable initialisations
20593 can be emitted first.
20594 (module_rules): Use new rules function.
20595 (kernel_rules): Likewise.
20596 (image_rules): Likewise.
20597 (library_rules): Likewise.
20598 (program_rules): Likewise.
20599 (script_rules): Likewise.
20600 (data_rules): Likewise.
20601
20602 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
20603
20604 * .bzrignore: Add contrib and grub-core/contrib. Remove
20605 grub-core/Makefile.gcry.am.
20606
1d12cf29
YB
206072010-09-24 Yves Blusseau <blusseau@zetam.org>
20608
20609 * grub-core/lib/LzFind.c: Add missing include.
20610 * grub-core/lib/LzmaEnc.c: Likewise.
20611 * grub-core/script/lexer.c: Likewise.
20612 * grub-core/script/yylex.l: Likewise.
20613 * util/grub-macho2img.c: Likewise.
20614 * util/grub-menulst2cfg.c: Likewise.
20615 * util/grub-mklayout.c: Likewise.
20616 * util/grub-mkpasswd-pbkdf2.c
20617 * util/grub-mkrelpath.c: Likewise.
20618 * util/resolve.c: Likewise.
20619
dd363028
BC
206202010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
20621
20622 * Makefile.util.def (example_unit_test): Add
20623 grub-core/gnulib/libgnu.a.
20624
f5a109e2
GS
206252010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
20626
20627 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
20628
6d0fa83c
VS
206292010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
20630
20631 Support xz compression on yeeloong.
20632
20633 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
20634 * configure.ac: Check for LZMA.
20635 * grub-core/Makefile.core.def (xz_decompress): New target.
20636 (none_decompress): Likewise.
20637 * grub-core/boot/decompressor/minilib.c: New file.
20638 * grub-core/boot/decompressor/none.c: Likewise.
20639 * grub-core/boot/decompressor/xz.c: Likewise.
20640 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
20641 * grub-core/kern/mips/cache_flush.S: Likewise.
20642 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
20643 * grub-core/kern/mips/startup.S: Move first stage to ...
20644 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
20645 nomacro.
20646 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
20647 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
20648 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
20649 Allocate statically.
20650 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
20651 Allocate statically or use scratch. Don't check CRC32.
20652 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
20653 Allocate statically. Don't check CRC32.
20654 * include/grub/decompressor.h: New file.
20655 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
20656 Removed.
20657 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
20658 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
20659 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
20660 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
20661 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
20662 * util/grub-mkimage.c (grub_compression_t): New type.
20663 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
20664 (image_target_desc): New field default_compression.
20665 (image_targets): Adjust yeeloong targets.
20666 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
20667 (compress_kernel): New parameter comp.
20668 (generate_image): Likewise. Handle new compression case.
20669 (options): New option --compression
20670 (help): Likewise.
20671 (main): Handle new option.
20672
1b655af6
GS
206732010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
20674
20675 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
20676
8f03f0b5
CW
206772010-09-22 Colin Watson <cjwatson@ubuntu.com>
20678
20679 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20680 typo in __i386__ conditional.
20681
7835dfd3
VS
206822010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20683
20684 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
20685 include.
20686
e255597e
VS
206872010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20688
6d0fa83c 20689 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
20690
20691 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
20692 new tags as supported.
20693 (acpiv2_size): New function.
20694 (grub_multiboot_get_mbi_size): Take new tags into account.
20695 (grub_multiboot_make_mbi): Add new tags.
20696 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 20697
6cc14051 206982010-09-21 Aleš Nesrsta <starous@volny.cz>
20699
20700 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
20701 Added missing configuration of USB device.
20702
df7769d8
CW
207032010-09-21 Colin Watson <cjwatson@ubuntu.com>
20704
20705 * grub-core/normal/menu_entry.c (run): Make sure we always return
20706 a value.
20707
b031012d
CW
207082010-09-21 Colin Watson <cjwatson@ubuntu.com>
20709
20710 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
20711 NumberOfPages is UINT64 according to the UEFI specification, not
20712 UINTN. Fix printf format.
20713
174de8f3
CW
207142010-09-21 Colin Watson <cjwatson@ubuntu.com>
20715
20716 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
20717 `err' to grub_usb_err_t.
20718 Reported and tested by: KESHAV P.R.
20719
d7dbe923
CW
207202010-09-21 Colin Watson <cjwatson@ubuntu.com>
20721
20722 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
20723 tpart non-const, so that we can assign to it. (Since this is a
20724 typedef, the constness refers to the pointer rather than what it
20725 points to.)
20726
8d5e2af3
CW
207272010-09-21 Colin Watson <cjwatson@ubuntu.com>
20728
20729 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
20730 $(top_srcdir)/grub-core/gnulib as well as
20731 $(top_builddir)/grub-core/gnulib.
20732 Reported by: KESHAV P.R.
20733
5c527783
CW
207342010-09-21 Colin Watson <cjwatson@ubuntu.com>
20735
20736 * util/grub-install.in: Fix the bootloader ID option to be
20737 consistently --bootloader-id, not --bootloader_id.
20738 Reported by: KESHAV P.R.
20739
d309a16e
CW
207402010-09-21 Colin Watson <cjwatson@ubuntu.com>
20741
20742 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
20743 check hash checksum." consistently translatable.
20744
b830cd16
YB
207452010-09-21 Yves Blusseau <blusseau@zetam.org>
20746
20747 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
20748 $(top_builddir).
20749
c4fe27a8
CW
207502010-09-21 Colin Watson <cjwatson@ubuntu.com>
20751
20752 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
20753 (GRUB_MOD_INIT): Register sha1sum command.
20754 (GRUB_MOD_FINI): Unregister sha1sum command.
20755
a4c1d277
YB
207562010-09-21 Yves Blusseau <blusseau@zetam.org>
20757
20758 Keep boot and grub directory names in sync with utils scripts
20759
20760 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
20761 * config.h.in: Add previous macros.
20762 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
20763 * util/grub-install.in: Use $bootdir and $grubdir variables.
20764
4eff79d2
CW
207652010-09-21 Colin Watson <cjwatson@ubuntu.com>
20766
20767 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
20768 convert partition names to disk names if the new `convert' parameter
20769 is set.
20770 (grub_util_biosdisk_get_grub_dev): If opening the disk device
20771 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
20772 disk in its own right. This can happen with Xen disk images.
20773
934d7e44
YB
207742010-09-21 Yves Blusseau <blusseau@zetam.org>
20775
20776 * util/grub-editenv.c: Update strings to avoid warnings when generating
20777 grub.pot file.
20778 * util/grub-setup.c: Likewise.
934d7e44 20779
df3367cc
VS
207802010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20781
20782 * configure.ac: Change version to 1.99~beta0.
20783
77a94e98
VS
207842010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20785
20786 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
20787 Add BADRAM.
20788 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
20789 Likewise.
20790 * include/multiboot.h: Resynced with specification.
20791 * include/multiboot2.h: Likewise.
20792
269004c1
CW
207932010-09-21 Colin Watson <cjwatson@ubuntu.com>
20794
20795 Fix po directory handling.
20796
20797 * configure.ac: Create po/Makefile.in rather than po/Makefile.
20798 * grub-core/gnulib/Makefile.am: Import gettext module.
20799 * m4/gnulib-cache.m4: Likewise.
20800 * m4/gnulib-comp.m4: Likewise.
20801 * m4/gettext.m4: New file, from gnulib.
20802 * m4/glibc2.m4: Likewise.
20803 * m4/iconv.m4: Likewise.
20804 * m4/intdiv0.m4: Likewise.
20805 * m4/intl.m4: Likewise.
20806 * m4/intldir.m4: Likewise.
20807 * m4/intlmacosx.m4: Likewise.
20808 * m4/intmax.m4: Likewise.
20809 * m4/inttypes-pri.m4: Likewise.
20810 * m4/lcmessage.m4: Likewise.
20811 * m4/lib-ld.m4: Likewise.
20812 * m4/lib-link.m4: Likewise.
20813 * m4/lib-prefix.m4: Likewise.
20814 * m4/lock.m4: Likewise.
20815 * m4/nls.m4: Likewise.
20816 * m4/po.m4: Likewise.
20817 * m4/printf-posix.m4: Likewise.
20818 * m4/progtest.m4: Likewise.
20819 * m4/threadlib.m4: Likewise.
20820 * m4/uintmax_t.m4: Likewise.
20821 * m4/visibility.m4: Likewise.
20822 * po/Makefile.am: Remove.
20823 * po/Makefile.in.in: New file, from gettext.
20824 ($(DOMAIN).pot-update): Support POTFILES-shell.
20825 * po/Makevars: New file.
20826 * po/POTFILES-shell: Rename to ...
20827 * po/POTFILES-shell.in: ... this. Update.
20828 * po/POTFILES: Rename to ...
20829 * po/POTFILES.in: ... this. Update.
20830 * po/Rules-quot: New file, from gettext.
20831 * po/boldquot.sed: Likewise.
20832 * po/en@boldquot.header: Likewise.
20833 * po/en@quot.header: Likewise.
20834 * po/insert-header.sin: Likewise.
20835 * po/quot.sed: Likewise.
20836 * po/remove-potcdate.sin: Likewise.
20837
3e0fa5d0
VS
208382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20839
20840 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
20841
ade9bd66
VS
208422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20843
20844 * util/grub.d/20_linux_xen.in: Use submenus.
20845
fc55cc4c
VS
208462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20847
20848 Support submenus.
20849
20850 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
20851 parameter submenu. All users updated.
20852 * grub-core/normal/main.c (free_menu): Rename to ...
20853 (grub_normal_free_menu): ... this. Made global.
20854 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
20855 if requested.
20856 * grub-core/normal/menu_entry.c (screen): New field submenu.
20857 (make_screen): Set submenu.
20858 (run): Open new context if requested.
20859 * include/grub/menu.h (grub_menu_entry): New field submenu.
20860 * include/grub/normal.h (grub_normal_free_menu): New proto.
20861
600cedf7
VS
208622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20863
20864 Menu entries extractor.
20865
20866 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
20867 variants.
20868 (GRUB_MOD_INIT): Register new variants.
20869 (GRUB_MOD_FINI): Unregister new variants.
20870 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
20871 into grub_cmd_legacy_source.
20872 (grub_cmd_legacy_source): Implement extractor variants.
20873 (GRUB_MOD_INIT): Register new variants.
20874 (GRUB_MOD_FINI): Unregister new variants.
20875 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
20876 as an extractor.
20877 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
20878 search as an extractor.
20879 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
20880 test as an extractor.
20881 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
20882 as an extractor.
20883 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
20884 (grub_env_new_context): New function.
20885 (grub_env_context_open): Likewise.
20886 (grub_env_extractor_open): Likewise.
20887 (grub_env_extractor_close): Likewise.
20888 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20889 grub_extractor_level.
20890 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
20891 * include/grub/env.h (grub_env_extractor_open): New proto.
20892 (grub_env_extractor_close): Likewise.
20893 * include/grub/normal.h (grub_extractor_level): New external variable.
20894
7bda3a87
VS
208952010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20896
20897 Make cutmem accept a region specification.
20898 Suggested by: Samuel Thibault
20899
20900 * grub-core/mmap/mmap.c (parsemem): New function.
20901 (grub_cmd_cutmem): Handle new arguments.
20902
2ea57f88
VS
209032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20904
20905 New command cutmem.
20906
20907 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
20908 (GRUB_MOD_INIT): Register new command.
20909 (GRUB_MOD_FINI): Unregister new command.
20910
74342e31
VS
209112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20912
20913 Support some annoying BSD and Minix subpartitions.
20914
20915 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
20916 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
20917 Properly handle concatenation.
20918 * grub-core/kern/device.c (grub_device_iterate): Likewise.
20919 * grub-core/normal/completion.c (iterate_partition): Likewise.
20920 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
20921 contain partition. All users updated.
20922 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
20923 struct.
20924 (grub_openbsdlabel_partition_map): Likewise.
20925 (bsdlabel_partition_map_iterate): Rename to ..
20926 (iterate_real): ... this. New arguments sector, freebsd and pmap.
20927 (bsdlabel_partition_map_iterate): New function.
20928 (netopenbsdlabel_partition_map_iterate): Likewise.
20929 (netbsdlabel_partition_map_iterate): Likewise.
20930 (openbsdlabel_partition_map_iterate): Likewise.
20931 (GRUB_MOD_INIT): Register new partmaps.
20932 (GRUB_MOD_FINI): Unregister new partmaps.
20933 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
20934 (grub_partition_msdos_iterate): ... this. All users updated.
20935 Don't support embedding other than in a minix partition.
20936 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
20937 proto.
20938 * include/grub/partition.h (grub_partition): New field msdostype.
20939 * util/grub-install.in: Handle openbsd and netbsd types being in
20940 part_bsd module.
20941
1e8d555b
VS
209422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20943
20944 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
20945
20946 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
20947 * grub-core/Makefile.core.def (mdraid): Renamed to ...
20948 (mdraid09): ... this.
20949 (mdraid1x): New module.
20950 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
20951 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
20952
899d8af4
VS
209532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20954
20955 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
20956 vsprintf.
20957
40901acd
CW
209582010-09-20 Colin Watson <cjwatson@ubuntu.com>
20959
20960 * grub-core/commands/efi/lsefimmap.c: Correct header.
20961 * NEWS: Update.
20962
dfe3b247
CW
209632010-09-20 Colin Watson <cjwatson@ubuntu.com>
20964
20965 * util/grub-editenv.c (argp_parser): Don't pass translated strings
20966 as printf format strings; the translations might contain '%' which
20967 could cause a crash.
20968 (main): Likewise.
20969 * util/grub-fstest.c (argp_parser): Likewise.
20970 * util/grub-setup.c (argp_parser): Likewise.
20971 (main): Likewise.
20972
3286a4b4
VS
209732010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20974
20975 Use argp in grub-fstest.
20976
20977 * util/grub-fstest.c: Don't include getopt.h.
20978 Include argp.h.
20979 (root): New variable.
20980 (args_count): Likewise.
20981 (nparm): Likewise.
20982 (num_disks): Likewise.
20983 (images): Likewise.
20984 (cmd): Likewise.
20985 (debug_str): Likewise.
20986 (args): Likewise.
20987 (options): Transformed to argp.
20988 (usage): Removed.
20989 (main): Split argument parsing into ...
20990 (argp_parser): ... this. Changed to argp format.
20991 (argp): New variable.
20992 (main): Use argp_parse.
20993
3dccbe4b
TG
209942010-09-20 Tristan Gingold <gingold@free.fr>
209952010-09-20 Robert Millan <rmh.grub@aybabtu.com>
209962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20997
20998 * grub-core/commands/efi/lsefimmap.c: New file.
20999 * grub-core/Makefile.core.def (lsefimmap): New module.
21000 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
21001
38c259a7
VS
210022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21003
21004 Pause the execution (10s max) if any errors are displayed so the user
21005 has a chance to see them.
21006
21007 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
21008 (grub_print_error): Increment grub_err_printed_errors.
21009 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
21010 execution if any errors were displayed.
21011 (show_menu): Remove old code for pause.
21012 * grub-core/normal/menu_entry.c (run): Likewise.
21013 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
21014 users updated.
21015 (grub_normal_get_char_counter): Likewise.
21016 * include/grub/err.h (grub_err_printed_errors): New external variable.
21017 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
21018
f218b09c
VS
210192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21020
21021 Support multiboot VBE info.
21022
21023 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21024 Take VBE info into account.
21025 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
21026 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21027 Call fill_vbe_info when appropriate.
21028 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
21029 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
21030 as supported.
21031 (grub_multiboot_get_mbi_size): Take new tags into account.
21032 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
21033 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21034 Call fill_vbe_tag when appropriate.
21035 (grub_multiboot_make_mbi): Properly align tags.
21036 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
21037 function.
21038 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
21039 proto.
21040 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
21041
a9cc5438
VS
210422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21043
21044 Suport manual terminal geometry specification.
21045
21046 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
21047 Save state in grub_ofconsole_terminfo_output.
21048 (grub_ofconsole_term): Use grub_terminfo_getwh.
21049 (grub_ofconsole_getwh): Removed.
21050 * grub-core/term/serial.c (grub_serial_getwh): Removed.
21051 (grub_serial_term): Use grub_terminfo_getwh.
21052 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
21053 (options): New struct.
21054 (OPTION_*): New enum.
21055 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
21056 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
21057 width and height.
21058 (grub_terminfo_getwh): New proto.
21059 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
21060
1a8fed20
VS
210612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21062
21063 Handle legacy "terminal" command.
21064
21065 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
21066 and FLAG_TERMINAL.
21067 (legacy_commands): Add terminal and title.
21068 (grub_legacy_parse): Handle terminal. Simplify title handling.
21069
41e9c57d
VS
210702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21071
21072 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
21073 parameters overflow.
21074
61c874c5
CW
210752010-09-20 Colin Watson <cjwatson@ubuntu.com>
21076
21077 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
21078 widthspec.h.
21079
21080 * docs/grub.texi (Shell-like scripting): Document `!'.
21081 (Network): Simplify using new i386-pc-pxe format. Mention
21082 grub-mknetdir.
21083
21084 * NEWS: Update.
21085
943682b4
CW
210862010-09-20 Colin Watson <cjwatson@ubuntu.com>
21087
21088 * Makefile.am (SUBDIRS): Restore "."; it's important to force
21089 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
21090 when needed.
21091
6d3d698d
CW
210922010-09-20 Colin Watson <cjwatson@ubuntu.com>
21093
21094 * grub-core/commands/efi/lsefisystab.c: Correct header.
21095 * grub-core/commands/efi/lssal.c: Likewise.
21096 * grub-core/commands/testload.c: Likewise.
21097
c982589f
CW
210982010-09-20 Colin Watson <cjwatson@ubuntu.com>
21099
21100 * util/grub-mkrescue.in: Add explicit root argument to --set to
21101 prevent the UUID being interpreted as an argument to --set (matches
21102 previous change to prepare_grub_to_access_device).
21103
a63c31b6
CW
211042010-09-20 Colin Watson <cjwatson@ubuntu.com>
21105
21106 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
21107 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
21108 the verbosity of later #ifs.
21109 (find_partition_start): Define this function on FreeBSD too.
21110 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
21111 function.
21112 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
21113 on FreeBSD.
21114
6439b8ee
YB
211152010-09-20 Yves Blusseau <blusseau@zetam.org>
21116
21117 * util/grub-editenv.c: Use argp instead of getopt.
21118
c5930ec8
YB
211192010-09-20 Yves Blusseau <blusseau@zetam.org>
21120
21121 * util/grub-setup.c: Use argp instead of getopt.
21122
15c69261
YB
211232010-09-20 Yves Blusseau <blusseau@zetam.org>
21124
21125 Use gnulib-tool to create gnulib source files.
21126
21127 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
21128 grub-core/gnulib directories
21129 * .bzignore: Add **/.deps and autogenerated gnulib files
21130 * configure.ac: Assign auxiliary directory to build-aux, add invocation
21131 of gnulib macros, add grub-core/gnulib/Makefile
21132 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
21133 include m4 directory to aclocal.
21134 * Makefile.util.def: Remove direct compilation of gnulib source files
21135 and use the new grub-core/gnulib/libgnu.a.
21136 * build-aux/config.rpath: move config.rpath from top directory to
21137 build-aux
21138 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
21139 in gnulib headers
21140 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
21141 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
21142 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
21143 header.
21144 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
21145 string.
21146
e511c9f5
YB
211472010-09-20 Yves Blusseau <blusseau@zetam.org>
21148
21149 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
21150 grub-core/genmod.sh and grub-core/gensyminfo.sh
21151
c2dede05
BC
211522010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
21153
21154 Add a test for echo command options.
21155
21156 * tests/grub_cmd_echo.in: New test.
21157 * Makefile.util.def: Rules for new test.
21158
c55f5018
SJ
211592010-09-20 Szymon Janc <szymon@janc.net.pl>
21160
21161 Remove crc.mod and move crc command to hashsum.mod.
21162 Remove lib/crc.c - users updated to use gcrypt implementation.
21163
21164 * grub-core/commands/crc.c: Removed.
21165 * grub-core/Makefile.core.def (crc): Module removed.
21166 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
21167 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
21168 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
21169 * grub-core/lib/crc.c: Removed.
21170 * include/grub/lib/crc.h: Removed.
21171 * Makefile.util.def (crc): Remove lib/crc.c
21172 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
21173 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
21174 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
21175 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
21176 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
21177 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
21178
e0337366
VS
211792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21180
21181 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
21182
742f9232
VS
211832010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21184
21185 Split config.h for util and core.
21186
21187 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
21188 (ADDR32): Likewise.
21189 (DATA32): Likewise.
21190 (BSS_START_SYMBOL): Likewise.
21191 (END_SYMBOL): Likewise.
21192 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
21193 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
21194 * config.h.in: New file.
21195 * configure.ac: Use config-util.h as config define file.
21196 Rename MACHINE into GRUB_MACHINE. All users updated.
21197 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
21198 updated.
21199 (NESTED_FUNC_ATTR): Likewise.
21200 Substitue new variables.
21201 (COND_HAVE_ASM_USCORE): New conditional.
21202 * grub-core/Makefile.am (ASM_PREFIX): New variable.
21203 (kernel_syms.lst): Use ASM_PREFIX.
21204 * grub-core/kern/emu/console.c: Include config-util.h.
21205 * grub-core/kern/emu/misc.c: Likewise.
21206 * grub-core/kern/emu/mm.c: Likewise.
21207 * include/grub/emu/misc.h: Likewise.
21208 * include/grub/libgcc.h: Likewise.
21209
39feb0e8
VS
212102010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21211
21212 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
21213 constants usage.
21214 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
21215 Fix GRUB_TERM_KEY_* constants usage.
21216 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
21217
9af6dac3
VS
212182010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21219
21220 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
21221 print pointer.
21222 * grub-core/bus/usb/uhci.c: Remove empty define.
21223 (grub_uhci_check_transfer): Add missing cast.
21224 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
21225 print pointer.
21226 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
21227 PRIuGRUB_SIZE.
21228 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
21229
d6d94820
VS
212302010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21231
21232 * grub-core/Makefile.core.def (legacycfg): Add
21233 lib/i386/pc/vesa_modes_table.c on emu.
21234
3572f2b6
BC
212352010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21236
21237 Reduce number of temporary files generated by build system.
21238
21239 * grub-core/gencmdlist.sh: Removed.
21240 * grub-core/genfslist.sh: Removed.
21241 * grub-core/genhandlerlist.sh: Removed.
21242 * grub-core/genmodsrc.sh: Removed.
21243 * grub-core/genpartmaplist.sh: Removed.
21244 * grub-core/genparttoollist.sh: Removed.
21245 * grub-core/gentermiinallist.sh: Removed.
21246 * grub-core/genvideolist.sh: Removed.
21247
21248 * grub-core/genmod.sh.in: New file.
21249 * grub-core/gensyminfo.sh.in: New file.
21250
21251 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
21252 * conf/Makefile.extra-dist: Update with new files.
21253 * gentpl.py: Remove rules related to unnecessary temporary files.
21254 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
21255 and und-* files.
21256 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
21257 genmod.sh scripts.
21258 * grub-core/bus/usb/uhci.c: Remove empty #define.
21259 * grub-core/genmoddep.awk: Updated with new syminfo format.
21260 * util/bash-completion.d/Makefile.am: Add config.log to
21261 CLEANFILES.
21262
c836b030
YB
212632010-09-19 Yves Blusseau <blusseau@zetam.org>
21264
21265 * Makefile.util.def: Add forgotten $(LIBINTL) library.
21266
2f4e8053
BC
212672010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21268
21269 * util/grub-mkconfig.in: Check the config script for syntax errors
21270 before saving.
21271
75831c34
CW
212722010-09-19 Colin Watson <cjwatson@ubuntu.com>
212732010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21274
21275 * Makefile.util.def (grub-install): Use util/grub-install.in on all
21276 platforms.
21277 * util/grub-install.in: Add EFI and IEEE1275 support.
21278 * util/i386/efi/grub-install.in: Removed.
21279 * util/ieee1275/grub-install.in: Likewise.
21280
eaf41b25
VS
212812010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21282
21283 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
21284 (grub_cmd_cmosclean): Likewise.
21285 (GRUB_MOD_INIT): Register command cmosclean.
21286 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
21287 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
21288
1a9130dd
CPE
212892010-09-18 Carles Pina i Estany <carles@pina.cat>
212902010-09-18 Aleš Nesrsta <starous@volny.cz>
212912010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21292
21293 Add keyboard layouts support.
21294
21295 * Makefile.util.def (grub-mklayout): New file.
21296 (grub-kbdcomp): New script.
21297 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
21298 Add keyboard_layouts.h.
21299 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
21300 commands/boot.c on yeeloong.
21301 (keylayouts): New module.
21302 * grub-core/bus/usb/ohci.c
21303 * grub-core/bus/usb/uhci.c
21304 * grub-core/bus/usb/usbhub.c (rescan): New variable.
21305 (grub_usb_add_hub): Poll interrupt pipe for device handling.
21306 (attach_root_port): Likewise.
21307 (poll_nonroot_hub): Likewise.
21308 (grub_usb_poll_devices): Likewise.
21309 (detach_device): Close transfer.
21310 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
21311 function.
21312 (grub_usb_bulk_setup_readwrite): Likewise.
21313 (grub_usb_bulk_finish_readwrite): Likewise.
21314 * grub-core/commands/keylayouts.c: New file.
21315 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
21316 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
21317 aliases.
21318 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
21319 support scancode 2.
21320 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
21321 * include/grub/keyboard_layouts.h: New file.
21322 * util/grub-mklayout.c: New file.
21323 * util/grub-kbdcomp.in: Likewise.
21324
a1d84a5e
VS
213252010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21326
21327 Unify memory types.
21328
21329 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
21330 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
21331 types.
21332 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
21333 (grub_upper_mem): Likewise.
21334 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
21335 * include/grub/memory.h (grub_memory_type_t): New enum.
21336 All users updated.
21337
9696382e
VS
213382010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21339
21340 * grub-core/Makefile.core.def (lsapm): New module.
21341 * grub-core/commands/i386/pc/lsapm.c: New file.
21342 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
21343 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
21344 Likewise.
21345 * include/grub/i386/pc/apm.h: New file.
21346 * include/multiboot.h (multiboot_apm_info): New struct.
21347
213482010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21349
21350 GRUB-legacy configuration file support.
21351
21352 * Makefile.util.def (grub-menulst2cfg): New util.
21353 * docs/man/grub-menulst2cfg.h2m: New file.
21354 * grub-core/Makefile.core.def (legacycfg): New module.
21355 * grub-core/commands/legacycfg.c: New file.
21356 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
21357 (grub_normal_add_menu_entry): ... this.
21358 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
21359 (grub_normal_set_password): ...this.
21360 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
21361 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
21362 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
21363 * grub-core/lib/legacy_parse.c: New file.
21364 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
21365 * include/grub/i386/pc/vesa_modes_table.h: New file.
21366 * include/grub/legacy_parse.h: Likewise.
21367 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
21368 * util/grub-menulst2cfg.c: New file.
21369
bf8d1338
CW
213702010-09-17 Colin Watson <cjwatson@ubuntu.com>
21371
21372 * grub-core/kern/emu/hostdisk.c
21373 (convert_system_partition_to_system_disk): Initialise node.
21374
9c0bad2e
CW
213752010-09-17 Colin Watson <cjwatson@ubuntu.com>
21376
21377 * grub-core/kern/emu/hostdisk.c
21378 (convert_system_partition_to_system_disk): Fix devmapper memory pool
21379 leak.
21380 Reported and based on patch by: Modestas Vainius.
21381
a939d135
CW
213822010-09-17 Colin Watson <cjwatson@ubuntu.com>
21383
21384 Fix DM-RAID probing with recent versions of device-mapper udev
21385 rules.
21386
21387 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
21388 canonicalise device paths under /dev/mapper/.
21389 (convert_system_partition_to_system_disk): Compare the
21390 uncanonicalised path to /dev/mapper/ rather than the canonicalised
21391 path, since device nodes under /dev/mapper/ are often symlinks.
21392
0f7ee3c9
YB
213932010-09-17 Yves Blusseau <blusseau@zetam.org>
21394
21395 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
21396
10854d0d
YB
213972010-09-16 Yves Blusseau <blusseau@zetam.org>
21398
21399 * configure.ac: Avoid some annoying error messages if freetype-config
21400 program is not found.
21401
108538d8
CW
214022010-09-16 Colin Watson <cjwatson@ubuntu.com>
21403
21404 Support RAID on virtio devices, and others.
21405
21406 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
21407 Rename to ...
21408 [__MINGW32__] (grub_find_device): ... this.
21409 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
21410 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
21411 reasonable default if dir is NULL.
21412 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
21413 ...
21414 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
21415 (grub_guess_root_device): Update callers.
21416 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
21417
21418 * util/raid.c (grub_util_getdiskname): Remove.
21419 (grub_util_raid_getmembers): Use grub_find_device rather than
21420 grub_util_getdiskname.
21421
e5bfc130
CW
214222010-09-16 Colin Watson <cjwatson@ubuntu.com>
21423
21424 * docs/grub.texi (serial): Remove obsolete comment about GRUB
21425 needing to be compiled with serial support.
21426 (ls): Indicate that multiple files are accepted.
21427 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
21428 indicate that multiple files are accepted.
21429
be458ae2
CW
214302010-09-16 Colin Watson <cjwatson@ubuntu.com>
21431
21432 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
21433 libgrub_a_init.c, and util/bash-completion.d/grub.
21434
cb731b5e
VS
214352010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21436
21437 * util/grub-setup.c (setup): Fix incorrect container semantics.
21438
35139e8a
VS
214392010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21440
21441 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
21442 misusage.
21443 Reported by: J. Nick Terry
21444
e50fca4a
VS
214452010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21446
21447 Move embedding routines to partmap sources files.
21448
21449 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
21450 [GRUB_UTIL]: New variable.
21451 (gpt_partition_map_iterate): Set part.parent.
21452 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
21453 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
21454 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
21455 New function.
21456 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
21457 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
21458 (grub_partition_map) [GRUB_UTIL]: New field embed.
21459 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
21460 (setup): Use ->embed.
21461
f00478b7
VS
214622010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21463
21464 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
21465 function.
21466 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
21467 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
21468
2b94e3ff
YB
214692010-09-15 Yves Blusseau <blusseau@zetam.org>
21470
21471 Add function to get completions from usage.
21472
21473 * util/bash-completion.d/grub-completion.bash.in: Add function to get
21474 completions from usage. Use LC_ALL=C to get options properly.
21475
2e04a006
VS
214762010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21477
21478 * grub-core/gnulib/basename-lgpl.c: Imported.
21479 * grub-core/gnulib/basename.c: Likewise.
21480 * grub-core/gnulib/dirname-lgpl.c: Likewise.
21481 * grub-core/gnulib/dirname.c: Likewise.
21482 * grub-core/gnulib/dirname.h: Likewise.
21483 * grub-core/gnulib/stripslash.c: Likewise.
21484
5dcdf93a
VS
214852010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21486
21487 * grub-core/gnulib/error.c: Resynced.
21488 * grub-core/gnulib/getopt.c: Likewise.
21489 * grub-core/gnulib/getopt_int.h: Likewise.
21490 * grub-core/gnulib/regex.h: Likewise.
21491 * grub-core/gnulib/regex_internal.c: Likewise.
21492 * grub-core/gnulib/regex_internal.h: Likewise.
21493
014f47b7
SJ
214942010-09-15 Szymon Janc <szymon@janc.net.pl>
21495
21496 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
21497 CRC calculations and validity checks.
21498 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
21499 calculations.
21500
dd521a4a
SJ
215012010-09-15 Szymon Janc <szymon@janc.net.pl>
21502
21503 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
21504
79c4eeb9
VS
215052010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21506
21507 Fix incorrect echo options handling.
21508 Reported by: Yves Blusseau.
21509
21510 * include/grub/command.h (grub_command_flags_t): New flags
21511 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
21512 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
21513 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
21514
ed80f7d5
VS
215152010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21516
21517 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
21518 users updated.
21519 (GRUB_COMMAND_FLAG_MENU): Likewise.
21520 (GRUB_COMMAND_FLAG_BOTH): Likewise.
21521 (GRUB_COMMAND_FLAG_TITLE): Removed.
21522 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
21523 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
21524 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
21525 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
21526 (grub_command_flags_t): New enum. All users updated.
21527
5fe7620a
SG
215282010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
21529
21530 Fix solaris compilation.
21531
21532 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
21533 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
21534 (grub-emu-list): Likewise.
21535
545b752f
VS
215362010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21537
21538 Remove deprecated root command.
21539
21540 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
21541 updated.
21542
6c1a338c
VS
215432010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21544
21545 * util/i386/pc/grub-setup.c: Merge this ...
21546 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
21547 * util/grub-setup.c: ... into this.
21548 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
21549 New struct.
21550
215512010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21552
21553 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
21554 possible.
21555
d2ea4551
VS
215562010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21557
21558 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
21559 allocate p.
21560
3c3b5040
VS
215612010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21562
21563 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
21564 explicit root argument to set to prevent UUID to be interpreted as
21565 argument to set.
21566
b71c3fae
VS
215672010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21568
21569 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
21570
275433e6
VS
215712010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21572
21573 Don't export grub_gate_a20.
21574
21575 * grub-core/kern/i386/pc/init.c: Remove leftovers.
21576 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
21577 to ...
21578 (grub_gate_a20): ... this. All users updated.
21579 * include/grub/i386/pc/init.h: Removed. All users updated.
21580
a5dbb1f1
VS
215812010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21582
21583 Create euro.pf2 which supports most European languages.
21584
21585 * Makefile.am (grubdata_DATA): Add euro.pf2.
21586 (euro.pf2): New target.
21587 (CLEANFILES): Add euro.pf2.
21588
62a747cb
VS
215892010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21590
21591 * configure.ac: Disable emu-usb by default to prevent inadvertent
21592 device takeover.
21593
608e43b1
VS
215942010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21595
21596 Disable usbserial on grub-emu since our libusb code isn't good enough
21597 yet.
21598
21599 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
21600 (usbserial_pl2303): Likewise.
21601 (usbserial_ftdi): Likewise.
21602
94564f81
VS
216032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21604
21605 * include/grub/disk.h (grub_disk): Remove has_partitions.
21606 All users updated.
21607 * disk/loopback.c (grub_loopback): Remove has_partitions.
21608 All users updated.
21609 (options): Remove partitions. All users updated.
21610 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
21611 * util/i386/pc/grub-setup.c (setup): copy partition table only when
21612 actual partition table is found.
21613
3352800b
VS
216142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21615
21616 Remove readability checks (too many false negatives).
21617
21618 * util/grub-install.in: Remove readability checks.
21619 * util/grub-mkconfig.in: Likewise.
21620 * util/grub.d/10_hurd.in: Likewise.
21621 * util/grub.d/10_kfreebsd.in: Likewise.
21622 * util/grub.d/10_linux.in: Likewise.
21623 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
21624 way.
21625
2419f17a
VS
216262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21627
21628 Enable acpi shutdown on all ACPI platforms.
21629
21630 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
21631 on coreboo, multiboot and EFI.
21632 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
21633 (grub_acpi_halt): Likewise.
21634 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
21635 (grub_cmd_halt): Don't call grub_acpi_halt directly.
21636 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
21637 * grub-core/lib/i386/halt.c (grub_halt)
21638 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
21639
0575c7c3
VS
216402010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21641
21642 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
21643 context.
21644
54ac3cd1
VS
216452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21646
21647 * grub-core/video/efi_gop.c: Fix over-80-chars line.
21648 * grub-core/video/efi_uga.c: Likewise.
21649
b2a30ac5
VS
216502010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21651
21652 Filter devaliases and never open same device twice.
21653
21654 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
21655 (last_ihandle): Likewise.
21656 (ofdisk_hash_ent): New member shortest.
21657 (ofdisk_hash_add): Add canonical path too.
21658 (scan): New function.
21659 (grub_ofdisk_iterate): Iterate over hashed entries.
21660 (compute_dev_path): Don't add :0.
21661 (grub_ofdisk_open): Don't really open the disk.
21662 (grub_ofdisk_close): Avoid closing unrelated disk.
21663 (grub_ofdisk_read): Implement reopen logic.
21664 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
21665 New function.
21666 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
21667 New proto.
21668
fb53b340
VS
216692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21670
21671 Fix sparc64.
21672
21673 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
21674 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
21675 right address. Add sparc64_ieee1275_ldflags.
21676 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
21677 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
21678 to grub_host_to_target_addr
21679 (load_image): Likewise.
21680
f452b040
VS
216812010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21682
21683 * grub-core/normal/completion.c (complete_file): Handle device
21684 containing slash.
21685 Fix based on patch by Doug Nazar.
21686
9b5b2541
VS
216872010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21688
21689 grub-mknetdir script.
21690
21691 * Makefile.util.def (grub-mknetdir): New module.
21692 * tests/util/grub-shell.in: Support boot=net
21693 * util/grub-mknetdir.in: New file.
21694
9d2be652
VS
216952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21696
21697 videoinfo on non-vbe.
21698
21699 * grub-core/Makefile.core.def (vbeinfo): Removed.
21700 (vbetest): Removed.
21701 (videoinfo): New module.
21702 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
21703 * grub-core/commands/i386/pc/vbetest.c: Removed.
21704 * grub-core/commands/videoinfo.c: New file.
21705 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
21706 specification.
21707 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
21708 as vbetest.
21709 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
21710 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
21711 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
21712 mode_number. New parameter mode. All users updated.
21713 (grub_video_gop_iterate): New function.
21714 (grub_video_efi_gop): New member iterate.
21715 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
21716 (grub_vbe_set_video_mode): Remove setting useless fields.
21717 (vbe2videoinfo): New function.
21718 (grub_video_vbe_iterate): Likewise.
21719 (grub_video_vbe_setup): Use vbe2videoinfo.
21720 (grub_video_vbe_print_adapter_specific_info): New function.
21721 (grub_video_vbe_adapter): New fields iterate and
21722 print_adapter_specific_info.
21723 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
21724 All users updated.
21725 (grub_video_mode_info): New field mode_number.
21726 (grub_video_adapter): New fields iterate and
21727 print_adapter_specific_info.
21728
179503f5
TG
217292010-09-13 Tristan Gingold <gingold@free.fr>
217302010-09-13 Robert Millan <rmh.grub@aybabtu.com>
217312010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21732
21733 * grub-core/commands/efi/lsefisystab.c: New file.
21734 * grub-core/commands/efi/lssal.c: Likewise.
21735 * grub-core/Makefile.core.def (lsacpi): New module.
21736 (lsefisystab): Likewise.
21737 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
21738 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
21739 (grub_efi_sal_system_table): New struct.
21740 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
21741 (grub_efi_sal_system_table_memory_descriptor): Likewise.
21742 (grub_efi_sal_system_table_platform_features): Likewise.
21743 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
21744 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
21745 (grub_efi_sal_system_table_ap_wakeup): Likewise.
21746 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
21747
cf9827de
VS
217482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21749
21750 Support explicit user claim that a device is BIOS-visible.
21751
21752 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
21753 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
21754 * grub-core/kern/emu/hostdisk.c
21755 (convert_system_partition_to_system_disk): Support mdX.
21756 (find_system_device): New parameter add. All users updated.
21757 (grub_util_biosdisk_is_present): New function.
21758 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
21759 proto.
21760
53f0eb1f
VS
217612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21762
21763 Search hints support.
21764
21765 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
21766 All users updated.
21767
b23ffd70
YB
217682010-09-13 Yves Blusseau <blusseau@zetam.org>
21769
21770 Bash completion script for util commands
21771
21772 * Makefile.am: Add util/bash-completion.d directory
21773 * configure.ac: Likewise.
21774 * util/bash-completion.d/Makefile.am: New file.
21775 * util/bash-completion.d/grub-completion.bash.in: Likewise.
21776
d547dc28
VS
217772010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21778
21779 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
21780 (print_backlog): set backlog_ucs4 and backlog_glyphs.
21781 Reported by: Yves Blusseau.
21782
2fc8ccb9
VS
217832010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21784
21785 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
21786 partition size and offset.
21787
d8a84076
VS
217882010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21789
21790 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
21791
84fb3b3d
VS
217922010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21793
21794 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
21795
768ec2e2
VS
217962010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21797
21798 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
21799 (grub_xvasprintf): Likewise.
21800
4870900f
VS
218012010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21802
21803 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
21804
faca6bec
VS
218052010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21806
21807 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
21808 args ending with NULL.
21809
218102010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
21811
21812 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
21813 pointer.
21814
3c70f225
SJ
218152010-09-11 Szymon Janc <szymon@janc.net.pl>
21816
21817 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
21818
4df7996d
VS
218192010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21820
21821 Shutdown using ACPI.
21822
21823 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
21824 * grub-core/commands/acpihalt.c: New file.
21825 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
21826 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
21827 (grub_acpi_halt): New proto.
21828 (GRUB_ACPI_SLP_EN): New const.
21829 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
21830 (GRUB_ACPI_OPCODE_*): New enum.
21831 (GRUB_ACPI_EXTOPCODE_*): Likewise.
21832
126b4c32
TG
218332010-09-11 Tristan Gingold <gingold@free.fr>
218342010-09-11 Robert Millan <rmh.grub@aybabtu.com>
218352010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21836
21837 * commands/lsacpi.c: New file.
21838 * grub-core/Makefile.core.def (lsacpi): New module.
21839 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
21840 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
21841 (grub_acpi_madt_entry_header): New struct.
21842 (grub_acpi_madt): Likewise.
21843 (grub_acpi_madt_entry_interrupt_override): Likewise.
21844 (grub_acpi_madt_entry_sapic): Likewise.
21845 (grub_acpi_madt_entry_lsapic): Likewise.
21846 (grub_acpi_madt_entry_platform_int_source): Likewise.
21847 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
21848 (PRIuGRUB_UINT32_T): Likewise.
21849 (PRIxGRUB_UINT64_T): Likewise.
21850
1aa4fe88
VS
218512010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21852
21853 Implement loading palette on ieee1275_fb.
21854
21855 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
21856 (have_setcolors): Likewise.
21857 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
21858 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
21859 (grub_video_ieee1275_set_palette): Implement.
21860
25761e13
VS
218612010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
218622010-09-11 Colin Watson <cjwatson@ubuntu.com>
21863
21864 * util/grub-install.in (grub_partition): New variable.
21865 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
21866 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
21867 Fixes a bug reported by Yves Blusseau.
21868
050abaea
VS
218692010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21870
21871 Fix emu on mipsel.
21872
21873 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
21874 =grub_cpu_flush_cache on all mips and not only yeeloong.
21875 * configure.ac (COND_mips): New conditional.
21876 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
21877 platforms.
21878 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
21879 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
21880 [GRUB_LINKER_HAVE_INIT]: New function.
21881 (grub_emu_post_init): Likewise.
21882 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
21883 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
21884 * include/grub/cache.h (_mips): Include mips/cache.h.
21885 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
21886 LVM and RAID prototypes.
21887 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
21888 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
21889 function.
21890
5ed7d816
CW
218912010-09-10 Colin Watson <cjwatson@ubuntu.com>
21892
21893 * util/grub-install.in: Don't try to verify core.img until after
21894 running grub-mkimage to create it.
21895
90367e04
RM
218962010-09-10 Robert Millan <rmh@gnu.org>
21897
21898 * util/grub.d/10_hurd.in: Add misc readability checks.
21899 * util/grub.d/10_kfreebsd.in: Likewise.
21900 * util/grub.d/10_linux.in: Likewise.
21901
c452fa66
CW
219022010-09-10 Colin Watson <cjwatson@ubuntu.com>
21903
21904 * util/grub-install.in: ${imgext} won't be defined here until the
21905 install branch is merged. For the meantime, only verify core.img on
21906 i386-pc and sparc64-ieee1275 platforms.
21907
c38fe9f4
RM
219082010-09-10 Robert Millan <rmh@gnu.org>
21909
21910 Solaris support in grub_find_zpool_from_dir(). Thanks
21911 Seth Goldberg for referring to getextmntent() facility.
21912
21913 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
21914 `sys/mkdev.h'.
21915 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
21916 `<sys/mnttab.h>'.
21917 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
21918 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
21919 method for finding zpool name.
21920
905f7773
CW
219212010-09-10 Colin Watson <cjwatson@ubuntu.com>
21922
21923 grub-fstest needs the host and hostfs modules while other utilities
21924 actively require those modules to be absent, so grub-fstest needs
21925 its own initialisation and finalisation code.
21926
21927 * Makefile.am (grub_fstest.pp): New target.
21928 (grub_fstest_init.lst): Likewise.
21929 (grub_fstest_init.c): Likewise.
21930 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
21931
fb90b546
RM
219322010-09-10 Robert Millan <rmh@gnu.org>
21933
21934 * configure.ac: Check for `struct statfs.f_fstypename' and
21935 `struct statfs.f_mntfromname'.
21936
21937 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
21938 kFreeBSD-specific code.
21939
66d4bea5
RM
219402010-09-10 Robert Millan <rmh@gnu.org>
21941
21942 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
21943 on ZFS. Now non-main filesystems are supported as / too.
21944
b6a690ee
CW
219452010-09-09 Colin Watson <cjwatson@ubuntu.com>
21946
21947 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
21948 and grub-core/disk/host.c to ...
21949 (grub-fstest): ... here. Having the host disk implementation
21950 present confuses grub-probe and other utility programs.
21951
21952 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
21953 when writing to a file, not when writing to stdout.
21954
8901b00c 219552010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
21956
21957 * tests/partmap_test.in: New test for partitions.
21958 * Makefile.util.def: Rules for new test.
21959
7bf45fdd
RM
219602010-09-09 Robert Millan <rmh@gnu.org>
21961
21962 * util/grub-probe.c (probe): Fix a pair of unhandled error
21963 conditions.
21964
4dfbc574
RM
219652010-09-09 Robert Millan <rmh@gnu.org>
21966
21967 Basic Btrfs support (detection and UUID).
21968
21969 * grub-core/fs/btrfs.c: New file.
21970 * Makefile.util.def (library): Register btrfs.c.
21971 * grub-core/Makefile.core.def: Likewise.
21972
6b8e78ae
RM
219732010-09-08 Robert Millan <rmh@gnu.org>
21974
21975 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
21976 with (optional) parameters to specify device and relative path.
21977 * util/grub-install.in: Use is_path_readable_by_grub() to
21978 verify readability of a few critical files.
21979 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
21980 verify readability of grub.cfg.new.
21981
27f21a8b
VS
219822010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
21983
21984 Split minix.mod into minix.mod and minix2.mod.
21985
21986 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
21987 * grub-core/Makefile.core.def (minix2): New module.
21988 * grub-core/fs/minix.c: Use definitions instead of runtime version
21989 checking.
21990 * grub-core/fs/minix2.c: New file.
21991
c0e53ea5
YB
219922010-09-08 Yves Blusseau <blusseau@zetam.org>
21993
21994 Add new --boot-directory option to replace --root-directory
21995
21996 * util/grub-install.in: Add new --boot-directory option
21997 * util/grub-reboot.in: Likewise.
21998 * util/grub-set-default.in: Likewise.
21999
b9fe6ea2
YB
220002010-09-08 Yves Blusseau <blusseau@zetam.org>
22001
22002 * util/grub-mkconfig.in: Use new variable.
22003
d87aedff
YB
220042010-09-08 Yves Blusseau <blusseau@zetam.org>
22005
22006 * configure.ac: Define some useful variables.
22007
e55e8495
VS
220082010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22009
22010 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22011 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
22012 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
22013 Use terminfo and don't use cursor-on/cursor-off unless it's known
22014 to work.
22015 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
22016 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
22017
6fa6d675
CW
220182010-09-08 Colin Watson <cjwatson@ubuntu.com>
22019
22020 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
22021 starts with "(,", fill the drive containing the loaded image in
22022 between those two characters, but expect that a full partition
22023 specification including partition map names will follow.
22024
92f2aef0
RM
220252010-09-08 Robert Millan <rmh@gnu.org>
22026
22027 * configure.ac: Remove `--enable-grub-fstest' option.
22028 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
22029
22030 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
22031 `grub-fstest' instead of `grub-probe' for readability verification.
22032 * util/grub-probe.c (probe): Remove readability verification kludge.
22033
99fd620d
RM
220342010-09-08 Robert Millan <rmh@gnu.org>
22035
22036 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
22037 initializing `GRUB_FS'.
22038
058e30ac 220392010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
22040
22041 Not command (!) support to GRUB script.
22042
22043 * tests/grub_script_not.in: New test.
22044 * Makefile.util.def: Rules for new test.
22045
22046 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22047 ! command as a special case.
22048 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
22049
b61d05ed 220502010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22051
058e30ac 22052 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
22053 grub_free.
b61d05ed 22054
4d69c786 220552010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22056
22057 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
22058
aa3119c4 220592010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22060
22061 * docs/grub.texi (Shell-like scripting): Documentation for break,
22062 continue, shift and return commands.
22063
db0f7e3d
VS
220642010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
22065
22066 Rename CD-ROM to cd on BIOS.
22067
22068 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
22069 "cd".
22070 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
22071
88b87c93
VS
220722010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22073
22074 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
22075 * util/grub-probe.c (main): Likewise.
22076 * util/i386/pc/grub-setup.c (main): Likewise.
22077 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
22078 Reported and debugged by: alexxy
22079
294f324d
VS
220802010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22081
22082 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
22083 diagnostic info.
22084
d7ee3441
JS
220852010-09-05 Jo Shields <directhex@apebox.org>
22086
22087 * util/grub.d/30_os-prober.in: Add missing classes.
22088
d7e06c1f
VS
220892010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22090
22091 * docs/grub.texi (Theme file format): Document new position format.
22092
fc157e53
VS
220932010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22094
22095 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
22096 a table. Use @code instead of @verbatim.
22097
506e9a1c
CB
220982010-09-05 Colin D Bennett <colin@gibibit.com>
22099
22100 Gfxmenu documentation.
22101
22102 * docs/grub.texi (Theme file format): New chapter.
22103
f0aff67c
SJ
221042010-09-05 Szymon Janc <szymon@janc.net.pl>
22105
22106 * grub-core/Makefile.core.def (xzio): New module.
22107 * grub-core/io/xzio.c: New file.
22108 * grub-core/lib/xzembed/xz.h: New file (from xembed).
22109 * grub-core/lib/xzembed/xz_config.h: Likewise.
22110 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
22111 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
22112 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
22113 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
22114 * grub-core/lib/xzembed/xz_private.h: Likewise.
22115 * grub-core/lib/xzembed/xz_stream.h: Likewise.
22116 * include/grub/file.h (grub_file_filter_id): New compression filter
22117 GRUB_FILE_FILTER_XZIO.
22118
82a85062
VS
221192010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22120
22121 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
22122 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
22123 size.
22124
3579415d
VS
221252010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22126
22127 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
22128 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
22129
5124ae6d
VS
221302010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22131
22132 Uncompressed checksum support.
22133
22134 * grub-core/commands/hashsum.c (options): Add option --uncompress.
22135 (check_list): New parameter uncompress.
22136 (grub_cmd_hashsum): Handle --uncompress.
22137
9aadb3d1
VS
221382010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22139
22140 Reintroduce testload.
22141
22142 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
22143 from here ...
22144 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
22145 (GRUB_MOD_INIT): New function.
22146 (GRUB_MOD_FINI): Likewise.
22147 * grub-core/Makefile.core.def (testload): New module.
22148
a17792c3
SJ
221492010-09-05 Szymon Janc <szymon@janc.net.pl>
22150
22151 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
22152 (uint8_t): New type.
22153 (uint16_t): Likewise.
22154 (uint32_t): Likewise.
22155 (uint64_t): Likewise.
22156
b81e40a3
SJ
221572010-09-05 Szymon Janc <szymon@janc.net.pl>
22158
22159 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
22160
fc2ef117
VS
221612010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22162
22163 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
22164 Made static.
22165 (grub_gzfile_open): Removed. All users updated.
22166 (GRUB_MOD_INIT): New function.
22167 (GRUB_MOD_FINI): Likewise.
22168 * grub-core/kern/file.c (grub_file_filters_all): New variable.
22169 (grub_file_filters_enabled): Likewise.
22170 (grub_file_open): Handle filters.
22171 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
22172 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
22173 * include/grub/file.h (grub_file_filter_id_t): New type.
22174 (grub_file_filter_t): Likewise.
22175 (grub_file_filters_all): New extern variable.
22176 (grub_file_filters_enabled): Likewise.
22177 (grub_file_filter_register): New inline function.
22178 (grub_file_filter_unregister): Likewise.
22179 (grub_file_filter_disable): Likewise.
22180 (grub_file_filter_disable_compression): Likewise.
22181 * include/grub/gzio.h: Removed.
22182
35ee15e0
BC
221832010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22184
22185 Filename expansion support for wildcards in GRUB script.
22186
22187 * tests/grub_script_expansion.in: New test.
22188 * Makefile.util.def: Rule for new test.
22189
22190 * grub-core/commands/wildcard.c: New file, implements filename
22191 expansion support for GRUB script.
22192 * grub-core/Makefile.core.def: Rule update for regexp.mod.
22193 * grub-core/script/argv.c: Cosmetic changes.
22194 * grub-core/script/execute.c (grub_script_arglist_to_argv):
22195 Refactored to perform wildcard expansion on arguments.
22196 * include/grub/script_sh.h (grub_script_wildcard_translator): New
22197 struct.
22198
22199 * tests/util/grub-shell.in: Fix quoting for read input.
22200
5f0c4aca
BC
222012010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22202
22203 Support for updating environment variables with matched substrings
22204 of regexp.
22205
22206 * tests/grub_cmd_regexp.in: New test.
22207 * Makefile.util.def: Rule for new test.
22208
22209 * grub-core/commands/regexp.c: New option -s to update environment
22210 variables with regexp matches.
22211
3759a35f
SJ
222122010-09-04 Szymon Janc <szymon@janc.net.pl>
22213
22214 * include/grub/file.h (grub_file): New member not_easly_seekable.
22215 (grub_file_seekable): New inline function.
22216 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
22217 easily seekable.
22218 (grub_gzio_open): Set not_easly_seekable.
22219 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
22220 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
22221
ed8c6dec
BC
222222010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22223
22224 Support for options to appear multiple times on cmdline.
22225
22226 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
22227 * grub-core/commands/extcmd.c: Support for repeatable option.
22228 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
22229 repeatable option support.
22230
22231 Refactor menuentry into a regular command.
22232
22233 * grub-core/commands/menuentry.c: New file, menuentry command
22234 implementation.
22235 * grub-core/Makefile.core.def: Rule update for normal.mod.
22236 * grub-core/normal/main.c: Moved menuentry creation to
22237 grub-core/commands/menuentry.c.
22238 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
22239 (grub_menu_execute_entry_real): Removed.
22240 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
22241 function.
22242 (grub_script_execute_menuentry): Removed.
22243 * grub-core/script/parser.y (menuentry): Removed.
22244 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
22245 * grub-core/script/yylex.l (menuentry): Removed.
22246 * include/grub/menu.h (grub_menu_init): New prototype.
22247 (grub_menu_fini): New prototype.
22248 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
22249 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
22250 (grub_script_execute_sourcecode): New prototype.
22251
dacd0cf0
BC
222522010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22253
22254 "return" command for GRUB script functions.
22255
22256 * tests/grub_script_return.in: New test.
22257 * Makefile.util.def: Rules for new test.
22258
22259 * grub-core/script/execute.c (grub_script_return): New function.
22260 * grub-core/script/main.c: Register/unregister return commaond.
22261 * include/grub/script_sh.h (grub_script_return): New prototype.
22262
52e72f9d
BC
222632010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22264
22265 "setparams" command to update positional parameters.
22266
22267 * tests/grub_script_setparams.in: New test.
22268 * Makefile.util.def: Rules for new test.
22269
22270 * grub-core/script/argv.c (grub_script_argv_make): New function.
22271 * grub-core/script/execute.c (replace_scope): New function.
22272 (grub_script_setparams): New function.
22273 * grub-core/script/lexer.c: Remove unused variables.
22274 * grub-core/script/main.c: Register/unregister setparams command.
22275 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
22276 (grub_script_setparams): New prototype.
22277
25b60c91
BC
222782010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22279
22280 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
22281 grub_free order.
22282
37e7bf68
BC
222832010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22284
22285 Support for passing block of commands as an argument to extcmds.
22286
22287 * Makefile.util.def: Rules for new test.
22288 * tests/grub_script_blockarg.in: New test.
22289 * grub-core/tests/test_blockarg.c: New file, block argument
22290 command used in the test.
22291
22292 * include/grub/extcmd.h (grub_extcmd_context): New struct.
22293 (grub_register_extcmd_prio): New function prototype.
22294 (grub_extcmd_dispatcher): New function prototype.
22295 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
22296 type.
22297 * include/grub/script_sh.h (struct grub_script): New members
22298 `children', `next_siblings' and `refcnt' for block arguments and
22299 reference counting.
22300 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
22301 (grub_script_arg): New member `script' for block argument.
22302 (grub_script_argv): New member `script' for block argument.
22303 (grub_parser_param): New member `scripts' for block argument.
22304 (grub_script_mem_free): New extern function prototype.
22305 (grub_script_ref): New function prototype.
22306 (grub_script_unref): New function prototype.
22307
22308 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
22309 extcmd form to support block arguments.
22310 * grub-core/script/argv.c: Block arguments support.
22311 * grub-core/script/execute.c: Likewise.
22312 * grub-core/script/lexer.c: Likewise.
22313 * grub-core/script/main.c: Likewise.
22314 * grub-core/script/script.c: Likewise.
22315 * grub-core/script/parser.y: Likewise. New `block' and `block0'
22316 non-terminals.
22317
22318 * grub-core/commands/acpi.c: Update extcmd implementations with
22319 grub_extcmd_context_t.
22320 * grub-core/commands/cat.c: Likewise.
22321 * grub-core/commands/echo.c: Likewise.
22322 * grub-core/commands/extcmd.c: Likewise.
22323 * grub-core/commands/hashsum.c: Likewise.
22324 * grub-core/commands/hdparm.c: Likewise.
22325 * grub-core/commands/help.c: Likewise.
22326 * grub-core/commands/hexdump.c: Likewise.
22327 * grub-core/commands/i386/cpuid.c: Likewise.
22328 * grub-core/commands/i386/pc/drivemap.c: Likewise.
22329 * grub-core/commands/i386/pc/halt.c: Likewise.
22330 * grub-core/commands/i386/pc/sendkey.c: Likewise.
22331 * grub-core/commands/iorw.c: Likewise.
22332 * grub-core/commands/keystatus.c: Likewise.
22333 * grub-core/commands/loadenv.c: Likewise.
22334 * grub-core/commands/ls.c: Likewise.
22335 * grub-core/commands/lspci.c: Likewise.
22336 * grub-core/commands/memrw.c: Likewise.
22337 * grub-core/commands/probe.c: Likewise.
22338 * grub-core/commands/search_wrap.c: Likewise.
22339 * grub-core/commands/setpci.c: Likewise.
22340 * grub-core/commands/sleep.c: Likewise.
22341 * grub-core/disk/loopback.c: Likewise.
22342 * grub-core/hello/hello.c: Likewise.
22343 * grub-core/loader/i386/bsd.c: Likewise.
22344 * grub-core/loader/xnu.c: Likewise.
22345 * grub-core/term/gfxterm.c: Likewise.
22346 * grub-core/term/serial.c: Likewise.
22347 * grub-core/tests/lib/functional_test.c: Likewise.
22348
888d1500
BC
223492010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22350
22351 Multi-line quoted strings support.
22352
22353 * grub-core/script/lexer.c (append_newline): Removed.
22354 (grub_script_lexer_yywrap): Refactored.
22355 (grub_script_lexer_init): Refactored.
22356 * grub-core/script/yylex.l (yywrap): New function.
22357 (grub_lexer_resplit): New function.
22358 (grub_lexer_unput): New function.
22359 * include/grub/script_sh.h (grub_lexer_param): New members, unput
22360 and resplit.
22361 * tests/grub_script_echo1.in: Added few more testcases.
22362
dda060dd
VS
223632010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22364
22365 * grub-core/kern/misc.c: Don't add abort alias in utils.
22366 Reported by: echoline.
22367
6556eba9
BC
223682010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
22369
22370 Add missing files into "make dist" tarball for other platforms.
22371
22372 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
22373 * conf/Makefile.common (dist_noinst_DATA): New variable.
22374 * conf/Makefile.extra-dist: Added missing make dist files.
22375 * grub-core/Makefile.core.def: Likewise.
22376
c8e7bf5f
VS
223772010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22378
22379 Compress grub_prefix.
22380
22381 * grub-core/boot/i386/pc/lnxboot.S: Use
22382 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
22383 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
22384 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
22385 GRUB_MACHINE_PREFIX_END. All users updated.
22386 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
22387 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
22388 + 0x40.
22389 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
22390 * util/grub-mkimage.c (image_target_desc): Change data_end to
22391 prefix_end. All users updated.
22392
a7c00cdb
VS
223932010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22394
22395 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
22396 value.
22397 (grub_openbsd_boot): Likewise.
22398 (grub_netbsd_boot): Likewise.
22399 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
22400 (grub_xnu_boot): Likewise.
22401
9f915872
VS
224022010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22403
22404 * configure.ac: Clean LIBS variable after tests.
22405
efa1bee7
CW
224062010-09-02 Colin Watson <cjwatson@ubuntu.com>
22407
22408 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
22409
61d720e5
VS
224102010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22411
22412 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
22413 echo if libdevmapper will be used.
22414
ef8e0ec8
IT
224152010-09-02 Ian Turner <Ian.Turner@deshaw.com>
22416
22417 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
22418 constant for the same file.
22419
03e261d8
VS
224202010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22421
22422 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
22423
c2a4eba6
CW
224242010-09-02 Colin Watson <cjwatson@ubuntu.com>
22425
22426 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
22427 grub-core/*.pp.
22428
9056cbf3
CW
224292010-09-02 Colin Watson <cjwatson@ubuntu.com>
22430
22431 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
22432 required by the boot protocol.
22433
22434 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
22435 ebp and edi members.
22436 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
22437 state.ebp and state.edi.
22438 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
22439 %ebp and %edi according to grub_relocator32_ebp and
22440 grub_relocator32_edi respectively.
22441 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
22442 and state.edi.
22443
529cc99a
VS
224442010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22445
22446 Add i386-pc-pxe image target.
22447
22448 * util/grub-mkimage.c (image_target_desc): New enum value
22449 IMAGE_I386_PC_PXE.
22450 (image_targets): New target i386-pc-pxe.
22451 (generate_image): Handle i386-pc-pxe image.
22452
9a093920
VS
224532010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22454
22455 Fix grub_pxe_scan.
22456
22457 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
22458 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
22459 All users updated.
22460 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
22461 (grub_pxe_pxenv): Correct type.
22462
f9cefc4e
CW
224632010-09-01 Colin Watson <cjwatson@ubuntu.com>
22464
22465 * NEWS: Document most of the important changes since 1.98.
22466
4066f57f
CW
224672010-09-01 Colin Watson <cjwatson@ubuntu.com>
22468
22469 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
22470 generated manual page) a little.
22471
da2891f9
CW
224722010-09-01 Colin Watson <cjwatson@ubuntu.com>
22473
22474 * docs/grub.texi: Add myself as an author.
22475
ad717fae
VS
224762010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
22477
22478 * Makefile.util.def (libgrub.a): Add missing sunpc.
22479 Reported by: Seth Goldberg.
22480
eefe8abd
VS
224812010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22482
22483 Interrupt wrapping and code simplifications.
22484
9494ef9a
VS
22485 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
22486 x86_noieee1275 which are functionaly equivalent in this case.
22487 (grub-install): Make source on each platform explicit. Enable on
22488 all noemu.
22489 * gentpl.py (x86_efi_pc): Removed group.
22490 (x86_noefi): Likewise.
22491 (i386_noefi): Likewise.
22492 (x86_noieee1275): Likewise.
22493 (i386_noieee1275): Likewise.
22494 (i386_noefi_noieee1275): Likewise.
22495 (i386_pc_qemu_coreboot): Likewise.
22496 (i386_coreboot_multiboot): Likewise.
22497 (i386_pc_coreboot_multiboot_qemu): Likewise.
22498 (x86_noefi_mips): Likewise.
22499 (noieee1275): Likewise.
22500 (ieee1275_mips): Likewise.
22501 (noemu_noieee1275): Likewise.
22502 (cmos): New group.
22503 (usb): Likewise.
22504 (videoinkernel): Likewise.
22505 (videomodules): Likewise.
eefe8abd 22506 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
22507 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
22508 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
22509 include/grub/loader.h, include/grub/msdos_partition.h,
22510 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
22511 include/grub/machine/console.h, include/grub/machine/vga.h,
22512 include/grub/machine/vbe.h, include/grub/machine/init.h,
22513 include/grub/machine/kernel.h, include/grub/cpu/time.h,
22514 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 22515 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
22516 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
22517 * grub-core/Makefile.core.def (kernel): Explicit the source for
22518 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
22519 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
22520 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
22521 Use videoinkernel tag.
22522 (usb): Enable on all usb.
22523 (usbserial_common): Likewise.
22524 (usbserial_pl2303): Likewise.
22525 (usbserial_ftdi): Likewise.
22526 (uhci): Enable on all x86.
22527 (ohci): Enable on all pci.
22528 (cmostest): Enable on all CMOS.
22529 (acpi): Include commands/acpi.c on all platforms.
22530 (halt): Add relevant lib/*/halt.c.
22531 (hdparm): Enable on all pci.
22532 (lspci): Likewise.
22533 (usbtest): Enable on all usb.
22534 (ata): Enable on all pci.
22535 (ata_pthru): Likewise.
22536 (usbms): Enable on all usb.
22537 (usb_keyboard): Likewise.
22538 (font): Use tag videomodules.
22539 (bufio): Likewise.
22540 (datetime): Use tag cmos. Enable on all noemu.
22541 (mmap): Use tags common and x86.
22542 (gfxterm): Use tag videomodules.
22543 (bitmap): Likewise.
22544 (bitmap_scale): Likewise.
22545 (video_fb): Likewise.
22546 (video): Likewise.
22547 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
22548 adjust padding accordingly. All users updated.
22549 (grub_ohci_transaction): Fix bad format specification.
22550 (GRUB_MOD_INIT): Add asserts for struct size.
22551 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
22552 (grub_alloc_td): Likewise.
22553 (grub_free_queue): Likewise.
22554 (grub_uhci_transfer): Likewise.
22555 (grub_uhci_transaction): Fix bad format specification.
22556 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22557 (grub_usb_bulk_readwrite): Likewise.
22558 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
22559 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
22560 Made static.
22561 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
22562 Made static.
22563 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
22564 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
22565 Transformed into C.
22566 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
22567 Moved from here ...
22568 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
22569 ... here. Transformed into C. Made static.
22570 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
22571 Moved from here ...
22572 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
22573 ... here. Transformed into C. Made static.
22574 * grub-core/kern/i386/pc/startup.S
22575 (grub_biosdisk_check_int13_extensions): Moved from here ...
22576 * grub-core/disk/i386/pc/biosdisk.c
22577 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
22578 Made static.
22579 * grub-core/kern/i386/pc/startup.S
22580 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
22581 * grub-core/disk/i386/pc/biosdisk.c
22582 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
22583 Transformed into C. Made static.
22584 * grub-core/kern/i386/pc/startup.S
22585 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
22586 * grub-core/disk/i386/pc/biosdisk.c
22587 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
22588 Transformed into C. Made static.
22589 * grub-core/kern/i386/pc/startup.S
22590 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
22591 * grub-core/disk/i386/pc/biosdisk.c
22592 (grub_biosdisk_get_diskinfo_standard): ... here.
22593 Transformed into C. Made static.
22594 * grub-core/kern/i386/pc/startup.S
22595 (grub_biosdisk_get_num_floppies): Moved from here ...
22596 * grub-core/disk/i386/pc/biosdisk.c
22597 (grub_biosdisk_get_num_floppies): ... here.
22598 Transformed into C. Made static.
22599 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
22600 New function.
22601 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
22602 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
22603 Transformed into C. Made static.
22604 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
22605 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
22606 Transformed into C. Made static.
22607 * grub-core/kern/i386/ieee1275/init.c: Removed.
22608 * grub-core/kern/i386/misc.S: Likewise.
22609 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
22610 Splitted from here ...
22611 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
22612 Transformed into C. Made static. All users updated.
22613 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
22614 Transformed into C. Made static. All users updated.
22615 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
22616 Moved from here...
22617 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
22618 Transformed into C. Made static. All users updated.
22619 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
22620 Moved from here...
22621 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
22622 Transformed into C. Made static. All users updated.
22623 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
22624 Removed (replaced by C version).
22625 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
22626 Moved from here...
22627 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
22628 Transformed into C. Made static.
22629 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
22630 Moved from here...
22631 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
22632 ... here. Transformed into C.
22633 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
22634 Moved from here...
22635 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
22636 ... here. Transformed into C.
22637 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
22638 Moved from here...
22639 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
22640 ... here. Transformed into C. Made static.
22641 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
22642 Moved from here...
22643 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
22644 ... here. Transformed into C.
21ed554b
VS
22645 * grub-core/kern/i386/pc/startup.S
22646 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
22647 * grub-core/video/i386/pc/vbe.c
22648 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
22649 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
22650 Moved from here...
22651 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
22652 ... here. Transformed into C.
22653 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
22654 Moved from here...
22655 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
22656 ... here. Transformed into C.
22657 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
22658 Moved from here...
22659 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
22660 ... here. Transformed into C.
22661 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
22662 Moved from here...
22663 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
22664 ... here. Transformed into C.
22665 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
22666 Moved from here...
22667 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
22668 ... here. Transformed into C. Made static.
22669 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
22670 Moved from here...
22671 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
22672 ... here. Transformed into C. Made static.
22673 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
22674 Moved from here...
22675 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
22676 ... here. Transformed into C. Made static.
22677 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
22678 pxe_rm_entry as third argument.
22679 (grub_bios_interrupt): New function.
22680 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
22681 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
22682 of calling grub_stop.
22683 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
22684 * grub-core/lib/efi/halt.c (grub_halt): ...here.
22685 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
22686 * grub-core/lib/emu/halt.c (grub_halt): ... here.
22687 * grub-core/lib/i386/halt.c: Moved from here ...
22688 * grub-core/lib/i386/halt.c: ... here.
22689 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
22690 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
22691 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
22692 grub_stop_floppy.
22693 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
22694 * include/grub/i386/coreboot/init.h: Removed.
22695 * include/grub/i386/multiboot/init.h: Likewise.
22696 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
22697 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
22698 * include/grub/i386/pc/int.h: New file.
22699 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
22700 (grub_pxe_scan): Removed.
22701 (grub_pxe_call): Update prototype.
22702 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
22703 prototypes.
22704 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
22705 * include/grub/i386/qemu/init.h: Removed.
22706 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
22707 noreturn.
22708 (grub_halt): Likewise.
22709 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
22710 (grub_reboot): Likewise.
22711 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
22712 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
22713 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
22714
215dd471
RM
227152010-08-30 Robert Millan <rmh@gnu.org>
22716
22717 * NEWS: Document addition of ZFS support in `grub-install' and
22718 `grub-mkconfig'.
22719
ebd65b82
BC
227202010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
22721
22722 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
22723 dprintf output.
22724
11721d19
VS
227252010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22726
22727 Remove leftover embedding of font objects.
22728
22729 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22730 * util/grub-install.in (font): Removed.
22731 * util/grub-mkimage.c (generate_image): Remove font support. All users
22732 updated.
22733
37837d4e
VS
227342010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22735
22736 Remove leftover embedding of font objects.
22737
22738 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22739 * util/grub-install.in (font): Removed.
22740 * util/grub-mkimage.c (generate_image): Remove font support. All users
22741 updated.
22742
b4c1aae0
VS
227432010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22744
22745 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 22746 Reported by: Ian Turner
b4c1aae0 22747
8920a08d
VS
227482010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22749
22750 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
22751 timeout to avoid indefinite boot stalling.
22752
f21db033
VS
227532010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22754
22755 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
22756 (grub_env_write_color_highlight): Likewise.
22757
9a9de209
VS
227582010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22759
22760 * grub-core/normal/term.c (print_more): Return to normal and not
22761 to standard state after printing "---MORE---".
22762
3dca01d7
VS
227632010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22764
22765 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
22766 Mask out the bit 0x80 since it has other meaning that specifiing color.
22767
0b986c40
VS
227682010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22769
22770 New relocator. Allows for more kernel support and more straightforward
22771 loader writing.
22772
22773 * Makefile.am (BOOTTARGET): New variable.
22774 (QEMU32): Likewise.
22775 (linux.init.x86_64): New target.
22776 (linux.init.i386): Likewise.
22777 (multiboot.elf): Likewise.
22778 (kfreebsd.elf): Likewise.
22779 (kfreebsd.aout): Likewise.
22780 (pc-chainloader.elf): Likewise.
22781 (pc-chainloader.bin): Likewise.
22782 (ntldr.elf): Likewise.
22783 (ntldr.bin): Likewise.
22784 (multiboot2.elf): Likewise.
22785 (kfreebsd.init.x86_64): Likewise.
22786 (kfreebsd.init.i386): Likewise.
22787 (knetbsd.init.i386): Likewise.
22788 (kopenbsd.init.i386): Likewise.
22789 (knetbsd.init.x86_64): Likewise.
22790 (kopenbsd.init.x86_64): Likewise.
22791 (linux-initramfs.i386): Likewise.
22792 (linux-initramfs.x86_64): Likewise.
22793 (kfreebsd-mfsroot.i386.img): Likewise.
22794 (knetbsd.image.i386): Likewise.
22795 (kopenbsd.image.i386): Likewise.
22796 (kopenbsd.image.x86_64): Likewise.
22797 (knetbsd.miniroot-image.i386.img): Likewise.
22798 (kfreebsd-mfsroot.x86_64.img): Likewise.
22799 (knetbsd.image.x86_64): Likewise.
22800 (knetbsd.miniroot-image.x86_64.img): Likewise.
22801 (kfreebsd-mfsroot.i386.gz): Likewise.
22802 (bootcheck-kfreebsd-i386): Likewise.
22803 (kfreebsd-mfsroot.x86_64.gz): Likewise.
22804 (bootcheck-kfreebsd-x86_64): Likewise.
22805 (knetbsd.miniroot-image.i386.gz): Likewise.
22806 (bootcheck-knetbsd-i386): Likewise.
22807 (bootcheck-kopenbsd-i386): Likewise.
22808 (bootcheck-kopenbsd-x86_64): Likewise.
22809 (knetbsd.miniroot-image.x86_64.gz): Likewise.
22810 (bootcheck-knetbsd-x86_64): Likewise.
22811 (bootcheck-linux-i386): Likewise.
22812 (bootcheck-linux-x86_64): Likewise.
22813 (bootcheck-linux16-i386): Likewise.
22814 (bootcheck-linux16-x86_64): Likewise.
22815 (bootcheck-multiboot): Likewise.
22816 (bootcheck-multiboot2): Likewise.
22817 (bootcheck-kfreebsd-aout): Likewise.
22818 (bootcheck-pc-chainloader): Likewise.
22819 (bootcheck-ntldr): Likewise.
22820 (CLEANFILES): Add new targets.
22821 (BOOTCHECKS): New variable.
22822 (.PHONY): Add bootchecks.
22823 (SUCCESSFUL_BOOT_STRING): New variable.
22824 (BOOTCHECK_TIMEOUT): Likewise.
22825 (bootcheck): New target
22826 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
22827 * configure.ac: Correct efiemu excuse.
22828 * docs/grub.texi (Supported kernels): New chapter.
22829 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
22830 include/grub/mm_private.h. Simplify inclusion of
22831 include/grub/boot.h, include/grub/loader.h
22832 and include/grub/msdos_partition.h
22833 (KERNEL_HEADER_FILES) [i386_coreboot]:
22834 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
22835 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
22836 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
22837 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
22838 include/grub/machine/loader.h.
22839 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
22840 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
22841 extra_dist.
22842 (pci.mod): Enable on i386-multiboot.
22843 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
22844 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
22845 i386-qemu.
22846 (relocator.mod): Rewritten.
22847 (aout.mod): Enable on all x86.
22848 (bsd.mod): Likewise.
22849 (ntldr.mod): New module.
22850 (linux.mod): Use loader/i386/linux.c on all x86.
22851 (xnu.mod): Enable on all x86.
22852 (vga_text.mod): disable on EFI and QEMU.
22853 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
22854 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
22855 * grub-core/efiemu/loadcore.c: Likewise.
22856 * grub-core/efiemu/main.c: Likewise.
22857 (grub_efiemu_exit_boot_services): Removed.
22858 (grub_efiemu_finish_boot_services): Likewise.
22859 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
22860 function.
22861 * grub-core/efiemu/i386/nocfgtables.c: New file.
22862 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
22863 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
22864 (grub_efi_finish_boot_services): Moved from here ...
22865 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
22866 Fille finish memory map and related data.
22867 (finish_mmap_buf): New variable.
22868 (grub_efi_uintn_t finish_mmap_size): Likewise.
22869 (grub_efi_uintn_t finish_key): Likewise.
22870 (grub_efi_uintn_t finish_desc_size): Likewise.
22871 (grub_efi_uint32_t finish_desc_version): Likewise.
22872 (grub_efi_is_finished): Likewise.
22873 (grub_efi_get_memory_map): Use saved memory map if EFI is already
22874 finished.
22875 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
22876 (grub_elf64_phdr_iterate): Likewise.
22877 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
22878 (grub_os_area_size): Likewise.
22879 (grub_machine_init): Don't reserve os area.
22880 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
22881 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
22882 * grub-core/kern/i386/loader.S: Removed.
22883 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
22884 (grub_os_area_size): Likewise.
22885 (grub_machine_init): Don't reserve os area.
22886 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
22887 Don't call grub_dl_unload_all.
22888 Don't include loader.S.
22889 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
22890 Declare the memory after _end as available.
22891 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 22892 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 22893 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
22894 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
22895 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
22896 * include/grub/mm_private.h (grub_mm_header): ... here.
22897 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
22898 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
22899 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
22900 (grub_mm_region): ..here. Removed addr. Added pre_size.
22901 All users updated.
22902 * grub-core/kern/mm.c (base): Renamed to ...
22903 (grub_mm_base): ... this. Made global.
22904 (grub_real_malloc): Alloc from end of region.
22905 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
22906 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
22907 * grub-core/kern/powerpc/cache_flush.S: ... here.
22908 * grub-core/lib/efi/relocator.c: New file.
22909 * grub-core/lib/i386/relocator.c: Rewritten.
22910 * grub-core/lib/i386/relocator16.S: New file.
22911 * grub-core/lib/i386/relocator32.S: Likewise.
22912 * grub-core/lib/i386/relocator64.S: Likewise.
22913 * grub-core/lib/i386/relocator_asm.S: Rewritten.
22914 * grub-core/lib/i386/relocator_common.S: New file.
22915 * grub-core/lib/ieee1275/relocator.c: Likewise.
22916 * grub-core/lib/mips/relocator.c: Rewritten.
22917 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
22918 stylistic adjustments.
22919 * grub-core/lib/powerpc/relocator.c: New file.
22920 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
22921 * grub-core/lib/relocator.c: Rewritten.
22922 * grub-core/lib/x86_64/relocator_asm.S: New file.
22923 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
22924 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
22925 (bsd_tag): New struct.
22926 (tags): New variable.
22927 (tags_last): Likewise.
22928 (netbsd_module): New struct.
22929 (netbsd_mods): New variable.
22930 (netbsd_mods_last): Likewise.
22931 (openbsd_opts): New parameter "serial".
22932 (OPENBSD_SERIAL_ARG): New definition.
22933 (netbsd_opts): New parameter "serial".
22934 (NETBSD_SERIAL_ARG): New definition.
22935 (grub_freebsd_add_meta): Reorganised into ...
22936 (grub_bsd_add_meta): ...this. All users updated.
22937 (grub_freebsd_add_mmap): Reorganised into ...
22938 (generate_e820_mmap): ...this...
22939 (grub_bsd_add_mmap): ...and this. All users updated.
22940 (grub_freebsd_list_modules): Use tags.
22941 (grub_netbsd_add_meta_module): New function.
22942 (grub_netbsd_list_modules): Likewise.
22943 (grub_freebsd_boot): Use relocator and finish EFI.
22944 (grub_openbsd_boot): Likewise.
22945 (grub_netbsd_setup_video): New function.
22946 (grub_netbsd_add_modules): Likewise.
22947 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
22948 and finish EFI.
22949 (grub_bsd_unload): Unload tags.
22950 (grub_bsd_load_aout): Use relocator.
22951 (grub_bsd_elf32_size_hook): New function.
22952 (grub_bsd_elf32_hook): Use relocator.
22953 (grub_bsd_elf64_size_hook): New function.
22954 (grub_bsd_elf64_hook): Use relocator.
22955 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
22956 (grub_bsd_load): Zero-out openbsd_ramdisk.
22957 (grub_bsd_load): Use relocator.
22958 (grub_cmd_openbsd): Support serial.
22959 (grub_cmd_netbsd): Support modules.
22960 (grub_cmd_freebsd_module): Use relocator.
22961 (grub_netbsd_module_load): New function.
22962 (grub_cmd_netbsd_module): Likewise.
22963 (grub_cmd_openbsd_ramdisk): Likewise.
22964 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
22965 kopenbsd_ramdisk.
22966 (GRUB_MOD_FINI): Unregister new commands.
22967 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
22968 (grub_freebsd_load_elfmodule_obj): Use relocator.
22969 (grub_freebsd_load_elfmodule): Likewise.
22970 (grub_freebsd_load_elf_meta): Likewise.
22971 (grub_netbsd_load_elf_meta): New function.
22972 (grub_openbsd_find_ramdisk): Likewise.
22973 * grub-core/loader/i386/bsd_helper.S: Removed.
22974 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
22975 * grub-core/loader/i386/bsd_trampoline.S: Removed.
22976 * grub-core/loader/i386/efi/linux.c: Likewise.
22977 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
22978 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
22979 (DEFAULT_VIDEO_MODE): Likewise.
22980 (real_mode_target): New variable.
22981 (prot_mode_target): Likewise.
22982 (initrd_mem_target): Likewise.
22983 (relocator): Likewise.
22984 (efi_mmap_buf): Likewise.
22985 (efi_mmap_size): Likewise.
22986 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
22987 (free_pages): Use relocator.
22988 (allocate_pages): Account for efi_mmap and use relocator. Return error.
22989 (grub_linux_setup_video): Return error.
22990 (grub_linux_trampoline_start): Removed.
22991 (grub_linux_trampoline_end): Likewise.
22992 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
22993 andd video parameters depending on firmware.
22994 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
22995 [GRUB_MACHINE_EFI]: Pass EFI parameters.
22996 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
22997 (grub_cmd_initrd): Use relocator.
22998 * grub-core/loader/i386/linux_trampoline.S: Removed.
22999 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
23000 (elf_sec_entsize): Likewise.
23001 (elf_sec_shstrndx): Likewise.
23002 (elf_sections): Likewise.
23003 (grub_multiboot_load): Use relocator.
23004 (grub_multiboot_get_mbi_size): Account for sections.
23005 (grub_multiboot_make_mbi): Use relocator and support sections.
23006 (grub_multiboot_add_elfsyms): New function.
23007 (grub_multiboot_free_mbi): Free sections.
23008 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
23009 (grub_linux_real_target): Likewise.
23010 (grub_linux_real_chunk): Likewise.
23011 (grub_linux16_prot_size): Likewise.
23012 (grub_linux16_boot): Use relocator.
23013 (grub_linux_unload): Unload relocator.
23014 (grub_cmd_linux): Use relocator.
23015 (grub_cmd_initrd): Likewise.
23016 * grub-core/loader/i386/pc/ntldr.c: New file.
23017 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
23018 Don't try to guess CPU frequency.
23019 (grub_xnu_set_video): Stretch bitmap.
23020 (grub_xnu_boot): Use relocator.
23021 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
23022 (grub_linux_unload): Free relocator.
23023 (grub_linux_load32): Use relocator.
23024 (grub_linux_load64): Likewise.
23025 (grub_cmd_initrd): Likewise.
23026 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
23027 (grub_multiboot_unload): Unload relocator.
23028 (grub_cmd_multiboot): Use relocator.
23029 (grub_cmd_module): Likewise.
23030 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
23031 Use relocator and support sections.
23032 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
23033 (elf_sec_entsize): Likewise.
23034 (elf_sec_shstrndx): Likewise.
23035 (elf_sections): Likewise.
23036 (grub_multiboot_load): Use relocator.
23037 (grub_multiboot_get_mbi_size): Account for sections.
23038 (grub_multiboot_make_mbi): Use relocator and support sections.
23039 (grub_multiboot_add_elfsyms): New function.
23040 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
23041 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
23042 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
23043 Prototype changed. All users updated.
23044 (grub_xnu_align_heap): Simplified.
23045 (grub_xnu_writetree_toheap): Likewise.
23046 (grub_xnu_unload): Unload relocator.
23047 (grub_cmd_xnu_kernel): Use relocator.
23048 (grub_cmd_xnu_kernel64): Likewise.
23049 (grub_xnu_register_memory): Simplified.
23050 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
23051 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
23052 EFI is finished.
23053 (grub_console_checkkey): Likewise.
23054 (grub_console_getkey): Likewise.
23055 (grub_console_getwh): Likewise.
23056 (grub_console_getxy): Likewise.
23057 (grub_console_gotoxy): Likewise.
23058 (grub_console_cls): Likewise.
23059 (grub_console_setcolorstate): Likewise.
23060 (grub_console_setcursor): Likewise.
23061 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
23062 * grub-core/tests/boot/kbsd.init-i386.S: New file.
23063 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
23064 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
23065 * grub-core/tests/boot/kernel-8086.S: Likewise.
23066 * grub-core/tests/boot/kernel-i386.S: Likewise.
23067 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
23068 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
23069 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
23070 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
23071 * grub-core/tests/boot/knetbsd.cfg: Likewise.
23072 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
23073 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
23074 * grub-core/tests/boot/linux.cfg: Likewise.
23075 * grub-core/tests/boot/linux.init-i386.S: Likewise.
23076 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
23077 * grub-core/tests/boot/linux16.cfg: Likewise.
23078 * grub-core/tests/boot/multiboot.cfg: Likewise.
23079 * grub-core/tests/boot/multiboot2.cfg: Likewise.
23080 * grub-core/tests/boot/ntldr.cfg: Likewise.
23081 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
23082 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
23083 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
23084 New definition.
23085 * include/grub/dl.h (grub_dl_unload_all): Removed.
23086 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
23087 (grub_efi_finish_boot_services): Change prototype.
23088 (grub_efi_is_finished): New variable.
23089 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
23090 Changed prototype.
23091 (grub_efiemu_finish_boot_services): Removed.
23092 (grub_machine_efiemu_init_tables): New prototype.
23093 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
23094 (grub_elf64_phdr_iterate): Likewise.
23095 * include/grub/i386/bsd.h: Include relocator.h.
23096 (freebsd_tag_header): New struct.
23097 (grub_openbsd_bios_mmap): Removed.
23098 (grub_unix_real_boot): Removed.
23099 (grub_freebsd_load_elfmodule32): Changed prototype.
23100 (grub_freebsd_load_elfmodule_obj64): Likewise.
23101 (grub_freebsd_load_elf_meta32): Likewise.
23102 (grub_freebsd_load_elf_meta64): Likewise.
23103 (grub_freebsd_add_meta): Removed.
23104 (grub_netbsd_load_elf_meta32): New prototype.
23105 (grub_netbsd_load_elf_meta64): Likewise.
23106 (grub_bsd_add_meta): Likewise.
23107 (grub_openbsd_ramdisk_descriptor): New struct.
23108 (grub_openbsd_find_ramdisk32): New prototype.
23109 (grub_openbsd_find_ramdisk64): Likewise.
23110 * include/grub/i386/coreboot/loader.h: Removed.
23111 * include/grub/i386/efi/loader.h: Likewise.
23112 * include/grub/i386/ieee1275/loader.h: Likewise.
23113 * include/grub/i386/linux.h (linux_kernel_header): Change void *
23114 to grub_uint32_t.
23115 * include/grub/i386/loader.h: Removed.
23116 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
23117 value.
23118 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
23119 (grub_phys_addr_t): New type.
23120 (grub_vtop): New inline function.
23121 (grub_map_memory): Likewise.
23122 (grub_unmap_memory): Likewise.
23123 * include/grub/i386/multiboot/loader.h: Removed.
23124 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
23125 (NETBSD_BTINFO_CONSOLE): New definition.
23126 (NETBSD_BTINFO_SYMTAB): Likewise.
23127 (NETBSD_BTINFO_MODULES): Likewise.
23128 (NETBSD_BTINFO_FRAMEBUF): Likewise.
23129 (grub_netbsd_bootinfo): New struct.
23130 (grub_netbsd_btinfo_common): Use explicit bitsize.
23131 (grub_netbsd_btinfo_mmap_entry): Removed.
23132 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
23133 (grub_netbsd_btinfo_bootdisk): New struct.
23134 (grub_netbsd_btinfo_symtab): Likewise.
23135 (grub_netbsd_btinfo_serial): Likewise.
23136 (grub_netbsd_btinfo_modules): Likewise.
23137 (grub_netbsd_btinfo_framebuf): Likewise.
23138 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
23139 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
23140 Likewise.
23141 (grub_openbsd_bootargs): Use explicit bitsize.
23142 (grub_openbsd_bootarg_console): New struct.
23143 (GRUB_OPENBSD_COM_MAJOR): New definition.
23144 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
23145 * include/grub/i386/pc/efiemu.h: Removed.
23146 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
23147 * include/grub/i386/qemu/loader.h: Removed.
23148 * include/grub/i386/relocator.h: Rewritten.
23149 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
23150 * include/grub/mips/memory.h: New file.
23151 * include/grub/mips/multiboot.h: Rewritten.
23152 * include/grub/mips/relocator.h: Rewritten.
23153 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
23154 (grub_vtop): New function.
23155 (grub_map_memory): Likewise.
23156 (grub_unmap_memory): Likewise.
23157 * include/grub/misc.h (ALIGN_DOWN): New definition.
23158 * include/grub/mm.h (grub_mm_check_real): New proto.
23159 (GRUB_MM_CHECK): New definition.
23160 * include/grub/mm_private.h: New file.
23161 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
23162 (grub_multiboot_get_mbi_size): Removed.
23163 (grub_multiboot_make_mbi): Change prottype.
23164 (grub_multiboot_set_accepts_video): New proto.
23165 (grub_multiboot_add_elfsyms): Likewise.
23166 (grub_multiboot_payload_eip): New variable.
23167 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
23168 New prototype.
23169 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
23170 New definition.
23171 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
23172 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
23173 * include/grub/powerpc/ieee1275/loader.h: Removed.
23174 * include/grub/powerpc/memory.h: New file.
23175 * include/grub/powerpc/relocator.h: Likewise.
23176 * include/grub/relocator.h: Likewise.
23177 * include/grub/relocator_private.h: Likewise.
23178 * include/grub/sparc64/ieee1275/loader.h: Removed.
23179 * include/grub/x86_64/memory.h: New file.
23180 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
23181 (grub_xnu_heap_malloc): Likewise.
23182 (grub_xnu_heap_real_start): Removed.
23183 (grub_xnu_heap_start): Likewise.
23184 (grub_xnu_relocator): New variable.
23185 (grub_xnu_heap_target_start): Likewise.
23186 * tests/util/grub-shell.in: Support non-pc.
23187 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 23188
5303b85d
VS
231892010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23190
23191 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
23192 on malloc error.
23193 (grub_bidi_logical_to_visual): Check that malloc succeded.
23194 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
23195 puts.
23196 (grub_xputs_normal): Likewise.
23197
d768d159
VS
231982010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23199
23200 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
23201 extra_dist.
23202
232032010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23204
23205 * grub-core/efiemu/runtime/efiemu.sh: Removed.
23206
5bf84df4
VS
232072010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23208
23209 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
23210
3626810e
VS
232112010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23212
23213 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
23214 dprintf.
23215
a7363f53
BC
232162010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
23217
23218 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
23219
902f75f6
VS
232202010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23221
23222 * grub-core/normal/term.c (print_more): Fix a memory leak.
23223 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
23224 (grub_xputs_normal): Likewise.
23225
3c707967
VS
232262010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23227
23228 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
23229 the begining of the string
23230
2053cc07
VS
232312010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23232
23233 * grub-core/script/script.c (grub_script_parse): Free parsed on
23234 failure.
23235
46422ebf
VS
232362010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23237
23238 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
23239 on failure.
23240
9e0fa3f6
VS
232412010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23242
23243 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
23244 return.
23245
3393cf16
VS
232462010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23247
23248 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
23249 (scroll_up): Fix a memory leak.
23250
b17540cb
VS
232512010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23252
23253 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
23254 errors.
23255
67140446
VS
232562010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
23257
23258 Handle USB pendrives exposed as floppies.
23259
23260 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
23261 floppy.
23262 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
23263 Check for partitions on all devices.
23264
e35e46fc
VS
232652010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23266
23267 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
23268 (readkey): Likewise.
23269
d24c6190
BC
232702010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
23271
23272 Multiple variable names support to "export" command.
23273
23274 * normal/context.c (grub_cmd_export): "export" command supports
23275 multiple variable names.
23276
04ddcc6a
ST
232772010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
23278
23279 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
23280 --target=drive output to Mach device name.
23281
0c8b61d8
BC
232822010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23283
23284 New Automake based build system for GRUB.
23285
23286 * ABOUT-NLS: New file.
23287 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
23288 in Makefile.util.def file.
23289 * Makefile.util.def: New file. Autogen build definitions file for
23290 GRUB host utils.
23291 * conf/Makefile.common: New file. Common variables for GRUB host
23292 utils and target modules.
23293 * conf/Makefile.extra-dist: New file. Extra files for make dist.
23294 * docs/Makefile.am: New file. Automake file for docs.
23295 * gentpl.py: New file. Python script to generate Autogen
23296 template.
23297 * grub-core/Makefile.am: New file. GRUB target modules' rules
23298 that doesn't fit in Makefile.core.def file.
23299 * grub-core/Makefile.core.def: New file. Autogen build
23300 definitions file for GRUB target modules.
23301 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
23302 specific setjmp.S file.
23303 * po/Makefile.am: New file.
23304
23305 * .bzrignore: New ignores.
23306 * INSTALL: New requirements, without Ruby.
23307 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
23308 * autogen.sh: Updated to invoke autogen as necessary.
23309 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
23310 and defines for Automake conditionals.
23311 * geninit.sh: Refactoring.
23312
23313 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
23314 necessary.
23315 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
23316 New prototype.
23317
23318 * include/grub/test.h: Fix functional test modules' naming.
23319 * grub-core/tests/example_functional_test.c: Fix test module name.
23320
23321 * util/misc.c: Hosted versions' of grub functions for libgrub.a
23322 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
23323 * util/grub-editenv.c: Likewise.
23324 * util/grub-fstest.c: Likewise.
23325 * util/grub-mkdevicemap.c: Likewise.
23326 * util/grub-mkfont.c: Likewise.
23327 * util/grub-mkimage.c: Likewise.
23328 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23329 * util/grub-probe.c: Likewise.
23330 * util/grub-script-check.c: Likewise.
23331 * util/i386/pc/grub-setup.c: Likewise.
23332 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23333
23334 * tests/util/grub-shell.in: Fix override directory path.
23335 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
23336 * util/import_gcry.py: Create Makefile.gcry.def file instead.
23337
23338 * util/lvm.c: Update #includes.
23339 * util/raid.c: Likewise.
23340 * util/resolve.c: Likewise.
23341 * grub-core/bus/emu/pci.c: Likewise.
23342 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
23343 * grub-core/lib/posix_wrap/string.h: Likewise.
23344 * grub-core/kern/emu/main.c: Likewise.
23345
23346 * grub-core/gensymlist.sh: New file. Script for generating kernel
23347 symbols file.
23348 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
23349
23350 * grub-core/gentrigtables.c: Fix unused variable warnings.
23351
23352 * Makefile.in: Removed.
23353 * conf/any-emu.rmk: Removed.
23354 * conf/common.rmk: Removed.
23355 * conf/i386-coreboot.rmk: Removed.
23356 * conf/i386-efi.rmk: Removed.
23357 * conf/i386-ieee1275.rmk: Removed.
23358 * conf/i386-multiboot.rmk: Removed.
23359 * conf/i386-pc.rmk: Removed.
23360 * conf/i386-qemu.rmk: Removed.
23361 * conf/i386.rmk: Removed.
23362 * conf/mips-yeeloong.rmk: Removed.
23363 * conf/mips.rmk: Removed.
23364 * conf/powerpc-ieee1275.rmk: Removed.
23365 * conf/sparc64-ieee1275.rmk: Removed.
23366 * conf/tests.rmk: Removed.
23367 * conf/x86-efi.rmk: Removed.
23368 * conf/x86_64-efi.rmk: Removed.
23369 * gendistlist.sh: Removed.
23370 * geninitheader.sh: Removed.
23371 * genkernsyms.sh.in: Removed.
23372 * genmk.rb: Removed.
23373 * gensymlist.sh.in: Removed.
23374 * mkinstalldirs: Removed.
23375 * boot: Moved ...
23376 * grub-core/boot: ... to here.
23377 * bus: Moved ...
23378 * grub-core/bus: ... to here.
23379 * commands: Moved ...
23380 * grub-core/commands: ... to here.
23381 * disk: Moved ...
23382 * grub-core/disk: ... to here.
23383 * efiemu: Moved ...
23384 * grub-core/efiemu: ... to here.
23385 * font: Moved ...
23386 * grub-core/font: ... to here.
23387 * fs: Moved ...
23388 * grub-core/fs: ... to here.
23389 * gencmdlist.sh: Moved ...
23390 * grub-core/gencmdlist.sh: ... to here.
23391 * genemuinit.sh: Moved ...
23392 * grub-core/genemuinit.sh: ... to here.
23393 * genemuinitheader.sh: Moved ...
23394 * grub-core/genemuinitheader.sh: ... to here.
23395 * genfslist.sh: Moved ...
23396 * grub-core/genfslist.sh: ... to here.
23397 * genhandlerlist.sh: Moved ...
23398 * grub-core/genhandlerlist.sh: ... to here.
23399 * genmoddep.awk: Moved ...
23400 * grub-core/genmoddep.awk: ... to here.
23401 * genmodsrc.sh: Moved ...
23402 * grub-core/genmodsrc.sh: ... to here.
23403 * genpartmaplist.sh: Moved ...
23404 * grub-core/genpartmaplist.sh: ... to here.
23405 * genparttoollist.sh: Moved ...
23406 * grub-core/genparttoollist.sh: ... to here.
23407 * genterminallist.sh: Moved ...
23408 * grub-core/genterminallist.sh: ... to here.
23409 * gentrigtables.c: Moved ...
23410 * grub-core/gentrigtables.c: ... to here.
23411 * genvideolist.sh: Moved ...
23412 * grub-core/genvideolist.sh: ... to here.
23413 * gettext: Moved ...
23414 * grub-core/gettext: ... to here.
23415 * gfxmenu: Moved ...
23416 * grub-core/gfxmenu: ... to here.
23417 * gnulib: Moved ...
23418 * grub-core/gnulib: ... to here.
23419 * hello: Moved ...
23420 * grub-core/hello: ... to here.
23421 * hook: Moved ...
23422 * grub-core/hook: ... to here.
23423 * io: Moved ...
23424 * grub-core/io: ... to here.
23425 * kern: Moved ...
23426 * grub-core/kern: ... to here.
23427 * lib: Moved ...
23428 * grub-core/lib: ... to here.
23429 * loader: Moved ...
23430 * grub-core/loader: ... to here.
23431 * mmap: Moved ...
23432 * grub-core/mmap: ... to here.
23433 * normal: Moved ...
23434 * grub-core/normal: ... to here.
23435 * partmap: Moved ...
23436 * grub-core/partmap: ... to here.
23437 * parttool: Moved ...
23438 * grub-core/parttool: ... to here.
23439 * script: Moved ...
23440 * grub-core/script: ... to here.
23441 * term: Moved ...
23442 * grub-core/term: ... to here
23443 * tests/example_functional_test.c: Moved ...
23444 * grub-core/tests/example_functional_test.c: ... to here.
23445 * tests/lib/functional_test.c: Moved ...
23446 * grub-core/tests/lib/functional_test.c: ... to here.
23447 * tests/lib/test.c: Moved ...
23448 * grub-core/tests/lib/test.c: ... to here.
23449 * video: Moved ...
23450 * grub-core/video: ... to here.
23451
645586e6
BC
234522010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23453
23454 Replace --enable-grub-emu-modules with grub-emu-lite.
23455
23456 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
23457 cache.S.
23458
23459 * include/grub/emu/misc.h (grub_emu_init): New prototype.
23460 * kern/emu/full.c: New file. For grub-emu specific initialization.
23461 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
23462 * kern/emu/main.c: Call initialization function grub_emu_init.
23463
23464 * Makefile.in: Include grub-emu-lite in install.
23465 * commands/parttool.c: Use grub_no_autoload to differentiate
23466 between grub-emu and grub-emu-lite.
23467 * include/grub/misc.h: New variable grub_no_autoload.
23468
23469 * conf/any-emu.rmk: New rules for grub-emu-lite.
23470 * configure.ac: Remove --enable-grub-emu-modules.
23471 * genmk.rb: Cleanup unnecessary rules.
23472 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
23473
23474 * normal/main.c: Don't load list files on grub-emu-lite.
23475 * util/misc.c (grub_arch_sync_caches): Removed.
23476
f86a4030
CW
234772010-08-23 Colin Watson <cjwatson@ubuntu.com>
23478
23479 * kern/mips/startup.S (grub_prefix): Update comment to refer to
23480 grub-mkimage rather than grub-mkelfimage.
23481 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
23482
06776944
VS
234832010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23484
23485 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
23486 a key after CapsLock or NumLock. It's just a qemu bug.
23487
df262419
VS
234882010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23489
23490 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
23491 needed by libusb wrapper.
23492
b40ea81b
ST
234932010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23494
23495 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
23496
dee50575
VS
234972010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23498
23499 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
23500 --nounzip is passed.
23501
fb1d7b79
VS
235022010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
23503
23504 USB hotunplugging and USB serial support.
23505
23506 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
23507 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
23508 (grub_uhci_transfer): Respect timeout and set *actual.
23509 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
23510 non-standard length.
23511 (grub_usb_device_attach): Autoload modules.
23512 (GRUB_MOD_INIT): Set grub_term_poll_usb.
23513 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
23514 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
23515 users updated.
23516 (grub_usb_add_hub): Fill nports and children.
23517 (attach_root_port): Receive hub instead of controller.
23518 All users updated. Fill hub->devices.
23519 (grub_usb_root_hub): Allocate hub->devices.
23520 (detach_device): New function.
23521 (poll_nonroot_hub): Fill children and detach devices.
23522 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
23523 actual arguments. All users updated.
23524 (grub_usb_bulk_read_extended): New function.
23525 * bus/usb/serial/common.c: New file.
23526 * bus/usb/serial/ftdi.c: Likewise.
23527 * bus/usb/serial/pl2303.c: Likewise.
23528 * commands/terminal.c (handle_command): Support wildcard.
23529 * commands/usbtest.c: Output "Unknown" instead of empty string.
23530 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
23531 (usbserial_common_mod_SOURCES): New variable.
23532 (usbserial_common_mod_CFLAGS): Likewise.
23533 (usbserial_common_mod_LDFLAGS): Likewise.
23534 (pkglib_MODULES): Add usbserial_pl2303.mod.
23535 (usbserial_pl2303_mod_SOURCES): New variable.
23536 (usbserial_pl2303_mod_CFLAGS): Likewise.
23537 (usbserial_pl2303_mod_LDFLAGS): Likewise.
23538 (pkglib_MODULES): Add usbserial_ftdi.mod.
23539 (usbserial_ftdi_mod_SOURCES): New variable.
23540 (usbserial_ftdi_mod_CFLAGS): Likewise.
23541 (usbserial_ftdi_mod_LDFLAGS): Likewise.
23542 (pkglib_MODULES): Add serial.mod.
23543 (serial_mod_SOURCES): New variable.
23544 (serial_mod_CFLAGS): Likewise.
23545 (serial_mod_LDFLAGS): Likewise.
23546 * conf/i386-pc.rmk: Likewise.
23547 * conf/mips-yeeloong.rmk: Likewise.
23548 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
23549 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23550 * disk/usbms.c (first_available_slot): New variable.
23551 (grub_usbms_attach): Don't reuse free slots due to potential cache
23552 problems.
23553 * include/grub/serial.h: Moved to ..
23554 * include/grub/ns8250.h: ...this.
23555 * include/grub/serial.h: New file.
23556 * include/grub/term.h (grub_term_poll_usb): New variable.
23557 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
23558 readkey. All users updated.
23559 (grub_terminfo_output_state): Pass term to put.
23560 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
23561 (grub_usb_controller_dev): Add timeout and actual arguments to
23562 transfer. All users updated.
23563 (grub_usb_interface): New field detach_data.
23564 (grub_usb_device): New fields children and nports.
23565 (grub_usb_ep_type_t): New type.
23566 (grub_usb_get_ep_type): New function.
23567 (grub_usb_bulk_read_extended): Likewise.
23568 * include/grub/usbdesc.h (grub_usb_desc): New type.
23569 * include/grub/usbserial.h: New file.
23570 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
23571 * kern/term.c (grub_term_poll_usb): New variable.
23572 (grub_getkey): Call grub_term_poll_usb if set.
23573 (grub_checkkey): Likewise.
23574 (grub_getkeystatus): Likewise.
23575 * term/serial.c: Moved controller-specific parts to ...
23576 * term/ns8250.c: ... here.
23577 * term/serial.c: Mostly rewritten.
23578 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
23579 according to spec.
23580
21a313de
RM
235812010-08-20 Robert Millan <rmh@gnu.org>
23582
23583 Make kFreeBSD code more generic to support ext2fs as root, ufs as
23584 a separate module and maybe other interesting combinations.
23585
23586 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
23587 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
23588 (kfreebsd_entry): Add generic filesystem module load routine.
23589 Map GRUB `ext2' to kFreeBSD `ext2fs'.
23590
63c734a6
CW
235912010-08-20 Colin Watson <cjwatson@ubuntu.com>
23592
23593 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
23594 "numcenter" (I misunderstood the purpose of this entry).
23595 * docs/grub.texi (sendkey): Likewise.
23596
c4d16542
CW
235972010-08-20 Colin Watson <cjwatson@ubuntu.com>
23598
23599 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
23600 status flag options; simply omitting the option is equivalent and
23601 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
23602 (keysym_table): Rename "num5numlock" to "numlock".
23603 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
23604 can uniformly say that only the last of multiple `sendkey'
23605 invocations has any effect.
23606 * docs/grub.texi (sendkey): New section.
23607
93541d66
CW
236082010-08-19 Colin Watson <cjwatson@ubuntu.com>
23609
23610 * commands/i386/pc/sendkey.c (options): Fix three typos.
23611
b4ece5e1
VS
236122010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
23613
23614 Implement sendkey support.
23615
23616 * commands/i386/pc/sendkey.c: New file.
23617 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
23618 (sendkey_mod_SOURCES): New variable.
23619 (sendkey_mod_CFLAGS): Likewise.
23620 (sendkey_mod_LDFLAGS): Likewise.
23621
51f1f5af
CW
236222010-08-18 Colin Watson <cjwatson@ubuntu.com>
23623
23624 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
23625 fix warnings from Autoconf.
23626
9da94e05
CW
236272010-08-18 Colin Watson <cjwatson@ubuntu.com>
23628
23629 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
23630 to avoid false positives with some assemblers that output things
23631 like "someprefix_func" as part of their output.
23632
729a0f2e
RM
236332010-08-15 Robert Millan <rmh@gnu.org>
23634
23635 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
23636 errors.
23637 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
23638 grub_get_libzfs_handle() errors.
23639
f3710e08
RM
236402010-08-14 Robert Millan <rmh@gnu.org>
23641
23642 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
23643 filesystem is not ZFS.
23644
7a3c13de
BC
236452010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23646
23647 Fix for misspelled color names defaulting to black/black (bug
23648 reported by Doug Nazar)
23649
23650 * include/grub/normal.h (grub_parse_color_name_pair): Add return
23651 status to prototype.
23652 * normal/color.c (grub_parse_color_name_pair): Return failure
23653 status.
23654 (grub_env_write_color_normal): Ignore bad color names.
23655 (grub_env_write_color_highlight): Likewise.
23656 * normal/main.c (GRUB_MOD_INIT): Set default color names.
23657
ab8ba50d
BC
236582010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23659
23660 "shift" command support to GRUB script.
23661
23662 * include/grub/script_sh.h (grub_script_shift): New prototype.
23663 * script/execute.c (grub_script_shift): New function.
23664 * script/main.c (grub_script_init): Register shift command.
23665 (grub_script_fini): Unregister shift command.
23666 * util/grub-script-check.c (grub_script_cmd_shift): New function.
23667
23668 * tests/grub_script_shift.in: New testcase.
23669 * conf/tests.rmk: Rules for new testcase.
23670
4d61999e
BC
236712010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23672
23673 "continue" command support to GRUB script.
23674
23675 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
23676 (grub_script_break): Continue support.
23677 * script/main.c (grub_script_init): Register continue command.
23678 (grub_script_fini): Unregister continue command.
23679
23680 * tests/grub_script_continue.in: New testcase.
23681 * conf/tests.rmk: Rules for new testcase.
23682
4df51e00
BC
236832010-08-12 BVK Chaitanya <bvk@dbook>
23684
23685 "break" command support to GRUB script.
23686
23687 * conf/common.rmk: Rule updates to grub-script-check.
23688 * include/grub/misc.h (grub_min): New function.
23689 * include/grub/script_sh.h (grub_script_init): New prototype.
23690 (grub_script_fini): New prototype.
23691 (grub_script_break): New prototype.
23692 * script/main.c (grub_script_init): New function.
23693 (grub_script_fini): New function.
23694 * script/execute.c (grub_script_break): New function.
23695 * normal/main.c: Calls to grub_script_{init,fini}.
23696 * util/grub-script-check.c (grub_script_break): New function.
23697
23698 * tests/grub_script_break.in: New testcase.
23699 * conf/tests.rmk: Rules for new test case.
23700
f12c8420
BC
237012010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23702
23703 Function parameters support to GRUB script.
23704
23705 * script/yylex.l (VARIABLE): Regular expression update.
23706 * script/function.c (grub_script_function_call): Moved ...
23707 * script/execute.c (grub_script_function_call): ... to here.
23708 (grub_script_execute_arglist_to_argv): Removed.
23709 (grub_script_arglist_to_argv): New function.
23710 * script/argv.c: New file.
23711 (grub_script_argv_free): New function.
23712 (grub_script_argv_next): Likewise.
23713 (grub_script_argv_append): Likewise.
23714 (grub_script_argv_split_append): Likewise.
23715 * include/grub/script_sh.h (grub_script_argv): New struct.
23716 (grub_script_argv_free): New function.
23717 (grub_script_argv_next): Likewise.
23718 (grub_script_argv_append): Likewise.
23719 (grub_script_argv_split_append): Likewise.
23720
23721 * conf/common.rmk (normal.mod): New source script/argv.c.
23722
23723 * tests/grub_script_echo1.in: More tests.
23724 * tests/grub_script_vars1.in: Likewise.
23725 * tests/grub_script_functions.in: New test case.
23726 * conf/tests.rmk: Rules for new testcase.
23727
8022b748
BC
237282010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23729
23730 Remove grub_script_cmdblock struct.
23731
23732 * include/grub/script_sh.h: Remove grub_script_cmdblock.
23733 * script/parser.y: Likewise.
23734 * script/execute.c: Rename cmdblock suffix to cmdlist.
23735 * script/script.c: Likewise.
23736 * util/grub-script-check.c: Likewise.
23737
79a6ba61
YB
237382010-08-11 Yves Blusseau <blusseau@zetam.org>
23739
23740 * .bzrignore: add grub-macho2img
23741
d04b9414
VS
237422010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23743
23744 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
23745
f947ab49
VS
237462010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23747
23748 Remove the dump of sm712 initialisation sequence.
23749
23750 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
23751 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
23752 (GRUB_VGA_IO_MISC_WRITE): Likewise.
23753 (GRUB_VGA_CR_*): Added many registers.
23754 (GRUB_VGA_SR_*): Likewise.
23755 (GRUB_VGA_GR_*): Likewise.
23756 (grub_vga_write_arx): New function.
23757 (grub_video_hw_config): New struct.
23758 (grub_vga_set_geometry): New function.
23759 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
23760 GRUB_PCI_CLASS_SUBCLASS_VGA.
23761 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
23762 * video/sm712.c (grub_sm712_write_reg): New function
23763 (grub_sm712_read_reg): Likewise.
23764 (grub_sm712_sr_write): Likewise.
23765 (grub_sm712_gr_write): Likewise.
23766 (grub_sm712_cr_write): Likewise.
23767 (grub_sm712_write_arx): Likewise.
23768 (grub_sm712_cr_shadow_write): Likewise.
23769 (grub_sm712_write_dda_lookup): Likewise.
23770 (grub_video_sm712_setup): Initialise the video rather then
23771 blindly replay the dump.
23772 (main) [TEST]: Add a routine to be able to compile as standalone for
23773 tests.
23774 * video/sm712_init.c (sm712_init): Removed.
23775 (sm712_sr_seq1): New array.
23776 (sm712_sr_seq2): Likewise.
23777
f0206638
VS
237782010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23779
23780 * include/grub/vga.h: Add missing grub/pci.h include.
23781
2764da3b
YB
237822010-08-10 Yves Blusseau <blusseau@zetam.org>
23783
23784 * util/grub-macho2img.c (main): fix typo
23785
cf0c775e
VS
237862010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23787
23788 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
23789 (grub_vga_gr_read): Likewise.
23790 (grub_vga_cr_write): Likewise.
23791 (grub_vga_cr_read): Likewise.
23792 (grub_vga_sr_write): Likewise.
23793 (grub_vga_sr_read): Likewise.
23794 (grub_vga_palette_read): Likewise.
23795 (grub_vga_palette_write): Likewise.
23796 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
23797 (grub_sm712_sr_read): New function.
23798 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
23799 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
23800
07f360e9
RM
238012010-08-09 Robert Millan <rmh@gnu.org>
23802
23803 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
23804 out unused variables on non-ZFS build.
23805
346c2072
RM
238062010-08-08 Robert Millan <rmh@gnu.org>
23807
23808 Fix path generation for sub-filesystems in ZFS.
23809
23810 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
23811 missing slash.
23812
71175420
RM
238132010-08-08 Robert Millan <rmh@gnu.org>
23814
23815 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
23816
0d8286f3
RM
238172010-08-08 Robert Millan <rmh@gnu.org>
23818
23819 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
23820 exist, issue a proper error message (rely on `ls' for translated
23821 strings).
23822
55dd2924
RM
238232010-08-08 Robert Millan <rmh@gnu.org>
23824
23825 Fix grub-probe invocation.
23826
23827 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
23828
d3dd9e80
RM
238292010-08-04 Robert Millan <rmh@gnu.org>
23830
23831 * configure.ac: Remove checks for getfsstat() and getmntany().
23832 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
23833 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
23834 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
23835 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
23836 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
23837 function.
23838 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
23839 via find_mount_point_from_dir() and getfsstat() / getmntany().
23840
0de22aa9
RM
238412010-08-04 Robert Millan <rmh@gnu.org>
23842
23843 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23844 (grub_find_zpool_from_mount_point): Merge into ...
23845 (grub_find_zpool_from_dir): ... this.
23846 * kern/emu/misc.c: Likewise.
23847
23848 * kern/emu/misc.c
23849 (grub_make_system_path_relative_to_its_root): Replace
23850 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
23851 with grub_find_zpool_from_dir().
23852 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
23853
62858144
RM
238542010-08-04 Robert Millan <rmh@gnu.org>
23855
23856 Support OpenSolaris in ZFS device resolution.
23857
23858 * configure.ac: Check for getmntany().
23859 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
23860 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
23861 support.
23862
9dd6fd50
RM
238632010-08-03 Robert Millan <rmh@gnu.org>
23864
23865 Fix grub-emu build.
23866
23867 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
23868 * include/grub/emu/misc.h: ... here.
23869
23870 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
23871 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
23872
23873 * util/misc.c: Remove `<grub/util/libzfs.h>'.
23874 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
23875 (grub_get_libzfs_handle): Move to ...
23876 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
23877 (grub_get_libzfs_handle): ... here.
23878
c9f7ff97
BC
238792010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
23880
23881 * script/execute.c (grub_script_execute_cmdline): Check for NULL
23882 as command name case.
23883
a870a783
CW
238842010-08-02 Colin Watson <cjwatson@ubuntu.com>
23885
23886 * disk/raid.c (insert_array): Select unique numbers for named arrays
23887 as well, for use as keys in the disk cache.
23888
c7db243b
RM
238892010-08-01 Robert Millan <rmh@gnu.org>
23890
23891 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
23892 kFreeBSD device name, except on ZFS where the filesystem label is
23893 used.
23894 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
23895 `/boot/zfs/zpool.cache'.
23896 Set mountfrom kernel variable using ${kfreebsd_device}.
23897
f7abdefb
RM
238982010-08-01 Robert Millan <rmh@gnu.org>
23899
23900 Make it even harder to use uninitialized `libzfs_handle' (and
23901 make the interface a bit simpler).
23902
23903 * include/grub/util/misc.h (grub_util_init_libzfs)
23904 (libzfs_handle): Remove.
23905 (grub_get_libzfs_handle): New prototype.
23906
23907 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
23908 attribute.
23909 (grub_util_init_libzfs): Remove.
23910 (grub_get_libzfs_handle): New function.
23911
23912 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
23913 grub_get_libzfs_handle() to obtain a libzfs handle instead of
23914 accessing `libzfs_handle' directly.
23915
c882acc0
RM
239162010-08-01 Robert Millan <rmh@gnu.org>
23917
23918 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23919 (grub_find_zpool_from_mount_point): New function prototypes.
23920
23921 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
23922 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
23923
23924 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
23925 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
23926 `static' attribute.
23927
23928 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
23929 finding zpool from mount point into ...
23930 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
23931
23932 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
23933 requested path is part of a ZFS pool, use
23934 grub_find_zpool_from_mount_point() to detect its filesystem name,
23935 and generate a path with `/fsname@path' syntax.
23936
8bfe31d8
CW
239372010-08-01 Colin Watson <cjwatson@ubuntu.com>
23938
23939 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
23940 (void) rather than () so that this is a proper prototype.
23941
553df63d
VS
239422010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23943
23944 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
23945
8687cf07
VS
239462010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23947
23948 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
23949 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
23950
ea9be8ea
CW
239512010-08-01 Colin Watson <cjwatson@ubuntu.com>
23952
23953 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
23954
6eea041a
CW
239552010-08-01 Colin Watson <cjwatson@ubuntu.com>
23956
23957 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
23958
2cfb45df
CW
239592010-08-01 Colin Watson <cjwatson@ubuntu.com>
23960
23961 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
23962 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
23963 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
23964 disable gfxpayload.
23965 (Shell-like scripting): Add real content.
23966 (Serial terminal): Suggest `terminal_input serial; terminal_output
23967 serial' rather than putting the two commands on separate lines,
23968 since console input will be inoperative after the first command.
23969 (menuentry): Document --class, --users, and --hotkey options.
23970 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
23971 Vladimir Serbinenko).
23972
7decd202
VS
239732010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
239742010-08-01 Colin Watson <cjwatson@ubuntu.com>
23975
23976 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
23977
c882acc0
RM
239782010-08-01 Robert Millan <rmh@gnu.org>
23979
23980 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23981 (grub_find_zpool_from_mount_point): New function prototypes.
23982
23983 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
23984 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
23985
23986 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
23987 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
23988 `static' attribute.
23989
23990 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
23991 finding zpool from mount point into ...
23992 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
23993
23994 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
23995 requested path is part of a ZFS pool, use
23996 grub_find_zpool_from_mount_point() to detect its filesystem name,
23997 and generate a path with `/fsname@path' syntax.
23998
deb0caa3
RM
239992010-08-01 Robert Millan <rmh@gnu.org>
24000
24001 Prevent accidental use of uninitialized libzfs_handle.
24002
24003 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
24004 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
24005 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
24006
ce04ef47
CW
240072010-08-01 Colin Watson <cjwatson@ubuntu.com>
24008
24009 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
24010 util/grub.d/10_linux.in). Fixes Debian bug #591093.
24011
ebf53056
RM
240122010-08-01 Robert Millan <rmh@gnu.org>
24013
24014 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 24015
3710bb6b
RM
240162010-07-31 Robert Millan <rmh@gnu.org>
24017
24018 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
24019
8072efeb
RM
240202010-07-31 Robert Millan <rmh@gnu.org>
24021
24022 * kern/emu/misc.c: Add missing license header.
24023
3169f4c7
RM
240242010-07-31 Robert Millan <rmh@gnu.org>
24025
24026 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
24027
24028 * include/grub/util/libnvpair.h: Include `<config.h>'.
24029 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
24030 declaring libnvpair prototypes ourselves.
24031 * include/grub/util/libzfs.h: Include `<config.h>'.
24032 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
24033 declaring libzfs prototypes ourselves.
24034
24035 (libzfs_handle): Moved to ...
24036 * include/grub/util/misc.h (libzfs_handle): ... here.
24037 Include `<grub/util/libzfs.h>'.
24038
c9a00aee
RM
240392010-07-30 Robert Millan <rmh@gnu.org>
24040
24041 * include/grub/emu/misc.h: Add missing license header.
24042
a184f9c8
RM
240432010-07-30 Robert Millan <rmh@gnu.org>
24044
24045 Enable `grub-probe -t device' resolution on ZFS.
24046
24047 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
24048 * include/grub/util/libnvpair.h: New file.
24049 * include/grub/util/libzfs.h: New file.
24050
24051 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
24052 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
24053 `<grub/util/libnvpair.h>'.
24054 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
24055
24056 (find_mount_point_from_dir): New static function.
24057 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
24058 function.
24059 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
24060 find_root_device_from_libzfs() before ressorting to find_root_device().
24061
24062 * include/grub/util/misc.h (grub_util_init_libzfs): New function
24063 prototype.
24064 * util/misc.c: Include `<grub/util/libzfs.h>'.
24065 (grub_util_init_libzfs): New function.
24066 [HAVE_LIBZFS] (libzfs_handle): New global variable.
24067 [HAVE_LIBZFS] (fini_libzfs): New static function.
24068 (grub_util_init_libzfs): New function.
24069 * util/grub-probe.c (main): Call grub_util_init_libzfs().
24070
f7790cdd
RM
240712010-07-30 Robert Millan <rmh@gnu.org>
24072
24073 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
24074 (xmalloc, xrealloc, xstrdup, xasprintf): Add
24075 `warn_unused_result' attribute.
24076 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
24077 (grub_xasprintf, grub_xvasprintf): Likewise.
24078 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
24079
0806b63c
RM
240802010-07-29 Robert Millan <rmh@gnu.org>
24081
24082 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
24083 (probe): Handle `PRINT_FS_LABEL'.
24084 (main): Handle `-t fs_label'.
24085
9f841f5c
RM
240862010-07-29 Robert Millan <rmh@gnu.org>
24087
24088 * configure.ac: Remove grub-mkisofs checks.
24089
46371121
VS
240902010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
24091
24092 * util/ieee1275/grub-install.in: Don't use empty grub_device.
24093 Reported by: Lennart Sorensen.
24094
240952010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24096
24097 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
24098 prior to terminal_input/terminal_output separation. It's been over 1.5
24099 years and those versions weren't widely deployed.
24100
a9600892
CW
241012010-07-22 Colin Watson <cjwatson@ubuntu.com>
24102
24103 * disk/raid.c (insert_array): Don't count named arrays when looking
24104 for unused array numbers.
697e053c 24105 Reported and tested by: Michael Guntsche.
a9600892 24106
c03507df
CW
241072010-07-20 Colin Watson <cjwatson@ubuntu.com>
24108
24109 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
24110 implementation of this so that grub-emu links again, with a note
24111 that this should support hotplugging in the future.
24112
b26f1c11
CW
241132010-07-20 Colin Watson <cjwatson@ubuntu.com>
24114
24115 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24116
efc9d7f1
CW
241172010-07-20 Colin Watson <cjwatson@ubuntu.com>
24118
24119 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
24120 handle on failure.
24121 (grub_loopback_close): Remove empty function.
24122 (grub_loopback_dev): Remove close method.
24123
dd8ff5c9
CW
241242010-07-20 Colin Watson <cjwatson@ubuntu.com>
24125
24126 Disable EFI cursor when the EFI console becomes inactive.
24127
24128 * term/efi/console.c (grub_efi_console_init): New function.
24129 (grub_efi_console_fini): New function.
24130 (grub_console_term_output): Register init and fini methods.
24131
5e3bec67
VS
241322010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24133
24134 * tests/util/grub-shell-tester.in: Remove bashism and declare as
24135 sh script.
24136
afaec079
VS
241372010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24138
24139 * disk/loopback.c (grub_loopback): Replace filename with file.
24140 (delete_loopback): Handle new semantics.
24141 (grub_cmd_loopback): Likewise.
24142 (grub_loopback_iterate): Likewise.
24143 (grub_loopback_close): Likewise.
24144
a6a11f3c
VS
241452010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24146
24147 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
24148 with -p "".
24149 Reported by: Tito Keitel.
24150
64a638b0
VS
241512010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24152
24153 * docs/grub.texi (Naming convention): Document new naming convention.
24154
ab8ba957
VS
241552010-07-20 Vadim Solomin <vadic052@gmail.com>
241562010-07-20 Colin Watson <cjwatson@ubuntu.com>
24157
24158 Generate device.map in something closer to the old ordering.
24159
24160 * util/deviceiter.c (struct device): New declaration.
24161 (compare_file_names): Rename to ...
24162 (compare_devices): ... this. Sort by kernel name in preference to
24163 the stable by-id name, but keep the latter as a fallback comparison.
24164 Update header comment.
24165 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
24166 of `struct device' rather than of plain file names.
24167
a29d6a4b
TF
241682010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
24169
24170 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
24171 on i386.
24172
39d824e8
VS
241732010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24174
24175 * commands/acpi.c (setup_common_tables): Use sizeof instead of
24176 hardcoding size.
24177 (setv1table): Likewise.
24178
f058276b
FZ
241792010-07-20 Colin Watson <cjwatson@ubuntu.com>
24180
24181 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
24182 removing the homehost if present.
24183 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
24184 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
24185 removing the homehost if present.
24186 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
24187 if possible.
24188 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
24189
24190 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
24191 parameter. Set its pointer target to 0.
24192 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
24193 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
24194 `data_offset' value from the superblock for 1.x metadata.
24195 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
24196 data on the device.
24197 (insert_array): Record the start sector of data on the device.
24198 (grub_raid_register): Pass start_sector parameters to
24199 grub_raid_list->detect and insert_array.
24200 * include/grub/raid.h (struct grub_raid_array): Add start_sector
24201 member.
24202 (struct grub_raid): Add start_sector parameter to `detect'.
24203
24204 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
24205 __attribute__ ((packed)), leaving a comment.
24206 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
24207 (grub_mdraid_detect_09): ... here and ...
24208 (grub_mdraid_detect_1x): ... here.
24209
242102010-07-20 Peter Henn <peter.henn@web.de>
24211
24212 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
24213 chunk size and disk size, which are already given as sector counts
24214 as distinct from the 0.90 units. Fetch the correct device number
24215 from the role table instead of using the table index.
24216
242172010-07-20 Felix Zielcke <fzielcke@z-51.de>
24218
24219 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
24220 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
24221 (WriteMostly1): New macro.
24222 Set array->name to NULL for metadata format 0.90. Add support for
24223 metadata 1.x. Fix some comments.
24224 * disk/raid.c (): Add support for name based RAID arrays. Fix a
24225 few comments.
24226 * util/getroot.c (grub_util_get_grub_dev): Add support for
24227 /dev/md/name style devices.
24228
4b761da9
CW
242292010-07-20 Colin Watson <cjwatson@ubuntu.com>
24230
24231 * .bzrignore: Ignore 20_linux_xen.
24232
5771289a
CW
242332010-07-17 Colin Watson <cjwatson@ubuntu.com>
24234
24235 * util/import_unicode.py: Remove unnecessary imports.
24236
5dab68df
AN
242372010-07-17 Aleš Nesrsta <starous@volny.cz>
24238
24239 Hotplugging and USB hub support.
24240
24241 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
24242 (grub_ohci): Likewise.
24243 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
24244 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
24245 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
24246 (GRUB_OHCI_CTRL_EDS): Likewise.
24247 (GRUB_OHCI_BULK_EDS): Likewise.
24248 (GRUB_OHCI_TDS): Likewise.
24249 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
24250 (grub_ohci_ed_phys2virt): New function.
24251 (grub_ohci_virt_to_phys): Likewise.
24252 (grub_ohci_td_phys2virt): Likewise.
24253 (grub_ohci_td_virt2phys): Likewise.
24254 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
24255 attachment.
24256 (grub_ohci_find_ed): New function.
24257 (grub_ohci_alloc_td): Likewise.
24258 (grub_ohci_free_td): Likewise.
24259 (grub_ohci_free_tds): Likewise.
24260 (grub_ohci_transfer): Use previously allocated memory.
24261 (grub_ohci_portstatus): Reset status changed bit.
24262 (grub_ohci_detect_dev): Supply status changed.
24263 (grub_ohci_fini_hw): Free memory.
24264 (grub_ohci_restore_hw): Reallocate memory.
24265 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
24266 Reset status change.
24267 (grub_uhci_detect_dev): Supply status_change.
24268 * bus/usb/usb.c (attach_hooks): New var.
24269 (grub_usb_device_attach): New function.
24270 (grub_usb_register_attach_hook_class): Likewise.
24271 (grub_usb_unregister_attach_hook_class): Likewise.
24272 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
24273 (grub_usb_add_hub): Reset connection changed bit.
24274 (attach_root_port): New function.
24275 (grub_usb_root_hub): Likewise.
24276 (poll_nonroot_hub): Likewise.
24277 (grub_usb_poll_devices): Likewise.
24278 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
24279 * disk/usbms.c (grub_usbms_open): Use device hooks.
24280 (grub_usbms_iterate) :Poll devices.
24281 (grub_usbms_finddevs): Split into ...
24282 (grub_usbms_attach): ... this ...
24283 (grub_usbms_attach): ... and this.
24284 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
24285 in detect_dev.
24286 (grub_usb_interface): New fields attached and detach_hook.
24287 (grub_usb_attach_hook_class): New type.
24288 (grub_usb_attach_desc): New struct.
24289 (grub_usb_register_attach_hook_class): New function.
24290 (grub_usb_unregister_attach_hook_class): Likewise.
24291 (grub_usb_poll_devices): Likewise.
24292 (grub_usb_device_attach): Likewise.
24293 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
24294 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
24295
3222efaf
VS
242962010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24297
24298 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
24299 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
24300 delta determination style. Works with most NetBSD partitions too.
24301
139b714a
VS
243022010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24303
24304 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
24305 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
24306
986aad56
VS
243072010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24308
24309 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
24310
99be513c
AB
243112010-07-14 Anton Blanchard <anton@samba.org>
24312
24313 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
24314 ET_DYN files.
24315
18075f62
GS
243162010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24317
24318 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
24319
8d9a5b15
GS
243202010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24321
24322 * kern/partition.c (grub_partition_check_containment): New function to
24323 check that a partition is physically contained in a parent. Since
24324 offsets are relative (and non-negative), this reduces to checking that
24325 the partition ends before its parent.
24326 (grub_partition_map_probe): Discard out-of-range sub-partitions.
24327 (grub_partition_iterate): Likewise.
24328 * include/grub/partition.h (grub_partition_map): Slightly more detailed
24329 comments.
24330 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
24331 partitions that start before their parent, and add debug printfs.
24332
19563c25
CW
243332010-07-13 Colin Watson <cjwatson@ubuntu.com>
24334
24335 * Makefile.in (.SUFFIX): Spell correctly, as ...
24336 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
24337 bare module name without `.mod', e.g. `test') tried to invoke a
24338 Modula-2 compiler.
24339
1a1f1e67
CW
243402010-07-13 Colin Watson <cjwatson@ubuntu.com>
24341
24342 * README: Point to the Info manual.
24343
811b0dca
JS
243442010-07-13 Jiro SEKIBA <jir@unicus.jp>
24345
24346 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
24347 2nd superblock position from partition size.
24348
e4f4eafc
CW
243492010-07-10 Colin Watson <cjwatson@ubuntu.com>
24350
24351 * Makefile.in (MAINTAINER_CLEANFILES): Remove
24352 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
24353 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
24354 outputs.
24355
4274c30f
VS
243562010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24357
24358 Restructure SCSI .id handling.
24359 Reported and tested by: Aleš Nesrsta.
24360
24361 * disk/ata.c (grub_atapi_close): Removed. All users updated.
24362 (grub_atapi_dev): Changed .name to "ata". New field .id.
24363 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
24364 (grub_usbms_dev): New field .id.
24365 * disk/scsi.c (grub_scsi_iterate): Generate name.
24366 (grub_scsi_open): Parse name.
24367 * include/grub/scsi.h (grub_make_scsi_id): New function.
24368 (grub_scsi_dev): Change iterate and open to number instead of naming
24369 busses. All users updated.
24370 (grub_scsi): Remove name. Add .bus.
24371
5bc24388
VS
243722010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24373
24374 * commands/help.c (grub_cmd_help): Fix a typo.
24375
249975ba
VS
243762010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24377
24378 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
24379 Reported and tested by: Colin Watson.
24380
3eaac1a1
VS
243812010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24382
24383 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
24384 in this context.
24385
becce1b1
VS
243862010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
24387
24388 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
24389
f7bf0918
CW
243902010-07-07 Colin Watson <cjwatson@ubuntu.com>
24391
24392 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
24393 indentation.
24394
0b0f9620
CW
243952010-07-06 Colin Watson <cjwatson@ubuntu.com>
24396
24397 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
24398 and disk/raid6_recover.c.
24399 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24400 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24401
1e545469
CW
244022010-07-06 Colin Watson <cjwatson@ubuntu.com>
24403
24404 * term/gfxterm.c (repaint_schedulded): Rename to ...
24405 (repaint_scheduled): ... this. Update all callers.
24406 (repaint_was_schedulded): Rename to ...
24407 (repaint_was_scheduled): ... this. Update all callers.
24408
5357687a
CW
244092010-07-06 Colin Watson <cjwatson@ubuntu.com>
24410
24411 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
24412 which we expect to be handled by upper layers.
24413
29d7e783
BC
244142010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
24415
24416 * bus/usb/usbhub.c: #include time.h header.
24417
37582066
CW
244182010-07-06 Colin Watson <cjwatson@ubuntu.com>
24419
24420 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
24421 entry_name also for entries without stat blocks (e.g. ".."); fixes
24422 corruption of the first entry in a directory.
24423
c8c06953
CW
244242010-07-06 Colin Watson <cjwatson@ubuntu.com>
24425
24426 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
24427 after setting gfxterm as the active terminal. GRUB_BACKGROUND
24428 doesn't work otherwise.
24429
e75056f1
CW
244302010-07-05 Colin Watson <cjwatson@ubuntu.com>
24431
24432 * docs/grub.texi (Features): Update list of supported file systems.
24433 (GNU/Linux): Update for GRUB 2.
24434 (Serial terminal): Remove mention of --disable-serial, which was a
24435 GRUB Legacy configure option. Update instructions to use
24436 `terminal_input' and `terminal_output' rather than `terminal'.
24437 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
24438 configuration' and `Installing GRUB using grub-install'.
24439 (Menu entry editor): Update for GRUB 2.
24440 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
24441 Document new -a, -u, and -v options.
24442 (initrd): New section.
24443 (initrd16): New section.
24444 (linux): New section.
24445 (linux16): New section.
24446 (search): The `var' argument to `--set' is optional.
24447 (GRUB only offers a rescue shell): Go into a little more detail on
24448 drive ordering.
24449
5cf69151
CW
244502010-07-05 Colin Watson <cjwatson@ubuntu.com>
24451
24452 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
24453
e3f90044
CW
244542010-07-05 Colin Watson <cjwatson@ubuntu.com>
24455
24456 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
24457 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
24458
38d8f4f3
CW
244592010-07-05 Colin Watson <cjwatson@ubuntu.com>
24460
24461 * util/i386/pc/grub-setup.c (setup): Rename prefix to
24462 install_prefix, in line with install_dos_part and install_bsd_part.
24463 Add new prefix variable, which is copied to install_prefix after
24464 comparing core.img in memory with the one read from disk in the
24465 no-embedding case, and use that rather than overwriting
24466 install_prefix immediately when installing to a partition.
24467 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
24468 Bicakci.
24469
57ebd41e
GS
244702010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24471
24472 * configure.ac: Avoid == in test command, it's not portable.
24473 * util/grub.d/30_os-prober.in: Likewise.
24474
cb7f64b2
CW
244752010-07-04 Colin Watson <cjwatson@ubuntu.com>
24476
24477 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
24478
6b654bb0
GS
244792010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24480
24481 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
24482 multiple (top-level) partmaps.
24483
72a2026d
VS
244842010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24485
24486 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 24487 Reported by: Tino Keitel.
72a2026d 24488
df3eb88f
VS
244892010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24490
24491 Bidi and diacritics support.
24492
24493 * Makefile.in (widthspec.bin): New target.
24494 (widthspec.h): Likewise.
24495 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
24496 * autogen.sh: Generate unidata.c.
24497 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
24498 * commands/ls.c (grub_ls_list_devices): Likewise.
24499 (grub_ls_list_files): Likewise.
24500 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
24501 (grub_mini_cmd_lsmod): Likewise.
24502 * commands/read.c: Likewise.
24503 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
24504 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
24505 * lib/arg.c (grub_arg_show_help): Likewise.
24506 * lib/crypto.c (grub_password_get): Likewise.
24507 * normal/auth.c (grub_username_get): Likewise.
24508 * normal/misc.c (grub_normal_print_device_info): Likewise.
24509 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
24510 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
24511 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
24512 (normal/charset.c_DEPENDENCIES): New variable.
24513 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
24514 (pkglib_MODULES): Remove charset.mod.
24515 (charset_mod_SOURCES): Removed.
24516 (charset_mod_CFLAGS): Likewise.
24517 (charset_mod_LDFLAGS): Likewise.
24518 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
24519 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
24520 and term/tparm.c.
24521 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24522 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24523 (kernel_img_HEADERS): Add terminfo.h.
24524 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
24525 Fill ->font. Reverse ascii bitmaps.
24526 (grub_font_get_xheight): New function.
24527 * font/font.c (grub_font_get_string_width): Moved from here ...
24528 * gfxmenu/font.c (grub_font_get_string_width): ... here.
24529 * font/font.c (grub_font_draw_string): Moved from here ...
24530 * gfxmenu/font.c (grub_font_draw_string): ... here.
24531 * font/font.c (grub_font_dup_glyph): New function.
24532 (grub_font_blit_glyph): Likewise.
24533 (grub_font_blit_glyph_mirror): Likewise.
24534 (blit_comb): Likewise.
24535 (grub_font_construct_dry_run): Likewise.
24536 (grub_font_get_constructed_device_width): Likewise.
24537 (grub_font_construct_glyph): Likewise.
24538 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
24539 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
24540 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
24541 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
24542 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
24543 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
24544 (grub_font_get_xheight): New proto.
24545 (grub_font_get_constructed_device_width): Likewise.
24546 (grub_font_construct_glyph): Likewise.
24547 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
24548 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
24549 * include/grub/font.h (grub_font_draw_string): Moved from here ...
24550 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
24551 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
24552 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
24553 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
24554 (grub_console_getcharwidth): Likewise.
24555 * include/grub/misc.h (grub_xputs): New proto.
24556 (grub_puts): Inlined.
24557 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
24558 (grub_normal_get_line_counter): Removed.
24559 (grub_install_newline_hook): Likewise.
24560 (grub_normal_get_char_counter): New proto.
24561 (grub_normal_reset_more): Likewise.
24562 (grub_xputs_normal): Likewise.
24563 * include/grub/powerpc/ieee1275/console.h: Removed.
24564 * include/grub/sparc64/ieee1275/console.h: Likewise.
24565 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
24566 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
24567 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
24568 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
24569 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
24570 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
24571 (grub_term_input): Pass reference to self. All users updated.
24572 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
24573 Pass reference to self. New fields normal_color, highlight_color and
24574 data. All users updated.
24575 (grub_putchar): Removed.
24576 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
24577 (grub_unicode_estimate_width): New function.
24578 (grub_term_getcharwidth): Add defaults.
24579 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
24580 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
24581 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
24582 (grub_cls): Remove EXPORT_FUNC.
24583 (grub_setcolorstate): Inline.
24584 (grub_newline_hook): Removed.
24585 * include/grub/terminfo.h: Rewritten. All users updated.
24586 * include/grub/unicode.h: New file.
24587 * include/grub/video.h (grub_video_signed_rect): New type.
24588 * kern/emu/console.c (grub_console_highlight_color): Removed.
24589 (grub_console_normal_color): Likewise.
24590 (grub_console_standard_color): Made static.
24591 (grub_ncurses_putchar): Remove mapping.
24592 (grub_ncurses_getcharwidth): Removed.
24593 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24594 (grub_ncurses_setcolor): Removed.
24595 (grub_ncurses_getcolor): Likewise.
24596 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
24597 (grub_console_putchar): ... this.
24598 (grub_console_putchar): Handle argument difference.
24599 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
24600 console_init_early and console_init_lately.
24601 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
24602 * kern/misc.c (grub_puts): Removed.
24603 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
24604 (grub_vsnprintf_real): Remove str = NULL support.
24605 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
24606 * normal/charset.c (grub_utf8_to_ucs4): ... here.
24607 * kern/term.c (grub_putcode): Renamed to ...
24608 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
24609 (grub_putchar): Removed.
24610 (grub_xputs_dumb): New function.
24611 (grub_xputs): New variable.
24612 * lib/charset.c: Move from here ...
24613 * normal/charset.c: ... to here.
24614 (grub_ucs4_to_utf8): New function.
24615 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
24616 (join_types): New variable.
24617 (unpack_join): New function.
24618 (bidi_types): New variable.
24619 (unpack_bidi): New function.
24620 (get_bidi_type): Likewise.
24621 (get_join_type): Likewise.
24622 (is_mirrored): Likewise.
24623 (grub_unicode_get_comb_type): Likewise.
24624 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
24625 (is_type_after): Likewise.
24626 (grub_unicode_aglomerate_comb): Likewise.
24627 (bidi_line_wrap): Likewise.
24628 (grub_bidi_line_logical_to_visual): Likewise.
24629 (grub_bidi_logical_to_visual): Likewise.
24630 (grub_unicode_mirror_code): Likewise.
24631 (grub_unicode_shape_code): Likewise.
24632 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
24633 Don't use grub_putchar.
24634 * normal/main.c (grub_normal_init_page): Use grub_putcode.
24635 (grub_normal_reader_init): Likewise.
24636 (grub_xputs_saved): New variable.
24637 (GRUB_MOD_INIT): Set grub_xputs.
24638 (GRUB_MOD_FINI): Restore grub_xputs.
24639 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
24640 (menu_init): Avoid printing gfxmenu error.
24641 (show_menu): Use grub_normal_get_char_counter.
24642 * normal/menu_entry.c (update_screen): Fix out-of-array.
24643 (complete): Avoid NULL dereferencing.
24644 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
24645 * normal/menu_text.c (print_spaces): Removed.
24646 (grub_print_ucs4): Likewise.
24647 (grub_print_message_indented): Use grub_print_ucs4.
24648 (print_message): Use grub_putcode.
24649 (print_entry): Hanlde diacritics.
24650 * normal/term.c (term_state): New type.
24651 (grub_more_lines): Removed.
24652 (term_states): New variable.
24653 (grub_normal_line_counter): Renamed to ..
24654 (grub_normal_char_counter): ...this. All users updated.
24655 (grub_normal_get_line_counter): Renamed to ...
24656 (grub_normal_get_char_counter): ... this.
24657 (grub_normal_reset_more): New function.
24658 (process_newline): Removed.
24659 (print_more): New function.
24660 (grub_install_newline_hook): Removed.
24661 (map_code): New function.
24662 (grub_puts_terminal): Use grub_print_ucs4.
24663 (putglyph): New function.
24664 (putcode_real): Likewise.
24665 (grub_putcode): Use putcode_real.
24666 (get_maxwidth): New function.
24667 (get_startwidth): Likewise.
24668 (print_ucs4_terminal): Likewise.
24669 (find_term_state): Likewise.
24670 (put_glyphs_terminal): Likewise.
24671 (print_backlog): Likewise.
24672 (print_ucs4_real): Likewise.
24673 (grub_print_ucs4): Likewise.
24674 (grub_xputs_normal): Likewise.
24675 * term/efi/console.c (grub_console_putchar): Output diacritics.
24676 (grub_console_getcharwidth): Removed.
24677 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24678 * term/gfxterm.c (clear_char): Free chars.
24679 (scroll_up): Avoid leaking memory.
24680 (grub_gfxterm_putchar): Support diacritics.
24681 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24682 * term/i386/pc/console.c (grub_console_term_output): Declare as
24683 GRUB_TERM_CODE_TYPE_VGA.
24684 * term/i386/pc/vga.c (grub_vga_term): Declare as
24685 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
24686 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
24687 GRUB_TERM_CODE_TYPE_VGA.
24688 * term/i386/vga_common.c (map_char): Removed.
24689 (grub_console_putchar): Likewise.
24690 (grub_console_getcharwidth): Likewise.
24691 * term/ieee1275/ofconsole.c: Simplify using terminfo.
24692 (colors): Reordered to match terminfo.
24693 (grub_ofconsole_normal_color): Removed.
24694 (grub_ofconsole_writeesc): Likewise.
24695 (grub_ofconsole_highlight_color): Likewise.
24696 (grub_ofconsole_getcharwidth): Likewise.
24697 (grub_ofconsole_setcolorstate): Likewise.
24698 (grub_ofconsole_setcolor): Likewise.
24699 (grub_ofconsole_getcolor): Likewise.
24700 (grub_ofconsole_readkey): Renamed to ...
24701 (readkey): ... this. Remove escape sequence handling. Return -1 on no
24702 key.
24703 (grub_ofconsole_checkkey): Removed.
24704 (grub_ofconsole_getkey): Likewise.
24705 (grub_ofconsole_getxy): Likewise.
24706 (grub_ofconsole_gotoxy): Likewise.
24707 (grub_ofconsole_cls): Likewise.
24708 (grub_ofconsole_refresh): Likewise.
24709 (grub_ofconsole_terminfo_input): New struct.
24710 (grub_ofconsole_terminfo_output): Likewise.
24711 (grub_ofconsole_term_input): Use terminfo.
24712 (grub_ofconsole_term_output): Likewise.
24713 (grub_console_init): Split into ...
24714 (grub_console_init_early): ...this and ...
24715 (grub_console_init_lately): ...this. Use terminfo.
24716 (grub_ofconsole_putchar): Renamed to ...
24717 (put): ... this. Remove mapping.
24718 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24719 * term/serial.c: Simplify using terminfo.
24720 (xpos): Removed.
24721 (ypos): Likewise.
24722 (keep_track): Likewise.
24723 (registered): Likewise.
24724 (input_buf): Likewise.
24725 (npending): Likewise.
24726 (serial_translate_key_sequence): Likewise.
24727 (fill_input_buf): Likewise.
24728 (grub_serial_checkkey): Likewise.
24729 (grub_serial_getkey): Likewise.
24730 (grub_serial_getxy): Likewise.
24731 (grub_serial_gotoxy): Likewise.
24732 (grub_serial_putchar): Likewise.
24733 (grub_serial_cls): Likewise.
24734 (grub_serial_setcolorstate): Likewise.
24735 (grub_serial_setcursor): Likewise.
24736 (serial_hw_init): Use serial_hw_fetch.
24737 (grub_serial_terminfo_input): New variable.
24738 (grub_serial_terminfo_output): Likewise.
24739 (grub_serial_term_input): Use terminfo.
24740 (grub_serial_term_output): Likewise.
24741 * term/terminfo.c (putstr): Use put.
24742 (grub_terminfo_all_free): New function
24743 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
24744 (grub_terminfo_output_register): New function.
24745 (grub_terminfo_output_unregister): Likewise.
24746 (grub_terminfo_getxy): Likewise.
24747 (grub_terminfo_readkey): Likewise.
24748 (grub_terminfo_checkkey): Likewise.
24749 (grub_terminfo_getkey): Likewise.
24750 (grub_terminfo_input_init): Likewise.
24751 (print_terminfo): Likewise.
24752 (grub_cmd_terminfo): Handle encoding.
24753 (grub_terminfo_gotoxy): Track position.
24754 (grub_terminfo_cls): Likewise.
24755 (grub_terminfo_putchar): Likewise.
24756 (grub_terminfo_setcolorstate): Handle colors
24757 (grub_terminfo_cursor_on): This ...
24758 (grub_terminfo_cursor_off): ... and this merged into ...
24759 (grub_terminfo_setcursor): ... this.
24760 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
24761 * unicode/ArabicShaping.txt: New file (imported from Unicode).
24762 * unicode/BidiMirroring.txt: Likewise.
24763 * unicode/UnicodeData.txt: Likewise.
24764 * unicode/COPYING: Likewise.
24765 * util/grub-editenv.c (grub_putchar): Removed.
24766 (grub_xputs_real): New function.
24767 (grub_xputs): New variable.
24768 * util/grub-fstest.c (grub_putchar): Removed.
24769 (grub_xputs_real): New function.
24770 (grub_xputs): New variable.
24771 * util/grub-mkdevicemap.c (grub_putchar): Removed.
24772 (grub_xputs_real): New function.
24773 (grub_xputs): New variable.
24774 * util/grub-probe.c (grub_putchar): Removed.
24775 (grub_xputs_real): New function.
24776 (grub_xputs): New variable.
24777 * util/grub-script-check.c (grub_putchar): Removed.
24778 (grub_xputs_real): New function.
24779 (grub_xputs): New variable.
24780 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
24781 (grub_xputs_real): New function.
24782 (grub_xputs): New variable.
24783 * util/import_unicode.py: New file.
24784 * util/grub-mkfont.c (ft_errmsgs): New array.
24785 (grub_glyph_info): Make bitmap a pointer.
24786 (file_formats): New type WIDTH_SPEC.
24787 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
24788 (options): Add width-spec.
24789 (help): Likewise.
24790 (add_char): Renamed to ...
24791 (add_glyph): ... this.
24792 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
24793 (glyph_replace): New type.
24794 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
24795 (add_char): New function.
24796 (add_subst): Likewise.
24797 (process_cursive): Likewise.
24798 (add_font): Handle GSUB.
24799 (write_font_width_spec): New function.
24800 (main): Sort glyphs.
24801 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
24802 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
24803 * kern/term.c (grub_cls): Moved from here...
24804 * normal/term.c (grub_cls): ... here.
24805
50f0bcda
CW
248062010-07-02 Colin Watson <cjwatson@ubuntu.com>
24807
24808 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
24809 suitable for using within the format argument of printf when
24810 converting grub_size_t.
24811 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
24812 "x" to convert grub_size_t arguments.
24813
40372103
VS
248142010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24815
24816 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
24817 too long captions.
24818 (list_get_minimal_size): Take selection box into account.
24819
942a10c7
VS
248202010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24821
24822 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
24823 NULL font.
24824
2bdb2892
CW
248252010-07-02 Colin Watson <cjwatson@ubuntu.com>
24826
24827 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
24828 devices when iterating over /dev/disk/by-id; they will be handled
24829 later if appropriate, which they aren't always (e.g. LVM).
24830
e03ed6c1
CW
248312010-07-02 Colin Watson <cjwatson@ubuntu.com>
24832
24833 * include/grub/misc.h (grub_reboot): Declare as noreturn.
24834 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
24835 fails.
24836 (grub_halt): Likewise.
24837 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
24838 reset-all fails.
24839 (grub_halt): Don't return, even if all of shut-down, power-off, and
24840 poweroff fail.
24841
47695765
CW
248422010-07-02 Colin Watson <cjwatson@ubuntu.com>
24843
24844 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
24845 arguments, not three.
24846
507736c8
CW
248472010-07-02 Colin Watson <cjwatson@ubuntu.com>
24848
24849 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
24850 * util/grub.d/10_linux.in: Use it to check for LVM, so that
24851 LVM-on-RAID is handled correctly.
24852
e3c8cd37
CW
248532010-07-02 Colin Watson <cjwatson@ubuntu.com>
24854
24855 * docs/grub.texi (Changes from GRUB Legacy): New section.
24856 (Future): Fix typo.
24857
8d4a2fec
CW
248582010-07-02 Colin Watson <cjwatson@ubuntu.com>
24859
24860 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
24861 grub.d/README accidentally ends up executable for one reason or
24862 another. Ignore it.
24863
1c4827be
VS
248642010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24865
24866 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
24867 (gpt_partition_map_iterate): Support non-512B sectors.
24868
d9a0c941
VS
248692010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24870
24871 * kern/efi/init.c (grub_efi_init): Disable watchdog.
24872 Tested by: Seth Goldberg.
24873
48f27e87
VS
248742010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24875
24876 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
24877 Properly align mbi.
24878 Reported by: Seth Goldberg.
24879
b0c4f956
VS
248802010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24881
24882 * util/grub-mkrescue.in: Avoid module duplication.
24883
105a2e8c
SF
248842010-07-01 Sean Finney <seanius@seanius.net>
24885
24886 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
24887
5944958c
SF
248882010-07-01 Sean Finney <seanius@seanius.net>
24889
24890 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
24891
248922010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24893
24894 * disk/lvm.c (grub_lvm_checkvalue): New function.
24895 (grub_lvm_check_flag): Likewise.
24896
b79889ba
RM
248972010-07-01 Robert Millan <rmh@gnu.org>
24898
24899 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
24900 Support 'p' as partition separator on kernel of FreeBSD (used
24901 with GPT labels).
24902 (grub_util_biosdisk_get_grub_dev): Likewise.
24903
ec1d04f1
VS
249042010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24905
24906 Yeeloong firmware port.
24907
24908 * boot/mips/yeeloong/fwstart.S: New file.
24909 * bus/cs5536.c (gpiodump): New const.
24910 (set_io_space): New function.
24911 (set_iod): Likewise.
24912 (set_p2d): Likewise.
24913 (grub_cs5536_init_geode): Likewise.
24914 * commands/mips/yeeloong/lsspd.c: New file.
24915 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
24916 (serial_mod_SOURCES): New variable.
24917 (serial_mod_CFLAGS): Likewise.
24918 (serial_mod_LDFLAGS): Likewise.
24919 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
24920 term/terminfo.c and term/tparm.c.
24921 (pkglib_IMAGES): Add fwstart.img.
24922 (fwstart_img_SOURCES): New variable.
24923 (fwstart_img_CFLAGS): Likewise.
24924 (fwstart_img_ASFLAGS): Likewise.
24925 (fwstart_img_LDFLAGS): Likewise.
24926 (fwstart_img_FORMAT): Likewise.
24927 (pkglib_MODULES): Add lsspd.mod.
24928 (lsspd_mod_SOURCES): New variable.
24929 (lsspd_mod_CFLAGS): Likewise.
24930 (lsspd_mod_LDFLAGS): Likewise.
24931 (pkglib_MODULES): Add halt.mod.
24932 (halt_mod_SOURCES): New variable.
24933 (halt_mod_CFLAGS): Likewise.
24934 (halt_mod_LDFLAGS): Likewise.
24935 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
24936 (serial_mod_SOURCES): Removed.
24937 (serial_mod_CFLAGS): Likewise.
24938 (serial_mod_LDFLAGS): Likewise.
24939 * disk/ata.c (check_device): New function.
24940 (grub_ata_device_initialize): Use check_device.
24941 (grub_ata_iterate): Recheck devices.
24942 (grub_ata_open): Likewise.
24943 (grub_atapi_iterate): Likewise.
24944 (grub_atapi_open): Likewise.
24945 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
24946 (GRUB_ATA_CH1_PORT1): Likewise.
24947 (GRUB_ATA_CH0_PORT2): Likewise.
24948 (GRUB_ATA_CH1_PORT2): Likewise.
24949 * include/grub/mips/loongson.h: New file.
24950 * include/grub/mips/yeeloong/ec.h: Likewise.
24951 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
24952 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
24953 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
24954 * include/grub/misc.h (grub_halt): Declare as noreturn.
24955 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
24956 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
24957 (UART_ENABLE_FIFO_TRIGGER1): New definition.
24958 (UART_ENABLE_DTRRTS): Likewise.
24959 (UART_ENABLE_MODEM): Removed.
24960 (UART_ENABLE_OUT2): New const.
24961 * include/grub/term.h (grub_term_register_input_active): New function.
24962 (grub_term_register_output_active): Likewise.
24963 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
24964 argument.
24965 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
24966 (init_pci): New function.
24967 (grub_machine_init): Execute platform init when firmware. Init serial.
24968 (grub_halt): Implement.
24969 (grub_exit): Likewise.
24970 (grub_reboot): Likewise.
24971 * term/serial.c (serial_hw_init): Update macros.
24972 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
24973 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
24974 (image_targets): New target mipsel-yeeloong-flash.
24975 (generate_image): Support IMAGE_YEELOONG_FLASH.
24976 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
24977 (grub_video_sm712_setup): Init card.
24978 (grub_video_sm712_set_palette): Removed.
24979 * video/sm712_init.c: New file.
24980
ff4a70d2
CW
249812010-06-30 Colin Watson <cjwatson@ubuntu.com>
24982
24983 * Makefile.in (install-local): Temporarily prepend $(builddir) to
24984 PATH when running help2man and then run it on the unadorned
24985 executable names, rather than passing $(builddir)/* paths to
24986 help2man. This avoids the build directory ending up in generated
24987 manual pages.
24988
1246efeb
CW
249892010-06-29 Colin Watson <cjwatson@ubuntu.com>
24990
24991 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
24992 to avoid accidents when debugging with 'sh -x'.
24993 * util/grub-mkrescue.in: Likewise.
24994 * util/grub.d/00_header.in: Likewise.
24995 * util/grub.d/10_hurd.in: Likewise.
24996 * util/grub.d/10_kfreebsd.in: Likewise.
24997 * util/grub.d/10_linux.in: Likewise.
24998 * util/grub.d/10_netbsd.in: Likewise.
24999 * util/grub.d/10_windows.in: Likewise.
25000 * util/grub.d/20_linux_xen.in: Likewise.
25001 * util/grub.d/30_os-prober.in: Likewise.
25002 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25003
1ba9b889
CW
250042010-06-29 Colin Watson <cjwatson@ubuntu.com>
25005
25006 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
25007 last character in the buffer.
25008 Reported by: Vladimir Serbinenko.
25009
dccaf99d
RM
250102010-06-29 Robert Millan <rmh@gnu.org>
25011
25012 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
25013 (Command-line and menu entry commands): Document `badram' command.
25014
d500ed12
RM
250152010-06-28 Robert Millan <rmh@gnu.org>
25016
25017 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
25018 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
25019 command using ${GRUB_BADRAM} as parameter.
25020
20bc84a6
CW
250212010-06-28 Colin Watson <cjwatson@ubuntu.com>
25022
25023 * docs/grub.texi (Device map): New section.
25024 (Themes): New section (stub).
25025 * Makefile.in (docs/grub.info): The info documentation now builds
25026 without errors. Make sure it stays that way.
25027
4045dee1
VS
250282010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25029
25030 Use normal parser for menu entries.
25031 Reported by: Thomas Frauendorfer
25032
25033 * include/grub/parser.h (grub_parser_execute): Don't export.
25034 * normal/menu.c (grub_menu_execute_entry_real): New function.
25035 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
25036
bca58c7b
CW
250372010-06-28 Colin Watson <cjwatson@ubuntu.com>
25038
25039 * docs/grub.texi (Embedded configuration): New section (replacing
25040 old "Preset Menu" stub).
25041 (Images): New section.
25042 (configfile): Note that any menu entries defined in `file' are shown
25043 immediately.
25044
dec53e63
JT
250452010-06-28 Josh Triplett <josh@joshtriplett.org>
25046
25047 * mmap/i386/pc/mmap_helper.S: Set CF on return.
25048
c06e40f7
CW
250492010-06-28 Colin Watson <cjwatson@ubuntu.com>
25050
25051 * util/grub-install.in: Add --debug-image= option.
25052
cb88052b
CW
250532010-06-28 Colin Watson <cjwatson@ubuntu.com>
25054
25055 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
25056 possible on Linux.
25057
25058 * util/deviceiter.c (check_device): Rename to ...
25059 (check_device_readable_unique): ... this. Update all callers.
25060 Maintain and check a list of which devices (by canonicalized name)
25061 have already been seen.
25062 (clear_seen_devices): New function.
25063 (compare_file_names) [__linux__]: New function.
25064 (grub_util_iterate_devices): Clear the list of seen devices on exit
25065 and (just in case) on entry.
25066 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
25067 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
25068 seen-devices list, superseded by general code in check_device.
25069
bbe34652
CW
250702010-06-28 Colin Watson <cjwatson@ubuntu.com>
25071
25072 * commands/cat.c (options): New variable.
25073 (grub_cmd_cat): Parse options. If the --dos option is given, print
25074 DOS-style "\r\n" line endings as simple newlines (Debian bug
25075 #586358).
25076 (GRUB_MOD_INIT): Use extcmd.
25077 (GRUB_MOD_FINI): Likewise.
25078 * docs/grub.texi (cat): Document --dos.
25079
412e09f3
VS
250802010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25081
25082 XEN with Linux grub-mkconfig support.
25083
25084 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
25085 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
25086 GRUB_CMDLINE_XEN_DEFAULT.
25087 * util/grub.d/20_linux_xen.in: New file.
25088
53f3ef38 250892010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
25090
25091 Initialise VGA video on qemu ourselves.
25092
25093 * boot/i386/qemu/boot.S: Don't call 0xc000.
25094 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
25095 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
25096 (kernel_img_HEADERS): Add pci.h.
25097 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
25098 * configure.ac: Force unifont on qemu and yeeloong.
25099 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
25100 (grub_vga_palette_write): Use correct register.
25101 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
25102 Call grub_qemu_init_cirrus.
25103 * kern/i386/qemu/init.c: New file.
25104 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
25105
25106 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
25107
c75be4fb
PR
251082010-06-26 Pavel Roskin <proski@gnu.org>
25109
25110 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
25111 13.
25112
d8034603
CW
251132010-06-26 Colin Watson <cjwatson@ubuntu.com>
25114
25115 * docs/grub.texi (Simple configuration): Explain that
25116 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
25117 set to `true' to disable their respective recovery entries, not
25118 merely set.
25119
3fa06487
CW
251202010-06-26 Colin Watson <cjwatson@ubuntu.com>
25121
25122 Make the `source' command slightly faster.
25123
25124 * normal/main.c (grub_normal_execute): Don't re-read list files when
25125 nested.
25126
e9b29642
CW
251272010-06-23 Colin Watson <cjwatson@ubuntu.com>
25128
25129 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
25130 field position and mask size to red fields from mode_info, not
25131 green.
25132 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
25133 Remove redundant tag->common.framebuffer_type assignment.
25134 Reported by: Seth Goldberg.
25135
e726542f
CW
251362010-06-23 Colin Watson <cjwatson@ubuntu.com>
25137
25138 Sync up other versions of the Linux loader with Robert Millan's
25139 change of 2010-01-09, "Make loader output a bit more user-friendly".
25140
25141 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
25142 grub_dprintf().
25143 (grub_cmd_linux): Likewise.
25144 (grub_cmd_initrd): Likewise.
25145 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
25146 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25147
d6e98a17
CW
251482010-06-21 Colin Watson <cjwatson@ubuntu.com>
25149
25150 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
25151 larger than MEMORY_MAP_SIZE.
25152
14d3f08e
BC
251532010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
25154
25155 Fix parallel build.
25156
25157 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
25158 dependency.
25159 * script/parser.y: #include grub_script.tab.h header.
25160
4f9613a3
VS
251612010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25162
25163 Support >3GiB and <16MiB RAM in i386-qemu.
25164
25165 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
25166 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
25167 (grub_lower_mem): Removed.
25168 (grub_upper_mem): Likewise.
25169 (mem_size): Made static.
25170 (above_4g): New variable.
25171 (grub_machine_mmap_init): Detect small mem_size and above_4g.
25172 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
25173 support.
25174
05e51879
VS
251752010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25176
25177 Cirrus 5446 and Bochs video cards support.
25178
25179 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
25180 video_bochs.mod
25181 (video_cirrus_mod_SOURCES): New variable.
25182 (video_cirrus_mod_CFLAGS): Likewise.
25183 (video_cirrus_mod_LDFLAGS): Likewise.
25184 (video_bochs_mod_SOURCES): Likewise.
25185 (video_bochs_mod_CFLAGS): Likewise.
25186 (video_bochs_mod_LDFLAGS): Likewise.
25187 * include/grub/vga.h: New file.
25188 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
25189 (grub_video_fb_set_page_t): New type.
25190 (grub_video_fb_setup): New prototype.
25191 (grub_video_fb_swap_buffers): Likewise.
25192 (grub_video_fb_get_info_and_fini): Likewise.
25193 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
25194 (CRTC_DATA_PORT): Likewise.
25195 (CRTC_CURSOR): Likewise.
25196 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25197 (CRTC_CURSOR_ADDR_LOW): Likewise.
25198 (CRTC_CURSOR_DISABLE): Likewise.
25199 (update_cursor): Use grub_vga_cr_write.
25200 (grub_vga_text_setcursor): Likewise.
25201 * video/bochs.c: New file.
25202 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
25203 (palette): Likewise.
25204 (palette_size): Likewise.
25205 (framebuffer): New variable.
25206 (grub_video_fb_init): Use 'framebuffer'.
25207 (grub_video_fb_fini): Likewise.
25208 (grub_video_fb_get_info): Likewise.
25209 (grub_video_fb_get_palette): Likewise.
25210 (grub_video_fb_set_palette): Likewise.
25211 (grub_video_fb_set_viewport): Likewise.
25212 (grub_video_fb_get_viewport): Likewise.
25213 (grub_video_fb_map_color): Likewise.
25214 (grub_video_fb_map_rgb): Likewise.
25215 (grub_video_fb_map_rgba): Likewise.
25216 (grub_video_fb_unmap_color): Likewise.
25217 (grub_video_fb_unmap_color_int): Likewise.
25218 (grub_video_fb_fill_rect): Likewise.
25219 (grub_video_fb_blit_bitmap): Likewise.
25220 (grub_video_fb_blit_render_target): Likewise.
25221 (grub_video_fb_scroll): Likewise.
25222 (grub_video_fb_create_render_target): Likewise.
25223 (grub_video_fb_doublebuf_blit_init): Likewise.
25224 (grub_video_fb_set_active_render_target): Handle doublebuffering.
25225 (doublebuf_pageflipping_update_screen): New function.
25226 (doublebuf_pageflipping_init): Likewise.
25227 (grub_video_fb_setup): Likewise.
25228 (grub_video_fb_swap_buffers): Likewise.
25229 (grub_video_fb_get_info_and_fini): Likewise.
25230 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
25231 All users updated.
25232 (doublebuf_pageflipping_commit): Restructured into ...
25233 (doublebuf_pageflipping_set_page): ... this.
25234 (doublebuf_pageflipping_update_screen): Removed.
25235 (doublebuf_pageflipping_init): Likewise.
25236 (double_buffering_init): Likewise.
25237 (grub_video_vbe_setup): Use grub_video_fb_setup.
25238 (grub_video_vbe_swap_buffers): Removed.
25239 (grub_video_vbe_set_active_render_target): Likewise.
25240 (grub_video_vbe_get_active_render_target): Likewise.
25241 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
25242 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
25243 grub_video_fb_set_active_render_target and
25244 grub_video_fb_get_active_render_target.
25245 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
25246 (SEQUENCER_DATA_PORT): Likewise.
25247 (MAP_MASK_REGISTER): Likewise.
25248 (CRTC_ADDR_PORT): Likewise.
25249 (CRTC_DATA_PORT): Likewise.
25250 (START_ADDR_HIGH_REGISTER): Likewise.
25251 (START_ADDR_LOW_REGISTER): Likewise.
25252 (GRAPHICS_ADDR_PORT): Likewise.
25253 (GRAPHICS_DATA_PORT): Likewise.
25254 (READ_MAP_REGISTER): Likewise.
25255 (INPUT_STATUS1_REGISTER): Likewise.
25256 (INPUT_STATUS1_VERTR_BIT): Likewise.
25257 (get_map_mask): Use grub_vga_sr_read.
25258 (set_map_mask): Use grub_vga_sr_write.
25259 (set_read_map): Use grub_vga_gr_write.
25260 (set_start_address): Use grub_vga_cr_write.
25261 * video/sm712.c (framebuffer): Remove leftover fields.
25262
4321c64a
CW
252632010-06-20 Colin Watson <cjwatson@ubuntu.com>
25264
25265 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
25266 setting GRUB_VIDEO_BACKEND. Make it available as a user override
25267 instead. Replace the gfxterm backend check with a check that
25268 ${GRUB_PREFIX}/video.lst is non-empty.
25269 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
25270 again.
25271 (load_video): New generated function. Call it before loading
25272 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
25273 * util/grub.d/10_linux.in (linux_entry): Call load_video.
25274 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
25275 * docs/grub.texi (Simple configuration): Document
25276 GRUB_VIDEO_BACKEND.
25277
252782010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25279
25280 Use video functions in linux and xnu loaders.
25281
25282 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
25283 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
25284 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
25285 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
25286 loader/i386/pc/linux.c.
25287 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
25288 (find_line_len): Removed.
25289 (find_framebuf): Likewise.
25290 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
25291 * loader/i386/efi/xnu.c: Removed.
25292 * loader/i386/pc/xnu.c: Moved from here...
25293 * loader/i386/xnu.c: ...here.
25294
25295 Enable priorities in video drivers.
25296
25297 * include/grub/video.h (grub_video_adapter_prio_t): New type.
25298 (grub_video_adapter): New field prio.
25299 (grub_video_register): Respect prio when inserting.
25300 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
25301 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
25302 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
25303 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
25304 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
25305 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
25306 * video/sm712.c (grub_video_sm712_adapter): Likewise.
25307
25308 Fix SDL driver ID.
25309
25310 * include/grub/video.h (grub_video_driver_id_t): New value
25311 GRUB_VIDEO_DRIVER_SDL.
25312 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
25313
7d24e434
CW
253142010-06-17 Colin Watson <cjwatson@ubuntu.com>
25315
25316 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
25317 argument to printf.
25318 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25319
c88a83f6
CW
253202010-06-17 Colin Watson <cjwatson@ubuntu.com>
25321
25322 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
25323 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25324
094dfb69
CW
253252010-06-17 Colin Watson <cjwatson@ubuntu.com>
25326
25327 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
25328 directly, and recommend grub-install instead.
25329 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25330
2164da6b
CW
253312010-06-17 Colin Watson <cjwatson@ubuntu.com>
25332
25333 Fix i386-pc prefix handling with nested partitions (Debian bug
25334 #585068). Note that the case where the core image is booted using
25335 multiboot and relocated from its original location still requires
25336 more work.
25337
25338 * kern/i386/pc/init.c (make_install_device): If the prefix starts
25339 with "(,", fill the boot drive in between those two characters, but
25340 expect that a full partition specification including partition map
25341 names will follow.
25342 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
25343 specified, write a prefix without the drive name but including a
25344 full partition specification.
25345
044e2e60
CW
253462010-06-16 Colin Watson <cjwatson@ubuntu.com>
25347
25348 * util/grub-mkconfig.in: Ignore non-option arguments, for
25349 compatibility with older versions (before 2010-06-12) which did the
25350 same. In particular, this makes it easier to ship an update-grub
25351 wrapper which is compatible with that used with GRUB Legacy (Debian
25352 bug #586056).
25353
5591324f
GS
253542010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25355
25356 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
25357 for manual page generation.
25358
662e24d5
GS
253592010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25360
25361 * po/POTFILES: Remove leftover commands/handler.c.
25362
8d70754e
CW
253632010-06-14 Colin Watson <cjwatson@ubuntu.com>
25364
25365 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
25366 left this script non-functional.
25367
41160e2e
CW
253682010-06-14 Colin Watson <cjwatson@ubuntu.com>
25369
25370 * docs/man/grub-emu.h2m: New file.
25371
b5309cc1
CW
253722010-06-13 Colin Watson <cjwatson@ubuntu.com>
25373
25374 * docs/grub.texi (Commands): Document reduced command set in rescue
25375 mode.
25376 (cpuid): New section.
25377
fcb2d090
GS
253782010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
25379
25380 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
25381 new partition naming style.
25382 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
25383
96e5c556
BC
253842010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
25385
25386 Add "-o grub.iso" like cmdline options support.
25387
25388 * util/grub-install.in: Improve cmdline option parsing.
25389 * util/grub-mkconfig.in: Likewise.
25390 * util/grub-mkrescue.in: Likewise.
25391 * util/grub-reboot.in: Likewise.
25392 * util/grub-set-default.in: Likewise.
25393 * util/i386/efi/grub-install.in: Likewise.
25394 * util/ieee1275/grub-install.in: Likewise.
25395 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25396
c16be99b
CW
253972010-06-12 Colin Watson <cjwatson@ubuntu.com>
25398
25399 * .bzrignore: Ignore 41_custom.
25400
ce08a9fb
TS
254012010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25402
25403 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
25404
7beac90c
CW
254052010-06-12 Colin Watson <cjwatson@ubuntu.com>
25406
25407 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
25408 prototype declarations.
25409
25410 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
25411 generating fs, partmap, and video lists.
25412 * include/grub/fs.h (grub_fs_register): Omit prototype if
25413 GRUB_LST_GENERATOR is defined.
25414 * include/grub/partition.h (grub_partition_map_register): Likewise.
25415 * include/grub/video.h (grub_video_register): Likewise.
25416
1c8f0f8d
JM
254172010-06-12 Javier Martín <lordhabbit@gmail.com>
25418
25419 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
25420
a6085973
TS
254212010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25422
25423 * util/grub-mkrescue.in: Support --xorriso argument.
25424
25c56d29
VS
254252010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25426
25427 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
25428 Suggested by: Thomas Schmitt.
25429
e03e4b24
VS
254302010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25431
25432 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
25433 Suggested by: Thomas Schmitt.
25434
57711df6
VS
254352010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25436
25437 custom.cfg support.
25438
25439 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
25440 * util/grub.d/41_custom.in: New file.
25441
ee62c427
CW
254422010-06-12 Colin Watson <cjwatson@ubuntu.com>
25443
25444 * util/grub-mkrescue.in (make_image): Remove sh module, which has
25445 been merged back into normal.
25446
283af07a
CW
254472010-06-11 Colin Watson <cjwatson@ubuntu.com>
25448
25449 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
25450 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
25451
56a0d956
CW
254522010-06-11 Colin Watson <cjwatson@ubuntu.com>
25453
25454 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
25455 when generating manual pages.
25456 * docs/man/grub-bin2h.h2m: New file.
25457 * docs/man/grub-editenv.h2m: New file.
25458 * docs/man/grub-fstest.h2m: New file.
25459 * docs/man/grub-install.h2m: New file.
25460 * docs/man/grub-macho2img.h2m: New file.
25461 * docs/man/grub-mkconfig.h2m: New file.
25462 * docs/man/grub-mkdevicemap.h2m: New file.
25463 * docs/man/grub-mkfont.h2m: New file.
25464 * docs/man/grub-mkimage.h2m: New file.
25465 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
25466 * docs/man/grub-mkrelpath.h2m: New file.
25467 * docs/man/grub-mkrescue.h2m: New file.
25468 * docs/man/grub-ofpathname.h2m: New file.
25469 * docs/man/grub-pe2elf.h2m: New file.
25470 * docs/man/grub-probe.h2m: New file.
25471 * docs/man/grub-reboot.h2m: New file.
25472 * docs/man/grub-script-check.h2m: New file.
25473 * docs/man/grub-set-default.h2m: New file.
25474 * docs/man/grub-setup.h2m: New file.
25475
3a37e322
VS
254762010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
25477
25478 Use FOR_* macros instead of *_iterate whenever possible.
25479
25480 * commands/handler.c: Removed.
25481 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
25482 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
25483 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25484 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
25485 (grub_probe_SOURCES): Remove kern/parser.c.
25486 (util/grub-script-check.c_DEPENDENCIES): Removed.
25487 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
25488 and grub_script_check_init.c.
25489 (grub_script_check_init.lst): Removed.
25490 (grub_script_check_init.h): Likewise.
25491 (grub_script_check_init.c): Likewise.
25492 (pkglib_MODULES): Remove handler.mod and sh.mod.
25493 (handler_mod_SOURCES): Removed.
25494 (handler_mod_CFLAGS): Likewise.
25495 (handler_mod_LDFLAGS): Likewise.
25496 (normal_mod_SOURCES): Remove normal/handler.c.
25497 Add script/main.c, script/script.c, script/execute.c,
25498 script/function.c, script/lexer.c, grub_script.tab.c
25499 and grub_script.yy.c.
25500 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25501 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25502 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
25503 (grub_setup_SOURCES): Remove kern/parser.c.
25504 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25505 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
25506 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25507 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25508 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25509 (grub_setup_SOURCES): Remove kern/parser.c.
25510 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25511 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
25512 * include/grub/command.h (grub_command_iterate): Removed.
25513 (FOR_COMMANDS): New macro.
25514 * include/grub/dl.h (grub_dl): New member next.
25515 (grub_dl_iterate): Removed.
25516 (grub_dl_head): New variable declaration.
25517 (FOR_DL_MODULES): New macro.
25518 * include/grub/fs.h: Include list.h.
25519 (grub_fs): Make next first element.
25520 (grub_fs_list): New variable declaration.
25521 (grub_fs_register): Make inline.
25522 (grub_fs_unregister): Likewise.
25523 (grub_fs_iterate): Removed.
25524 (FOR_FILESYSTEMS): New macro.
25525 * include/grub/handler.h: Removed.
25526 * include/grub/list.h (grub_list_hook_t): Removed.
25527 (grub_list_test_t): Likewise.
25528 (grub_list_pop): Likewise.
25529 (grub_list_iterate): Likewise.
25530 (grub_list_insert): Likewise.
25531 (FOR_LIST_ELEMENTS): New macro.
25532 * include/grub/parser.h (grub_parser_class): Removed.
25533 (grub_parser_register): Likewise.
25534 (grub_parser_unregister): Likewise.
25535 (grub_parser_get_current): Likewise.
25536 (grub_parser_set_current): Likewise.
25537 (grub_register_rescue_parser): Likewise.
25538 (grub_rescue_parse_line): New function.
25539 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
25540 * include/grub/script_sh.h (grub_script_function_list): New variable
25541 declaration.
25542 (FOR_SCRIPT_FUNCTIONS): New macro.
25543 (grub_script_function_iterate): Removed.
25544 (grub_normal_parse_line): New prototype.
25545 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
25546 (FOR_DISABLED_TERM_INPUTS): Likewise.
25547 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
25548 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
25549 * include/grub/video.h (grub_video_adapter): Move 'next' to first
25550 element.
25551 (grub_video_register): Inline.
25552 (grub_video_unregister): Likewise.
25553 (grub_video_adapter_list): New variable declaration.
25554 (grub_video_iterate): Removed.
25555 (FOR_VIDEO_ADAPTERS): New macro.
25556 * kern/dl.c (grub_dl_list): Removed. All users updated.
25557 (grub_dl_iterate): Removed.
25558 * kern/fs.c (grub_fs_list): Make global.
25559 (grub_fs_register): Removed.
25560 (grub_fs_unregister): Likewise.
25561 (grub_fs_iterate): Likewise.
25562 * kern/handler.c: Removed.
25563 * kern/list.c (grub_list_pop): Removed.
25564 (grub_list_iterate): Likewise.
25565 (grub_list_insert): Likewise.
25566 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
25567 (grub_prio_list_insert): Don't use grub_list_insert.
25568 * kern/main.c (grub_register_rescue_parser): Don't call
25569 grub_register_rescue_parser.
25570 * kern/parser.c (grub_parser_class): Removed.
25571 (grub_parser_execute): Use grub_rescue_parse_line.
25572 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
25573 (grub_rescue_parser): Removed.
25574 (grub_register_rescue_parser): Likewise.
25575 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
25576 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
25577 (grub_auth_check_authentication): Likewise.
25578 * normal/completion.c (iterate_command): Removed.
25579 (grub_normal_do_completion): Use FOR_COMMANDS.
25580 * normal/handler.c: Removed.
25581 * normal/main.c (read_config_file): Remove parser changing.
25582 (grub_normal_execute): Don't call read_handler_list.
25583 (grub_normal_read_line_real): Statically allocate prompt.
25584 (grub_cmdline_run): Use grub_normal_parse_line.
25585 (GRUB_MOD_FINI): Don't call free_handler_list.
25586 * normal/menu_entry.c (run): Likewise.
25587 * script/function.c (grub_script_function_list): Make global.
25588 (grub_script_function_iterate): Removed.
25589 * script/main.c (grub_normal_parse_line): Make global.
25590 (grub_sh_parser): Removed.
25591 (GRUB_MOD_INIT): Likewise.
25592 (GRUB_MOD_FINI): Likewise.
25593 * tests/lib/functional_test.c (grub_functional_test): Use
25594 FOR_LIST_ELEMENTS.
25595 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
25596 (grub_test_run): Use FOR_LIST_ELEMENTS.
25597 * tests/lib/unit_test.c (main): Likewise.
25598 * util/deviceiter.c (grub_util_iterate_devices): Don't use
25599 grub_list_pop.
25600 * util/grub-fstest.c (grub_term_input_class): Removed.
25601 (grub_term_output_class): Likewise.
25602 * util/grub-probe.c: Likewise.
25603 * util/i386/pc/grub-setup.c: Likewise.
25604 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25605 * util/grub-script-check.c (main): Don't call grub_init_all and
25606 grub_fini_all.
25607 * video/video.c (grub_video_adapter_list): Make global.
25608 (grub_video_register): Removed.
25609 (grub_video_unregister): Likewise.
25610 (grub_video_iterate): Likewise.
25611
6289c3a7
VS
256122010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
25613
25614 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
25615 reported by Henrique Ferreiro.
25616
91460247
RM
256172010-06-09 Robert Millan <rmh@gnu.org>
25618
25619 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
25620 ones, when both are available.
25621
0ea7c4f9
GS
256222010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25623
25624 Make --version uniform and avoid hard-coded program name.
25625
25626 * util/grub-mkimage.c (main): Use `program_name' instead of
25627 hard-coded string.
25628 * util/i386/pc/grub-setup.c (main): Likewise.
25629 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
25630 * util/grub-install.in: Save the basename of $0 in $self, and use the
25631 latter in informational messages. Use the same format for --version
25632 as the binary programs.
25633 * util/grub-mkconfig.in: Likewise.
25634 * util/grub-mkrescue.in: Likewise.
25635 * util/grub-reboot.in: Likewise.
25636 * util/grub-set-default.in: Likewise.
25637 * util/i386/efi/grub-install.in: Likewise.
25638 * util/ieee1275/grub-install.in: Likewise.
25639 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25640
e8a6f3b6
GS
256412010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25642
25643 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
25644 embedding area. Use <= instead of == when checking for non-emptiness.
25645
f4d095d7
GS
256462010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25647
25648 * configure.ac: Add `.' to the directories searched for unifont.
25649
50e532ca
CW
256502010-06-08 Colin Watson <cjwatson@ubuntu.com>
25651
25652 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
25653 grub_script.yy.h.
25654
d39f3dec
CW
256552010-06-08 Colin Watson <cjwatson@ubuntu.com>
25656
25657 * docs/grub.texi (History): Expand to cover GRUB 2.
25658 (Serial terminal): Refer to `terminal_input' and `terminal_output'
25659 commands, not `terminal'.
25660 (serial): Likewise.
25661 (terminal_input): New section.
25662 (terminal_output): New section.
25663 (uppermem): New section (stub).
25664 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
25665
6ef0ddb4
CW
256662010-06-08 Colin Watson <cjwatson@ubuntu.com>
25667
25668 * docs/grub.texi (Security): Menu entries are unrestricted by
25669 default, not restricted to superusers as I had previously thought.
25670 Reword to account for this.
25671
e0f4c438
CW
256722010-06-07 Colin Watson <cjwatson@ubuntu.com>
25673
25674 * kern/emu/misc.c (device_mapper_null_log): New function.
25675 (grub_device_mapper_supported): New function.
25676 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
25677 prototype.
25678 * kern/emu/hostdisk.c (find_partition_start): Check whether
25679 device-mapper is supported before trying to use it.
25680 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
25681
da908200
CW
256822010-06-07 Colin Watson <cjwatson@ubuntu.com>
25683
25684 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
25685 (File name syntax): Likewise.
25686 (help): --all is no longer supported in GRUB 2. Be more precise
25687 about pattern matching.
25688
fb55c3ac
CW
256892010-06-07 Colin Watson <cjwatson@ubuntu.com>
25690
25691 * normal/completion.c (grub_normal_do_completion): When completing
25692 arguments to "set" and the current word contains an equals sign,
25693 skip to after the equals sign before starting completion.
25694
258c2573
CW
256952010-06-07 Colin Watson <cjwatson@ubuntu.com>
25696
25697 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
25698
ee75515e
CW
256992010-06-07 Colin Watson <cjwatson@ubuntu.com>
25700
25701 * docs/grub.texi (Network): New section.
25702 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
25703 `(nd)' as in GRUB Legacy.
25704 (pxe_unload): New section.
25705
a6a700aa
CW
257062010-06-07 Colin Watson <cjwatson@ubuntu.com>
25707
25708 * docs/grub.texi (Troubleshooting): `echo' is not usually available
25709 in the rescue shell, so recommend using `set' instead. Thanks,
25710 Jordan Uggla.
25711
4003dd38
CW
257122010-06-07 Colin Watson <cjwatson@ubuntu.com>
25713
25714 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
25715 (password): New section.
25716 (password_pbkdf2): New section.
25717 (search): New section.
25718 (Security): New section.
25719 (Troubleshooting): New section, currently very incomplete.
25720 (Invoking grub-mkpasswd-pbkdf2): New section.
25721 (Internals): New section, currently very incomplete.
25722
e1cbcc40
CW
257232010-06-07 Colin Watson <cjwatson@ubuntu.com>
25724
25725 * util/grub.d/00_header.in: Add some more quoting (of
25726 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
25727 work again.
25728 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
25729
db8fa1ad
CW
257302010-06-07 Colin Watson <cjwatson@ubuntu.com>
25731
25732 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
25733 to `count', fixing variable shadowing that broke the -c option.
25734
257352010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
25736
25737 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
25738 in case they contain spaces.
25739
f28a9212
CW
257402010-06-04 Colin Watson <cjwatson@ubuntu.com>
25741
25742 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
25743 "part_" to partmap module names, in line with grub-install.
25744 Reported by: Jindřich Makovička (Debian bug #584426).
25745
9cdfe32f
CW
257462010-06-04 Colin Watson <cjwatson@ubuntu.com>
25747
25748 * util/grub-mkimage.c: Make target-related error messages slightly
25749 more helpful; -O talks about "format". Explicitly point to the use
25750 of -O if no target is specified.
25751 Reported by: Didier Raboud (Debian bug #584415).
25752
795b593a
CW
257532010-06-03 Colin Watson <cjwatson@ubuntu.com>
25754
25755 * INSTALL: Document several build requirements for optional features
25756 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
25757
9d9b5833
GS
257582010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
25759
25760 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
25761 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
25762 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
25763
0819fec8
CW
257642010-06-02 Colin Watson <cjwatson@ubuntu.com>
25765
25766 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
25767 Thanks to Jordan Uggla for spotting this.
25768
49396b4f
VS
257692010-06-02 Aleš Nesrsta <starous@volny.cz>
25770
25771 Finally make USB usable.
25772
25773 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
25774 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
25775 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
25776 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
25777 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
25778 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
25779 (GRUB_OHCI_FSMPS): Likewise.
25780 (GRUB_OHCI_PERIODIC_START): Likewise.
25781 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
25782 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
25783 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
25784 (GRUB_OHCI_SET_PORT_RESET): Likewise.
25785 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
25786 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
25787 (grub_ohci_transaction): Likewise.
25788 (grub_ohci_transfer): Improve condition detection algorithms.
25789 Handle toggle property. Program the transactions correctly.
25790 Improve error handling. Various important fixups.
25791 (grub_ohci_portstatus): Put register writes in right order.
25792 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
25793 (grub_uhci_transfer): Don't show "failed" message on success.
25794 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
25795 array.
25796 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
25797 determine its size.
25798 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
25799 before initialization is completed. Use IN direction for empty
25800 transfers. Use last_trans and compute toggle.
25801 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
25802 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
25803 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
25804 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
25805 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
25806 (grub_usb_device): Increase toggle to 256.
25807 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
25808 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
25809 GRUB_USBMS_SUBCLASS_SFF8070.
25810 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
25811 (grub_scsi_inquiry): New member page and alloc_length.
25812 (grub_scsi_request_sense): New structure.
25813 (grub_scsi_request_sense_data): Likewise.
25814 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
25815 control.
25816 * disk/scsi.c (grub_scsi_request_sense): New function.
25817 (grub_scsi_test_unit_ready): Likewise.
25818 (grub_scsi_inquiry): Fill new fields.
25819 (grub_scsi_read_capacity): Likewise.
25820 (grub_scsi_read10): Add request sense at the end.
25821 (grub_scsi_read12): Likewise.
25822 (grub_scsi_write10): Likewise.
25823 (grub_scsi_write12): Likewise.
25824 (grub_scsi_open): Add Test Unit Ready.
25825 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
25826 Support additional subclasses. Con't clear halt yet. Activate the
25827 proper config. Calculate LUNs correctly.
25828 (grub_usbms_transfer): Various important fixups.
25829
258302010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25831
25832 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
25833 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
25834 (grub_ohci_fini_hw): New function.
25835 (grub_ohci_restore_hw): Likewise.
25836 (GRUB_MOD_INIT(ohci)): Register preboot hook.
25837 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
25838 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
25839
258402010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25841
25842 Dedicated DMA allocations.
25843
25844 * bus/pci.c (grub_memalign_dma32): New function
25845 (grub_dma_free): Likewise.
25846 (grub_dma_get_virt): Likewise.
25847 (grub_dma_get_phys): Likewise.
25848 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
25849 (grub_ohci_pci_iter): Use dma32_alloc.
25850 (grub_ohci_transfer): Likewise.
25851 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
25852 (grub_usb_bulk_readwrite): Likewise.
25853 * include/grub/pci.h: Add declarations.
25854
258552010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25856
25857 CS5536 support.
25858
25859 * bus/cs5536.c: New file.
25860 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
25861 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
25862 (cs5536_mod_SOURCES): New variable.
25863 (cs5536_mod_CFLAGS): Likewise.
25864 (cs5536_mod_LDFLAGS): Likewise.
25865 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
25866 machine/pci.h.
25867 (kernel_img_SOURCES): Add bus/cs5536.c.
25868 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
25869 usb_keyboard.mod.
25870 (usb_mod_SOURCES): New variable.
25871 (usb_mod_CFLAGS): New variable.
25872 (usb_mod_LDFLAGS): New variable.
25873 (usbtest_mod_SOURCES): New variable.
25874 (usbtest_mod_CFLAGS): New variable.
25875 (usbtest_mod_LDFLAGS): New variable.
25876 (ohci_mod_SOURCES): New variable.
25877 (ohci_mod_CFLAGS): New variable.
25878 (ohci_mod_LDFLAGS): New variable.
25879 (usbms_mod_SOURCES): New variable.
25880 (usbms_mod_CFLAGS): New variable.
25881 (usbms_mod_LDFLAGS): New variable.
25882 (usb_keyboard_mod_SOURCES): New variable.
25883 (usb_keyboard_mod_CFLAGS): New variable.
25884 (usb_keyboard_mod_LDFLAGS): New variable.
25885 * include/grub/smbus.h: New file.
25886 * include/grub/cs5536.h: New file.
25887
0b35b2a9
CW
258882010-06-02 Colin Watson <cjwatson@ubuntu.com>
25889
25890 * util/grub.d/00_header.in: Add safety check to make sure that
25891 ${locale_dir} exists before trying to probe it.
25892
ca0afd5b
CW
258932010-06-02 Colin Watson <cjwatson@ubuntu.com>
25894
25895 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
25896 per the GNU Coding Standards; this is now too obscure to be worth
25897 documenting.
25898 (QNX): Likewise.
25899 (chainloader): Remove cross-reference to `SCO UnixWare'.
25900
1c41aa78
CW
259012010-06-02 Colin Watson <cjwatson@ubuntu.com>
25902
25903 * docs/grub.texi (Chain-loading): New section.
25904 (DOS/Windows): New section, borrowed from GRUB Legacy with details
25905 adjusted for GRUB 2.
25906 (SCO UnixWare): Likewise.
25907 (QNX): Likewise.
25908 (chainloader): Add reference to `Block list syntax'.
25909 (drivemap): New section.
25910 (parttool): New section.
25911
bb8ea0f5
CW
259122010-06-02 Colin Watson <cjwatson@ubuntu.com>
25913
25914 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
25915 the grub shell'.
25916 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
25917 (Installing GRUB using grub-install): Remove reference to the grub
25918 shell; mention `grub-mkimage' and `grub-setup' instead.
25919 (Invoking grub-install): Likewise.
25920 (Interface): Add reference to `Menu entry editor'.
25921 (serial): Remove `--device' option.
25922
288dd6ed
CW
259232010-06-02 Colin Watson <cjwatson@ubuntu.com>
25924
25925 * docs/grub.texi (Configuration): New section, documenting
25926 configuration file generation using grub-mkconfig. I've left a slot
25927 for documenting the full shell scripting format but have not yet
25928 started on writing that up.
25929 (Invoking grub-mkconfig): New section.
25930
34c9f0e9
CW
259312010-06-02 Colin Watson <cjwatson@ubuntu.com>
25932
25933 * docs/grub.texi (direntry): Remove grub-terminfo reference.
25934 (GNU GRUB manual): Likewise.
25935 (General commands): Update description of `terminfo' for GRUB 2.
25936
9121567e
CW
259372010-06-02 Colin Watson <cjwatson@ubuntu.com>
25938
25939 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
25940 (GRUB_MOD_INIT): Fix capitalisation.
25941 * docs/grub.texi (Command-line and menu entry commands): Document
25942 gettext and gptsync commands.
25943
ab631611
CW
259442010-06-02 Colin Watson <cjwatson@ubuntu.com>
25945
25946 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
25947 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
25948
bde4a9ac
CW
259492010-06-01 Colin Watson <cjwatson@ubuntu.com>
25950
25951 Add btrfs probing support, currently only in the single-device case.
25952
25953 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
25954 function.
25955 (grub_guess_root_device): Call find_root_device_from_mountinfo
25956 before looking in /dev.
25957
b1d17e10
VS
259582010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25959
25960 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
25961 GRUB_DISK_SIZE_UNKNOWN.
25962 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
25963
dfbfe004
JS
259642010-05-31 Jiro SEKIBA <jir@unicus.jp>
25965
25966 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
25967 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
25968 corrupted or not synced properly.
25969
c2ffc8e9
VS
259702010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25971
25972 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
25973 Reported by: Seth Goldberg.
25974
56293166
VS
259752010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25976
25977 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
25978 addition of dest.
25979 Reported by: Seth Goldberg.
25980
7620e7de
VS
259812010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25982
25983 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
25984 Reported by: Seth Goldberg.
25985
c837af3f
VS
259862010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25987
25988 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
25989 64-bit address as signed on MIPS.
25990
c7c75cf4
CW
259912010-05-28 Colin Watson <cjwatson@ubuntu.com>
25992
25993 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
25994 to the empty string.
25995
fa4b8490
BC
259962010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
25997
25998 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
25999
26000 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
26001 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
26002 * kern/misc.c (__enable_execute_stack): Disable on
26003 GRUB_MACHINE_EMU.
26004
a33075b9
CW
260052010-05-28 Colin Watson <cjwatson@ubuntu.com>
26006
26007 Make grub-probe work with symbolic links under /dev/mapper as well
26008 as with real block devices. The Linux world seems to be (at best)
26009 in transition here, and GRUB shouldn't get caught in the middle.
26010
26011 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
26012 /dev/mapper.
26013
d8708134
CW
260142010-05-27 Colin Watson <cjwatson@ubuntu.com>
26015
26016 * util/grub-script-check.c (main): Ensure defined behaviour on empty
26017 input files (in which case exit zero).
26018
db2102a0
CW
260192010-05-27 Colin Watson <cjwatson@ubuntu.com>
26020
26021 * kern/emu/misc.c (canonicalize_file_name): realpath can still
26022 return NULL for various reasons even if it has a maximum-length
26023 buffer: for example, there might be a symlink loop, or the path
26024 might exceed PATH_MAX. If this happens, return NULL.
26025
5fdba519
RM
260262010-05-27 Robert Millan <rmh@gnu.org>
26027
26028 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
26029 partmap module to handle cross-partmap setups.
26030 Reported by Orestes Mas. Gràcies!
26031
d1d368e4
CW
260322010-05-27 Colin Watson <cjwatson@ubuntu.com>
26033
26034 * util/grub-mkrescue.in: Initialise override_dir rather than
26035 assuming that it's unset or empty in the environment.
26036
95ac3c73
GS
260372010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
26038
26039 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
26040 variable index into p_index to suppress a warning with -Wshadow.
26041
7d8c0213
BC
260422010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
26043
26044 * INSTALL: Added flex >= 2.5.35 requirement.
26045
db4d5813
VS
260462010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26047
26048 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
26049
f24f4300
VS
260502010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26051
26052 cmostest support.
26053
26054 * commands/i386/cmostest.c: New file.
26055 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
26056 (cmostest_mod_SOURCES): New variable.
26057 (cmostest_mod_CFLAGS): Likewise.
26058 (cmostest_mod_LDFLAGS): Likewise.
26059 * conf/i386-pc.rmk: Likewise.
26060 * docs/grub.texi (Vendor power-on keys): New section.
26061 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
26062 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
26063 and GRUB_BUTTON_CMOS_ADDRESS.
26064 * util/grub.d/00_header.in: Handle powering-on by separate button.
26065
ad603f61
VS
260662010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26067
26068 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
26069 Removed drawing_scrollbar argument. All users updated
26070 Fixes #29792.
26071 Reported by Jo Shields
26072
3ecb080a
VS
260732010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26074
26075 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
26076 buffer since gfxterm handles double repaint.
26077
5f2316c1
VS
260782010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26079
26080 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
26081 * term/gfxterm.c (real_scroll): Likewise.
26082
9a25f885
VS
260832010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26084
26085 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
26086 before calling BIOS.
26087
39fbb79a
VS
260882010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26089
26090 * include/grub/i18n.h: Always enable grub_gettext.
26091
228cfa97
VS
260922010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26093
26094 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
26095 partition naming style.
26096
21717c8f
CW
260972010-05-21 Colin Watson <cjwatson@ubuntu.com>
26098
26099 * util/grub-mkconfig.in: Fix handling of -o so that it works when
26100 not the first option.
26101
c0f48e65
CW
261022010-05-20 Colin Watson <cjwatson@ubuntu.com>
26103
26104 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
26105
96779aec
CW
261062010-05-20 Colin Watson <cjwatson@ubuntu.com>
26107
26108 * util/misc.c: Move inclusion of <limits.h> to ...
26109 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
26110
fa9d256e
GS
261112010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
26112
26113 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
26114 Fix merge error in NetBSD code.
26115 (find_partition_start) [__NetBSD__]: Likewise.
26116
123b7a85
BC
261172010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
26118
26119 Fix grub-mkrescue usage unit testing.
26120
26121 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
26122
74276c0d
CF
261232010-05-18 Christian Franke <franke@computer.org>
26124
26125 * util/grub.d/10_windows.in: Use path names instead of
26126 drive letters to prevent warning from Cygwin 1.7.
26127 Add drivemap command to menuentry if needed.
26128
c4f7b523
ST
261292010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
26130
26131 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
26132 gnumach and gnumach.gz.
26133
95b97950
VS
261342010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26135
26136 * include/grub/i18n.h (gettext): Inline instead of using #define.
26137 (grub_gettext): Likewise.
26138 (_): Likewise.
26139
01b8d2d7
VS
261402010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26141
26142 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
26143 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
26144 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
26145 (main): Add a slash after pkglibdirroot.
26146
654e1d1e
VS
261472010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26148
26149 * util/grub-install.in: Add missing "in" keyword.
26150
26966aeb
VS
261512010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26152
26153 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
26154 Reported by: Seth Goldberg.
26155
75006747
VS
261562010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26157
26158 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
26159
74cbf5bd
CW
261602010-05-18 Colin Watson <cjwatson@ubuntu.com>
26161
26162 * configure.ac: Check for Linux device-mapper support.
26163
26164 * util/hostdisk.c (device_is_mapped): New function.
26165 (find_partition_start): New function, partly broken out from
26166 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
26167 device-mapper support added.
26168 (linux_find_partition): Use find_partition_start.
26169 (convert_system_partition_to_system_disk): Add `st' argument.
26170 Support Linux /dev/mapper/* devices if device-mapper support is
26171 available; only DM-RAID devices are understood at present.
26172 (find_system_device): Add `st' argument. Pass it to
26173 convert_system_partition_to_system_disk.
26174 (grub_util_biosdisk_get_grub_dev): Pass stat result to
26175 find_system_device and convert_system_partition_to_system_disk. Use
26176 find_partition_start.
26177
26178 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
26179 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
26180 * util/deviceiter.c [__linux__]: Define MINOR.
26181 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
26182 * util/mkdevicemap.c (grub_putchar): New function.
26183 (grub_getkey): New function.
26184 (grub_refresh): New function.
26185 (main): Set debug=all if -v -v is used.
26186
355b51e9
CW
261872010-05-18 Colin Watson <cjwatson@ubuntu.com>
26188
26189 Fix build with non-GNU libcs.
26190
26191 * util/misc.c (canonicalize_file_name): Move to ...
26192 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
26193 grub_make_system_path_relative_to_its_root.
26194
7fb5c25f
CW
261952010-05-18 Colin Watson <cjwatson@ubuntu.com>
26196
26197 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
26198 we handle finding grub-mkimage. Default to finding grub-mkimage in
26199 ${bindir} with program_transform_name applied, and provide a
26200 --grub-mkimage option to override this.
26201
1d3293d6
VS
262022010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26203
26204 Remove grub-mkisofs.
26205
26206 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
26207 (grub_mkisofs_SOURCES): Removed.
26208 (grub_mkisofs_CFLAGS): Removed.
26209 * util/mkisofs/defaults.h: Removed.
26210 * util/mkisofs/eltorito.c: Likewise.
26211 * util/mkisofs/exclude.h: Likewise.
26212 * util/mkisofs/hash.c: Likewise.
26213 * util/mkisofs/include/: Likewise.
26214 * util/mkisofs/include/fctldefs.h: Likewise.
26215 * util/mkisofs/include/mconfig.h: Likewise.
26216 * util/mkisofs/include/prototyp.h: Likewise.
26217 * util/mkisofs/include/statdefs.h: Likewise.
26218 * util/mkisofs/iso9660.h: Likewise.
26219 * util/mkisofs/joliet.c: Likewise.
26220 * util/mkisofs/match.c: Likewise.
26221 * util/mkisofs/match.h: Likewise.
26222 * util/mkisofs/mkisofs.c: Likewise.
26223 * util/mkisofs/mkisofs.h: Likewise.
26224 * util/mkisofs/msdos_partition.h: Likewise.
26225 * util/mkisofs/multi.c: Likewise.
26226 * util/mkisofs/name.c: Likewise.
26227 * util/mkisofs/rock.c: Likewise.
26228 * util/mkisofs/tree.c: Likewise.
26229 * util/mkisofs/write.c: Likewise.
26230
5dde9afe
VS
262312010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26232
26233 Unify grub-mkimage accross platforms.
26234
26235 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
26236 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
26237 (grub_mkelfimage_SOURCES): Removed.
26238 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
26239 (util/grub-mkimage.c_DEPENDENCIES): .. this.
26240 (bin_UTILITIES): Add grub-mkimage.
26241 (grub_mkimage_SOURCES): New variable.
26242 (kernel_img_HEADERS): Remove machine/kernel.h.
26243 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
26244 (pkglib_PROGRAMS): Add kernel.img.
26245 (kernel_img_HEADERS): Add machine/kernel.h.
26246 (kernel_img_FORMAT): Removed.
26247 (bin_UTILITIES): Remove grub-mkimage.
26248 (grub_mkimage_SOURCES): Removed.
26249 (grub_mkimage_CFLAGS): Likewise.
26250 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26251 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
26252 (pkglib_PROGRAMS): Add kernel.img.
26253 (bin_UTILITIES): Remove grub-mkimage.
26254 (grub_mkimage_SOURCES): Removed.
26255 (grub_mkimage_CFLAGS): Likewise.
26256 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26257 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
26258 (pkglib_PROGRAMS): Add kernel.img.
26259 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
26260 (pkglib_PROGRAMS): Add kernel.img.
26261 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
26262 (grub_mkimage_SOURCES): Removed.
26263 (grub_mkimage_CFLAGS): Likewise.
26264 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26265 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
26266 (pkglib_PROGRAMS): Add kernel.img.
26267 (bin_UTILITIES): Remove grub-mkimage.
26268 (grub_mkimage_SOURCES): Removed.
26269 (grub_mkimage_CFLAGS): Likewise.
26270 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26271 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
26272 (grub_mkimage_SOURCES): Removed.
26273 (grub_mkimage_CFLAGS): Likewise.
26274 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26275 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
26276 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
26277 (grub_pe32_optional_header): ... this.
26278 (grub_pe64_optional_header): ... and this. All users updated.
26279 (GRUB_PE32_PE32_MAGIC): Split into ..
26280 (GRUB_PE32_PE32_MAGIC): .. this.
26281 (GRUB_PE32_PE64_MAGIC): .. and this.
26282 (GRUB_PE32_SIGNATURE_SIZE): New definition.
26283 * include/grub/elf.h (PT_GNU_STACK): New definition.
26284 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
26285 * include/grub/i386/efi/kernel.h: Likewise.
26286 * include/grub/i386/kernel.h: Likewise.
26287 * include/grub/i386/pc/kernel.h: Likewise.
26288 * include/grub/i386/qemu/boot.h: Likewise.
26289 * include/grub/mips/kernel.h: Likewise.
26290 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26291 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26292 * include/grub/powerpc/kernel.h: Likewise.
26293 * include/grub/sparc64/ieee1275/boot.h: Likewise.
26294 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26295 * include/grub/sparc64/kernel.h: Likewise.
26296 * include/grub/x86_64/efi/kernel.h: Likewise.
26297 * include/grub/x86_64/kernel.h: Likewise.
26298 * include/grub/offsets.h: New file.
26299 * include/grub/kernel.h (grub_module_info): Split into ...
26300 (grub_module_info32): ... this.
26301 (grub_module_info64): ... and this.
26302 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
26303 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
26304 (grub_boot_blocklist): Moved from here ...
26305 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
26306 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
26307 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
26308 * include/grub/types.h (grub_target_to_host16): Removed.
26309 (grub_target_to_host32): Likewise.
26310 (grub_target_to_host64): Likewise.
26311 (grub_host_to_target16): Likewise.
26312 (grub_host_to_target32): Likewise.
26313 (grub_host_to_target64): Likewise.
26314 (grub_host_to_target_addr): Likewise.
26315
26316 Support grub-mkrescue for efi, coreboot and qemu.
26317
26318 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
26319 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
26320 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
26321 * util/grub-mkrawimage.c: Moved from here ...
26322 * util/grub-mkimage.c: ... here. All users updated.
26323 (ALIGN_ADDR): Use image_target.
26324 (TARGET_NO_FIELD): New const.
26325 (image_target_desc): New type.
26326 (image_targets): New array.
26327 (grub_target_to_host64): Use image_target.
26328 (grub_target_to_host32): Likewise.
26329 (grub_target_to_host16): Likewise.
26330 (grub_host_to_target64): Likewise.
26331 (grub_host_to_target32): Likewise.
26332 (grub_host_to_target16): Likewise.
26333 (grub_host_to_target_addr): Likewise.
26334 (generate_image): Handle multiimage.
26335 (main): Require -O parameter. All users updated.
26336 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
26337 util/efi/grub-mkimage.c
26338 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
26339 New option --rom-directory.
26340 Use xorriso.
26341 * util/i386/efi/grub-mkimage.c: Removed.
26342 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
26343 (grub_target_to_host32): Likewise.
26344 (grub_target_to_host64): Likewise.
26345 (grub_host_to_target16): Likewise.
26346 (grub_host_to_target32): Likewise.
26347 (grub_host_to_target64): Likewise.
26348 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
26349 (grub_target_to_host32): Likewise.
26350 (grub_target_to_host64): Likewise.
26351 (grub_host_to_target16): Likewise.
26352 (grub_host_to_target32): Likewise.
26353 (grub_host_to_target64): Likewise.
26354
f4fc97d0
BC
263552010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
26356
26357 Source tree is reorganized for emu build.
26358
26359 * include/grub/util/console.h: Move from here...
26360 * include/grub/emu/console.h: ...to here.
26361 * include/grub/util/getroot.h: Move from here...
26362 * include/grub/emu/getroot.h: ...to here.
26363 * include/grub/util/hostdisk.h: Move from here...
26364 * include/grub/emu/hostdisk.h: ...to here.
26365 * util/console.c: Move from here...
26366 * kern/emu/console.c: ...to here.
26367 * util/getroot.c: Move from here...
26368 * kern/emu/getroot.c: ...to here.
26369 * util/grub-emu.c: Move from here...
26370 * kern/emu/main.c: ...to here.
26371 * util/hostdisk.c: Move from here...
26372 * kern/emu/hostdisk.c: ...to here.
26373 * util/hostfs.c: Move from here...
26374 * kern/emu/hostfs.c: ...to here.
26375 * util/mm.c: Move from here...
26376 * kern/emu/mm.c: ...to here.
26377 * util/pci.c: Move from here...
26378 * bus/emu/pci.c: ...to here.
26379 * util/sdl.c: Move from here...
26380 * video/emu/sdl.c: ...to here.
26381 * util/time.c: Move from here...
26382 * kern/emu/time.c: ...to here.
26383 * util/usb.c: Move from here...
26384 * bus/usb/emu/usb.c: ...to here.
26385
26386 * include/grub/emu/misc.h: New header for grub-emu functions.
26387 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
26388
26389 * conf/any-emu.rmk: Rule updates for above renames.
26390 * conf/common.rmk: Likewise.
26391 * conf/i386-pc.rmk: Likewise.
26392 * conf/i386-qemu.rmk: Likewise.
26393 * conf/mips.rmk: Likewise.
26394 * conf/sparc64-ieee1275.rmk: Likewise.
26395 * conf/x86-efi.rmk: Likewise.
26396
26397 * disk/lvm.h: #include updates for above renames.
26398 * util/grub-mkrelpath.c: Likewise.
26399 * util/grub-probe.c: Likewise.
26400 * util/i386/pc/grub-setup.c: Likewise.
26401 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26402 * kern/emu/console.c: Likewise.
26403 * kern/emu/getroot.c: Likewise.
26404 * kern/emu/hostdisk.c: Likewise.
26405 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
26406
26407 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
26408 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
26409 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
26410 * util/misc.c: Remove grub-emu functions.
26411
cced9145
VS
264122010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
26413
26414 Fix gfxmenu crash.
26415 Reported by: Thorsten Grützmacher.
26416
26417 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
26418 timeout hook.
26419 (circprog_set_property): Register and unregister timeout hook.
26420 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
26421 (label_destroy): Free template. and unregister hook.
26422 (label_set_state): New function.
26423 (label_set_property): Handle templates and hooks.
26424 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
26425 timeout hook.
26426 (progress_bar_set_property): Register and unregister timeout hook.
26427 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
26428 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
26429 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
26430 (update_timeout_visit): Removed.
26431 (update_timeouts): New function.
26432 (redraw_timeouts): Likewise.
26433 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
26434 (grub_gfxmenu_clear_timeout): Likewise.
26435 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
26436 (grub_gfxmenu_timeout_notify): Likewise.
26437 (grub_gfxmenu_timeout_notifications): New external variable.
26438 (grub_gfxmenu_timeout_register): New function.
26439 (grub_gfxmenu_timeout_unregister): Likewise.
26440
c6e5caab
VS
264412010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26442
26443 Transform (broken) vga terminal into (working) vga video driver.
26444
26445 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
26446 video/i386/pc/vga.c.
26447 * include/grub/video.h (grub_video_driver_id):
26448 Add GRUB_VIDEO_DRIVER_VGA.
26449 * term/i386/pc/vga.c: Renamed to ...
26450 * video/i386/pc/vga.c: ...this
26451 (DEBUG_VGA): Removed.
26452 (CHAR_WIDTH): Likewise.
26453 (CHAR_HEIGHT): Likewise.
26454 (TEXT_WIDTH): Likewise.
26455 (TEXT_HEIGHT): Likewise.
26456 (DEFAULT_FG_COLOR): Likewise.
26457 (DEFAULT_BG_COLOR): Likewise.
26458 (colored_char): Likewise.
26459 (xpos): Likewise.
26460 (ypos): Likewise.
26461 (cursor_state): Likewise.
26462 (fg_color): Likewise.
26463 (bg_color): Likewise.
26464 (text_buf): Likewise.
26465 (page): Likewise.
26466 (font): Likewise.
26467 (framebuffer): New variable.
26468 (set_read_map): Disabled.
26469 (setup): New variable.
26470 (is_target): Likewise.
26471 (grub_vga_mod_init): Likewise.
26472 (grub_vga_mod_fini): Likewise.
26473 (check_vga_mem): Likewise.
26474 (write_char): Likewise.
26475 (write_cursor): Likewise.
26476 (scroll_up): Likewise.
26477 (grub_vga_putchar): Likewise.
26478 (grub_vga_getcharwidth): Likewise.
26479 (grub_vga_getwh): Likewise.
26480 (grub_vga_getxy): Likewise.
26481 (grub_vga_gotoxy): Likewise.
26482 (grub_vga_cls): Likewise.
26483 (grub_vga_setcolorstate): Likewise.
26484 (grub_vga_setcursor): Likewise.
26485 (grub_video_vga_init): New function.
26486 (grub_video_vga_setup): Likewise.
26487 (grub_video_vga_fini): Likewise.
26488 (update_target): Likewise.
26489 (grub_video_vga_blit_bitmap): Likewise.
26490 (grub_video_vga_blit_render_target): Likewise.
26491 (grub_video_vga_set_active_render_target): Likewise.
26492 (grub_video_vga_get_active_render_target): Likewise.
26493 (grub_video_vga_swap_buffers): Likewise.
26494 (grub_video_vga_set_palette): Likewise.
26495 (grub_video_vga_get_info_and_fini): Likewise.
26496 (grub_vga_term): Removed.
26497 (grub_video_vga_adapter): New variable.
26498 (GRUB_MOD_INIT): Register a video driver instead of terminal.
26499 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
26500
2bf61a98
VS
265012010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26502
26503 * video/readers/jpeg.c: Indented.
26504
09ddcd11
VS
265052010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26506
26507 Various jpeg cleanups.
26508
26509 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
26510 (grub_jpeg_decode_quan_table): Use sizeof.
26511 (grub_jpeg_decode_du): Use ARRAY_SIZE.
26512
e5507505
PH
265132010-05-05 Peter Hurley <No e-mail available> (tiny change)
26514
26515 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
26516 tables. Ignore non-last ac bit.
26517 (grub_jpeg_decode_quan_table): Likewise.
26518
7e720a9b
VS
265192010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26520
26521 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
26522 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
26523 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
26524 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
26525 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
26526 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
26527
a7fc080b
VS
265282010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26529
26530 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
26531 error.
26532
2bf6012d
VS
265332010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26534
26535 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
26536
265d68cd
VS
265372010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26538
26539 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
26540 condition.
26541
265422010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
26543
26544 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
26545 part.
26546
265d68cd 265472010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
26548
26549 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
26550 pointers.
26551
265d68cd 265522010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
26553
26554 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
26555
d1b61374
CF
265562010-05-01 Christian Franke <franke@computer.org>
26557
26558 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
26559 Remove broken Cygwin path conversion.
26560 * util/misc.c: [__CYGWIN__] Add include and define.
26561 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
26562 for Cygwin 1.7.
26563 (make_system_path_relative_to_its_root): Simplify loop, replace early
26564 return by break.
26565 [__CYGWIN__] Add conversion to win32 path.
26566 Include "/" case in trailing slash removal.
26567
3558c6e9
VS
265682010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26569
26570 * kern/main.c (grub_load_config): Fix copy-pasted comment.
26571 Reported by: Seth Goldberg
26572
f5f3ff93
VS
265732010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26574
26575 * commands/help.c (grub_cmd_help): Fix a typo.
26576 Reported by: Seth Goldberg
26577
d8b5cd40
VS
265782010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26579
26580 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
26581 name and add N_.
26582 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
26583 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
26584 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
26585 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
26586 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
26587 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
26588 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
26589 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
26590 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
26591 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26592 * normal/context.c (GRUB_MOD_INIT): Likewise.
26593 * normal/main.c (GRUB_MOD_INIT): Likewise.
26594 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
26595 * term/serial.c (GRUB_MOD_INIT): Likewise.
26596 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
26597
88c14915
VS
265982010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26599
26600 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
26601 extra == 0.
26602
165134bc
VS
266032010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26604
26605 * commands/iorw.c: New file.
26606 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
26607 (iorw_mod_SOURCES): New variable.
26608 (iorw_mod_CFLAGS): Likewise.
26609 (iorw_mod_LDFLAGS): Likewise.
26610
c5ac9b32
VS
266112010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26612
26613 Hotkey support
26614
26615 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
26616 * normal/main.c (hotkey_aliases): New variable.
26617 (grub_normal_add_menu_entry): Parse "--hotkey".
26618 * normal/menu_text.c (run_menu): Handle hotkeys.
26619
ce60689c
VS
266202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26621
26622 * kern/i386/coreboot/init.c (grub_machine_init): Call
26623 grub_machine_mmap_init on qemu.
26624
0359d006
VS
266252010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26626
26627 * boot/i386/qemu/boot.S: Add a missing .code16.
26628
7819a456
VS
266292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26630
26631 Use LBIO on coreboot.
26632
26633 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
26634 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
26635 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
26636 New declaration.
26637 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
26638 grub_machine_mmap_init on coreboot.
26639 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
26640 GRUB_LINUXBIOS_MEMBER_LINK.
26641 (grub_machine_mmap_iterate): Fix declaration.
26642 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
26643
7210dca9
VS
266442010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26645
26646 Split coreboot and multiboot ports.
26647
26648 * conf/i386-multiboot.rmk: New file.
26649 * configure.ac: Add multiboot port.
26650 * include/grub/i386/multiboot/boot.h: New file.
26651 * include/grub/i386/multiboot/console.h: Likewise.
26652 * include/grub/i386/multiboot/init.h: Likewise.
26653 * include/grub/i386/multiboot/kernel.h: Likewise.
26654 * include/grub/i386/multiboot/loader.h: Likewise.
26655 * include/grub/i386/multiboot/memory.h: Likewise.
26656 * include/grub/i386/multiboot/serial.h: Likewise.
26657 * include/grub/i386/multiboot/time.h: Likewise.
26658 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
26659 * loader/multiboot.c: Likewise.
26660 * loader/multiboot_mbi2.c: Likewise.
26661 * util/grub-mkrescue.in: Generate multiboot rescue.
26662
6f8aaf68
VS
266632010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26664
3080f7a7
VS
26665 * kern/parser.c (grub_parser_execute): Cope with read-only config.
26666
266672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26668
26669 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
26670
26671 * commands/terminal.c (abstract_terminal): New struct.
26672 (handle_command): New function. Based on grub_cmd_terminal_input.
26673 (grub_cmd_terminal_input): Use handle_command.
26674 (grub_cmd_terminal_output): Use handle_command.
26675
a8ebb841
BC
266762010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
26677
26678 Fix comment handling.
26679
26680 * tests/grub_script_comments.in: New testcase.
26681 * conf/tests.rmk: Rules for new testcase.
26682 * script/yylex.l: Updated flex rules.
26683
bb06ba08
ST
266842010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
26685
26686 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
26687 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
26688 if argc is 1.
bb06ba08 26689
cc9d2425
VS
266902010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26691
26692 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
26693 autogen issues.
26694
460d8402
CF
266952010-04-26 Christian Franke <franke@computer.org>
26696
26697 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
26698 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
26699 (grub_get_prefix): Remove function.
26700 * util/grub-emu.c (main): Replace grub_get_prefix () call by
26701 make_system_path_relative_to_its_root ().
26702 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
26703
553c01f9
CF
267042010-04-24 Christian Franke <franke@computer.org>
26705
26706 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
26707 (kernel_img_LDFLAGS): Remove -static-libgcc.
26708
2aec1692
CF
267092010-04-24 Christian Franke <franke@computer.org>
26710
26711 * configure.ac: Do not CHECK_BSS_START_SYMBOL
26712 and CHECK_END_SYMBOL if grub-emu is built.
26713 Unset TARGET_OBJ2ELF if grub-emu is built
26714 without module support.
26715
f67dc308
JS
267162010-04-24 Jiro SEKIBA <jir@unicus.jp>
26717
26718 Nilfs2 support.
26719
26720 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
26721 (grub_fstest_SOURCES): Likewise.
26722 (pkglib_MODULES): Add nilfs2.mod.
26723 (nilfs2_mod_SOURCES): New variable.
26724 (nilfs2_mod_CFLAGS): Likewise.
26725 (nilfs2_mod_LDFLAGS): Likewise.
26726 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26727 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26728 * fs/nilfs2.c: New file.
26729
4ba8d354
VS
267302010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
26731
26732 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
26733 is not supported.
26734
0d2c20c6
GS
267352010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
26736
26737 Add grub-mkconfig support for NetBSD.
26738
26739 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
26740 * util/grub-mkconfig.in: export new NetBSD specific variables.
26741 * po/POTFILES-shell: added 10_netbsd.in.
26742 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
26743
bc4a2d83
BC
267442010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
26745
26746 Fix emu build with grub-emu-pci and grub-emu-modules.
26747
26748 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
26749 functions.
26750 * include/grub/libpciaccess.h: New file.
26751 * conf/any-emu.rmk: Update kernel headers for emu build.
26752
f48c87aa
VS
267532010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26754
26755 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
26756
18959385
VS
267572010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26758
26759 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
26760
0037de3f
VS
267612010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26762
26763 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
26764 Retrieve chosen/bootpath if bootpath isn't hardcoded.
26765 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
26766 util/ieee1275/ofpath.c.
26767 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
26768 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
26769 * include/grub/sparc64/ieee1275/boot.h
26770 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
26771 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
26772 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
26773 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
26774 const char *.
26775 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
26776 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
26777 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
26778 install.
26779
38e55e90
GS
267802010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
26781
26782 * util/grub-mkconfig.in: Corrected two == equality tests.
26783 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
26784 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
26785 expect a number appended to it.
26786 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
26787 expects a number appended to it.
26788
a9e6ff28
VS
267892010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26790
26791 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
26792
0b830b8f
VS
267932010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26794
26795 * util/hostdisk.c (make_device_name): Change to new partition naming.
26796
0973daeb
VS
267972010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
26798
26799 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
26800
460d8402 268012010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
26802
26803 * Makefile.in: Add missing localedir setting.
26804
0b456309
CW
268052010-04-14 Colin Watson <cjwatson@ubuntu.com>
26806
26807 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
26808 mistake in r2156. Noticed by Anthony Fok.
26809
26810 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
26811 @localedir@.
26812 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
26813
08f46d62
BC
268142010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
26815
26816 Fix a spurious, uninitialized variable warning.
26817
26818 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
26819 Initialize variable, shdr.
26820 (grub_freebsd_load_elfmodule): Likewise.
26821 (grub_freebsd_load_elf_meta): Likewise.
26822
8c4a72d4
BC
268232010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
26824
26825 Fix for escaped dollar in double quoted strings.
26826
26827 * script/yylex.l: Updated flex rules.
26828 * conf/tests.rmk: Rule for new testcase.
26829 * tests/grub_script_dollar.in: New testcase.
26830
ce44826e
CPE
268312010-04-13 Carles Pina i Estany <carles@pina.cat>
268322010-04-13 Colin Watson <cjwatson@ubuntu.com>
26833
26834 Enclose all translated strings in grub.cfg in single quotes, and
26835 escape them appropriately (Ubuntu bug #552921).
26836
26837 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
26838 * util/grub.d/10_hurd.in: Use it.
26839 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26840 * util/grub.d/10_linux.in (linux_entry): Likewise.
26841
4b0cd8f8
VS
268422010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26843
26844 Fix cygwin compilation.
26845
26846 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
26847 * include/grub/misc.h (__register_frame_info)
26848 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
26849 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26850 * kern/misc.c (__register_frame_info)
26851 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
26852 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26853
01fcf061
VS
268542010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26855
26856 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
26857
5d04b11e
VS
268582010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26859
26860 Unify libgcc processing.
26861
26862 * Makefile.in (kernel_img_LDFLAGS): New variable.
26863 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
26864 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
26865 overwriting.
26866 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
26867 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
26868 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
26869 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
26870 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
26871 overwriting. Remove -lgcc and -static-libgcc
26872 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
26873 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
26874 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
26875 (kernel_img_LDFLAGS): Append instead of overwriting.
26876 Remove -lgcc and -static-libgcc
26877 * conf/sparc64-ieee1275.rmk: Likewise.
26878 * include/grub/powerpc/libgcc.h: Move to ...
26879 * include/grub/libgcc.h: .. this.
26880 * include/grub/libgcc.h: Don't export most of the function on x86.
26881 (__bswapsi2): New export.
26882 (__bswapdi2): Likewise.
26883 * include/grub/mips/libgcc.h: Removed.
26884 * include/grub/sparc64/libgcc.h: Likewise.
26885
b7f3ac29
VS
268862010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26887
26888 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
26889 disk_info_msg (conflicts with gettexting into languages with cases).
26890
2c7031b1
GS
268912010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
26892
26893 Add grub-probe support for NetBSD.
26894
26895 * util/getroot.c (find_root_device): Convert block device to
26896 character device on NetBSD.
26897 * util/probe.c (probe): Require character device on NetBSD.
26898 * util/hostdisk.c: NetBSD specific headers.
26899 (configure_device_driver): new function to tune device driver
26900 parameters (currently only for NetBSD floppy driver).
26901 (grub_util_biosdisk_open): NetBSD specific code (get disk size
26902 via disklabel ioctl).
26903 (open_device): call configure_device_driver on NetBSD.
26904 (convert_system_partition_to_system_disk): NetBSD specific code.
26905 (device_is_wholedisk): Likewise.
26906 (grub_util_biosdisk_get_grub_dev): Likewise.
26907 (make_device_name): Fixed a typo in bsd_part_str.
26908 * configure.ac: check for opendisk() and getrawpartition() on
26909 NetBSD and set LIBUTIL.
26910 * Makefile.in: add LIBUTIL to LIBS.
26911
f516290c
BC
269122010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
26913
26914 Documentation fix.
26915
26916 * util/grub-script-check.c: Better help message.
26917
d8dcc0df
BC
269182010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
26919
26920 Fix FreeBSD build.
26921
26922 * configure.ac: Flex version check.
26923 * conf/common.rmk: Add -Wno-error to sh.mod.
26924 * script/yylex.l: Remove all #pragma.
26925
6734334a
VS
269262010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26927
26928 * include/grub/util/misc.h (canonicalise_file_name): Add missing
26929 prototype.
26930 Reported by: Seth Goldberg.
26931
daea6abd
VS
269322010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26933
26934 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
26935 Rename "module" to "module2".
26936 Reported by: Seth Goldberg.
26937
f2fd9d2b
VS
269382010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26939
26940 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
26941 EXPORT_FUNC.
26942 Reported by: Seth Goldberg.
26943
be124579
VS
269442010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26945
26946 * lib/posix_wrap/locale.h: Add missing file.
26947 Reported by: Seth Goldberg.
26948
ef5da797
VS
269492010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26950
26951 grub-emu module load support.
26952
26953 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
26954 NO_DYNAMIC_MODULES switched to this.
26955 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
26956 (CFLAGS): Likewise.
26957 * conf/any-emu.rmk: Generate symlist.
26958 (kernel_img_HEADERS): Add util/datetime.h.
26959 (kernel_img_HEADERS) [sdl]: Add sdl.h.
26960 (kernel_img_HEADERS) [libusb]: Add libusb.h.
26961 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
26962 kern/$(target_cpu)/cache.S.
26963 * configure.ac (grub-emu-modules): New option.
26964 * genmk.rb: Handle multiple source lists.
26965 * include/grub/sdl.h: New file.
26966 * include/grub/libusb.h: Likewise.
26967 * util/grub-emu.c (main): Hanle (host) root.
26968 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
26969 GRUB_ERR_UNKNOWN_DEVICE.
26970 * util/misc.c: Move mm functions to ...
26971 * util/mm.c: ... here. All users updated.
26972
47822096
VS
269732010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26974
26975 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
26976 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
26977 missing files.
26978 (maintainer-clean): Remove libgcrypt-grub.
26979
5d7e7445
VS
269802010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26981
26982 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
26983
25f4e252
EC
269842010-04-09 EFI Coder <eficoder@hotmail.com>
26985
26986 * normal/menu_text.c (print_message): Clean up the message and show
26987 the Fn information when on EFI
26988 * term/efi/console.c (grub_console_checkkey): Add F4 support.
26989
027de555
VS
269902010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26991
26992 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
26993 All users updated.
26994 * normal/crypto.c (read_crypto_list): Likewise.
26995 * normal/dyncmd.c (read_command_list): Likewise.
26996 * normal/term.c (read_terminal_list): Likewise.
26997 * normal/main.c (read_lists): Use explicit prefix.
26998 (read_lists_hook): Use read_lists.
26999 (grub_normal_execute): Likewise.
27000
47779711
VS
270012010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27002
27003 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
27004 Reported by: Thomas Schmitt.
27005 Add -no-emul-boot to grub-mkisofs parameters.
27006
1118c32e
VS
270072010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27008
27009 * font/font.c: Indented.
27010
7d652447
BC
270112010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27012
27013 Elif support to GRUB script (by Deepak Vankadaru).
27014
27015 * tests/grub_script_if.in: New testcase.
27016 * conf/tests.rmk: Rule for new testcase.
27017 * script/parser.y: Grammar rules for elif.
27018
34bb22df
BC
270192010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27020
27021 While and until loops support to GRUB script.
27022
27023 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
27024 (grub_script_create_cmdwhile): New function prototype.
27025 (grub_script_execute_cmdwhile): New function prototype.
27026 * script/execute.c (grub_script_execute_cmdwhile): New function.
27027 * script/parser.y (command): New commands.
27028 (whilecmd): New grammar rule.
27029 (untilcmd): New grammar rule.
27030 * script/script.c (grub_script_create_cmdwhile): New function.
27031 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
27032 function.
27033
27034 * tests/grub_script_while1.in: New testcase.
27035 * conf/tests.rmk: Rule for new testcase.
27036
e215d8e0
VS
270372010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27038
27039 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
27040 as *.jpg.
27041
d7c43ba1
MV
270422010-04-09 Mario Vazquez <mariovazq@gmail.com>
27043
27044 GRUB_BACKGROUND support.
27045
27046 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
27047 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
27048
d64795c0
VS
270492010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27050
27051 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 27052 Idea by: Mario Vazquez
d64795c0
VS
27053
27054 * util/grub.d/00_header.in: Load pf2 and image modules.
27055
f267f83a
VS
270562010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27057
27058 grub-mkconfig multiple terminal support.
27059
27060 * util/grub-mkconfig.in: Handle multiple terminals correctly.
27061 * util/grub.d/00_header.in: Likewise.
27062
b7841ceb
VS
270632010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27064
27065 * Makefile.in: Specify files explicitly instead of using $< and $@ since
27066 we use cd $(srcdir).
27067
df60998c
CW
270682010-04-08 Colin Watson <cjwatson@ubuntu.com>
27069
27070 * util/grub.d/10_linux.in: Only use the first word of
27071 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
27072 spaces in GRUB_DISTRIBUTOR.
27073 * util/grub.d/10_kfreebsd.in: Likewise.
27074 * util/grub.d/10_hurd.in: Likewise.
27075
fa09c82e
BC
270762010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
27077
14e18ae3 27078 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
27079
27080 * tests/util/grub-shell.in: Remove -serial stdio option.
27081
daf892b3
BC
270822010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
27083
27084 POSIX header file wrappers.
27085
27086 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
27087 equivalents.
27088 * lib/posix_wrap/ctype.h: Likewise.
27089 * lib/posix_wrap/errno.h: Likewise.
27090 * lib/posix_wrap/langinfo.h: Likewise.
27091 * lib/posix_wrap/limits.h: Likewise.
27092 * lib/posix_wrap/localcharset.h: Likewise.
27093 * lib/posix_wrap/stdint.h: Likewise.
27094 * lib/posix_wrap/stdio.h: Likewise.
27095 * lib/posix_wrap/stdlib.h: Likewise.
27096 * lib/posix_wrap/string.h: Likewise.
27097 * lib/posix_wrap/sys/types.h: Likewise.
27098 * lib/posix_wrap/unistd.h: Likewise.
27099 * lib/posix_wrap/wchar.h: Likewise.
27100 * lib/posix_wrap/wctype.h: Likewise.
27101 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
27102 (grub_script.yy.h): Likewise.
27103 * script/yylex.l: Remove POSIX emulation #defines.
27104 * Makefile.in (POSIX_CFLAGS): New variable.
27105 (GNULIB_UTIL_CFLAGS): Likewise.
27106
27107 Regexp support.
27108
27109 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
27110 (regexp_mod_SOURCES): New variable.
27111 (regexp_mod_CFLAGS): Likewise.
27112 (regexp_mod_LDFLAGS): Likewise.
27113 * commands/regexp.c: New file.
27114 * gnulib/regcomp.c: New file. Imported from gnulib.
27115 * gnulib/regex.c: Likewise.
27116 * gnulib/regex_internal.c: Likewise.
27117 * gnulib/regex_internal.h: Likewise.
27118 * gnulib/regexec.c: Likewise.
27119 * gnulib/regex.h: Likewise.
27120
974ac4f7
VS
271212010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27122
27123 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
27124 unsupported video mode types.
27125
2622c3ff
VS
271262010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27127
27128 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
27129
064cb524
VS
271302010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27131
27132 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
27133 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
27134
a8c3b552
VS
271352010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27136
27137 Remove unused grub_vga_get_font.
27138
27139 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
27140 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
27141
187bbe3d
GS
271422010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27143
27144 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
27145 * include/grub/misc.h: Likewise.
27146
b9396631
GS
271472010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27148
27149 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
27150 for which failure is fatal.
27151
50479feb
GS
271522010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27153
27154 * util/grub-install.in: Use mkdir -p to create grub directory.
27155 * util/i386/efi/grub-install.in: Likewise.
27156 * util/ieee1275/grub-install.in: Likewise.
27157
b1654fdf
GS
271582010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27159
27160 * Makefile.in (LEX): new variable.
27161
bd5a6415
GS
271622010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27163
27164 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
27165 `=' and added double quotes on operands of this equality test.
27166
3db3a82b
VS
271672010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27168
27169 * Makefile.in (uninstall): Remove a leftover debug echo.
27170 Reported by: Grégoire Sutre
27171
38023412
VS
271722010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27173
27174 MIPS multiboot2 support.
27175
27176 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
27177 (multiboot2_mod_SOURCES): New variable.
27178 (multiboot2_mod_CFLAGS): Likewise.
27179 (multiboot2_mod_LDFLAGS): Likewise.
27180 (multiboot2_mod_ASFLAGS): Likewise.
27181 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
27182 definition.
27183 (MULTIBOOT_ENTRY_REGISTER): Likewise.
27184 (MULTIBOOT_MBI_REGISTER): Likewise.
27185 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
27186 (MULTIBOOT_ELF32_MACHINE): Likewise.
27187 (MULTIBOOT_ELF64_MACHINE): Likewise.
27188 * include/grub/mips/multiboot.h: New file.
27189 * include/grub/video.h (grub_video_driver_id): New type
27190 GRUB_VIDEO_DRIVER_SM712.
27191 (grub_video_get_info_and_fini): Export.
27192 (grub_video_get_palette): Likewise.
27193 (grub_video_get_driver_id): Likewise.
27194 * include/multiboot2.h: Resynced with spec.
27195 * loader/i386/multiboot.c: Moved from here ...
27196 * loader/multiboot.c: ... here. All users updated.
27197 (grub_multiboot_boot): Use platform-specific macros.
27198 * loader/i386/multiboot_elfxx.c: Moved from here ...
27199 * loader/multiboot_elfxx.c: ... here. All users updated.
27200 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
27201 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
27202 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
27203
47674667
VS
272042010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
27205
27206 Import gnulib argp module.
27207
27208 * gnulib/argp-ba.c: New file.
27209 * gnulib/argp-eexst.c: Likewise.
27210 * gnulib/argp-fmtstream.c: Likewise.
27211 * gnulib/argp-fmtstream.h: Likewise.
27212 * gnulib/argp-fs-xinl.c: Likewise.
27213 * gnulib/argp-help.c: Likewise.
27214 * gnulib/argp-namefrob.h: Likewise.
27215 * gnulib/argp-parse.c: Likewise.
27216 * gnulib/argp-pin.c: Likewise.
27217 * gnulib/argp-pv.c: Likewise.
27218 * gnulib/argp-pvh.c: Likewise.
27219 * gnulib/argp-version-etc.c: Likewise.
27220 * gnulib/argp-version-etc.h: Likewise.
27221 * gnulib/argp-xinl.c: Likewise.
27222 * gnulib/argp.h: Likewise.
27223
495442ed
VS
272242010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27225
27226 * kern/device.c (grub_device_iterate): Clear errors after failed
27227 opening device.
27228
f9fd65df
VS
272292010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27230
27231 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
27232 returned by firmware.
27233
af09641e
VS
272342010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
27235
27236 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
27237 compilation on coreboot and qemu
27238
016883a5
VS
272392010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27240
27241 * include/multiboot2.h: Resync with spec.
27242
f97e1f7d
VS
272432010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27244
27245 Multiboot2 tag support
27246
27247 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
27248 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
27249 Remove loader/multiboot_loader.c.
27250 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
27251 (grub_multiboot2_real_boot): Likewise.
27252 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
27253 (grub_get_multiboot_mmap_count): New proto.
27254 (grub_fill_multiboot_mmap): Likewise.
27255 (grub_multiboot_set_video_mode): Likewise.
27256 (grub_multiboot_set_console): Likewise.
27257 (grub_multiboot_load): Likewise.
27258 (grub_multiboot_load_elf): Likewise.
27259 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
27260 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
27261 * include/multiboot.h: Resynced with specification.
27262 * include/multiboot2.h: Resynced with specification.
27263 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
27264 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
27265 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
27266 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
27267 users updated.
27268 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
27269 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
27270 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
27271 Removed.
27272 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
27273 Moved from here...
27274 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
27275 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
27276 Moved from here...
27277 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
27278 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
27279 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
27280 All users updated.
27281 * loader/i386/multiboot_mbi2.c: New file.
27282
3506b90b
VS
272832010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27284
27285 Resync with gnulib.
27286
27287 * Makefile.in (GNULIB_CFLAGS): New variable.
27288 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
27289 (grub_script_check_CFLAGS): New variable.
27290 * gnulib/alloca.h: Resync with gnulib.
27291 * gnulib/error.c: Likewise.
27292 * gnulib/error.h: Likewise.
27293 * gnulib/fnmatch.c: Likewise.
27294 * gnulib/fnmatch_loop.c: Likewise.
27295 * gnulib/getdelim.c: Likewise.
27296 * gnulib/getline.c: Likewise.
27297 * gnulib/getopt.c: Likewise.
27298 * gnulib/getopt1.c: Likewise.
27299 * gnulib/getopt_int.h: Likewise.
27300 * gnulib/gettext.h: Likewise.
27301 * gnulib/progname.c: Likewise.
27302 * gnulib/progname.h: Likewise.
27303
394a3120
GS
273042010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
27305
27306 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
27307 which is the case with --disabled-nls.
27308
27309 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
27310 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
27311 * util/misc.c: Likewise.
27312 * util/mkisofs/mkisofs.c: Likewise.
27313 * util/mkisofs/mkisofs.h: Likewise.
27314
969d1c78
VS
273152010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27316
27317 Simplify Apple CC support.
27318
27319 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
27320 Add 0 byte at the end not to have a symbol with empty target.
27321 * mmap/i386/pc/mmap_helper.S: Likewise.
27322 * genmk.rb: Ignore errors 2030 and 2050.
27323 * kern/i386/pc/startup.S: Use LOCAL when possible.
27324
8d2977bb
BC
273252010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
27326
27327 Testcase and the fix for final semicolon on cmdline.
27328
27329 * tests/grub_script_final_semicolon.in: New testcase.
27330 * conf/tests.rmk: Rules for the new testcase.
27331 * script/parser.y: Grammar fix.
27332
a7bd6915
BC
273332010-03-26 BVK Chaitanya <bvk@localhost>
27334
27335 Blank lines testcase for GRUB script.
27336
27337 * tests/grub_script_blanklines.in: New testcase.
27338 * conf/tests.rmk: Rules for the new testcase.
27339
e4ff6628
VS
273402010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27341
27342 Don't use __FILE__.
27343
27344 * genmk.rb: Add -DGRUB_FILE to all C targets.
27345 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
27346 * include/grub/list.h: Likewise.
27347 * include/grub/misc.h: Likewise.
27348 * include/grub/mm.h: Likewise.
27349 * include/grub/test.h: Likewise.
27350 * kern/mm.c: Likewise.
27351 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27352
6a5cf6b6
VS
273532010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27354
27355 Sunpc partitions support.
27356
27357 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
27358 (grub_fstest_SOURCES): Likewise.
27359 (pkglib_MODULES): Add part_sunpc.mod.
27360 (part_sunpc_mod_SOURCES): New variable.
27361 (part_sunpc_mod_CFLAGS): Likewise.
27362 (part_sunpc_mod_LDFLAGS): Likewise.
27363 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
27364 * partmap/sunpc.c: New file.
27365
746d9045
BC
273662010-03-26 BVK Chaitanya <bvk@localhost>
27367
27368 For loop support to GRUB script.
27369
27370 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
27371 (grub_script_create_cmdfor): New function prototype.
27372 (grub_script_execute_cmdfor): New function prototype.
27373 * script/execute.c (grub_script_execute_cmdfor): New function.
27374 * script/parser.y (command): New for command.
27375 (forcmd): New grammar rule.
27376 * script/script.c (grub_script_create_cmdfor): New function.
27377 * util/grub-script-check.c (grub_script_execute_cmdfor): New
27378 function.
27379 * tests/grub_script_for1.in: New testcase.
27380 * conf/tests.rmk: Rules for new testcase.
27381
18486b18
VS
273822010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27383
27384 Nested partitions
27385
27386 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
27387 'partition' is NULL, grub_partition_get_start already does that.
27388 * commands/loadenv.c (check_blocklists): Likewise.
27389 (write_blocklists): Likewise.
27390 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
27391 (grub_fstest_SOURCES): Likewise.
27392 (pkglib_MODULES): Add part_bsd.mod.
27393 (part_bsd_mod_SOURCES): New variable.
27394 (part_bsd_mod_CFLAGS): Likewise.
27395 (part_bsd_mod_LDFLAGS): Likewise.
27396 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
27397 (grub_emu_SOURCES): Likewise.
27398 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27399 * include/grub/bsdlabel.h: New file.
27400 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
27401 'get_name'.
27402 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
27403 (grub_partition_map_list): New variable.
27404 (grub_partition_map_register): Inline.
27405 (grub_partition_map_unregister): Likewise.
27406 (FOR_PARTITION_MAPS): New macro.
27407 (grub_partition_map_iterate): Removed.
27408 (grub_partition_get_start): Handle nested partitions.
27409 * include/grub/msdos_partition.h: Remove bsd-related entries.
27410 (grub_pc_partition): Remove.
27411 * kern/disk.c (grub_disk_close): Free partition data.
27412 (grub_disk_adjust_range): Handle nested partitions.
27413 * kern/partition.c (grub_partition_map_probe): New function.
27414 (grub_partition_probe): Parse name to number, handle subpartitions.
27415 (get_partmap): New function.
27416 (grub_partition_iterate): Handle subpartitions.
27417 (grub_partition_get_name): Likewise.
27418 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
27419 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
27420 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
27421 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
27422 Set 'number'.
27423 (acorn_partition_map_probe): Remove.
27424 (acorn_partition_map_get_name): Likewise.
27425 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
27426 Set 'number'.
27427 Set 'index' to 0 since there can be only one partition entry per sector.
27428 (amiga_partition_map_probe): Remove.
27429 (amiga_partition_map_get_name): Likewise.
27430 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
27431 Set 'number'.
27432 Set 'offset' and 'index' to real positions of partitions.
27433 (apple_partition_map_probe): Remove.
27434 (apple_partition_map_get_name): Likewise.
27435 * partmap/bsdlabel.c: New file.
27436 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
27437 Set 'number'.
27438 Allocate 'data' so it can be correctly freed.
27439 Set 'index' to offset inside sector.
27440 (gpt_partition_map_probe): Remove.
27441 (gpt_partition_map_get_name): Likewise.
27442 * partmap/msdos.c (grub_partition_parse): Remove.
27443 (pc_partition_map_iterate): Don't force raw access.
27444 Set 'number'.
27445 Make 'ext_offset' a local variable.
27446 (pc_partition_map_probe): Remove.
27447 (pc_partition_map_get_name): Remove.
27448 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
27449 Set 'number'.
27450 (sun_partition_map_probe): Remove.
27451 (sun_partition_map_get_name): Likewise.
27452 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
27453 (grub_pcpart_type): Likewise.
27454 * util/hostdisk.c (open_device): Handle new numbering scheme.
27455 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
27456 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
27457 * util/grub-probe.c (probe_partmap): Handle nested paritions.
27458 * util/grub-install.in: Insert all subpartition modules.
27459 * util/ieee1275/grub-install.in: Likewise.
27460
a3940f88
AG
274612010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
27462
27463 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
27464 grammar.
27465
21b99926 274662010-03-24 Colin Watson <cjwatson@ubuntu.com>
27467
27468 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
27469
bed1d352
CW
274702010-03-21 Colin Watson <cjwatson@ubuntu.com>
27471
27472 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
27473 match where 'make install' puts them.
27474 * util/i386/efi/grub-install.in: Likewise.
27475
c9f58427
CW
274762010-03-19 Colin Watson <cjwatson@ubuntu.com>
27477
27478 * .bzrignore: Add gentrigtables, grub-script-check,
27479 grub_script_check_init.c, grub_script_check_init.h, and
27480 trigtables.c.
27481
f84afb27
VS
274822010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
27483
27484 * kern/parser.c: Indented.
27485
ed0e3d30
VS
274862010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27487
27488 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
27489
0ea81d98
VS
274902010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27491
27492 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
27493 alpha_mask_size == 0 case.
27494
0cdc2a09
BC
274952010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
27496
27497 GRUB shell lexer and parser improvements.
27498
27499 * conf/any-emu.rmk: Build rule updates.
27500 * conf/common.rmk: Likewise.
27501 * conf/i386-coreboot.rmk: Likewise.
27502 * conf/i386-efi.rmk: Likewise.
27503 * conf/i386-ieee1275.rmk: Likewise.
27504 * conf/i386-pc.rmk: Likewise.
27505 * conf/powerpc-ieee1275.rmk: Likewise.
27506 * conf/x86_64-efi.rmk: Likewise.
27507
27508 * configure.ac: Configure check for flex.
27509
27510 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
27511 types.
27512 (grub_lexer_param): Struct member updates.
27513 (grub_parser_param): Likewise.
27514 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
27515 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
27516 (grub_script_lexer_init): Prototype update.
27517 (grub_script_lexer_record_start): Likewise.
27518 (grub_script_lexer_record_stop): Likewise.
27519 (grub_script_lexer_yywrap): New function prototype.
27520 (grub_script_lexer_fini): Likewise.
27521 (grub_script_execute_argument_to_string): Removed by...
27522 (grub_script_execute_argument_to_argv): ...better version.
27523
27524 * script/execute.c (ROUND_UPTO): New macro.
27525 (grub_script_execute_cmdline): Out of memory fixes.
27526 (grub_script_execute_menuentry): Likewise.
27527 (grub_script_execute_argument_to_string): Removed. Update all
27528 users by...
27529 (grub_script_execute_argument_to_argv): ...better version.
27530 * script/function.c (grub_script_function_create): Use
27531 grub_script_execute_argument_to_argv instead of
27532 grub_script_execute_argument_to_string.
27533
27534 * script/lexer.c (check_varstate): Removed.
27535 (check_textstate): Removed.
27536 (grub_script_lexer_record_start): Likewise.
27537 (grub_script_lexer_record_stop): Likewise.
27538 (recordchar): Replaced with...
27539 (grub_script_lexer_record): ...new function.
27540 (nextchar): Removed.
27541 (grub_script_lexer_init): Rewritten.
27542 (grub_script_yylex): Rewritten.
27543 (append_newline): New function.
27544 (grub_script_lexer_yywrap): New function.
27545 (grub_script_lexer_fini): New function.
27546 (grub_script_yyerror): Sets error flag.
27547
27548 * script/yylex.l: New file.
27549 (grub_lexer_yyfree): Wrapper for flex yyffre.
27550 (grub_lexer_yyalloc): Likewise.
27551 (grub_lexer_yyrealloc): Likewise.
27552 * script/parser.y: Refactored.
27553
27554 * script/script.c (grub_script_arg_add): Out of memory fixes.
27555 (grub_script_add_arglist): Likewise.
27556 (grub_script_create_cmdline): Likewise.
27557 (grub_script_create_cmdmenu): Likewise.
27558 (grub_script_add_cmd): Likewise.
27559 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
27560 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
27561 unnecessary code.
27562
27563 * tests/grub_script_echo1.in: New testcase.
27564 * tests/grub_script_vars1.in: New testcase.
27565 * tests/grub_script_echo_keywords.in: New testcase.
27566
1d63a066
VS
275672010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27568
27569 Remove some redundancy in build system.
27570
27571 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
27572 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
27573 (TARGET_LDFLAGS): Add -nostdlib.
27574 (TARGET_IMG_LDFLAGS): Likewise.
27575 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
27576 anything since mmap isn't available.
27577 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
27578 Add util/time.c.
27579 (pkglib_MODULES): Remove reboot.mod.
27580 (reboot_mod_SOURCES): Removed.
27581 (reboot_mod_CFLAGS): Likewise.
27582 (reboot_mod_LDFLAGS): Likewise.
27583 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
27584 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
27585 (DEFSYMFILES): Add kernel_syms.lst.
27586 (kernel_img_HEADERS): Add common headers.
27587 (symlist.c): New target.
27588 (kernel_syms.lst): Likewise.
27589 (pkglib_MODULES): Add memdisk.mod.
27590 (memdisk_mod_SOURCES): New variable.
27591 (memdisk_mod_CFLAGS): Likewise.
27592 (memdisk_mod_LDFLAGS): Likewise.
27593 (pkglib_MODULES): Add reboot.mod.
27594 (reboot_mod_SOURCES): New variable.
27595 (reboot_mod_CFLAGS): Likewise.
27596 (reboot_mod_LDFLAGS): Likewise.
27597 (pkglib_MODULES): Add date.mod.
27598 (date_mod_SOURCES): New variable.
27599 (date_mod_CFLAGS): Likewise.
27600 (date_mod_LDFLAGS): Likewise.
27601 (pkglib_MODULES): Add datehook.mod.
27602 (datehook_mod_SOURCES): New variable.
27603 (datehook_mod_CFLAGS): Likewise.
27604 (datehook_mod_LDFLAGS): Likewise.
27605 (pkglib_MODULES): Add lsmmap.mod.
27606 (lsmmap_mod_SOURCES): New variable.
27607 (lsmmap_mod_CFLAGS): Likewise.
27608 (lsmmap_mod_LDFLAGS): Likewise.
27609 (pkglib_MODULES): Add boot.mod.
27610 (boot_mod_SOURCES): New variable.
27611 (boot_mod_CFLAGS): Likewise.
27612 (boot_mod_LDFLAGS): Likewise.
27613 * conf/i386-coreboot.rmk: Removed redundant parts.
27614 * conf/i386-ieee1275.rmk: Likewise.
27615 * conf/i386-pc.rmk: Likewise.
27616 * conf/mips-yeeloong.rmk: Likewise.
27617 * conf/mips.rmk: Likewise.
27618 * conf/powerpc-ieee1275.rmk: Likewise.
27619 * conf/sparc64-ieee1275.rmk: Likewise.
27620 * conf/x86_64-efi.rmk: Likewise.
27621 * conf/i386-coreboot.rmk: Moved qemu parts ..
27622 * conf/i386-qemu.rmk: ... here
27623 * conf/i386-efi.rmk: Moved common parts to...
27624 * conf/x86-efi.rmk: ... here.
27625 * conf/i386.rmk: Added modules common to all x86 variants.
27626 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
27627 * disk/memdisk.c: Remove grub/machine/kernel.h.
27628 * gensymlist.sh.in: Include symbol.h.
27629 * hook/datehook.c: Correct module name.
27630 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
27631 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
27632 * include/grub/i386/efi/serial.h: New file.
27633 * include/grub/x86_64/efi/serial.h: Likewise.
27634 * util/time.c: Likewise.
27635 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
27636
463ac55f
CK
276372010-03-14 Colin King <colin.king@ubuntu.com>
276382010-03-14 Colin Watson <cjwatson@ubuntu.com>
27639
27640 Shrink the pre-partition-table part of boot.img by eight bytes.
27641
27642 * boot/i386/pc/boot.S (ERR): New macro.
27643 (chs_mode): Use ERR.
27644 (geometry_error): Likewise.
27645 (hd_probe_error): Remove. This is only used once, so we wrwite
27646 it inline instead.
27647 (read_error): Instead of printing read_error_string, just set up
27648 %si and fall through to ...
27649 (error_message): ... this new function, also used by ERR.
27650
08e46ede
CW
276512010-03-14 Colin Watson <cjwatson@ubuntu.com>
27652
27653 Speed up consecutive hostdisk operations on the same device.
27654
27655 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
27656 (grub_util_biosdisk_open): Initialise disk->data.
27657 (struct linux_partition_cache): New structure.
27658 (linux_find_partition): Cache partition start positions; these are
27659 expensive to compute on every read and write.
27660 (open_device): Cache open file descriptor in disk->data, so that we
27661 don't have to reopen it and flush the buffer cache for consecutive
27662 operations on the same device.
27663 (grub_util_biosdisk_close): New function.
27664 (grub_util_biosdisk_dev): Set `close' member.
27665
27666 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
27667 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
27668 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27669 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
27670 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
27671
4a6d2d06
VS
276722010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27673
27674 Compile parts of grub-emu as modules.
27675
27676 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
27677 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
27678 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
27679 (all-local): Add $(GRUB_EMU).
27680 (install-local): Install $(GRUB_EMU).
27681 (uninstall): Uninstall $(GRUB_EMU).
27682 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
27683 * kern/dl.c: Likewise.
27684 * commands/sleep.c: Not include machine/time.h.
27685 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
27686 (COMMON_CFLAGS): Likewise.
27687 (sbin_UTILITIES): Remove grub-emu.
27688 (grub_emu_SOURCES): Removed.
27689 (kernel_img_RELOCATABLE): New variable.
27690 (pkglib_PROGRAMS): Add kernel.img.
27691 (kernel_img_SOURCES): New variable
27692 (kernel_img_CFLAGS): Likewise.
27693 (kernel_img_LDFLAGS): Likewise.
27694 (TARGET_NO_STRIP): Likewise.
27695 (TARGET_NO_DYNAMIC_MODULES): Likewise.
27696 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
27697 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
27698 (grub-emu): New target.
27699 (GRUB_EMU): New variable.
27700 * configure.ac: Whitelist -emu as possible x86_64 architecture.
27701 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
27702 * loader/xnu.c: Likewise.
27703 * include/grub/pci.h: Likewise.
27704 * genemuinit.sh: New file.
27705 * genemuinitheader.sh: Likewise.
27706 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
27707 Support TARGET_NO_DYNAMIC_MODULES.
27708 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
27709 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
27710 * disk/loopback.c: Likewise.
27711 * font/font_cmd.c: Likewise.
27712 * partmap/acorn.c: Likewise.
27713 * partmap/amiga.c: Likewise.
27714 * partmap/apple.c: Likewise.
27715 * partmap/gpt.c: Likewise.
27716 * partmap/msdos.c: Likewise.
27717 * partmap/sun.c: Likewise.
27718 * parttool/msdospart.c: Likewise.
27719 * term/gfxterm.c: Likewise.
27720 * video/bitmap.c: Likewise.
27721 * video/readers/jpeg.c: Likewise.
27722 * video/readers/png.c: Likewise.
27723 * video/readers/tga.c: Likewise.
27724 * video/video.c: Likewise.
27725 * util/grub-emu.c (read_command_list): Removed.
27726 (main): Don't call util_init_nls.
27727 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
27728 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
27729
91fdd2ed
VS
277302010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27731
27732 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
27733 date.mod, datehook.mod.
27734 (datetime_mod_SOURCES): New variable.
27735 (datetime_mod_CFLAGS): Likewise.
27736 (datetime_mod_LDFLAGS): Likewise.
27737 (date_mod_SOURCES): Likewise.
27738 (date_mod_CFLAGS): Likewise.
27739 (date_mod_LDFLAGS): Likewise.
27740 (datehook_mod_SOURCES): Likewise.
27741 (datehook_mod_CFLAGS): Likewise.
27742 (datehook_mod_LDFLAGS): Likewise.
27743 * conf/sparc64-ieee1275.rmk: Likewise.
27744 * lib/ieee1275/datetime.c: New file.
27745
873ccae6
VS
277462010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27747
27748 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
27749 (ieee1275_fb_mod_SOURCES): New variable.
27750 (ieee1275_fb_mod_CFLAGS): Likewise.
27751 (ieee1275_fb_mod_LDFLAGS): Likewise.
27752 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
27753 New proto.
27754 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
27755 (HEAP_MAX_ADDR): Likewise.
27756 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
27757 type.
27758 Correct stop condition.
27759 (grub_ieee1275_devices_iterate): New function.
27760 * video/ieee1275.c: New file.
27761
601c97c0
VS
277622010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27763
27764 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
27765
27766 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
27767 as scratch.
27768 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
27769 SCRATCH_PAD_DISKBOOT as scratch.
27770 (bootit): Pass Openfirmware pointer in %o4.
27771 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
27772 of 0x200000.
27773 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
27774 with util/grub-mkrawimage.c.
27775 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
27776 * include/grub/aout.h (AOUT_MID_SUN): New definition.
27777 (grub_aout_get_type) [GRUB_UTIL]: Removed.
27778 (grub_aout_load) [GRUB_UTIL]: Likewise.
27779 * include/grub/kernel.h (grub_modules_get_end): New proto.
27780 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
27781 (SCRATCH_PAD_BOOT): New definition.
27782 (SCRATCH_PAD_DISKBOOT): Likewise.
27783 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
27784 * include/grub/sparc64/ieee1275/ieee1275.h
27785 (grub_ieee1275_original_stack): New variable
27786 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
27787 New definition
27788 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
27789 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
27790 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
27791 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
27792 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
27793 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
27794 (grub_platform_image_format_t): New type.
27795 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
27796 * kern/main.c (grub_modules_get_end)
27797 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
27798 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
27799 (codestart): Switch stacks.
27800 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
27801 variable.
27802 (grub_heap_init): Use grub_modules_get_end.
27803 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
27804 stack.
27805 * util/grub-mkrawimage.c (generate_image): Support sparc64.
27806 (main): Likewise.
27807 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
27808
d68b491e
TG
278092010-03-14 Thorsten Glaser <tg@mirbsd.org>
27810
27811 * util/grub-mkrescue.in: Base ISO UUID on UTC.
27812
4e02ed50
MK
278132010-03-08 Matt Kraai <kraai@ftbfs.org>
27814
27815 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
27816 bug #559005).
27817
1f15fc1e
VS
278182010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
27819
27820 * genmoddep.awk: Output all missing symbols and not only first.
27821
fce5d8ff
VS
278222010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27823
27824 * NEWS: Put the date of 1.98 release.
27825
d1e8a02f
VS
278262010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27827
27828 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
27829 ft2build.h.
27830
696fd607
VS
278312010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27832
27833 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
27834 completition in the middle of string.
27835
33e2e6f3
VS
278362010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27837
27838 * util/grub-mkrescue.in: Use mktemp with explicit template.
27839
b1f6d291
VS
278402010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27841
27842 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
27843
2ac227c7
VS
278442010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27845
27846 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
27847 right pointer.
27848
8f9a632b
VS
278492010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27850
27851 Fix FreeBSD compilation.
27852
27853 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
27854 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
27855
60b03859
VS
278562010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27857
27858 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
27859
48a5a769
VS
278602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27861
27862 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
27863
3ab4bd77
VS
278642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27865
27866 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
27867
d116e0d8
RM
278682010-03-04 Robert Millan <rmh.grub@aybabtu.com>
27869
27870 Support relative image path in theme file.
27871
27872 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
27873 (image_set_property): Handle theme_dir and relative path.
27874
c7ef54aa
VS
278752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27876
27877 * configure.ac: Alias amd64 to x86_64.
27878
fcee14ed
VS
278792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27880
27881 * NEWS: mention multiboot on EFI.
27882
d0780363
VS
278832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27884
27885 * kern/main.c (grub_load_modules): Handle errors from init functions of
27886 embeded modules.
27887
41168ea4
VS
278882010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27889
27890 * normal/autofs.c (autoload_fs_module): Handle errors.
27891
b54d93ac
VS
278922010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27893
27894 Disable linux.mod on qemu-mips since it's not functional and leads
27895 to compilation failure.
27896
27897 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
27898 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
27899 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
27900 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
27901 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
27902 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
27903 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
27904 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
27905 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
27906 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
27907 Reported by: BVK Chaitanya
27908
fc8345da
JU
279092010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
27910
27911 * INSTALL: Add gettext as a dependency and add qemu to a new section
27912 "Prerequisites for make-check".
27913
4760f979
CF
279142010-03-04 Christian Franke <franke@computer.org>
27915
27916 * util/grub-pe2elf.c: Add missing include "progname.h".
27917
f209b5b2
VS
279182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27919
27920 * normal/crypto.c (read_crypto_list): Fix a typo.
27921 Reported by: Seth Goldberg.
27922
b4b7be98
VS
279232010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27924
27925 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 27926 Reported by: Seth Goldberg.
b4b7be98 27927
c0ee0385
VS
279282010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27929
27930 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
27931 ascii.bitmaps.
27932
a8efbf64
VS
279332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27934
27935 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 27936 Reported by: Seth Goldberg.
a8efbf64 27937
08dcd913
VS
279382010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27939
27940 * util/i386/efi/grub-install.in: Copy gettext files.
27941
c4d0b332
VS
279422010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27943
27944 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
27945
c6f2fe52
VS
279462010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27947
27948 Wait for user entry basing on presence of output rather than on errors.
27949
27950 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
27951 (grub_install_newline_hook): Likewise.
27952 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
27953 * normal/menu.c (show_menu): Check line_counter to determine presence
27954 of output.
27955 * normal/term.c (grub_normal_line_counter): New variable.
27956 (grub_normal_get_line_counter): New function.
27957 (grub_install_newline_hook): Likewise.
27958
5382b1e4
VS
279592010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27960
27961 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
27962
5519963b
VS
279632010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27964
27965 * configure.ac: Update version to 1.98.
27966
72b28631
VS
279672010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
27968
27969 * util/grub.d/10_linux.in (linux_entry): Don't default to
27970 gfxpayload=keep if Linux doesn't support video handover.
27971
c140a180
VS
279722010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
27973
27974 Don't compile video modules on yeeloong since video subsystem is part
27975 of kernel.
27976
27977 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
27978 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
27979 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
27980 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
27981 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
27982 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
27983 * include/grub/bitmap_scale.h: Likewise.
27984 * include/grub/bufio.h: Likewise.
27985 * include/grub/font.h: Likewise.
27986 * include/grub/gfxterm.h: Likewise.
27987 * include/grub/video.h: Likewise.
27988 * include/grub/vbe.h: Don't include video_fb.h.
27989 * video/i386/pc/vbe.c: Include video_fb.h.
27990 * commands/i386/pc/vbetest.c: Include video.h.
27991
a0ca21c2
CW
279922010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
27993
27994 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
27995 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
27996 default entry if GRUB_SAVEDEFAULT=true. This allows using
27997 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
27998 saving a new default on every boot.
27999
4a8a763c
VS
280002010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28001
28002 * normal/crypto.c (read_crypto_list): Fix a memory leak.
28003 * normal/term.c (read_terminal_list): Likewise.
28004 * normal/main.c (grub_normal_init_page): Likewise.
28005 (grub_normal_read_line_real): Likewise.
28006
607ffde2
VS
280072010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28008
28009 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
28010 memory leak.
28011 Reported by: Seth Goldberg.
28012
2b8fa975
CW
280132010-02-24 Joey Korkames <joey+lists@kidfixit.com>
28014
28015 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
28016 duplicate declaration of `start'.
28017
618307dd
VS
280182010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28019
28020 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
28021 filename.
28022 Reported by: Georgy Buranov
28023
7dd05b96 280242010-02-20 Carles Pina i Estany <carles@pina.cat>
28025
28026 * util/grub-mkrawimage.c (usage): Change string formatting to
28027 improve gettext.
28028
d1484a42
MRA
280292010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
28030
28031 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
28032 backspace keys.
28033
42b1d186
VS
280342010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28035
28036 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
28037 Reported by: Michael Suchanek.
28038
280392010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
28040
28041 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
28042 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
28043
d9f31a41
VS
280442010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
28045
28046 Remove any reference to non-free fonts.
28047
28048 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
28049 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
28050 uses non-free components.
28051 * font/font.c (grub_font_get_name): Remove example name.
28052 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
28053 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
28054 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
28055 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
28056
2793c71e
GB
280572010-02-16 Georgy Buranov <gburanov@gmail.com>
28058
28059 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
28060
402e3779
VS
280612010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28062
28063 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
28064 Double divisor.
28065 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
28066 features.
28067 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
28068
0dd1e0dd
VS
280692010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28070
28071 * gensymlist.sh.in: Use TARGET_CC instead of CC.
28072
6fa7cfce
ST
280732010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28074
28075 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
28076 * docs/grub.texi (Command-line and menu entry commands): Document play
28077 command.
28078
37c8483b
ST
280792010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28080
28081 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
28082 parse arguments as inline tempo and notes. Move code for playing notes
28083 to...
28084 (play): ... new function.
28085
14da0fb7
ST
280862010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28087
28088 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
28089 grub_uint16_t instead of short.
28090 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
28091 disk from little endian to cpu endianness.
28092
04459e70
ST
280932010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
28094
28095 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
28096 GRUB_TICKS_PER_SECOND instead of 120.
28097
a0876943
VS
280982010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28099
28100 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
28101 escape sequence after \e.
28102
e29f95dc
VS
281032010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28104
28105 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
28106 non-ASCII characters.
28107
d27859b2
VS
281082010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28109
28110 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
28111 set root in single quotes to prevent \, from being unescaped.
28112
bc028f2f
VS
281132010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28114
28115 Prevent unknown commands from stopping menuentry execution.
28116
28117 * script/execute.c (grub_script_execute_cmdline): Print error after
28118 unknown command.
28119
095f5f82
VS
281202010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28121
28122 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
28123 Reported by: Pavel Pisa.
28124
8c717950
VS
281252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28126
28127 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
28128
904935c3
VS
281292010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28130
28131 Merge grub_ieee1275_map_physical into grub_map and rename to
28132 grub_ieee1275_map
28133
28134 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
28135 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
28136 Remove.
28137 * kern/ieee1275/openfw.c (grub_map): Rename to ...
28138 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
28139 necessary.
28140 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
28141
5b59a4e3
VS
281422010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28143
28144 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
28145 opening and not after.
28146
69e137e8
VS
281472010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28148
28149 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
28150 constants.
28151
2c0fcc36
VS
281522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28153
28154 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
28155 (alloc_phys): Use ALIGN_UP instead of align_addr.
28156
8c6052ce
VS
281572010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28158
28159 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
28160
17cec782
VS
281612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28162
28163 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
28164
e0128bbd
VS
281652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28166
28167 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
28168 verbose dprintf.
28169
ca62070b
VS
281702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28171
28172 Fix over-4GiB seek on sparc64.
28173
28174 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
28175 Replace pos_i and pos_lo with pos. All users updated.
28176 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28177 New constant.
28178 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28179 Likewise.
28180 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
28181 and pos_lo.
28182
bdca2607
VS
281832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28184
28185 * util/grub-mkrawimage.c (main): Call set_program_name.
28186
da278c4d
VS
281872010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28188
28189 Properly align 64-bit targets.
28190
28191 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
28192 (generate_image): Use ALIGN_ADDR.
28193
b274d734
VS
281942010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28195
28196 Properly create cross-endian images.
28197
28198 * include/grub/types.h (grub_host_to_target_addr): New macro
28199 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
28200
82da2062
VS
282012010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28202
28203 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
28204
7cae4377
VS
282052010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28206
28207 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
28208
28209 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
28210 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
28211 (grub_linux_boot): Divide by 64K when on VESA.
28212
65a533e7
VS
282132010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28214
28215 Support GRUB_GFXPAYLOAD_LINUX.
28216
28217 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
28218 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
28219
dd01d397
VS
282202010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28221
28222 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
28223 to show messages instead of discarding them.
28224 Process errors after executing command and not before. Keep old method
28225 too as precaution.
28226
660960d6
VS
282272010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
28228
28229 * configure.ac: Check for ft2build.h.
28230
62509f04
VS
282312010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28232
28233 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
28234
473df63d
VS
282352010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28236
28237 * genkernsyms.sh.in: Use TARGET_CC.
28238
c98d2a13
CW
282392010-02-07 Colin Watson <cjwatson@ubuntu.com>
28240
28241 * NEWS: Update.
28242
6e14234c
VS
282432010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28244
28245 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
28246 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
28247 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 28248
b255e9cf
YB
282492010-02-07 Yves Blusseau <blusseau@zetam.org>
28250
6e14234c 28251 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 28252
98e6959d
VS
282532010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28254
28255 Fix warnings in grub-emu when compiling with maximum warning options.
28256
28257 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
28258 (grub_arch_modules_addr): Return 0 and not NULL.
28259 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 28260 (xstrdup): Use newstr instead of dup.
f88d801b
VS
28261 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
28262 of disk to dsk to avoid shadowing.
74e4934e
VS
28263 (find_free_slot): Fix prototype.
28264 * util/getroot.c (grub_util_is_dmraid): Make static.
28265 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
28266 Add missing prototype.
28267 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 28268
74e31b5c
VS
282692010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28270
28271 * loader/i386/linux.c (grub_linux_setup_video): Handle error
28272 appropriately.
28273
6b2ad14b
VS
282742010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28275
28276 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
28277 code out.
28278
8f891adc
VS
282792010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28280
28281 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
28282 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
28283 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
28284 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
28285 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
28286 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
28287
74b45184
VS
282882010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28289
28290 * include/grub/err.h (grub_err_printf): Don't export.
28291
a4bced77
VS
282922010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28293
28294 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
28295
007d0695
VS
282962010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28297
28298 * include/grub/i18n.h (grub_gettext_dummy): Removed.
28299 * kern/misc.c (grub_gettext_dummy): Make static.
28300
b6c0d9c2
VS
283012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28302
28303 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
28304 by non-valid ones.
28305 * kern/term.c (grub_putchar): Likewise.
28306
f51a90d0
VS
283072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28308
28309 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
28310 buggy hook call and memory leak.
28311
6846cec5
VS
283122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28313
28314 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
28315
468d69fe
VS
283162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28317
28318 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
28319
51906b8c
VS
283202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28321
28322 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
28323 modevar.
28324 Return grub_errno on allocation error.
28325
09706ce5
VS
283262010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28327
28328 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
28329
911df80c
YB
283302010-02-06 Yves Blusseau <blusseau@zetam.org>
28331
28332 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
28333 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
28334
3746a6bc
VS
283352010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28336
28337 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
28338 non-pxe disk.
28339 (grub_pxefs_open): Likewise.
28340
09706ce5
VS
283412010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28342
28343 * util/grub.d/10_hurd.in: Add --class information to menuentries.
28344 * util/grub.d/10_kfreebsd.in: Likewise.
28345 * util/grub.d/10_linux.in: Likewise.
28346
7cc192d9
VS
283472010-02-06 Colin D Bennett <colin@gibibit.com>
28348
28349 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
28350 (gfxmenu_mod_SOURCES): New variable.
28351 (gfxmenu_mod_CFLAGS): Likewise.
28352 (gfxmenu_mod_LDFLAGS): Likewise.
28353 * include/grub/term.h (grub_term_set_current_output): Declare
28354 argument as const.
28355 * docs/gfxmenu-theme-example.txt: New file.
28356 * gfxmenu/gfxmenu.c: Likewise.
28357 * gfxmenu/gui_box.c: Likewise.
28358 * gfxmenu/gui_canvas.c: Likewise.
28359 * gfxmenu/gui_circular_progress.c: Likewise.
28360 * gfxmenu/gui_image.c: Likewise.
28361 * gfxmenu/gui_label.c: Likewise.
28362 * gfxmenu/gui_list.c: Likewise.
28363 * gfxmenu/gui_progress_bar.c: Likewise.
28364 * gfxmenu/gui_string_util.c: Likewise.
28365 * gfxmenu/gui_util.c: Likewise.
28366 * gfxmenu/icon_manager.c: Likewise.
28367 * gfxmenu/model.c: Likewise.
28368 * gfxmenu/named_colors.c: Likewise.
28369 * gfxmenu/theme_loader.c: Likewise.
28370 * gfxmenu/view.c: Likewise.
28371 * gfxmenu/widget-box.c: Likewise.
28372 * include/grub/gfxmenu_model.h: Likewise.
28373 * include/grub/gfxmenu_view.h: Likewise.
28374 * include/grub/gfxwidgets.h: Likewise.
28375 * include/grub/gui.h: Likewise.
28376 * include/grub/gui_string_util.h: Likewise.
28377 * include/grub/icon_manager.h: Likewise.
28378
283792010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28380
28381 Agglomerate scrolling in gfxterm.
28382
28383 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
28384 (grub_virtual_screen_setup): Initialise 'total_screen'.
28385 (write_char): Split to ...
28386 (paint_char): ... this ...
28387 (write_char): ... and this.
28388 (paint_char): Handle delayed scrolling.
28389 (draw_cursor): Likewise.
28390 (scroll_up): Split to ...
28391 (real_scroll): ... this ...
28392 (scroll_up): ... and this.
28393 (real_scroll): Handle multi-line scroll and draw below-the-bottom
28394 characters.
28395 (grub_gfxterm_refresh): Call real_scroll.
28396
283972010-02-06 Colin D Bennett <colin@gibibit.com>
28398
28399 * include/grub/misc.h (grub_iscntrl): New inline function.
28400 (grub_isalnum): Likewise.
28401 (grub_strtol): Likewise.
28402
284032010-02-06 Colin D Bennett <colin@gibibit.com>
28404
28405 * normal/menu_text.c (get_entry_number): Move from here ...
28406 * normal/menu.c (get_entry_number): ... moved here.
28407 * include/grub/menu.h (grub_menu_get_default_entry_index):
28408 New prototype.
28409 * normal/menu.c (grub_menu_get_default_entry_index): New function.
28410 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
28411 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
28412 (grub_menu_viewer_should_return): Likewise.
28413 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
28414 * normal/menu_text.c (run_menu): Enable menu switching.
28415 * normal/menu_viewer.c (should_return): New variable.
28416 (menu_viewer_changed): Likewise.
28417 (grub_menu_viewer_show_menu): Handle menu viewer changes.
28418 (grub_menu_viewer_should_return): New function.
28419 (menuviewer_write_hook): Likewise.
28420 (grub_menu_viewer_init): Likewise.
28421
284222010-02-06 Colin D Bennet <colin@gibibit.com>
284232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28424
28425 Support for gfxterm in a window.
28426
28427 * include/grub/gfxterm.h: New file.
28428 * include/grub/video.h (struct grub_video_rect): New declaration.
28429 (grub_video_rect_t): Likewise.
28430 * term/gfxterm.c (struct grub_gfxterm_window): New type.
28431 (refcount): New variable.
28432 (render_target): Likewise.
28433 (window): Likewise.
28434 (repaint_callback): Likewise.
28435 (grub_virtual_screen_setup): Use 'render_target'.
28436 (init_window): New function.
28437 (grub_gfxterm_init_window): Likewise.
28438 (grub_gfxterm_init): Check reference counter.
28439 Use init_window.
28440 (destroy_window): New function.
28441 (grub_gfxterm_destroy_window): Likewise.
28442 (grub_gfxterm_fini): Check reference counter.
28443 Use destroy_window.
28444 (redraw_screen_rect): Restore viewport.
28445 Use 'render_target' and 'window'.
28446 Call 'repaint_callback'.
28447 (write_char): Use 'render_target'.
28448 (draw_cursor): Likewise.
28449 (scroll_up): Restore viewport.
28450 Use 'render_target' and 'window'.
28451 Call 'repaint_callback'.
28452 (grub_gfxterm_cls): Likewise.
28453 (grub_gfxterm_refresh): Use 'window'.
28454 (grub_gfxterm_set_repaint_callback): New function.
28455 (grub_gfxterm_background_image_cmd): Use 'window'.
28456 (grub_gfxterm_get_term): New function.
28457 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
28458
284592010-02-06 Colin D Bennett <colin@gibibit.com>
28460
28461 Bitmap scaling support.
28462
28463 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
28464 (bitmap_scale_mod_SOURCES): New variable.
28465 (bitmap_scale_mod_CFLAGS): Likewise.
28466 (bitmap_scale_mod_LDFLAGS): Likewise.
28467 * include/grub/bitmap_scale.h: New file.
28468 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
28469 (background_image_cmd_options): New variable.
28470 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
28471 (cmd): Rename and change type to ...
28472 (background_image_cmd_handle): ... this. All users updated.
28473 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
28474 * video/bitmap_scale.c: New file.
28475
284762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28477
28478 SDL support.
28479
28480 * Makefile.in (LIBSDL): New variable.
28481 (enable_grub_emu_sdl): Likewise.
28482 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
28483 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
28484 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
28485 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
28486 * util/sdl.c: New file.
28487
284882010-02-06 Colin D Bennett <colin@gibibit.com>
284892010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28490
28491 Double buffering support.
28492
28493 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
28494 * include/grub/video.h: Update comment.
28495 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
28496 New type.
28497 (grub_video_fb_doublebuf_blit_init): New prototype.
28498 * term/gfxterm.c (scroll_up): Support double buffering.
28499 (grub_gfxterm_refresh): Likewise.
28500 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
28501 (grub_video_fb_doublebuf_blit_init): Likewise.
28502 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
28503 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
28504 'displayed_page', 'render_page' and 'update_screen'.
28505 (grub_video_vbe_fini): Free offscreen buffer.
28506 (doublebuf_pageflipping_commit): New function.
28507 (doublebuf_pageflipping_update_screen): Likewise.
28508 (doublebuf_pageflipping_init): Likewise.
28509 (double_buffering_init): Likewise.
28510 (grub_video_vbe_setup): Enable doublebuffering.
28511 (grub_video_vbe_swap_buffers): Implement.
28512 (grub_video_vbe_set_active_render_target): Handle double buffering.
28513 (grub_video_vbe_get_active_render_target): Likewise.
28514 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
28515 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
28516 (grub_video_vbe_enable_double_buffering): Likewise.
28517 (grub_video_vbe_swap_buffers): Use update_screen.
28518 (grub_video_set_mode): Use double buffering.
28519
285202010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28521
28522 * maintainance/gentrigtables.py: Remove.
28523 * lib/trig.c: Likewise.
28524
28525 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
28526
28527 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
28528 `trigtables.c'.
28529 (trigtables.c): New rule.
28530 (gentrigtables): Likewise.
28531 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
28532
285332010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28534
28535 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
28536 integer constants.
28537
285382010-02-06 Colin D Bennet <colin@gibibit.com>
28539
28540 Trigonometry support.
28541
28542 * include/grub/trig.h: New file.
28543 * lib/trig.c: Likewise.
28544 * maintainance/gentrigtables.py: Likewise.
28545 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
28546 (trig_mod_SOURCES): New variable.
28547 (trig_mod_CFLAGS): Likewise.
28548 (trig_mod_LDFLAGS): Likewise.
28549
5562834e
VS
285502010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28551
28552 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
28553 disk devices.
28554
4f8528fc
VS
285552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28556
28557 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
28558 error.
28559
2b4068e9
VS
285602010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28561
28562 * util/hostdisk.c (open_device): Don't use partition device when reading
28563 before the partition.
28564 (grub_util_biosdisk_read): Don't read from partition and before the
28565 partition in single operation.
28566 (grub_util_biosdisk_write): Don't write to partition and before the
28567 partition in single operation.
28568
399f6e4d
TL
285692010-02-03 Torsten Landschoff <torsten@debian.org>
28570
28571 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28572 last sectors.
28573
996649b0
VS
285742010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28575
28576 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
28577 CDROM reads.
28578 (grub_biosdisk_write): Refuse to write to CDROM.
28579
3b205d4d
VS
285802010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28581
28582 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
28583
61e89d9d
VS
285842010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28585
28586 * font/font.c (find_glyph): Check that bmp_idx is available before
28587 using it.
28588 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
28589 with (font == NULL).
28590
bf7fcba2
CS
285912010-01-28 Christian Schmitt <chris@ilovelinux.de>
28592
28593 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
28594
f45d2663
BC
285952010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
28596
28597 * include/grub/script_sh.h (sourcecode): Add const qualifier.
28598 * util/grub-script-check.c (getline): Fix empty lines case.
28599
ec1444e6
RM
286002010-01-28 Robert Millan <rmh.grub@aybabtu.com>
28601
28602 * Makefile.in (check): Exit with fail status when one of the tests
28603 fails.
28604 * tests/example_functional_test.c (example_test): Fix reversed assert.
28605 * tests/example_unit_test.c (example_test): Likewise.
28606
2e1cb9bb
CW
286072010-01-28 Colin Watson <cjwatson@ubuntu.com>
28608
28609 * util/grub.d/10_linux.in: This script does not use any of the
28610 contents of gettext.sh, only the external command `gettext', so stop
28611 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
28612 the same prefix as GRUB.)
28613 * util/grub.d/10_kfreebsd.in: Likewise.
28614
63533ab0
VS
286152010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28616
28617 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
28618 of the line.
28619
989e1f93
VS
286202010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28621
28622 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28623 last sectors.
28624
e709ebe2
VS
286252010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28626
28627 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
28628 having a 4KiB and not 32KiB buffer size.
28629
27dea7ed
RM
286302010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28631
28632 * util/hostfs.c: Include `<errno.h>'.
28633 (grub_hostfs_read): Handle errors from fseeko() and fread().
28634
67667b9c
RM
286352010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28636
28637 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
28638 loop when using read hooks on files whose size isn't sector-aligned.
28639
c294d9d8
RM
286402010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28641
28642 Remove unused parameter.
28643
28644 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
28645 (grub_iso9660_open): Remove initialization of `data->length'.
28646
af75a9f1
RM
286472010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28648
28649 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
28650 memleak conditions.
28651
254e2ce5 286522010-01-27 Carles Pina i Estany <carles@pina.cat>
28653
28654 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
28655 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
28656
b510928c 286572010-01-26 Carles Pina i Estany <carles@pina.cat>
28658
28659 * util/bin2h.c (usage): Fix warning (space after backslash).
28660
aa2f9dd2 286612010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 28662
28663 * font/font.c: Include `grub/fontformat.h.
28664 Remove font file format constants.
28665 (grub_font_load): Use the new macros.
28666 * include/grub/fontformat.h: New file.
28667 * util/grub-mkfont.c: Include `grub/fontformat.c'.
28668 (write_font_pf2): Use the new macros.
28669
94e7e712
RM
286702010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28671
28672 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
28673 does.
28674
3973a59a
RM
286752010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28676
28677 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
28678
28679 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
28680 (_start): Macroify `0x7F'.
28681
28682 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
28683 (make_install_device): Use "(pxe)" as fallback prefix when booting
28684 via PXE.
28685
42e0cba3
GS
286862010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
28687
28688 * configure.ac: Reset LIBS after check for libgcc symbols.
28689
847effd8
CW
286902010-01-25 Colin Watson <cjwatson@ubuntu.com>
28691
28692 * util/hostdisk.c (open_device): Add trailing newline to debug
28693 message.
28694
ea4a7e35
GS
286952010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
28696
28697 * configure.ac: Check for `limits.h'.
28698 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
28699
67951a53
RM
287002010-01-24 Robert Millan <rmh.grub@aybabtu.com>
28701
28702 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
28703 capitalize error strings.
28704
c273d4ce
ST
287052010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
28706
28707 * util/grub.d/10_hurd.in: Add a recovery mode.
28708
69be5b74
VS
287092010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
28710
28711 * configure.ac: Check for libgcc symbols with -nostdlib.
28712
fc9e5810
BC
287132010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
28714
28715 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
28716
4b358c0a
VS
287172010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28718
28719 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
28720 stack since heap may be unavailable at that point.
28721 (grub_ofconsole_gotoxy): Likewise.
28722
454fcd1c
VS
287232010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28724
28725 * configure.ac: Check for _restgpr_14_x.
28726 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
28727 and _savegpr_* prototypes.
28728
566863ca
RM
287292010-01-22 Robert Millan <rmh.grub@aybabtu.com>
28730
28731 Use generic grub_reboot() for i386-efi.
28732
28733 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
28734 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
28735 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
28736
bf86e59a
VS
287372010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28738
28739 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
28740 presence of "prefix" variable as it breaks when normal.mod is
28741 embedded.
28742
d645e0f8
VS
287432010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28744
28745 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
28746 stack since heap is unavailable at that point.
28747
f9ab2e25
VS
287482010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28749
28750 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
28751 (grub_freebsd_bootinfo): Rewritten.
28752 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
28753
01fc7054
VS
287542010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28755
28756 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
28757
caab4fd6
RM
287582010-01-21 Robert Millan <rmh.grub@aybabtu.com>
28759
28760 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
28761 domain now.
28762
67eb1427
FZ
287632010-01-20 Felix Zielcke <fzielcke@z-51.de>
28764
28765 * util/misc.c (make_system_path_relative_to_its_root): Change the work
28766 around for handling "/" to the correct fix. Fix a memory leak. Use
28767 xstrdup instead of strdup.
28768
a9ed4ff3
VS
287692010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28770
28771 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
28772
287732010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
28774
28775 Optimise glyph lookup by Basic Multilingual Plane lookup array.
28776
28777 * font/font.c (struct grub_font): New member 'bmp_idx'.
28778 (font_init): Initialise 'bmp_idx'.
28779 (load_font_index): Fill 'bmp_idx'.
28780 (find_glyph): Make inline. Use bmp_idx for BMP characters.
28781
48209f4f
VS
287822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28783
28784 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
28785 unnecessary calls.
28786
9f0a4bb7
VS
287872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28788
28789 Move context handling out of the kernel.
28790
28791 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
28792 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
28793 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
28794 * conf/i386-efi.rmk: Likewise.
28795 * conf/i386-ieee1275.rmk: Likewise.
28796 * conf/i386-pc.rmk: Likewise.
28797 * conf/powerpc-ieee1275.rmk: Likewise.
28798 * conf/sparc64-ieee1275.rmk: Likewise.
28799 * conf/x86_64-efi.rmk: Likewise.
28800 * include/grub/env.h: Include grub/menu.h.
28801 (grub_env_var_type): Removed.
28802 (grub_env_var): Replaced field 'type' with 'global'.
28803 (grub_env_find): New prototype.
28804 (grub_env_context_open): Remove EXPORT_FUNC.
28805 (grub_env_context_close): Likewise.
28806 (grub_env_export): Likewise.
28807 (grub_env_set_data_slot): Removed.
28808 (grub_env_get_data_slot): Likewise.
28809 (grub_env_unset_data_slot): Likewise.
28810 (grub_env_unset_menu): New prototype.
28811 (grub_env_set_menu): Likewise.
28812 (grub_env_get_menu): Likewise.
28813 * include/grub/env_private.h: New file.
28814 * include/grub/normal.h (grub_context_init): New prototype.
28815 (grub_context_fini): Likewise.
28816 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
28817 * normal/context.c (grub_cmd_export): ... to here.
28818 * kern/env.c: Include env_private.h.
28819 (HASHSZ): Moved to include/grub/env_private.h.
28820 (grub_env_context): Likewise.
28821 (grub_env_sorted_var): Likewise.
28822 (current_context): Renamed from this ...
28823 (grub_current_context): ...to this. 'static' removed. All users updated.
28824 (grub_env_find): Removed 'static'.
28825 (grub_env_context_open): Moved to normal/context.c.
28826 (grub_env_context_close): Likewise.
28827 (grub_env_export): Likewise.
28828 (mangle_data_slot_name): Removed.
28829 (grub_env_set_data_slot): Likewise.
28830 (grub_env_get_data_slot): Likewise.
28831 (grub_env_unset_data_slot): Likewise.
28832 * kern/main.c (grub_set_root_dev): Don't export root.
28833 It will be done later.
28834 (grub_main): Don't export prefix.
28835 It will be done later.
28836 * normal/context.c: New file.
28837 * normal/main.c (free_menu): Use grub_env_unset_menu.
28838 (grub_normal_add_menu_entry): Use grub_env_get_menu.
28839 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
28840 (GRUB_MOD_INIT(normal)): Call grub_context_init.
28841 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
28842
8dd35b8c
VS
288432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28844
28845 setpci support.
28846
28847 * commands/setpci.c: New file.
28848 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
28849 (setpci_mod_SOURCES): New variable.
28850 (setpci_mod_CFLAGS): Likewise.
28851 (setpci_mod_LDFLAGS): Likewise.
28852
449193d5
VS
288532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28854
28855 Byte-addressable PCI configuration space.
28856
28857 * bus/pci.c (grub_pci_make_address): Use byte address instead of
28858 dword address.
28859 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
28860 GRUB_PCI_REG_CACHELINE.
28861 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
28862 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
28863 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
28864 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
28865 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
28866 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
28867 grub_pci_make_address.
28868 (lock_rom_area): Likewise.
28869 * commands/lspci.c (grub_lspci_iter): Use macroses
28870 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
28871 of grub_pci_make_address.
28872 * disk/ata.c (grub_ata_pciinit): Likewise.
28873 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
28874 (GRUB_PCI_REG_VENDOR): Likewise.
28875 (GRUB_PCI_REG_DEVICE): Likewise.
28876 (GRUB_PCI_REG_COMMAND): Likewise.
28877 (GRUB_PCI_REG_STATUS): Likewise.
28878 (GRUB_PCI_REG_REVISION): Likewise.
28879 (GRUB_PCI_REG_CLASS): Likewise.
28880 (GRUB_PCI_REG_CACHELINE): Likewise.
28881 (GRUB_PCI_REG_LAT_TIMER): Likewise.
28882 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
28883 (GRUB_PCI_REG_BIST): Likewise.
28884 (GRUB_PCI_REG_ADDRESSES): Likewise.
28885 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28886 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28887 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28888 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28889 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28890 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28891 (GRUB_PCI_REG_CIS_POINTER): Likewise.
28892 (GRUB_PCI_REG_SUBVENDOR): Likewise.
28893 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
28894 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
28895 (GRUB_PCI_REG_CAP_POINTER): Likewise.
28896 (GRUB_PCI_REG_IRQ_LINE): Likewise.
28897 (GRUB_PCI_REG_IRQ_PIN): Likewise.
28898 (GRUB_PCI_REG_MIN_GNT): Likewise.
28899 (GRUB_PCI_REG_MAX_LAT): Likewise.
28900 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
28901 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
28902 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 28903 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
28904 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
28905 space.
28906
96d73208
RM
289072010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28908
28909 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
28910 can be reliably determined to be supported.
28911
d4484482
RM
289122010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28913
28914 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
28915 that VESA is supported.
28916 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
28917 supported.
28918
00308ecf
VS
289192010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28920
28921 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
28922
f66924a4
RM
289232010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28924
28925 * util/misc.c (make_system_path_relative_to_its_root): Work around
28926 special-casing of "/", as previous incarnation of this routine did.
28927
cbca0ada
VS
289282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28929
28930 Fix any-emu compilation.
28931
28932 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
28933 * grub_bin2h_SOURCES: New variable.
28934
34a66d99
RM
289352010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28936
28937 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
28938
94fabf58
RM
289392010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28940
28941 * util/grub.d/00_header.in: Fix handling of locale_dir.
28942
02cf98ca
VS
289432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28944
28945 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
28946 as possible unifont location (Gentoo).
28947 Reported by: Alexander Brüning
28948
327dbcd7
VS
289492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28950
28951 Don't try to generate lists for kernel.img.
28952
28953 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
28954 (pkglib_MODULES): Remove kernel.img.
28955 (kernel_img_EXPORTS): Removed.
28956 (kernel_img_RELOCATABLE): New variable.
28957 * conf/x86_64-efi.rmk: Likewise.
28958 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
28959
ca467290
VS
289602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28961
28962 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
28963 grub_xasprintf or grub_snprintf.
28964 (grub_vsprintf): Likewise.
28965 (grub_snprintf): New proto.
28966 (grub_vsnprintf): Likewise.
28967 (grub_xasprintf): Likewise.
28968 (grub_xvasprintf): Likewise.
28969 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
28970 (grub_sprintf): Removed.
28971 (grub_vsnprintf): New function.
28972 (grub_snprintf): Likewise.
28973 (grub_xvasprintf): Likewise.
28974 (grub_xasprintf): Likewise.
28975 (grub_vsprintf): Renamed to ...
28976 (grub_vsnprintf_real): ...this. New argument max_len.
28977
aca655fd
BC
289782010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
28979
28980 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
28981 fix grub-script-check warning.
28982
7ee92c32
VS
289832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28984
28985 * include/grub/font.h (grub_font_load): Fix prototype.
28986
f80927ca
VS
289872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28988
28989 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
28990
119c50ea
VS
289912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28992
28993 * include/grub/x86_64/at_keyboard.h: New file.
28994
47d5f3c1
VS
289952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28996
28997 * loader/mips/linux.c: Include missing grub/i18n.h.
28998
55ff5266
RM
289992009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29000
29001 * normal/menu.c (notify_execution_failure): Clarify error message.
29002
c893cc87
RM
290032009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29004
29005 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
29006 return value (and revert all return statements). Update users.
29007
917dd370
CW
290082010-01-20 Dan Merillat <debian@dan.merillat.org>
29009
29010 * kern/device.c (grub_device_iterate): Allocate new part_ent
29011 structure based on sizeof (*p) rather than sizeof (p->next), to
29012 account for structure padding.
29013
29014 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
29015 disk is NULL, which might happen for LVM physical volumes with no
29016 LVM signature.
29017
d4a4ee57
RM
290182009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29019
29020 * loader/mips/linux.c (grub_cmd_initrd)
29021 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
29022
290232009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29024
29025 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
29026 (grub_video_video_init, grub_video_bitmap_init)
29027 (grub_font_manager_init, grub_term_gfxterm_init)
29028 (grub_at_keyboard_init): New extern declarations.
29029 (grub_machine_init): Initialize gfxterm and at_keyboard.
29030
29031 * kern/main.c (grub_main): Revert grub_printf delay kludge.
29032
29033 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
29034 `gfxterm.mod' into core image.
29035
29036 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29037 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29038 (kernel_img_FORMAT): Copy to ...
29039
29040 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29041 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29042 (kernel_img_FORMAT): ... here, and ...
29043
29044 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29045 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29046 (kernel_img_FORMAT): ... here.
29047
29048 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
29049 and input (at_keyboard) terminals in kernel.
29050 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
29051
29052 (pkglib_MODULES): Remove `pci.mod'.
29053 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
29054 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
29055 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29056 (at_keyboard_mod_LDFLAGS): Remove variables.
29057
290582010-01-11 Felix Zielcke <fzielcke@z-51.de>
29059
29060 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
29061
290622009-12-10 Robert Millan <rmh.grub@aybabtu.com>
29063
29064 * include/grub/mips/libgcc.h: Only export symbols for functions
29065 that libgcc provides.
29066
290672009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
29068
29069 MIPS support.
29070
29071 * bus/bonito.c: New file.
29072 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
29073 GRUB_PCI_NUM_DEVICES.
29074 * term/i386/pc/serial.c: Move to ...
29075 * term/serial.c: ... here. All users updated.
29076 * util/i386/pc/grub-mkimage.c: Move to ...
29077 * util/grub-mkrawimage.c: ... here. All users updated.
29078 * term/i386/pc/at_keyboard.c: Move to ...
29079 * term/at_keyboard.c: ... here. All users updated.
29080 * conf/mips-qemu-mips.rmk: New file.
29081 * conf/mips-yeeloong.rmk: Likewise.
29082 * conf/mips.rmk: Likewise.
29083 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
29084 mipsel-qemu-mips.
29085 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
29086 to port addresses.
29087 (grub_ata_pciinit): Support CS5536.
29088 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
29089 * font/font_cmd.c (loadfont_command): Open file before passing it to
29090 grub_font_load.
29091 (pseudo_file_read): New function.
29092 (pseudo_file_close): Likewise.
29093 (pseudo_fs): New structure.
29094 (load_font_module): New function.
29095 (GRUB_MOD_INIT(font_manager)): Load embedded font.
29096 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
29097 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
29098 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
29099 * include/grub/i386/at_keyboard.h: Split into ...
29100 * include/grub/at_keyboard.h: ... this ...
29101 * include/grub/i386/at_keyboard.h: ... and this.
29102 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
29103 New prototype.
29104 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
29105 updated.
29106 (grub_elf64_size): Likewise.
29107 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
29108 filename.
29109 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
29110 * include/grub/i386/coreboot/serial.h: Rewritten.
29111 * include/grub/i386/ieee1275/serial.h: Include
29112 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
29113 * include/grub/i386/pc/serial.h: Moved from here ...
29114 * include/grub/serial.h: ... to here. All users updated.
29115 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
29116 (GRUB_PCI_NUM_BUS): Likewise.
29117 (GRUB_PCI_NUM_DEVICES): Likewise.
29118 (grub_pci_device_map_range): Add missing volatile keyword.
29119 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
29120 * include/grub/mips/at_keyboard.h: New file.
29121 * include/grub/mips/cache.h: Likewise.
29122 * include/grub/mips/io.h: Likewise.
29123 * include/grub/mips/kernel.h: Likewise.
29124 * include/grub/mips/libgcc.h: Likewise.
29125 * include/grub/mips/pci.h: Likewise.
29126 * include/grub/mips/qemu-mips/boot.h: Likewise.
29127 * include/grub/mips/qemu-mips/kernel.h: Likewise.
29128 * include/grub/mips/qemu-mips/loader.h: Likewise.
29129 * include/grub/mips/qemu-mips/memory.h: Likewise.
29130 * include/grub/mips/qemu-mips/serial.h: Likewise.
29131 * include/grub/mips/qemu-mips/time.h: Likewise.
29132 * include/grub/mips/relocator.h: Likewise.
29133 * include/grub/mips/time.h: Likewise.
29134 * include/grub/mips/types.h: Likewise.
29135 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
29136 * include/grub/mips/yeeloong/boot.h: Likewise.
29137 * include/grub/mips/yeeloong/kernel.h: Likewise.
29138 * include/grub/mips/yeeloong/loader.h: Likewise.
29139 * include/grub/mips/yeeloong/memory.h: Likewise.
29140 * include/grub/mips/yeeloong/pci.h: Likewise.
29141 * include/grub/mips/yeeloong/serial.h: Likewise.
29142 * include/grub/mips/yeeloong/time.h: Likewise.
29143 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
29144 * kern/elf.c (grub_elf32_size): New parameter. All users
29145 updated.
29146 (grub_elf64_size): Likewise.
29147 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
29148 Load modules before saying "Welcome to GRUB!".
29149 Call grub_refresh after saying "Welcome to GRUB!".
29150 * kern/mips/cache.S: New file.
29151 * kern/mips/cache_flush.S: Likewise.
29152 * kern/mips/dl.c: Likewise.
29153 * kern/mips/init.c: Likewise.
29154 * kern/mips/qemu-mips/init.c: Likewise.
29155 * kern/mips/startup.S: Likewise.
29156 * kern/mips/yeeloong/init.c: Likewise.
29157 * kern/term.c (grub_putcode): Handle NULL terminal.
29158 (grub_getcharwidth): Likewise.
29159 (grub_getkey): Likewise.
29160 (grub_checkkey): Likewise.
29161 (grub_getkeystatus): Likewise.
29162 (grub_getxy): Likewise.
29163 (grub_getwh): Likewise.
29164 (grub_gotoxy): Likewise.
29165 (grub_cls): Likewise.
29166 (grub_setcolorstate): Likewise.
29167 (grub_setcolor): Likewise.
29168 (grub_getcolor): Likewise.
29169 (grub_refresh): Likewise.
29170 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
29171 (write_jump): Add hatch nop.
29172 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
29173 * lib/mips/setjmp.S: New file.
29174 * loader/mips/linux.c: Likewise.
29175 * term/i386/pc/at_keyboard.c: Move from here ...
29176 * term/at_keyboard.c: ... to here.
29177 * term/i386/pc/serial.c: Moved from here ...
29178 * term/serial.c: ... to here. All users updated.
29179 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
29180 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
29181 (serial_translate_key_sequence): Avoid deadlock.
29182 (grub_serial_getkey): Handle backspace.
29183 (grub_serial_putchar): Fix newline handling.
29184 * util/i386/pc/grub-mkimage.c: Move from here ...
29185 * util/grub-mkrawimage.c: ... to here. All users updated.
29186 (generate_image): New parameters 'font_path' and 'format'.
29187 Support embedding font.
29188 Use grub_host_to_target* instead of grub_cpu_to_le*.
29189 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
29190 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
29191 (options): New option "--font".
29192 (usage): Likewise.
29193 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
29194 (main): Handle "--font".
29195 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
29196 (grub_virtual_screen_setup): Set bg_color_display.
29197 (redraw_screen_rect): Use bg_color_display instead of incorrect
29198 bg_color.
29199 (grub_gfxterm_cls): Likewise.
29200 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
29201 Support embedding config file.
29202 (add_segments): Likewise.
29203 (options): New option "--config".
29204 (main): Handle "--config".
29205 * video/sm712.c: New file.
29206
25c2b5b3
RM
292072010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29208
29209 Fix parallel builds.
29210
29211 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
29212 font.c depend on ascii.h).
29213
292142010-01-12 Carles Pina i Estany <carles@pina.cat>
29215
29216 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
29217
292182010-01-11 Carles Pina i Estany <carles@pina.cat>
29219
29220 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
29221 By default: disabled.
29222 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
29223 parameter.
29224
292252010-01-10 Carles Pina i Estany <carles@pina.cat>
29226
29227 * font/font.c: Update copyright years.
29228 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
29229
292302010-01-10 Carles Pina i Estany <carles@pina.cat>
29231
29232 * font/font.c: Include `ascii.h'.
29233 (ASCII_BITMAP_SIZE): New macro.
29234 (ascii_font_glyph): Define.
29235 (ascii_glyph_lookup): New function.
29236 (grub_font_get_string_width): Change comment. If glyph not found, use
29237 ascii_glyph_lookup.
29238 (grub_font_get_glyph_with_fallback): If glyph not available returns
29239 ascii_glyph_lookup.
29240 * util/grub-mkfont.c (file_formats): New enum.
29241 (options): Add `ascii-bitmaps' new option.
29242 (usage): Add `asii-bitmaps' new option.
29243 (write_font_ascii_bitmap): New function.
29244 (write_font): Rename to ...
29245 (write_font_p2): ... this. Remove print_glyphs call.
29246 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
29247 used. Call print_glyphs.
29248 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
29249
292502010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29251
29252 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
29253 (grub_bin2h_SOURCES): New variable.
29254 * util/bin2h.c: New file.
29255
915fc1b8
VS
292562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29257
29258 * include/multiboot.h: Resynced with spec.
29259 * include/multiboot2.h: Likewise.
29260 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
29261 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
29262
9444b678
RM
292632010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29264
29265 * include/grub/term.h (grub_term_register_input,
29266 grub_term_register_output): Check return of terminal init()
29267 routines, and abort if errors are raised.
29268
29269 * commands/terminal.c: Update copyright year.
29270
cba98e8d
RM
292712010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29272
29273 * commands/terminal.c (grub_cmd_terminal_input)
29274 (grub_cmd_terminal_output): Check return of terminal init()
29275 routines, and abort if errors are raised.
29276
6f7db5d6
VS
292772010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29278
29279 * include/grub/i386/bsd.h: Fix include pathes.
29280
262bff8d
VS
292812010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29282
29283 Add missing *BSD copyright headers.
29284
29285 * include/grub/aout.h: Add BSD licence.
29286 * include/grub/i386/bsd.h: Parts under different licences moved to ...
29287 * include/grub/i386/freebsd_linker.h: ... here,
29288 * include/grub/i386/freebsd_reboot.h: ... here,
29289 * include/grub/i386/netbsd_bootinfo.h: ... here,
29290 * include/grub/i386/netbsd_reboot.h: ... here,
29291 * include/grub/i386/openbsd_bootarg.h: ... here,
29292 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
29293 licence to each file.
29294
b2cab848
RM
292952010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29296
29297 * acinclude.m4: Remove `nop' assembly instruction; it's not
29298 implemented by all architectures.
29299
2cb6be4b
RM
293002010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29301
29302 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
29303 ELILO. This is no longer necessary.
29304
a2eaee15
BC
293052010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
29306
29307 Added new tool, grub-scrit-check to verify grub.cfg syntax.
29308
29309 * util/grub-script-check.c: grub-script-check tool.
29310 * conf/common.rmk: Make rules for grub-script-check.
29311
88d17012
RM
293122010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29313
29314 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
29315 spotting it back in 2008. Shame on me for forgetting he did.
29316
29317 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
29318
8040619d
RM
293192010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29320
29321 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
29322 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
29323 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
29324 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
29325 (GRUB_VIDEO_TYPE_EFI): Rename to ...
29326 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
29327
a0c2a0f6
RM
293282010-01-17 Robert Millan <rmh.grub@aybabtu.com>
29329
29330 * include/grub/test.h: Add license header.
29331 * tests/example_functional_test.c: Likewise.
29332 * tests/example_unit_test.c: Likewise.
29333 * tests/lib/functional_test.c: Likewise.
29334 * tests/lib/test.c: Likewise.
29335 * tests/lib/unit_test.c: Likewise.
29336
b0b13907
VS
293372010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
29338
29339 Use flag-based instead of hook-based video mode selection and "auto"
29340 keyword.
29341
29342 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
29343 (grub_video_set_mode): Changed prototype. All users updated.
29344 (grub_video_check_mode_flag): New inline function.
29345 * video/video.c (parse_modespec): New function.
29346 (grub_video_set_mode): Parse flags and keywords.
29347
ea379330 293482010-01-17 Carles Pina i Estany <carles@pina.cat>
29349
29350 * util/misc.c (grub_util_info): Fix the order of the parameters in a
29351 fprintf call.
29352
e15c215e
FZ
293532010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
29354
29355 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
29356
409ae1c9 293572010-01-16 Carles Pina i Estany <carles@pina.cat>
29358
29359 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
29360 string.
29361 * util/grub-emu.c (usage): Likewise.
29362 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
29363 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29364 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29365 * util/i386/pc/grub-setup.c (usage): Likewise.
29366
70a14d3d 293672010-01-16 Carles Pina i Estany <carles@pina.cat>
29368
29369 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
29370 the message.
29371 (grub_util_info): Likewise.
29372 (grub_util_error): Likewise.
29373 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
29374 and/or new lines in `grub_util_warna', `grub_util_info',
29375 `grub_util_error' calls.
29376 * util/getroot.c: Likewise.
29377 * util/grub-editenv.c: Likewise.
29378 * util/grub-emu.c: Likewise.
29379 * util/grub-fstest.c: Likewise.
29380 * util/grub-mkdevicemap.c: Likewise.
29381 * util/grub-mkfont.c: Likewise.
29382 * util/grub-mkpasswd-pbkdf2.c: Likewise.
29383 * util/grub-mkrelpath.c: Likewise.
29384 * util/grub-pe2elf.c: Likewise.
29385 * util/grub-probe.c: Likewise.
29386 * util/hostdisk.c: Likewise.
29387 * util/i386/efi/grub-mkimage.c: Likewise.
29388 * util/i386/pc/grub-mkimage.c: Likewise.
29389 * util/i386/pc/grub-setup.c: Likewise.
29390 * util/ieee1275/ofpath.c: Likewise.
29391 * util/mkisofs/eltorito.c: Likewise.
29392 * util/mkisofs/rock.c: Likewise.
29393 * util/mkisofs/write.c: Likewise.
29394 * util/raid.c: Likewise.
29395 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29396 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29397
a0b766fc
VS
293982010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29399
29400 Enable multiboot on non-pc.
29401
29402 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
29403 multiboot.mod and multiboot2.mod to ...
29404 * conf/i386.rmk (pkglib_MODULES): ... here.
29405 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
29406 Moved to ...
29407 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
29408 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
29409 Moved to ...
29410 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
29411 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
29412 Moved to ...
29413 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
29414 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
29415 Moved to ...
29416 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
29417 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
29418 relocator.mod.
29419 (ata_mod_SOURCES): Removed.
29420 (ata_mod_CFLAGS): Likewise.
29421 (ata_mod_LDFLAGS): Likewise.
29422 (relocator_mod_SOURCES): Removed.
29423 (relocator_mod_CFLAGS): Likewise.
29424 (relocator_mod_ASFLAGS): Likewise.
29425 (relocator_mod_LDFLAGS): Likewise.
29426 Include i386.mk.
29427 * include/grub/x86_64/multiboot.h: New file.
29428 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
29429 Terminate EFI.
29430
884ade56
VS
294312010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29432
29433 Video multiboot support.
29434
29435 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
29436 New prototype.
29437 * include/multiboot.h: Resynced with multiboot specification.
29438 * include/multiboot2.h: Likewise.
29439 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
29440 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
29441 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
29442 (HAS_VGA_TEXT): Likewise.
29443 (accepts_video): New variable.
29444 (grub_multiboot_set_accepts_video): New function.
29445 (grub_multiboot_get_mbi_size): Account for video structures.
29446 (set_video_mode): New function.
29447 (retrieve_video_parameters): Likewise.
29448 (grub_multiboot_make_mbi): Fill video fields.
29449
0d90e8a6
VS
294502010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29451
29452 Video driver ids.
29453
29454 * include/grub/video.h (grub_video_driver_id): New type.
29455 (grub_video_adapter): New member 'id'. All users updated.
29456 (grub_video_get_driver_id): New proto.
29457 * video/video.c (grub_video_get_driver_id): New function.
29458
5c71db1b 294592010-01-14 Carles Pina i Estany <carles@pina.cat>
29460
29461 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
29462 `var=val'.
29463
cca15b52 294642010-01-14 Carles Pina i Estany <carles@pina.cat>
29465
29466 * normal/cmdline.c (print_completion): Gettextizze.
29467
c586fbb2 294682001-01-14 Carles Pina i Estany <carles@pina.cat>
29469
29470 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
29471
ba2f6848 294722010-01-14 Carles Pina i Estany <carles@pina.cat>
29473
29474 * gettext/gettext.c (grub_gettext_translate): Push and pop
29475 grub_errno.
29476 (grub_gettext_delete_list): Change comment style.
29477 * kern/err.c (grub_error): Gettextizze.
29478 (grub_fatal): Gettextizze.
29479
0a46429a
RM
294802010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29481
29482 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
29483 (grub_linux16_real_boot): ... this.
29484 * kern/i386/loader.S: Likewise.
29485 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
29486 (grub_linux16_boot): New function. Switches to text mode and calls
29487 grub_linux16_real_boot().
29488
29489 * loader/i386/bsd.c: Include `<grub/video.h>'.
29490 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
29491 text mode before calling grub_unix_real_boot().
29492
29493 * loader/i386/multiboot.c: Include `<grub/video.h>'.
29494 (grub_multiboot_boot): Switch to text mode before calling
29495 grub_relocator32_boot().
29496
29497 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
29498 (grub_chainloader_boot): Switch to text mode before calling
29499 grub_chainloader_real_boot().
29500
d6f93a66
RM
295012010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
295022010-01-05 Colin Watson <cjwatson@ubuntu.com>
29503
29504 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
29505 non-empty value.
29506
295072010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
295082010-01-05 Colin Watson <cjwatson@ubuntu.com>
29509
29510 * util/grub.d/00_header.in: Define a "savedefault" function for use
29511 in menu entries.
29512 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
29513
295142010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
295152010-01-05 Colin Watson <cjwatson@ubuntu.com>
29516
29517 * util/grub-mkconfig_lib.in (save_default_entry): Only set
29518 saved_entry if boot_once is unset.
29519 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
29520 previous saved entry (i.e. grub-reboot).
29521
295222009-12-08 Colin Watson <cjwatson@ubuntu.com>
29523
29524 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
29525
295262009-12-08 Colin Watson <cjwatson@ubuntu.com>
29527
29528 * util/grub.d/00_header.in: Use `set var=val' rather than plain
29529 `var=val'.
29530 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
29531
295322009-12-08 Colin Watson <cjwatson@ubuntu.com>
29533
29534 * util/grub-reboot.in: Fix --version output.
29535 * util/grub-set-default.in: Likewise.
29536
295372009-12-08 Colin Watson <cjwatson@ubuntu.com>
29538
29539 * util/grub.d/00_header.in: Silently ignore zero-sized environment
29540 blocks.
29541
295422009-12-08 Colin Watson <cjwatson@ubuntu.com>
29543
29544 * util/grub.d/00_header.in: Quote the value assigned to `default',
29545 in case it contains spaces.
29546
295472009-12-08 Colin Watson <cjwatson@ubuntu.com>
29548
29549 * util/grub.d/30_os-prober.in: Fix merge error that moved a
29550 `save_default_entry' call from the macosx case to the linux case.
29551
295522009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
295532009-10-25 Colin Watson <cjwatson@ubuntu.com>
29554
29555 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
29556 in `chosen' environment variable.
29557 * normal/menu_text.c (get_entry_number): Check if the variable
29558 matches the title of a menu entry.
29559 (run_menu): Pass menu to get_entry_number.
29560
29561 * util/grub-reboot.in: New file.
29562 * util/grub-set-default.in: New file.
29563 * conf/common.rmk (grub-reboot): New utility.
29564 (grub-set-default): New utility.
29565
29566 * util/grub-mkconfig_lib.in (save_default_entry): New function.
29567 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
29568 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
29569 move it to `saved_entry' for the next boot. Load environment on
29570 initialisation.
29571 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
29572 * util/grub.d/10_hurd.in: Likewise.
29573 * util/grub.d/10_linux.in (linux_entry): Likewise.
29574 * util/grub.d/10_windows.in: Likewise.
29575 * util/grub.d/30_os-prober.in: Likewise.
29576
29577 * util/grub-install.in: Create environment block.
29578 * util/i386/efi/grub-install.in: Likewise.
29579 * util/ieee1275/grub-install.in: Likewise.
29580 * util/sparc64/ieee1275/grub-install.in: Likewise.
29581
0934d184
BC
295822010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
29583
29584 Unit testing framework for GRUB.
29585
29586 * Makefile.in: Test framework build rules for 'make check'.
29587 * conf/tests.rmk: Build rules for individual tests and framework.
29588
29589 * include/grub/test.h: Header file for whitebox tests.
29590 * tests/lib/functional_test.c: Framework support for whitebox
29591 functional tests.
29592 * tests/lib/test.c: Common whitebox testing code for unit and
29593 functional tests.
29594 * tests/lib/unit_test.c: Framework support for whitebox unit
29595 tests.
29596
29597 * tests/util/grub-shell-tester.in: Support utility for grub-script
29598 tests.
29599 * tests/util/grub-shell.in: Utility to execute grub-script
29600 commands in a Qemu instance.
29601
29602 * tests/example_functional_test.c: Example whitebox functional
29603 test.
29604 * tests/example_grub_script_test.in: Example grub-script test.
29605 * tests/example_scripted_test.in: Example scripted test.
29606 * tests/example_unit_test.c: Example whitebox unit test.
29607
9c4ffeeb
VS
296082010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
29609
29610 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
29611 Add loader/i386/multiboot_mbi.c.
29612 (multiboot2_mod_SOURCES): Likewise.
29613 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
29614 (multiboot2_mod_SOURCES): Likewise.
29615 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
29616 (grub_multiboot_make_mbi): Likewise.
29617 (grub_multiboot_free_mbi): Likewise.
29618 (grub_multiboot_init_mbi): Likewise.
29619 (grub_multiboot_add_module): Likewise.
29620 (grub_multiboot_set_bootdev): Likewise.
29621 * loader/i386/multiboot.c (mbi): Removed.
29622 (mbi_dest): Likewise.
29623 (alloc_mbi): New variable.
29624 (grub_multiboot_payload_size): Removed. All users updated.
29625 (grub_multiboot_pure_size): New variable.
29626 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
29627 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
29628 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
29629 (grub_fill_multiboot_mmap): Likewise.
29630 (grub_multiboot_get_bootdev): Likewise.
29631 (grub_multiboot): Use multiboot_mbi functions.
29632 * loader/i386/multiboot_mbi.c: New file.
29633
17383dfe
VS
296342010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29635
29636 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
29637 it would result in module crash.
29638
c1f28820
VS
296392010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29640
29641 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
29642 (grub_ofconsole_getwh): Split to ...
29643 (grub_ofconsole_getwh): ... this.
29644 (grub_ofconsole_dimensions): ...and this.
29645 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
29646
58655a16
RM
296472010-01-13 Robert Millan <rmh.grub@aybabtu.com>
29648
29649 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
29650
10891398
VS
296512010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29652
29653 * loader/i386/pc/multiboot2.c: Removed stalled file.
29654
0b8a223c
VS
296552010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29656
29657 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
29658 Reported by: Grégoire Sutre
29659
92ab12b0
RM
296602010-01-11 Robert Millan <rmh.grub@aybabtu.com>
29661
29662 * util/misc.c (canonicalize_file_name): New function.
29663 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
29664 instead of realpath().
29665
a788afb6
CW
296662010-01-11 Colin Watson <cjwatson@ubuntu.com>
29667
29668 * util/grub-install.in (usage): Clarify meaning of --root-directory,
29669 and make it clearer that it's optional. Based on confusion
29670 witnessed on IRC.
29671
ffa8e3d2
VS
296722010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29673
29674 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
29675 in premature implicit newline.
29676
e9060a9d
VS
296772010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29678
29679 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
29680 which resulted in garbled command line at the end of screen.
29681
f0d0c0b7
RM
296822010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29683
29684 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
29685 initialization with similar approach as with other Linux loaders.
29686
0e60bae7
RM
296872010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29688
29689 Fix i386-ieee1275 build.
29690
29691 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
29692 and grub_term_height() for video_{width,height} initialization.
29693
296942010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
29695
29696 Fix grub-emu build.
29697
29698 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
29699
cdb3f378
RM
297002010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
297012010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29702
29703 Support for multiple terminals.
29704
29705 * Makefile.in (pkglib_DATA): terminal.lst.
29706 (terminal.lst): New target.
29707 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
29708 (GRUB_MOD_INIT(handler)): Likewise.
29709 (GRUB_MOD_FINI(handler)): Likewise.
29710 * commands/help.c (grub_cmd_help): Handle multiple terminals.
29711 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
29712 * commands/sleep.c (do_print): Use grub_term_restore_pos.
29713 (grub_cmd_sleep): Use grub_term_save_pos.
29714 * commands/terminal.c: New file.
29715 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
29716 commands/terminal.c and lib/charset.c.
29717 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
29718 (pkglib_MODULES): Add terminal.mod.
29719 (terminal_mod_SOURCES): New variable.
29720 (terminal_mod_CFLAGS): Likewise.
29721 (terminal_mod_LDFLAGS): Likewise.
29722 * genhandlerlist.sh: Don't handle terminals.
29723 * genmk.rb: Generate terminal-*.lst.
29724 * genterminallist.sh: New file.
29725 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
29726 (grub_is_valid_utf8): Likewise.
29727 (grub_utf8_to_ucs4_alloc): Likewise.
29728 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
29729 (grub_menu_register_viewer): Changed argument.
29730 (grub_menu_try_text): New proto.
29731 (grub_gfxmenu_try_hook): New declaration.
29732 * include/grub/normal.h (grub_normal_exit_level): New declaration.
29733 (grub_menu_init_page): Additional argument term.
29734 (grub_normal_init_page): Likewise.
29735 (grub_cmdline_get): Arguments simplified.
29736 (grub_utf8_to_ucs4_alloc): Removed.
29737 (grub_print_ucs4): Additional argument term.
29738 (grub_getstringwidth): Likewise.
29739 (grub_print_message_indented): Likewise.
29740 (grub_menu_text_register_instances): New proto.
29741 (grub_show_menu): Likewise.
29742 (read_terminal_list): Likewise.
29743 (grub_set_more): Likewise.
29744 * include/grub/parser.h: Include handler.h.
29745 * include/grub/reader.h: Rewritten.
29746 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
29747 (GRUB_TERM_WIDTH): Changed to function.
29748 (GRUB_TERM_HEIGHT): Likewise.
29749 (GRUB_TERM_BORDER_WIDTH): Likewise.
29750 (GRUB_TERM_BORDER_HEIGHT): Likewise.
29751 (GRUB_TERM_NUM_ENTRIES): Likewise.
29752 (GRUB_TERM_ENTRY_WIDTH): Likewise.
29753 (GRUB_TERM_CURSOR_X): Likewise.
29754 (grub_term_input_class): Likewise.
29755 (grub_term_output_class): Likewise.
29756 (grub_term_outputs_disabled): New declaration.
29757 (grub_term_inputs_disabled): Likewise.
29758 (grub_term_outputs): Likewise.
29759 (grub_term_inputs): Likewise.
29760 (grub_term_register_input): Rewritten.
29761 (grub_term_register_output): Likewise.
29762 (grub_term_unregister_input): Likewise.
29763 (grub_term_unregister_output): Likewise.
29764 (FOR_ACTIVE_TERM_INPUTS): New macro.
29765 (FOR_DISABLED_TERM_INPUTS): Likewise.
29766 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
29767 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
29768 * include/grub/terminfo.h: Add oterm argument to all protypes.
29769 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
29770 Use grub_rescue_run.
29771 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
29772 All users updated.
29773 * kern/reader.c: Removed. All users updated.
29774 * kern/rescue_reader.c (grub_rescue_init): Removed.
29775 (grub_rescue_reader): Likewise.
29776 (grub_register_rescue_reader): Likewise.
29777 (grub_rescue_run): New function based on kern/reader.c.
29778 * kern/term.c: Adapted for multiterm.
29779 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
29780 (grub_is_valid_utf8): Likewise.
29781 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
29782 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
29783 right terminal.
29784 * loader/i386/linux.c (grub_linux_boot): Likewise.
29785 * normal/auth.c (grub_username_get): New function.
29786 (grub_auth_check_authentication): Use grub_username_get.
29787 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
29788 * normal/color.c: Adapt for multiterm.
29789 * normal/main.c (read_config_file): Don't use grub_reader_loop.
29790 (grub_normal_init_page): Additional argument term.
29791 (read_lists): Call read_terminal_lists.
29792 (grub_enter_normal_mode): Call grub_cmdline_run.
29793 Handle grub_normal_exit_level.
29794 (grub_cmd_normal): Make reentrant.
29795 (grub_cmd_normal_exit): New function.
29796 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
29797 * normal/menu.c: Adapt for multiterm.
29798 * normal/menu_entry.c: Likewise.
29799 * normal/menu_text.c: Likewise.
29800 * normal/menu_viewer.c: Removed. All users updated.
29801 * normal/term.c: New file.
29802 * util/console.c: Change order of includes to workaround a bug in
29803 ncurses headers.
29804 * term/terminfo.c: New argument oterm on all exported functions.
29805 All users updated.
29806 * util/grub-editenv.c (grub_term_input_class): Removed.
29807 (grub_term_output_class): Likewise.
29808
1a064917
RM
298092010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29810
29811 Make loader output a bit more user-friendly.
29812
29813 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
29814 is being loaded. Likewise for the Hurd.
29815
29816 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
29817 that kernel of FreeBSD ${version} is being loaded.
29818
29819 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
29820 grub_dprintf().
29821 (grub_cmd_initrd): Likewise.
29822 * util/grub.d/10_linux.in (linux_entry): Print message indicating
29823 that Linux ${version} is being loaded. Likewise for initrd.
29824
5ce0a83a 298252010-01-09 Carles Pina i Estany <carles@pina.cat>
29826
29827 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
29828
809bbfeb 298292010-01-08 Carles Pina i Estany <carles@pina.cat>
29830
29831 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
29832 (GRUB_MOD_INIT): Gettextizze.
29833 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
29834 (GRUB_MOD_INIT): Gettextizze.
29835 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
29836 (grub_cmd_linux): Capitalise Linux.
29837 (GRUB_MOD_INIT): Gettextizze.
29838 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
29839 (grub_cmd_linux): Capitalise Linux.
29840 (GRUB_MOD_INIT): Gettextizze.
29841 * loader/i386/linux.c: Include `<grub/i18n.h>'.
29842 (grub_cmd_linux): Capitalise Linux.
29843 (GRUB_MOD_INIT): Gettextizze.
29844 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
29845 (GRUB_MOD_INIT): Gettextizze.
29846 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
29847 (grub_cmd_linux): Capitalise Linux.
29848 (GRUB_MOD_INIT): Gettextizze.
29849 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
29850 (grub_cpu_xnu_init): Gettextizze.
29851 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
29852 (GRUB_MOD_INIT): Gettextizze.
29853 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
29854 (GRUB_MOD_INIT): Gettextizze.
29855 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
29856 (grub_linux_load64): Capitalise Linux.
29857 (GRUB_MOD_INIT): Gettextizze.
29858 * loader/xnu.c: Include `<grub/i18n.h>'.
29859 (GRUB_MOD_INIT): Gettextizze.
29860 * po/POTFILES: Add `loader/efi/appleloader.c',
29861 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
29862 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
29863 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
29864 `loader/i386/xnu.c', `loader/multiboot_loader.c',
29865 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
29866 and `loader/xnu.c'.
29867
b394b2ca
RM
298682010-01-08 Robert Millan <rmh.grub@aybabtu.com>
29869
29870 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
29871
298722010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
29873
29874 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
29875 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
29876 * util/mkisofs/mkisofs.c (main): Readjust --version output.
29877
bc8b32b3
RM
298782010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29879
29880 Reset Multiboot 2 support. New loader implements the draft in
29881 /branches/multiboot2 and shares as much code as possible with the
29882 production Multiboot 1 implementation.
29883
29884 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
29885 * loader/multiboot2.c: Likewise.
29886 * loader/i386/multiboot_helper.S: Likewise.
29887 * include/multiboot2.h: Replace with latest version from the draft
29888 in /branches/multiboot2.
29889
29890 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
29891 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
29892 and `loader/multiboot2.c'.
29893 (pkglib_MODULES): Add `multiboot2.mod'.
29894 (multiboot2_mod_SOURCES): New variable.
29895 (multiboot2_mod_LDFLAGS): Likewise.
29896 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
29897
29898 * conf/i386-pc.rmk: Likewise.
29899
29900 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
29901 (multiboot_mod_SOURCES): Remove variable.
29902 (multiboot_mod_LDFLAGS): Likewise.
29903 (multiboot_mod_CFLAGS): Likewise.
29904
29905 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
29906 `<multiboot2.h>' instead of `<multiboot.h>'.
29907 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
29908 (MULTIBOOT_HEADER_MAGIC): New macros.
29909
29910 * loader/multiboot_loader.c (module_version_status): Remove variable.
29911 (find_multi_boot2_header): Remove function.
29912 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
29913 logic. Always check for the Multiboot version we're compiling for.
29914 (grub_cmd_module_loader): Likewise.
29915 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
29916 command instead of `multiboot'.
29917
5d2c52b8
RM
299182010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29919
29920 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
29921 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
29922 all users.
29923
53108d92
RM
299242010-01-07 Robert Millan <rmh.grub@aybabtu.com>
299252010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
29926
29927 Fix breakage introduced with previous commit.
29928
29929 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
29930 commands.
29931 * normal/handler.c (read_handler_list): Revert part of previous commit
29932 affecting this file.
29933 * normal/main.c (read_lists): Move read_handler_list() call back to ...
29934 (grub_normal_execute): ... here.
29935
e2e936b2
RM
299362010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29937
29938 Merge prefix-redefinition-fix branch.
29939
29940 * normal/autofs.c (read_fs_list): Make function capable of being
29941 run multiple times, gracefuly replacing the previous data
29942 structures.
29943 * normal/dyncmd.c (read_command_list): Likewise.
29944 * normal/handler.c (read_handler_list): Likewise.
29945 * normal/main.c (read_lists): New function. Calls all the
29946 list reading functions.
29947 (grub_normal_execute): Use read_lists() instead of calling all
29948 list reading functions explicitly. Register read_lists() as a
29949 variable hook attached to ${prefix}.
29950
607a3701
VS
299512010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
29952
29953 Merge crypto branch.
29954
29955 * Makefile.in (pkglib_DATA): Add crypto.lst.
29956 (crypto.lst): New target.
29957 * commands/hashsum.c: New file.
29958 * commands/password.c (check_password): Use grub_crypto_memcmp.
29959 * commands/password_pbkdf2.c: New file.
29960 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
29961 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
29962 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
29963 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
29964 -I$(srcdir)/lib/libgcrypt_wrap.
29965 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
29966 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
29967 password_pbkdf2.mod.
29968 (crypto_mod_SOURCES): New variable.
29969 (crypto_mod_CFLAGS): Likewise.
29970 (crypto_mod_LDFLAGS): Likewise.
29971 (hashsum_mod_SOURCES): New variable.
29972 (hashsum_mod_CFLAGS): Likewise.
29973 (hashsum_mod_LDFLAGS): Likewise.
29974 (pbkdf2_mod_SOURCES): New variable.
29975 (pbkdf2_mod_CFLAGS): Likewise.
29976 (pbkdf2_mod_LDFLAGS): Likewise.
29977 (password_pbkdf2_mod_SOURCES): New variable.
29978 (password_pbkdf2_mod_CFLAGS): Likewise.
29979 (password_pbkdf2_mod_LDFLAGS): Likewise.
29980 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
29981 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
29982 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
29983 Include conf/gcry.rmk.
29984 * include/grub/auth.h: Rewritten.
29985 * include/grub/crypto.h: New file.
29986 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
29987 * include/grub/normal.h (read_crypto_list): New prototype.
29988 * lib/crypto.c: New file.
29989 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
29990 * lib/pbkdf2.c: Likewise.
29991 * normal/auth.c (grub_auth_strcmp): Removed.
29992 (grub_iswordseparator): Likewise.
29993 (grub_auth_strword): Likewise.
29994 (is_authenticated): Use grub_strword.
29995 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
29996 and grub_strword. Pass entered password to authentication callback.
29997 * normal/crypto.c: New file.
29998 * normal/main.c: Call read_crypto_list.
29999 * util/grub-mkpasswd-pbkdf2.c: New file.
30000 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
30001
42841caa
VS
300022010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
30003
30004 Fix descent and ascent calculation.
30005
30006 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
30007 (options): New option "asce".
30008 (usage): Likewise.
30009 (add_char): Ignore invalid glyphs for descent calculation.
30010 Calculate ascent from actual content.
30011 (print_glyphs): Use 'asce'.
30012 (write_font): Likewise. Allow ascent override.
30013 (main): Handle "asce" option.
30014
e7730de7 300152010-01-06 Carles Pina i Estany <carles@pina.cat>
30016
30017 * kern/err.c: Include `<grub/i18n.h>'.
30018 (grub_print_error): Add full stop. Gettextizze.
30019 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
30020 (grub_bsd_load_elf): Capitalise ELF.
30021 (grub_cmd_freebsd_loadenv): Add `s' in error string.
30022 (grub_cmd_freebsd_module): Likewise.
30023 (grub_cmd_freebsd_module_elf): Likewise.
30024 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
30025
40e3a41f 300262010-01-06 Carles Pina i Estany <carles@pina.cat>
30027
30028 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
30029 * commands/search_file.c (HELP_MESSAGE): New macro.
30030 * commands/search_label.c (HELP_MESSAGE): Likewise.
30031 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
30032 * po/POTFILES: Add `commands/search_file.c',
30033 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
30034 `commands/search.c'.
30035
83507e68
RM
300362010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30037
30038 * config.rpath: Update from Gnulib.
30039
465c787b
YB
300402010-01-05 Yves Blusseau <blusseau@zetam.org>
30041
30042 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
30043
6581dd3a
YB
300442010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
30045
30046 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
30047
3bff18c5
CW
300482010-01-05 Colin Watson <cjwatson@ubuntu.com>
30049
30050 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
30051 arguments to fread so that we get a return value in bytes, rather
30052 than something that will normally be rounded down to 0.
30053 Adjust error handling to avoid producing garbage when size_t is not
30054 the same size as long long.
30055
a1368118
CW
300562010-01-05 Colin Watson <cjwatson@ubuntu.com>
30057
30058 * util/mkisofs/write.c (padblock_write): Check return value of
30059 fread.
30060
7c302978
RM
300612010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30062
30063 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
30064 floppy images now.
30065
30066 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
30067
e33ace06
RM
300682010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30069
30070 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
30071 instead of manual alignment.
30072 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
30073 verbose). Avoid attempts to read past end of the device
30074 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
30075 but GRUB_DISK_CACHE_SIZE may exceed that).
30076
4b856776
RM
300772010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30078
30079 * commands/crc.c (grub_cmd_crc): Abort on read errors.
30080 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
30081 it to upper layer.
30082
52c2d97f
VS
300832010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30084
30085 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
30086 New constant.
30087 (grub_efi_piwg_device_path): New structure
30088 (grub_efi_piwg_device_path_t): New type.
30089 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
30090 (devpath_1): Transform to a structure. All users updated.
30091 (devpath_2): Likewise.
30092 (devpath_3): Likewise.
30093 (devpath_4): Likewise.
30094 (devpath_5): Likewise.
30095
98ff6a54
VS
300962010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30097
30098 * loader/efi/appleloader.c: Restored. Update all users.
30099
3a73dcb6
RM
301002010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30101
30102 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
30103
30104 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
30105 (struct boot_blocklist): Move from here ...
30106 * include/grub/i386/pc/boot.h [ASM_FILE]
30107 (struct grub_boot_blocklist): ... to here. Update all users.
30108 (setup): Only initialize `start' member of `first_block'
30109 structure. Add assert() calls to verify the other members.
30110
30111 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
30112 (generate_image): Fix broken blocklist length initialization.
30113 Add assert() call to verify blocklist `segment' field.
30114
ab0eeb0c
RM
301152010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30116
30117 * loader/efi/appleloader.c: Remove. Update all users.
30118
58bc8bd5
RM
301192010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30120
30121 * boot/i386/pc/boot.S: Update copyright year.
30122 * boot/i386/pc/cdboot.S: Likewise.
30123 * boot/i386/pc/diskboot.S: Likewise.
30124 * boot/i386/pc/lnxboot.S: Likewise.
30125 * boot/i386/pc/pxeboot.S: Likewise.
30126 * bus/pci.c: Likewise.
30127 * commands/cmp.c: Likewise.
30128 * commands/help.c: Likewise.
30129 * commands/hexdump.c: Likewise.
30130 * commands/i386/pc/halt.c: Likewise.
30131 * commands/i386/pc/play.c: Likewise.
30132 * commands/i386/pc/vbeinfo.c: Likewise.
30133 * commands/ls.c: Likewise.
30134 * commands/test.c: Likewise.
30135 * disk/dmraid_nvidia.c: Likewise.
30136 * disk/i386/pc/biosdisk.c: Likewise.
30137 * disk/ieee1275/nand.c: Likewise.
30138 * disk/ieee1275/ofdisk.c: Likewise.
30139 * disk/lvm.c: Likewise.
30140 * disk/raid.c: Likewise.
30141 * disk/raid6_recover.c: Likewise.
30142 * disk/scsi.c: Likewise.
30143 * fs/affs.c: Likewise.
30144 * fs/cpio.c: Likewise.
30145 * fs/ext2.c: Likewise.
30146 * fs/hfs.c: Likewise.
30147 * fs/iso9660.c: Likewise.
30148 * fs/ntfs.c: Likewise.
30149 * fs/sfs.c: Likewise.
30150 * fs/udf.c: Likewise.
30151 * fs/ufs.c: Likewise.
30152 * fs/xfs.c: Likewise.
30153 * gencmdlist.sh: Likewise.
30154 * genmk.rb: Likewise.
30155 * include/grub/disk.h: Likewise.
30156 * include/grub/efi/api.h: Likewise.
30157 * include/grub/efi/efi.h: Likewise.
30158 * include/grub/efi/pe32.h: Likewise.
30159 * include/grub/elf.h: Likewise.
30160 * include/grub/fs.h: Likewise.
30161 * include/grub/i386/at_keyboard.h: Likewise.
30162 * include/grub/i386/pc/memory.h: Likewise.
30163 * include/grub/i386/pc/vbe.h: Likewise.
30164 * include/grub/i386/pci.h: Likewise.
30165 * include/grub/i386/tsc.h: Likewise.
30166 * include/grub/ieee1275/ieee1275.h: Likewise.
30167 * include/grub/ntfs.h: Likewise.
30168 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30169 * include/grub/sparc64/libgcc.h: Likewise.
30170 * include/grub/symbol.h: Likewise.
30171 * include/grub/types.h: Likewise.
30172 * include/multiboot2.h: Likewise.
30173 * io/gzio.c: Likewise.
30174 * kern/device.c: Likewise.
30175 * kern/disk.c: Likewise.
30176 * kern/efi/efi.c: Likewise.
30177 * kern/efi/mm.c: Likewise.
30178 * kern/elf.c: Likewise.
30179 * kern/file.c: Likewise.
30180 * kern/i386/dl.c: Likewise.
30181 * kern/i386/pc/init.c: Likewise.
30182 * kern/i386/pc/startup.S: Likewise.
30183 * kern/ieee1275/ieee1275.c: Likewise.
30184 * kern/ieee1275/init.c: Likewise.
30185 * kern/main.c: Likewise.
30186 * kern/mm.c: Likewise.
30187 * kern/powerpc/dl.c: Likewise.
30188 * kern/sparc64/dl.c: Likewise.
30189 * kern/x86_64/dl.c: Likewise.
30190 * lib/hexdump.c: Likewise.
30191 * loader/efi/appleloader.c: Likewise.
30192 * loader/i386/ieee1275/linux.c: Likewise.
30193 * loader/i386/pc/chainloader.c: Likewise.
30194 * loader/i386/pc/linux.c: Likewise.
30195 * loader/i386/pc/multiboot2.c: Likewise.
30196 * loader/ieee1275/multiboot2.c: Likewise.
30197 * loader/multiboot2.c: Likewise.
30198 * loader/multiboot_loader.c: Likewise.
30199 * loader/powerpc/ieee1275/linux.c: Likewise.
30200 * normal/completion.c: Likewise.
30201 * normal/menu_entry.c: Likewise.
30202 * partmap/apple.c: Likewise.
30203 * util/grub.d/10_hurd.in: Likewise.
30204 * util/hostfs.c: Likewise.
30205 * video/readers/png.c: Likewise.
30206
e2d70b5c
CW
302072010-01-03 Colin Watson <cjwatson@ubuntu.com>
30208
30209 * include/grub/misc.h (GNUC_PREREQ): New macro.
30210 (ATTRIBUTE_ERROR): New macro.
30211 * include/grub/list.h (grub_bad_type_cast_real): Use
30212 ATTRIBUTE_ERROR.
30213
a173283f 302142010-01-03 Carles Pina i Estany <carles@pina.cat>
30215
30216 * normal/menu_text.c (print_message): Change messages.
30217
7fa7ff74 302182010-01-03 Carles Pina i Estany <carles@pina.cat>
30219
30220 * normal/menu_entry.c (store_completion): Gettextizze.
30221
136d24f6 302222010-01-03 Carles Pina i Estany <carles@pina.cat>
30223
30224 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
30225
f936862e 302262010-01-03 Carles Pina i Estany <carles@pina.cat>
30227
30228 * po/POTFILES: Sort correctly.
30229
29c44ad1 302302010-01-03 Carles Pina i Estany <carles@pina.cat>
30231
30232 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
30233 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
30234 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
30235 full stop.
30236 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
30237 summary. Gettextizze the strings.
30238 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
30239 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
30240 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
30241 full stop.
30242 (GRUB_MOD_INIT): Remove command name from summary.
30243 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
30244 summary.
30245 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
30246 * term/i386/pc/serial.c (options): Add full stops.
30247 (GRUB_MOD_INIT): Remove command name from the summary.
30248
77a79592 302492010-01-03 Carles Pina i Estany <carles@pina.cat>
30250
30251 * commands/acpi.c: Gettextizze help strings and/or options. Include
30252 `grub/i18n.h' if needed.
30253 * commands/blocklist.c: Likewise.
30254 * commands/boot.c: Likewise.
30255 * commands/cat.c: Likewise.
30256 * commands/cmp.c: Likewise.
30257 * commands/configfile.c: Likewise.
30258 * commands/crc.c: Likewise.
30259 * commands/date.c: Likewise.
30260 * commands/echo.c: Likewise.
30261 * commands/efi/fixvideo.c: Likewise.
30262 * commands/efi/loadbios.c: Likewise.
30263 * commands/gptsync.c: Likewise.
30264 * commands/halt.c: Likewise.
30265 * commands/handler.c: Likewise.
30266 * commands/hdparm.c: Likewise.
30267 * commands/hexdump.c: Likewise.
30268 * commands/i386/cpuid.c: Likewise.
30269 * commands/i386/pc/drivemap.c: Likewise.
30270 * commands/i386/pc/halt.c: Likewise.
30271 * commands/i386/pc/pxecmd.c: Likewise.
30272 * commands/i386/pc/vbeinfo.c: Likewise.
30273 * commands/i386/pc/vbetest.c: Likewise.
30274 * commands/ieee1275/suspend.c: Likewise.
30275 * commands/keystatus.c: Likewise.
30276 * commands/loadenv.c: Likewise.
30277 * commands/ls.c: Likewise.
30278 * commands/lsmmap.c: Likewise.
30279 * commands/lspci.c: Likewise.
30280 * commands/memrw.c: Likewise.
30281 * commands/minicmd.c: Likewise.
30282 * commands/parttool.c: Likewise.
30283 * commands/password.c: Likewise.
30284 * commands/probe.c: Likewise.
30285 * commands/read.c: Likewise.
30286 * commands/reboot.c: Likewise.
30287 * commands/search.c: Likewise.
30288 * commands/sleep.c: Likewise.
30289 * commands/test.c: Likewise.
30290 * commands/true.c: Likewise.
30291 * commands/usbtest.c: Likewise.
30292 * commands/videotest.c: Likewise.
30293 * commands/xnu_uuid.c: Likewise.
30294 * disk/loopback.c: Likewise.
30295 * hello/hello.c: Likewise.
30296 * loader/i386/bsd.c: Likewise.
30297 * term/i386/pc/serial.c: Likewise.
30298 * po/POTFILES: Add new files.
30299
da8d5c53
CW
303002010-01-02 Colin Watson <cjwatson@ubuntu.com>
30301
30302 * term/i386/pc/at_keyboard.c
30303 (keyboard_controller_wait_untill_ready): Rename to ...
30304 (keyboard_controller_wait_until_ready): ... this. Update all users.
30305
33937904 303062010-01-01 Carles Pina i Estany <carles@pina.cat>
30307
30308 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
30309 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
30310 string using string width.
30311 * normal/menu_text.c (grub_print_message_indented): Use
30312 grub_print_spaces and not print_spaces.
30313 (print_timeout): Likewise.
30314 (print_spaces): Move to...
30315 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
30316
3fd3b8d8
RM
303172010-01-01 Robert Millan <rmh.grub@aybabtu.com>
30318
30319 Import from Gnulib.
30320
30321 * gnulib/getdelim.c: New file.
30322 * gnulib/getline.c: Likewise.
30323
33433555
VS
303242009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
30325
30326 * include/grub/list.h (grub_assert_fail): Removed.
30327 (grub_bad_type_cast_real): New function.
30328 (grub_bad_type_cast): New macro.
30329 (GRUB_AS_LIST): Use grub_bad_type_cast.
30330 (GRUB_AS_LIST_P): Likewise.
e44721e8 30331 (GRUB_AS_NAMED_LIST): Likewise.
33433555 30332 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 30333 (GRUB_AS_PRIO_LIST): Likewise.
33433555 30334 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 30335 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 30336
f5a51306
VS
303372009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
30338
30339 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
30340 Fix syntax error.
30341
90d1e879
RM
303422009-12-29 Robert Millan <rmh.grub@aybabtu.com>
30343
30344 * configure.ac: Check for TARGET_CFLAGS initialization before we
30345 initialize it ourselves (sigh).
30346 Move a few modifications to TARGET_CFLAGS to be unconditional
30347 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
30348 eh_frame)
30349
30350 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
30351 * term/i386/pc/at_keyboard.c
30352 (keyboard_controller_wait_untill_ready): Likewise.
30353 (keyboard_controller_led): Rename `led_status' paramter to avoid
30354 name conflict.
30355
465b5a81 303562009-12-28 Carles Pina i Estany <carles@pina.cat>
30357
30358 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
30359 quotes.
30360
c181849b
VS
303612009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30362
30363 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
30364
9c8739a4
VS
303652009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30366
30367 * normal/menu_text.c (grub_print_message_indented): Prevent
30368 past-the-end-of-array dereference.
30369
3e74249c
VS
303702009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30371
30372 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
30373 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
30374
64fd18ed 303752009-12-27 Carles Pina i Estany <carles@pina.cat>
30376
30377 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
30378 * normal/main.c (grub_normal_read_line): Remove a space from the
30379 default prompt.
30380
714af9b9 303812009-12-27 Carles Pina i Estany <carles@pina.cat>
30382
30383 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
30384 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30385 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30386 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30387 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30388 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30389 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30390
82f3e412 303912009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 30392
30393 * video/readers/jpeg.c (cmd): Declare.
30394 (grub_cmd_jpegtest): Use `grub_command_t' type.
30395 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30396 Assign to `cmd'.
30397 (GRUB_MOD_FINI): Use `cmd' to unregister.
30398 * video/readers/png.c (cmd): Declare.
30399 (grub_cmd_pngtest): Use `grub_command_t' type.
30400 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30401 Assign to `cmd'.
30402 (GRUB_MOD_FINI): Use `cmd' to unregister.
30403 * video/readers/tga.c (cmd): Declare.
30404 (grub_cmd_tgatest): Use `grub_command_t' type.
30405 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30406 Assign to `cmd'.
30407 (GRUB_MOD_FINI): Use `cmd' to unregister.
30408
82f3e412 304092009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 30410
30411 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
30412 stops.
30413 * kern/corecmd.c (grub_register_core_commands): Likewise.
30414 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
30415 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30416 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
30417 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30418 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30419 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
30420 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30421 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
30422 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30423 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30424 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30425 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30426 * normal/handler.c (insert_handler): Likewise.
30427 * normal/main.c (GRUB_MOD_INIT): Likewise.
30428 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
30429
fdcdbb66 304302009-12-26 Carles Pina i Estany <carles@pina.cat>
30431
30432 * commands/help.c (grub_cmd_help): Print the command name before the
30433 summary.
30434 (GRUB_MOD_INIT): Remove command name from the summary.
30435 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 30436 string as summary.
fdcdbb66 30437 * lib/arg.c (find_long): Print the command name before the summary.
30438 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
30439 summary.
30440 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
30441 * commands/cat.c (GRUB_MOD_INIT): Likewise.
30442 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
30443 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30444 * commands/crc.c (GRUB_MOD_INIT): Likewise.
30445 * commands/date.c (GRUB_MOD_INIT): Likewise.
30446 * commands/echo.c (GRUB_MOD_INIT): Likewise.
30447 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
30448 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30449 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30450 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
30451 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
30452 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
30453 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
30454 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30455 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
30456 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
30457 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
30458 * commands/ls.c (GRUB_MOD_INIT): Likewise.
30459 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30460 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30461 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30462 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
30463 * commands/password.c (GRUB_MOD_INIT): Likewise.
30464 * commands/probe.c (GRUB_MOD_INIT): Likewise.
30465 * commands/read.c (GRUB_MOD_INIT): Likewise.
30466 * commands/search.c (GRUB_MOD_INIT): Likewise.
30467 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
30468 * commands/test.c (GRUB_MOD_INIT): Likewise.
30469 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
30470 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
30471 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
30472 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
30473 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
30474 * lib/arg.c (GRUB_MOD_INIT): Likewise.
30475 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
30476 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30477 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30478 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30479 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
30480 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
30481 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
30482 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
30483
9c288be2
VS
304842009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30485
30486 Use search command for preliminar UUID search.
30487
30488 * commands/search.c: Split into ...
30489 * commands/search_wrap.c: ...this
30490 * commands/search.c: ...and this.
30491 * commands/search_file.c: New file.
30492 * commands/search_label.c: New file.
30493 * commands/search_uuid.c: New file.
30494 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
30495 Add commands/search_wrap.c, commands/search_file.c,
30496 commands/search_label.c and commands/search_uuid.c.
30497 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
30498 (search_mod_SOURCES): Set to commands/search_wrap.c.
30499 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
30500 search_label.mod.
30501 (search_fs_file_mod_SOURCES): New variable.
30502 (search_fs_file_mod_CFLAGS): Likewise.
30503 (search_fs_file_mod_LDFLAGS): Likewise.
30504 (search_label_mod_SOURCES): Likewise.
30505 (search_label_mod_CFLAGS): Likewise.
30506 (search_label_mod_LDFLAGS): Likewise.
30507 (search_fs_uuid_mod_SOURCES): New variable.
30508 (search_fs_uuid_mod_CFLAGS): Likewise.
30509 (search_fs_uuid_mod_LDFLAGS): Likewise.
30510 (fs_file_mod_SOURCES): Removed.
30511 (fs_file_mod_CFLAGS): Likewise.
30512 (fs_file_mod_LDFLAGS): Likewise.
30513 (fs_uuid_mod_SOURCES): Removed.
30514 (fs_uuid_mod_CFLAGS): Likewise.
30515 (fs_uuid_mod_LDFLAGS): Likewise.
30516 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
30517 Set to util/grub-install.in.
30518 * disk/fs_file.c: Removed.
30519 * disk/fs_uuid.c: Likewise.
30520 * include/grub/search.h: New file.
30521 * util/grub-install.in: Handle sparc64.
30522 Create and use load.cfg.
30523 * util/sparc64/ieee1275/grub-install.in: Removed.
30524
db943399
VS
305252009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30526
30527 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
30528 Ignore return status if CF is cleared.
30529 (grub_biosdisk_get_diskinfo_standard): Likewise.
30530
3fdae612
RM
305312009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30532
30533 * term/i386/pc/at_keyboard.c
30534 (keyboard_controller_wait_untill_ready): New function.
30535 (grub_keyboard_controller_write, grub_keyboard_controller_read)
30536 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
30537 for keyboard polling, rather than duplicate the same loop. This
30538 saves a few bytes in code size.
30539
7ebaa2b4
VS
305402009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30541
30542 Support for (pxe[:server[:gateway]]) syntax and
30543 use environment variable for PXE.
30544
30545 * commands/i386/pc/pxecmd.c (options): Removed.
30546 (print_ip): Removed.
30547 (grub_cmd_pxe): Removed
30548 (grub_cmd_pxe_unload): New function.
30549 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
30550 (grub_pxe_your_ip): Made static.
30551 (grub_pxe_default_server_ip): Likewise.
30552 (grub_pxe_default_gateway_ip): Likewise.
30553 (grub_pxe_blksize): Likewise.
30554 (parse_ip): New function.
30555 (grub_pxe_open): Support server and gateway specification.
30556 (grub_pxe_close): Free disk->data.
30557 (grub_pxefs_open): Use disk->data.
30558 (grub_pxefs_read): Likewise.
30559 (grub_env_write_readonly): New function.
30560 (set_mac_env): Likewise.
30561 (set_env_limn_ro): Likewise.
30562 (parse_dhcp_vendor): Likewise.
30563 (grub_pxe_detect): Set the environment variables.
30564 (set_ip_env): New function.
30565 (write_ip_env): Likewise.
30566 (grub_env_write_pxe_default_server): Likewise.
30567 (grub_env_write_pxe_default_gateway): Likewise.
30568 (grub_env_write_pxe_blocksize): Likewise.
30569 (GRUB_MOD_INIT(pxe)): Set environment variables.
30570 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
30571 (grub_pxe_mac_addr_t): ... this. All users updated.
30572 (grub_pxe_your_ip): Removed.
30573 (grub_pxe_server_ip): Likewise.
30574 (grub_pxe_gateway_ip): Likewise.
30575 (grub_pxe_blksize): Likewise.
30576
ec5f98ab 305772009-12-25 Carles Pina i Estany <carles@pina.cat>
30578
30579 * commands/help.c: Include `<grub/i18n.h>'.
30580 (grub_cmd_help): Gettextizze.
30581 (GRUB_MOD_INIT): Likewise.
30582 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
30583 (GRUB_MOD_INIT): Gettextizze.
30584 * commands/search.c: Include `<grub/i18n.h>'.
30585 (options): Gettextizze.
30586 (GRUB_MOD_INIT): Gettextizze.
30587 * lib/arg.c: Include `<grub/i18n.h>'.
30588 (help_options): Gettextizze.
30589 (find_long): Likewise.
30590 (grub_arg_show_help): Likewise.
30591 * normal/dyncmd.c: Include `<grub/i18n.h>'.
30592 (read_command_list): Gettextizze.
30593 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 30594 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 30595
22815526
RM
305962009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30597
30598 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
30599 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
30600 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
30601 (led_status): New variable.
30602 (keyboard_controller_led): New function.
30603 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
30604 update led status for caps lock, num lock and scroll lock.
30605
0ad46fd7
FZ
306062009-12-25 Felix Zielcke <fzielcke@z-51.de>
30607
30608 * util/hostdisk.c (open_device): Fix a comment.
30609
d0e158c2
RM
306102009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30611
30612 * util/grub-install.in (host_os): New variable.
30613 * util/i386/efi/grub-install.in (host_os): Likewise.
30614
401c0ad6
RM
306152009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30616
30617 * util/mkisofs/write.c (padblock_write): Abort when given an
30618 excedingly large embed image, instead of silently truncating it.
30619
d14d3370
RM
306202009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30621
30622 * include/multiboot.h: Indentation fixes.
30623
eeed10b4
RM
306242009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30625
30626 * include/multiboot.h (struct multiboot_aout_symbol_table)
30627 (struct multiboot_elf_section_header_table): New structure
30628 declarations (stolen from GRUB Legacy).
30629 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
30630 table information.
30631
30632 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
30633 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
30634 type aliases.
30635
681c70ab
RM
306362009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30637
30638 * include/multiboot.h: Make comments src2texi-friendly.
30639
e4d47d8d
RM
306402009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30641
30642 For consistency with [multiboot]/docs/boot.S.
30643
30644 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
30645 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
30646 (MULTIBOOT_MAGIC2): Rename from this ...
30647 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
30648
a0b70bda
RM
306492009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30650
30651 * include/multiboot.h: Remove `<grub/types.h>'.
30652 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
30653 types. Update all users.
30654
61ba42be 306552009-12-25 Carles Pina i Estany <carles@pina.cat>
30656
30657 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
30658 `couldn't' and `can not' by `cannot'.
30659 * commands/i386/pc/drivemap.c: Likewise.
30660 * disk/ata.c: Likewise.
30661 * disk/ieee1275/nand.c: Likewise.
30662 * fs/affs.c: Likewise.
30663 * fs/fat.c: Likewise.
30664 * fs/hfs.c: Likewise.
30665 * fs/hfsplus.c: Likewise.
30666 * fs/iso9660.c: Likewise.
30667 * fs/jfs.c: Likewise.
30668 * fs/minix.c: Likewise.
30669 * fs/reiserfs.c: Likewise.
30670 * fs/sfs.c: Likewise.
30671 * fs/udf.c: Likewise.
30672 * fs/ufs.c: Likewise.
30673 * fs/xfs.c: Likewise.
30674 * loader/powerpc/ieee1275/linux.c: Likewise.
30675 * loader/sparc64/ieee1275/linux.c: Likewise.
30676 * util/grub-probe.c: Likewise.
30677 * util/misc.c: Likewise.
30678
7fd0baee 306792009-12-24 Carles Pina i Estany <carles@pina.cat>
30680
30681 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
30682 grub_errno calls.
30683 * commands/acpi.c: Likewise.
30684 * commands/blocklist.c: Likewise.
30685 * commands/efi/loadbios.c: Likewise.
30686 * commands/i386/pc/drivemap.c: Likewise.
30687 * commands/loadenv.c: Likewise.
30688 * commands/memrw.c: Likewise.
30689 * commands/password.c: Likewise.
30690 * commands/videotest.c: Likewise.
30691 * disk/ata.c: Likewise.
30692 * disk/ata_pthru.c: Likewise.
30693 * disk/dmraid_nvidia.c: Likewise.
30694 * disk/ieee1275/nand.c: Likewise.
30695 * disk/ieee1275/ofdisk.c: Likewise.
30696 * disk/loopback.c: Likewise.
30697 * disk/lvm.c: Likewise.
30698 * disk/mdraid_linux.c: Likewise.
30699 * disk/raid.c: Likewise.
30700 * disk/raid6_recover.c: Likewise.
30701 * disk/scsi.c: Likewise.
30702 * efiemu/main.c: Likewise.
30703 * efiemu/mm.c: Likewise.
30704 * efiemu/pnvram.c: Likewise.
30705 * efiemu/symbols.c: Likewise.
30706 * font/font.c: Likewise.
30707 * fs/cpio.c: Likewise.
30708 * fs/hfsplus.c: Likewise.
30709 * fs/iso9660.c: Likewise.
30710 * fs/jfs.c: Likewise.
30711 * fs/minix.c: Likewise.
30712 * fs/ntfs.c: Likewise.
30713 * fs/ntfscomp.c: Likewise.
30714 * fs/reiserfs.c: Likewise.
30715 * fs/ufs.c: Likewise.
30716 * fs/xfs.c: Likewise.
30717 * gettext/gettext.c: Likewise.
30718 * include/grub/auth.h: Likewise.
30719 * kern/elf.c: Likewise.
30720 * kern/file.c: Likewise.
30721 * kern/ieee1275/init.c: Likewise.
30722 * kern/ieee1275/mmap.c: Likewise.
30723 * kern/ieee1275/openfw.c: Likewise.
30724 * kern/powerpc/dl.c: Likewise.
30725 * kern/sparc64/dl.c: Likewise.
30726 * lib/arg.c: Likewise.
30727 * loader/i386/bsd.c: Likewise.
30728 * loader/i386/bsdXX.c: Likewise.
30729 * loader/i386/efi/linux.c: Likewise.
30730 * loader/i386/efi/xnu.c: Likewise.
30731 * loader/i386/ieee1275/linux.c: Likewise.
30732 * loader/i386/linux.c: Likewise.
30733 * loader/i386/multiboot.c: Likewise.
30734 * loader/i386/pc/linux.c: Likewise.
30735 * loader/i386/pc/multiboot2.c: Likewise.
30736 * loader/i386/xnu.c: Likewise.
30737 * loader/ieee1275/multiboot2.c: Likewise.
30738 * loader/macho.c: Likewise.
30739 * loader/machoXX.c: Likewise.
30740 * loader/multiboot2.c: Likewise.
30741 * loader/multiboot_loader.c: Likewise.
30742 * loader/powerpc/ieee1275/linux.c: Likewise.
30743 * loader/sparc64/ieee1275/linux.c: Likewise.
30744 * loader/xnu.c: Likewise.
30745 * loader/xnu_resume.c: Likewise.
30746 * mmap/i386/pc/mmap.c: Likewise.
30747 * normal/menu_viewer.c: Likewise.
30748 * partmap/acorn.c: Likewise.
30749 * partmap/amiga.c: Likewise.
30750 * partmap/apple.c: Likewise.
30751 * script/lexer.c: Likewise.
30752 * term/gfxterm.c: Likewise.
30753 * term/i386/pc/serial.c: Likewise.
30754 * term/i386/pc/vga.c: Likewise.
30755 * term/ieee1275/ofconsole.c: Likewise.
30756 * term/terminfo.c: Likewise.
30757 * video/bitmap.c: Likewise.
30758 * video/efi_gop.c: Likewise.
30759 * video/efi_uga.c: Likewise.
30760 * video/fb/video_fb.c: Likewise.
30761 * video/i386/pc/vbe.c: Likewise.
30762 * video/readers/tga.c: Likewise.
30763 * video/video.c: Likewise.
30764
0ad46fd7 307652009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
30766
30767 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
30768 * commands/lspci.c: Likewise.
30769 * commands/probe.c: Likewise.
30770 * commands/xnu_uuid.c: Likewise.
30771 * conf/i386-coreboot.rmk: Likewise.
30772 * conf/i386-efi.rmk: Likewise.
30773 * conf/i386-ieee1275.rmk: Likewise.
30774 * conf/i386-pc.rmk: Likewise.
30775 * conf/powerpc-ieee1275.rmk: Likewise.
30776 * conf/sparc64-ieee1275.rmk: Likewise.
30777 * conf/x86_64-efi.rmk: Likewise.
30778 * fs/i386/pc/pxe.c: Likewise.
30779 * gettext/gettext.c: Likewise.
30780 * include/grub/efi/graphics_output.h: Likewise.
30781 * include/grub/i386/pc/memory.h: Likewise.
30782 * kern/env.c: Likewise.
30783 * kern/i386/qemu/startup.S: Likewise.
30784 * lib/i386/pc/biosnum.c: Likewise.
30785 * lib/i386/relocator.c: Likewise.
30786 * lib/i386/relocator_asm.S: Likewise.
30787 * lib/relocator.c: Likewise.
30788 * loader/i386/bsd.c: Likewise.
30789 * loader/i386/multiboot.c: Likewise.
30790 * loader/i386/pc/chainloader.c: Likewise.
30791 * loader/i386/xnu.c: Likewise.
30792 * loader/xnu.c: Likewise.
30793 * normal/main.c: Likewise.
30794 * normal/menu_text.c: Likewise.
30795 * util/getroot.c: Likewise.
30796 * util/grub-mkconfig_lib.in: Likewise.
30797 * util/grub.d/00_header.in: Likewise.
30798 * util/i386/pc/grub-mkimage.c: Likewise.
30799 * util/mkisofs/eltorito.c: Likewise.
30800 * util/mkisofs/exclude.h: Likewise.
30801 * util/mkisofs/hash.c: Likewise.
30802 * util/mkisofs/iso9660.h: Likewise.
30803 * util/mkisofs/joliet.c: Likewise.
30804 * util/mkisofs/mkisofs.c: Likewise.
30805 * util/mkisofs/mkisofs.h: Likewise.
30806 * util/mkisofs/multi.c: Likewise.
30807 * util/mkisofs/name.c: Likewise.
30808 * util/mkisofs/rock.c: Likewise.
30809 * util/mkisofs/tree.c: Likewise.
30810 * util/mkisofs/write.c: Likewise.
30811 * video/efi_gop.c: Likewise.
30812
009ec743
VS
308132009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
30814
30815 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
30816 size counting.
30817
0ad46fd7 308182009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
30819
30820 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
30821 * genmk.rb (class SCRIPT): Modify the target file instead of source.
30822
d3d30ea0
VS
308232009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30824
30825 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
30826 (GRUB_MOD_INIT(memrw)): Update help line.
30827
a34f5c70
VS
308282009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30829
30830 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
30831 Use grub_extcmd_t. All users updated.
30832 (options): New variable.
30833 (grub_cmd_read): Restructure for readability. Support "-v" option.
30834 (grub_cmd_write): Restructure for readability.
30835
0ad46fd7 308362009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
30837
30838 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
30839
0ad46fd7 308402009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
30841
30842 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
30843 with the actual contents of the correspondending make variable.
30844 * util/grub-mkrescue.in (pkglib_DATA): New variable.
30845 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
30846 specifying `*.lst' and `efiemu??.o'
30847
0ad46fd7 308482009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
30849
30850 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
30851 after function name.
30852 Noticed by Rene Engelhard <rene@debian.org>.
30853
dc77a799
VS
308542009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30855
30856 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
30857 (options): New variable.
30858 (iospace): Likewise.
30859 (grub_lspci_iter): List IO spaces if "-i" was given.
30860 (grub_cmd_lspci): Parse options.
30861 (GRUB_MOD_INIT(lspci)): Use extcmd.
30862 (GRUB_MOD_FINI(lspci)): Likewise.
30863
0ad46fd7 308642009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
30865
30866 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
30867 `function' keyword.
30868 Patch by Tony Mancill <tmancill@debian.org>.
30869
b5d5993b
VS
308702009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30871
30872 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
30873 (grub_uhci_portstatus): Likewise.
30874 (grub_uhci_portstatus): Add necessary delay.
11d18281 30875 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 30876
941903f2 308772009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 30878
941903f2 30879 * commands/acpi.c (options): Fix capitalizations and/or full stops.
30880 (GRUB_MOD_INIT): Likewise.
30881 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 30882 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
30883 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 30884 * commands/efi/loadbios.c (enable_rom_area): Likewise.
30885 (enable_rom_area): Likewise.
30886 (GRUB_MOD_INIT): Likewise.
30887 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30888 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
30889 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30890 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
30891 * commands/hexdump.c (options): Likewise.
30892 * commands/i386/cpuid.c (options): Likewise.
30893 (GRUB_MOD_INIT): Likewise.
30894 * commands/i386/pc/drivemap.c (options): Likewise.
30895 (GRUB_MOD_INIT): Likewise.
30896 * commands/i386/pc/halt (options): Likewise.
30897 (GRUB_MOD_INIT): Likewise.
30898 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30899 * commands/i386/pc/pxecmd.c (options): Likewise.
30900 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
30901 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
30902 * commands/keystatus.c (options): Likewise.
30903 (GRUB_MOD_INIT): Likewise.
30904 * commands/loadenv.c (options): Likewise.
30905 * commands/ls.c (options): Likewise.
30906 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30907 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30908 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30909 * commands/parttool.c (helpmsg): Likewise.
30910 * commands/probe.c (options): Likewise.
30911 * commands/read.c (GRUB_MOD_INIT): Likewise.
30912 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
30913 * commands/search.c (options): Likewise.
30914 * commands/sleep.c (options): Likewise.
30915 * commands/test.c (GRUB_MOD_INIT): Likewise.
30916 * commands/true.c (GRUB_MOD_INIT): Likewise.
30917 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
30918 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
30919 * lib/arg.c (help_options): Likewise.
e9bbb4e7 30920 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
30921 `$(XGETTEXT)'.
98a50553 30922 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 30923
0ad46fd7 309242009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 30925
ef3c2c3a 30926 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
30927 instead of specifying them explicit.
30928
7922f68b
RM
309292009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30930
30931 * NEWS: Add grub-probe support for GNU/Hurd.
30932
537ce47f
RM
309332009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30934
30935 * NEWS: gettext was added after 1.97.
30936
9b214e3a
RM
309372009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30938
30939 * util/mkisofs/msdos_partition.h: New file (based on
30940 include/grub/msdos_partition.h).
30941 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
30942 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
30943 (ld_options, main): Recognize --protective-msdos-label.
30944 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
30945 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
30946 (padblock_write): If `use_protective_msdos_label' is set, patch a
30947 protective DOS-style label in the output image.
30948
30949 * util/grub-mkrescue.in: Use --protective-msdos-label.
30950
e9309813
RM
309512009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30952
30953 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
30954 boot.
30955
0ae56929
RM
309562009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30957
30958 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
30959 variables.
30960 (ld_options, main): Recognize `--embedded-boot'.
30961 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
30962 declarations.
30963 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
30964 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
30965 (padblock_write): Likewise. Rewrite to support embedded boot image.
30966
30967 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
30968 for BIOS-based disk boot instead of only ElTorito.
30969
b15937b1
RM
309702009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30971
30972 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
30973 build (not needed for bootstrap).
30974
52cc3ce0
RM
309752009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30976
30977 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
30978 from i386-pc build (not needed for bootstrap).
30979 Rewrite a pair of strings.
30980
36f5ff04
RM
309812009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30982
30983 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
30984
973c6c85 309852009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
30986
30987 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
30988
05d21547
AB
309892009-12-21 Andreas Born <futur.andy@googlemail.com>
30990
30991 * kern/env.c (grub_env_context_open): Mark exported variable for
30992 reexport.
30993
0175d51f
AB
309942009-12-21 Andreas Born <futur.andy@googlemail.com>
30995
30996 * kern/env.c (grub_env_export): Create nonexistent variables before
30997 exporting.
30998
7f39d92f 309992009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 31000
7f39d92f 31001 * include/grub/auth.h: Include `<grub/i18n.h>'.
31002 (GRUB_GET_PASSWORD): Gettextizze string.
31003 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
31004 menu_text.c.
31005 (grub_utf8_to_ucs4_alloc): Fix indentation.
31006 (grub_print_ucs4): Likewise.
31007 (grub_getstringwidth): Likewise.
31008 (print_message_indented): New declaration.
31009 * normal/auth.c: Include `<grub/i18n.h>'.
31010 (grub_auth_check_authentication): Gettexttize string.
31011 * normal/cmdline.c: Include `<grub/i18n.h>'.
31012 (grub_cmdline_get): Gettextizze.
31013 * normal/color.c: Include `<grub/i18n.h>'.
31014 (grub_parse_color_name_pair): Gettexttize strings.
31015 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
31016 string (use `print_message_indented').
31017 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
31018 `include/grub/normal.h'.
31019 (print_message_indented): Renamed to ...
31020 (grub_print_message_indented): ... this. Remove `static' qualifer (now
31021 used in normal/main.c).
31022 (print_message): Use `grub_print_message_indented' instead of
31023 `print_message_indented'.
31024 (print_timeout): Likewise.
31025 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
31026 (grub_normal_print_device_info): Gettexttize strings.
31027 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
31028
3041d898
VS
310292009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31030
31031 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
31032 of arguments. Return number of tokens and not arguments. All users
31033 updated.
31034
de15bf8e
VS
310352009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31036
31037 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
31038 non-MSDOS paritions.
31039
e0a6ca52
VS
310402009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
31041
31042 * include/grub/types.h (UNUSED): Removed since it conflicts with
31043 NetBSD headers. All users changed to direct __attribute__ ((unused)).
31044 Reported by Grégoire Sutre.
31045
b99518d1 310462009-12-19 Carles Pina i Estany <carles@pina.cat>
31047
31048 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
31049 (grub_print_ucs4_alloc): Likewise.
31050 (grub_getstringwidth): Likewise.
31051 * normal/main.c (grub_normal_init_page): Gettextize version string.
31052 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
31053 (getstringwidth): Renamed to ...
31054 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
31055 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
31056 (grub_print_ucs4): Remove `static' qualifer (now used in
31057 normal/main.c).
31058 * po/POTFILES: Add normal/main.c.
31059
bfd5e52b 310602009-12-19 Carles Pina i Estany <carles@pina.cat>
31061
31062 * normal/menu_text.c (STANDARD_MARGIN): New macro.
31063 (print_message_indented): Add `margin_left' and `margin_right'
31064 parameters.
31065 (print_message): Update `print_message_indented' calls. Adds '\n' to the
31066 strings.
31067 (print_timeout): Use `print_message_indented' to print the message.
31068 Deletes `second_stage' parameter.
31069 (run_menu): Update `print_timeout' calls.
31070
5a1ad2b9
VS
310712009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31072
31073 Fix console palette on OpenFirmware.
31074
31075 * term/ieee1275/ofconsole.c (MAX): Removed.
31076 (colors): Redone based on VGA palette.
31077 (grub_ofconsole_setcolor): Discard brightness bit since only 8
31078 colors are supported.
31079 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
31080
b045f00a
VS
310812009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31082
31083 Fix potential EfiEmu double prepare.
31084
31085 * efiemu/main.c (prepared): New variable
31086 (grub_efiemu_unload): Set prepare to '0'.
31087 (grub_efiemu_prepare): Return if already prepared. Set prepared.
31088
31089 set_virtual_address_map support.
31090
31091 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
31092 prototype.
31093 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
31094 prototype.
31095 (grub_efiemu_crc32): Likewise.
31096 (grub_efiemu_crc64): Likewise.
31097 (grub_efiemu_set_virtual_address_map): Likewise.
31098 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
31099 New definition.
31100 (grub_autoefi_set_virtual_address_map): Likewise.
31101 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
31102 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
31103 Restructure flow to accomodate it.
31104 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
31105 (grub_efiemu_crc): Recompute CRC32.
31106 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
31107 (efiemu_ptv_relocated): ... this. Made global. All users updated.
31108 * efiemu/symbols.c (relocated_handle): New variable.
31109 (grub_efiemu_free_syms): Free relocated_handle.
31110 (grub_efiemu_alloc_syms): Allocate relocated_handle.
31111 (grub_efiemu_write_sym_markers): New function.
31112 (grub_efiemu_set_virtual_address_map): Likewise.
31113
31114 Newer XNU parameters.
31115
31116 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
31117 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
31118 (grub_xnu_fill_devicetree): New prototype.
31119 (grub_xnu_heap_real_start): New variable.
31120 * loader/xnu.c (get_name_ptr): New function.
31121 (grub_xnu_load_driver): Fill namelen and name.
31122
31123 64-bit xnu support.
31124
31125 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
31126 and 'loader/macho64.c'.
31127 * conf/i386-pc.rmk: Likewise.
31128 * conf/x86_64-efi.rmk: Likewise.
31129 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
31130 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
31131 * include/grub/macho.h (grub_macho_segment64): New structure.
31132 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
31133 (grub_macho_size32): ... to this.
31134 (grub_macho32_get_entry_point): Renamed from ...
31135 (grub_macho_get_entry_point32): ... to this.
31136 (grub_macho_contains_macho64): New prototype.
31137 (grub_macho_size64): Likewise.
31138 (grub_macho_get_entry_point64): Likewise.
31139 (grub_macho32_load): Renamed from ...
31140 (grub_macho_load32): ... to this.
31141 (grub_macho32_filesize): Renamed from ...
31142 (grub_macho_filesize32): ... to this.
31143 (grub_macho32_readfile): Renamed from ...
31144 (grub_macho_readfile32): ... to this.
31145 (grub_macho_filesize64): New prototype.
31146 (grub_macho_readfile64): Likewise.
31147 (grub_macho_parse32): Likewise.
31148 (grub_macho_parse64): Likewise.
31149 * loader/macho.c: Split into ...
31150 * loader/machoXX.c: ... and this. Replace 32 with XX.
31151 * loader/macho32.c: New file.
31152 * loader/macho64.c: Likewise.
31153 * loader/xnu.c (grub_xnu_is_64bit): New variable.
31154 (grub_cmd_xnu_kernel): Make 32-bit only.
31155 (grub_cmd_xnu_kernel64): New function.
31156 (grub_xnu_load_driver): Support Mach-O 64.
31157 (grub_cmd_xnu_mkext): Likewise.
31158 * util/grub.d/30_os-prober.in (osx_entry): New function.
31159 Generate entries for 64-bit boot too.
31160
31161 Eliminate ad-hoc tree format in XNU and EfiEmu.
31162
31163 * efiemu/main.c (grub_efiemu_prepare): Update comment.
31164 * efiemu/pnvram.c: Rewritten to use environment variables.
31165 All users updated.
31166
31167 Inline utf16_to_utf8.
31168
31169 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
31170 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
31171 All users updated.
31172 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
31173
31174 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
31175 * commands/usbtest.c (grub_usb_get_string): ... move here.
31176 (usb_print_str): Fix error handling.
31177 * include/grub/usb.h (grub_usb_get_string): Remove.
31178
31179 UTF-8 to UTF-16 transformation.
31180
31181 * conf/common.rmk (pkglib_MODULES): Add charset.mod
31182 (charset_mod_SOURCES): New variable.
31183 (charset_mod_CFLAGS): Likewise.
31184 (charset_mod_LDFLAGS): Likewise.
31185 * include/grub/utf.h: New file.
31186 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
31187
31188 Support for device properties.
31189
31190 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
31191 (grub_xnu_devprop_device_header): Likewise.
31192 (grub_xnu_devprop_device_descriptor): Likewise.
31193 (grub_xnu_devprop_add_device): New prototype.
31194 (grub_xnu_devprop_remove_device): Likewise.
31195 (grub_xnu_devprop_remove_property): Likewise.
31196 (grub_xnu_devprop_add_property_utf8): Likewise.
31197 (grub_xnu_devprop_add_property_utf16): Likewise.
31198 (grub_cpu_xnu_init): Likewise.
31199 (grub_cpu_xnu_fini): Likewise.
31200 (grub_cpu_xnu_unload): Likewise.
31201 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
31202 (property_descriptor): Likewise.
31203 (devices): New variable.
31204 (grub_xnu_devprop_remove_property): New function.
31205 (grub_xnu_devprop_add_device): Likewise.
31206 (grub_xnu_devprop_remove_device): Likewise.
31207 (grub_xnu_devprop_add_property): Likewise.
31208 (grub_xnu_devprop_add_property_utf8): Likewise.
31209 (grub_xnu_devprop_add_property_utf16): Likewise.
31210 (hextoval): Likewise.
31211 (grub_cpu_xnu_fill_devprop): Likewise.
31212 (grub_cmd_devprop_load): Likewise.
31213 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
31214 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
31215 (cmd_devprop_load): New variable.
31216 (grub_cpu_xnu_init): New function.
31217 (grub_cpu_xnu_fini): Likewise.
31218 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
31219 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
31220 (grub_cmd_xnu_devtree): Likewise.
31221 (hextoval): New function.
31222 (unescape): Likewise.
31223 (grub_xnu_fill_devicetree): Likewise.
31224
31225 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
31226 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
31227
0945f181
VS
312282009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31229
31230 Workaround for broken ATI VBE.
31231
31232 * video/i386/pc/vbe.c (last_set_mode): New variable.
31233 (grub_vbe_set_video_mode): Set 'last_set_mode'.
31234 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
31235 (grub_video_vbe_setup): Don't check for reserved flag.
31236
0ad46fd7 312372009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
31238
31239 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
31240 the `find' command.
31241
c179ebe4
VS
312422009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
31243
31244 UUID support for HFS.
31245
31246 * fs/hfs.c (grub_hfs_uuid): New function.
31247 (grub_hfs_fs): New value .uuid.
31248 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
31249
0ad46fd7 312502009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
31251
31252 Fix a segfault with parsing unknown long options.
31253
31254 * util/grub-mkrelpath.c (options): Zero terminate it.
31255
c4a3e41a
CPE
312562009-12-13 Carles Pina i Estany <carles@pina.cat>
31257
31258 * include/grub/misc.h (grub_puts): New declaration.
31259 (grub_puts_): Likewise.
a22008a6 31260 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
31261 (grub_puts_): Likewise.
31262
2e8a7602
RM
312632009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31264
31265 * util/grub-probe.c (probe): Improve error message.
31266
b50b77b9
RM
312672009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31268
31269 * loader/i386/multiboot_elfxx.c
31270 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
31271 initialization.
31272
312732009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31274
31275 Relocator framework
31276
31277 * loader/i386/xnu_helper.S: Removed. All users updated.
31278 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
31279 (relocator_mod_SOURCES): New variable.
31280 (relocator_mod_CFLAGS): Likewise.
31281 (relocator_mod_LDFLAGS): Likewise.
31282 (relocator_mod_ASFLAGS): Likewise.
31283 * conf/x86_64.rmk: Likewise.
31284 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
31285 (grub_multiboot_payload_entry_offset): Likewise.
31286 (grub_multiboot_forward_relocator): Likewise.
31287 (grub_multiboot_forward_relocator_end): Likewise.
31288 (grub_multiboot_backward_relocator): Likewise.
31289 (grub_multiboot_backward_relocator_end): Likewise.
31290 (grub_multiboot_payload_eip): New variable.
31291 (grub_multiboot_payload_orig): Likewise.
31292 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
31293 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
31294 * include/grub/i386/memory.h
31295 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
31296 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
31297 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
31298 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
31299 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
31300 * include/grub/i386/relocator.h: New file.
31301 * include/grub/x86_64/relocator.h: Likewise.
31302 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
31303 (XNU_RELOCATOR): New macro.
31304 (grub_xnu_launcher_start): Remove.
31305 (grub_xnu_launcher_end): Likewise.
31306 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
31307 (grub_xnu_heap_real_start): Remove.
31308 (grub_xnu_heap_start): Change to void *. All users updated.
31309 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
31310 * lib/i386/relocator.c: New file.
31311 * lib/i386/relocator_asm.S: Likewise.
31312 * lib/i386/relocator_backward.S: Likewise.
31313 * lib/mips/relocator.c: Likewise.
31314 * lib/mips/relocator_asm.S: Likewise.
31315 * lib/relocator.c: Likewise.
31316 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
31317 (entry): Removed.
31318 (playground): Likewise.
31319 (grub_multiboot_payload_orig): New variable.
31320 (grub_multiboot_payload_dest): Likewise.
31321 (grub_multiboot_payload_size): Likewise.
31322 (grub_multiboot_payload_eip): Likewise.
31323 (grub_multiboot_payload_esp): Likewise.
31324 (grub_multiboot_boot): Use grub_relocator32_boot.
31325 (grub_multiboot_unload): Free relocators.
31326 (grub_multiboot): Setup stack. Use relocators.
31327 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
31328 (grub_multiboot_load_elfXX): Use relocators.
31329 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
31330 (grub_multiboot_payload_size): Likewise.
31331 (grub_multiboot_payload_dest): Likewise.
31332 (grub_multiboot_payload_entry_offset): Likewise.
31333 (grub_multiboot_forward_relocator): Likewise.
31334 (grub_multiboot_backward_relocator): Likewise.
31335 (grub_multiboot_real_boot): Likewise.
31336 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
31337 (grub_xnu_entry_point): Likewise.
31338 (grub_xnu_arg1): Likewise.
31339 (grub_xnu_stack): Likewise.
31340 (grub_xnu_launch): Removed.
31341 (grub_xnu_boot_resume): New function.
31342 (grub_xnu_boot): Use relocators.
31343 * loader/i386/xnu_helper.S: Removed.
31344 * loader/xnu.c (grub_xnu_heap_start): New variable.
31345 (grub_xnu_heap_size): Likewise.
31346 (grub_xnu_heap_malloc): Use relocators.
31347 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
31348
29eb90c6
VS
313492009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31350
31351 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
31352 anything.
31353
31027430
CPE
313542009-12-13 Carles Pina i Estany <carles@pina.cat>
31355
31356 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
31357 GRUB_ERR_NONE before calling grub_env_set.
31358
dc0c71d9
RM
313592009-12-12 Robert Millan <rmh@aybabtu.com>
31360
31361 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
31362 * genmk.rb (video): New variable.
31363 (CLEANFILES, VIDEOFILES): Add #{video}.
31364 (#{video}): New target rule.
31365 * genvideolist.sh: New file.
31366 * Makefile.in (pkglib_DATA): Add video.lst.
31367 (video.lst): New target rule.
31368 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
31369 `video.lst'.
31370 * util/grub.d/30_os-prober.in: Replace `vbe' with
31371 ${GRUB_VIDEO_BACKEND}.
31372
2a4bfcf0
RM
313732009-12-11 Robert Millan <rmh.grub@aybabtu.com>
31374
31375 * THANKS: Add David Miller.
31376
2a3aa4d5
RM
313772009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
31378
31379 libpciaccess support.
31380
31381 * Makefile.in (LIBPCIACCESS): New variable.
31382 (enable_grub_emu_pci): Likewise.
31383 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
31384 util/pci.c and commands/lspci.c.
31385 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
31386 * configure.ac (grub-emu-pci): New option.
31387 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
31388 (grub_pci_device_unmap_range): Likewise.
31389 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
31390 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
31391 (grub_pci_address_t) [!GRUB_UTIL]: New type.
31392 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
31393 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
31394 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
31395 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
31396 * include/grub/pciutils.h: New file.
31397 * util/pci.c: Likewise.
31398
0ad46fd7 313992009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
31400
31401 * util/misc.c: Don't include <errno.h> twice.
31402
0ad46fd7 314032009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
31404
31405 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
31406 name in an error message.
31407 (grub_biosdisk_rw): Likewise.
31408
2e59983c
VS
314092009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31410
31411 Eliminate NTFS 4Gib barrier.
31412
31413 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
31414 (read_run_data): Likewise.
31415 (grub_ntfs_read_run_list): Likewise.
31416 (grub_ntfs_read_block): Likewise.
31417 (grub_ntfs_iterate_dir): Likewise.
31418 (read_mft): Likewise.
31419 (read_data): Likewise.
31420 Use COM_LOG_LEN.
31421 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
31422 to avoid 64-bit division
31423 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
31424 (grub_ntfs_rlst): Use grub_disk_addr_t.
31425
71ee178a
VS
314262009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31427
31428 Eliminate grub-fstest 4Gib barrier.
31429
31430 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
31431 (read_file): Fix error reporting.
31432
2520d4b8
VS
314332009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31434
31435 Eliminate hexdump 4Gib barrier.
31436
31437 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
31438 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
31439
e1f27065
VS
314402009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31441
31442 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
31443 Fixes amarsh bug.
31444
1a0f7f45
RM
314452009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
31446
31447 Remove miscellaneous files in distclean target.
31448
31449 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
31450
c631d9fb
CW
314512009-12-09 Colin Watson <cjwatson@ubuntu.com>
31452
31453 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
31454 if they're already set. This resolves the conflict between my
31455 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
31456 fixing the --grub-probe option again.
31457 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
31458 change on 2009-10-06, so that we now once again source
31459 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
31460
7c7b6106
RM
314612009-12-08 Robert Millan <rmh.grub@aybabtu.com>
31462
31463 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
31464 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
31465 `util/devicemap.c'.
31466
e3069ec1
CPE
314672009-12-08 Carles Pina i Estany <carles@pina.cat>
31468
31469 * include/grub/misc.h (grub_printf_): New declaration.
31470 * kern/misc.c (grub_printf_): New definition.
31471 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
31472 instead of `grub_printf' and `_'.
31473 * normal/menu_entry.c (store_completion): Likewise.
31474 (run): Likewise.
31475 (grub_menu_entry_run): Likewise.
31476 * normal/menu_text.c (grub_wait_after_message): Likewise.
31477 (notify_booting): Likewise.
31478 (notify_fallback): Likewise.
31479 (notify_execution_failure): Likewise.
31480
d6ceebf1
CW
314812009-12-07 Colin Watson <cjwatson@ubuntu.com>
31482
31483 * configure.ac: Check for vasprintf.
31484 * util/misc.c (asprintf): Move allocation from here ...
31485 (vasprintf): ... to here. New function.
31486 (xasprintf): New function.
31487 * include/grub/util/misc.h (vasprintf, xasprintf): Add
31488 prototypes.
31489 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
31490 * util/grub-mkfont.c (write_font): Likewise.
31491 * util/grub-probe.c (probe): Likewise.
31492 * util/hostdisk.c (make_device_name): Likewise.
31493
de6daa8b
DM
314942009-12-06 David S. Miller <davem@sunset.davemloft.net>
31495
31496 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
31497 anything even prefixed with 'cdrom' as a cdrom.
31498
0ad46fd7 314992009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
31500
31501 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
31502 mount points.
31503
98d3dc02
CPE
315042009-12-05 Carles Pina i Estany <carles@pina.cat>
31505
31506 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
31507 grub_gettext_msg_list.
31508 (grub_gettext_gettranslation_from_position): Return const char *
31509 and not char *.
a2c1332b 31510 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
31511 returns from the list if existing there.
31512 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
31513 (grub_gettext_delete_list): Delete the list.
31514 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
31515 lang environment variable is changed.
31516 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
31517
b283f108
VS
315182009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31519
31520 Rename kernel.mod to kernel.img.
31521
31522 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
31523 (kernel_mod_EXPORTS): Rename to ...
31524 (kernel_img_EXPORTS): ... this.
31525 (kernel_mod_SOURCES): Rename to ...
31526 (kernel_img_SOURCES): ... this.
31527 (kernel_mod_HEADERS): Rename to ...
31528 (kernel_img_HEADERS): ... this. All users updated.
31529 (kernel_mod_CFLAGS): Rename to ...
31530 (kernel_img_CFLAGS): ... this.
31531 (kernel_mod_ASFLAGS): Rename to ...
31532 (kernel_img_ASFLAGS): ... this.
31533 (kernel_mod_LDFLAGS): Rename to ...
31534 (kernel_img_LDFLAGS): ... this.
31535 * conf/x86_64-efi.rmk: Likewise.
31536 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
31537 (read_kernel_image): ... this. All users updated.
31538 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
31539
69055f8a
CPE
315402009-12-05 Carles Pina i Estany <carles@pina.cat>
31541
31542 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
31543 (print_spaces): New function.
31544 (grub_print_ucs4): New function.
31545 (getstringwidth): New function.
31546 (print_message_indented): New function.
31547 (print_message): Gettexttize strings using print_message_indented.
31548 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
31549 width.
31550 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 31551 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
31552 Gettextize.
31553 * normal/menu_entry.c (store_completion): Cleanup the gettextized
31554 string.
31555 (run): Likewise.
31556 (grub_menu_entry_run): Likewise.
31557 * PO/POTFILES: Add normal/menu_entry.c.
31558
f616f51c
VS
315592009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31560
31561 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
31562
57bbe3be
CPE
315632009-12-05 Carles Pina i Estany <carles@pina.cat>
31564
31565 * util/grub-install.in: Install gettext .mo files.
31566 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
31567
013d67a1
CPE
315682009-12-05 Carles Pina i Estany <carles@pina.cat>
31569
31570 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
31571 grub_dprintf.
31572
fb954db0
RM
315732009-12-05 Robert Millan <rmh.grub@aybabtu.com>
31574
31575 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
31576 non-firmware-dependant one in realmode.S takes precedence.
31577
6b8474f8
RM
315782009-12-04 Robert Millan <rmh.grub@aybabtu.com>
31579
31580 * commands/halt.c: Replace misc arch-specific headers with
31581 `<grub/misc.h>'.
31582 * commands/reboot.c: Likewise.
31583 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
31584 `<grub/misc.h>'.
31585 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
31586 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
31587 (kernel_img_SOURCES): ... to here.
31588
31589 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
31590 * include/grub/i386/pc/init.h: Likewise.
31591 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
31592 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31593
31594 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
31595
31596 * include/grub/i386/halt.h: Remove.
31597 * include/grub/i386/reboot.h: Likewise.
31598
31599 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
31600
4b2e6ca2
DM
316012009-12-03 David S. Miller <davem@sunset.davemloft.net>
31602
31603 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
31604 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
31605 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
31606 "progname.h"
31607 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31608 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31609 (usage): Add missing comma in printf.
31610
5239348f
RM
316112009-12-02 Robert Millan <rmh.grub@aybabtu.com>
31612
31613 Use the same reboot approach on i386 coreboot and qemu as we do on
31614 BIOS.
31615
31616 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
31617 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
31618 * kern/i386/reboot.c: Remove.
31619 * include/grub/i386/reboot.h (grub_reboot): Export function.
31620 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
31621 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
31622 0xf000:0xfff0 instead of 0xffff:0x0000.
31623 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
31624 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
31625
ef34cbd4
RM
316262009-11-30 Robert Millan <rmh.grub@aybabtu.com>
31627
31628 Fix $srcdir != $objdir build.
31629
31630 * Makefile.in (po/%.po): Rewrite as ...
31631 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
31632
dc9837ea
ST
316332009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
31634
31635 Fix GNU/Hurd grub-install crash.
31636 * util/grub-probe.c (probe): Try to access `path' only when it is not
31637 NULL.
31638
2f857f98
VS
316392009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31640
31641 Correct module naming.
31642
31643 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31644 (GRUB_MOD_INIT(efi_uga)): ... to this
31645 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31646 (GRUB_MOD_FINI(efi_uga)): ... to this
31647 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31648 (GRUB_MOD_INIT(efi_gop)): ... to this
31649 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31650 (GRUB_MOD_FINI(efi_gop)): ... to this
31651
c5448046
RM
316522009-11-28 Robert Millan <rmh.grub@aybabtu.com>
31653
31654 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
31655 translatable.
31656 (usage): Translate `arg' strings using gettext().
31657 Thanks to Jordi Mallach for the suggestion.
31658
c85184ad
VS
316592009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31660
31661 GOP support. Based on patch from Bean
31662 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31663
31664 * video/efi_gop.c: New file.
31665 * include/grub/efi/graphics_output.h: Likewise.
31666 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
31667 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31668 variables.
31669 * conf/x86_64-efi.rmk: Likewise.
31670
8a4c48d8
VS
316712009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31672
31673 Rename efi_fb to efi_uga.
31674
31675 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31676 'efi_uga.mod'.
31677 (efi_fb_mod_SOURCES): Rename this ...
31678 (efi_uga_mod_SOURCES): ... to this.
31679 (efi_fb_mod_CFLAGS): Rename this ...
31680 (efi_uga_mod_CFLAGS): ... to this.
31681 (efi_fb_mod_LDFLAGS): Rename this ...
31682 (efi_uga_mod_LDFLAGS): ... to this.
31683 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31684 'efi_uga.mod'.
31685 (efi_fb_mod_SOURCES): Rename this ...
31686 (efi_uga_mod_SOURCES): ... to this.
31687 (efi_fb_mod_CFLAGS): Rename this ...
31688 (efi_uga_mod_CFLAGS): ... to this.
31689 (efi_fb_mod_LDFLAGS): Rename this ...
31690 (efi_uga_mod_LDFLAGS): ... to this.
31691 * video/efi_fb.c: Move this ...
31692 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
31693
fb6c1a7b
RM
316942009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31695
31696 * po/README: New file. Explain our PO file workflow.
31697
3bc7896c
RM
316982009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31699
31700 * po/ChangeLog: Remove. Move relevant entries back to ...
31701 * ChangeLog: ... here.
31702 * po/ca.po: Remove (now handled by TLP).
31703 * po/id.po: Likewise.
31704 * po/zh_CN.po: Likewise.
31705 * Makefile.in (LINGUAS): Initialize in a way that supports
31706 empty set.
31707
9ed4841d
RM
317082009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31709
31710 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
31711 reliing on po/LINGUAS.
31712 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
31713 (po/%.po): ... this.
31714
0ad46fd7 317152009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
31716
31717 * util/i386/efi/grub-mkimage.c: Include "progname.h".
31718 (main): Use `program_name' instead of nonexistent `progname'.
31719
e30dd392
FZ
317202009-11-26 Felix Zielcke <fzielcke@z-51.de>
31721
31722 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31723 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
31724
7656de4f
RM
317252009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31726
31727 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
31728 commit.
31729 * conf/i386-efi.rmk: Likewise.
31730 * conf/i386-ieee1275.rmk: Likewise.
31731 * conf/powerpc-ieee1275.rmk: Likewise.
31732 * conf/sparc64-ieee1275.rmk: Likewise.
31733 * conf/x86_64-efi.rmk: Likewise.
31734
db77c4d4
FZ
317352009-11-26 Felix Zielcke <fzielcke@z-51.de>
31736
31737 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
31738
a755bb04
FZ
317392009-11-26 Felix Zielcke <fzielcke@z-51.de>
31740
31741 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
31742
8a4c07fd
RM
317432009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31744
31745 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
31746 (grub_mkdevicemap_SOURCES): New variable.
31747 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
31748 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
31749 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
31750 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
31751 (grub_mkdevicemap_SOURCES): Remove.
31752 * conf/i386-efi.rmk: Likewise.
31753 * conf/i386-ieee1275.rmk: Likewise.
31754 * conf/i386-pc.rmk: Likewise.
31755 * conf/powerpc-ieee1275.rmk: Likewise.
31756 * conf/sparc64-ieee1275.rmk: Likewise.
31757 * conf/x86_64-efi.rmk: Likewise.
31758 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
31759 (usage): Fix strings to use `program_name'.
31760 (main): Initialize gettext.
31761 * util/grub-editenv.c: Likewise.
31762 * util/grub-emu.c: Likewise.
31763 * util/grub-fstest.c: Likewise.
31764 * util/grub-mkdevicemap.c: Likewise.
31765 * util/grub-mkfont.c: Likewise.
31766 * util/grub-mkrelpath.c: Likewise.
31767 * util/grub-pe2elf.c: Likewise.
31768 * util/grub-probe.c: Likewise.
31769 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
31770 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31771 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31772
31773 * util/misc.c: Include `"progname.h"'.
31774 (progname): Remove variable.
31775 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
31776
6f61ed55
FZ
317772009-11-25 Felix Zielcke <fzielcke@z-51.de>
31778
31779 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
31780 printf and print a newline after the menuentry header line.
31781 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
31782
f022876b
FZ
317832009-11-25 Felix Zielcke <fzielcke@z-51.de>
31784
31785 autoconf >= 2.60 support $(localedir).
31786
31787 * INSTALL: Note that autoconf 2.60 is required.
31788 * configure.ac (AC_PREREQ): Bump to 2.60.
31789 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
31790 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
31791
6717926e
YB
317922009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
31793
31794 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
31795 aclocal is run.
31796
08806a54
RM
317972009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31798
31799 * normal/main.c (grub_normal_read_line): Fix off-by-one
31800 buffer overflow.
31801
13b33fba
RM
318022009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31803
31804 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
31805 "parser.grub" in grub_command_execute() call.
31806
4a8572e9
CPE
318072009-11-24 Carles Pina i Estany <carles@pina.cat>
31808
31809 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
31810 * conf/i386-efi.rmk: Likewise.
31811 * conf/i386-ieee1275.rmk: Likewise.
31812 * conf/i386-pc.rmk: Likewise.
31813 * conf/powerpc-ieee1275.rmk: Likewise.
31814 * conf/sparc64-ieee1275.rmk: Likewise.
31815 * conf/x86_64-efi.rmk: Likewise.
31816 * gettext/gettex.c: Include <grub/i18n.h>.
31817 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
31818 here ...
31819 * include/grub/i18n.h: ... to here
31820 * include/grub/i18n.h: ... to here.
31821 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 31822 (grub_gettext_dummy): Move above user.
4a8572e9 31823
bee48093
FZ
318242009-11-24 Felix Zielcke <fzielcke@z-51.de>
31825
31826 * util/Makefile.in (install-local): Convert a `for' into a normal
31827 shell expansion.
31828
a031e91c
RM
318292009-11-24 Robert Millan <rmh.grub@aybabtu.com>
31830
31831 * autogen.sh: Add automake call.
31832 * config.guess: Remove.
31833 * config.sub: Likewise.
31834 * install-sh: Likewise.
31835
26bec39d
FZ
318362009-11-24 Felix Zielcke <fzielcke@z-51.de>
31837
31838 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
31839
8e2532fd
FZ
318402009-11-24 Felix Zielcke <fzielcke@z-51.de>
31841
31842 * util/Makefile.in (install-local): Convert a make `$(foreach)'
31843 function to a normal shell `for'.
31844
fefa1b7d
FZ
318452009-11-24 Felix Zielcke <fzielcke@z-51.de>
31846
31847 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31848
4501250b
FZ
318492009-11-24 Felix Zielcke <fzielcke@z-51.de>
31850
31851 * util/grub-mkrelpath.c: New file.
31852 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
31853 (grub_mkrelpath_SOURCES): New variable.
31854 * include/grub/util/misc.h: New function prototype.
31855 * util/misc.c (make_system_path_relative_to_its_root): New function.
31856
31857 * util/grub-mkconfig_lib.in (bindir): New variable.
31858 (grub_mkrelpath): Likewise.
31859 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
31860
31861 * util/probe.c (probe): Make the file path relative to its root.
31862 Change a info message to use the GRUB path. Enable again the
31863 check if we can read the file with GRUB facilities.
31864
31865 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
31866 to its root.
31867
11d9778b
FZ
318682009-11-24 Felix Zielcke <fzielcke@z-51.de>
31869
31870 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
31871 platform.
31872
4465287d
FZ
318732009-11-24 Felix Zielcke <fzielcke@z-51.de>
31874
31875 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
31876 strncmp().
31877
62b47f22
FZ
318782009-11-24 Felix Zielcke <fzielcke@z-51.de>
31879
31880 * util/getroot.c (grub_util_is_dmraid): New function.
31881 (grub_util_get_dev_abstraction): Treat dmraid and multipath
31882 devices as normal ones, not as LVM.
31883
1eafb9b9 318842009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
31885
31886 * conf/common.rmk: Add grub-gettext_lib target and updates
31887 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
31888 LDFLAGS.
31889 * gettext/gettext.c: New file. (Reads mo files).
31890 * include/grub/file.h (grub_file_pread): New prototype.
31891 * include/grub/i18n.h (_): New prototype.
31892 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
31893 prototypes.
31894 * kern/misc.c (grub_gettext_dummy): New function.
31895 * normal/menu_text.c: Include <grub/i18n.h>.
31896 * normal/menu_text.c (print_timeout): Gettexttize string.
31897 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
31898 * po/POTFILES: Add `normal/menu_text.c'.
31899 * po/ca.po: Add new translations.
c3ea6bd4
CPE
31900 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
31901 gettext module and defines locale_dir and lang in grub.cfg.
31902 * NEWS: Add gettext support.
31903
0fdb2568
RM
319042009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31905
31906 * util/hostdisk.c: Include `<grub/i18n.h>'.
31907 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
31908 (make_device_name): Rewrite using asprintf.
31909 (convert_system_partition_to_system_disk): Replace 0 with NULL.
31910 (find_system_device): If a device is not found, generate one just
31911 by reusing the OS path name.
31912 (read_device_map): Make it permissible for device.map not to exist.
31913
f515aa62
RM
319142009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31915
31916 * script/sh/execute.c: Move from here ...
31917 * script/execute.c: ... to here. Update all users.
31918 * script/sh/function.c: Move from here ...
31919 * script/function.c: ... to here. Update all users.
31920 * script/sh/lexer.c: Move from here ...
31921 * script/lexer.c: ... to here. Update all users.
31922 * script/sh/main.c: Move from here ...
31923 * script/main.c: ... to here. Update all users.
31924 * script/sh/parser.y: Move from here ...
31925 * script/parser.y: ... to here. Update all users.
31926 * script/sh/script.c: Move from here ...
31927 * script/script.c: ... to here. Update all users.
31928
f84b481b
RM
319292009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31930
31931 * configure.ac: Detect all `emu' platforms. Define
31932 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
31933 --enable-grub-emu logic. Disable include/grub/machine
31934 symlink on `emu' platforms.
31935
31936 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
31937 * gensymlist.sh.in: Likewise.
31938
31939 * include/grub/i386/coreboot/machine.h: Remove file.
31940 * include/grub/i386/efi/machine.h: Likewise.
31941 * include/grub/i386/ieee1275/machine.h: Likewise.
31942 * include/grub/i386/pc/machine.h: Likewise.
31943 * include/grub/i386/qemu/machine.h: Likewise.
31944 * include/grub/powerpc/ieee1275/machine.h: Likewise.
31945 * include/grub/sparc64/ieee1275/machine.h: Likewise.
31946 * include/grub/x86_64/efi/machine.h: Likewise.
31947
31948 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
31949 * commands/halt.c: Likewise.
31950 * commands/reboot.c: Likewise.
31951 * include/grub/autoefi.h: Likewise.
31952 * include/grub/i386/at_keyboard.h: Likewise.
31953 * include/grub/i386/kernel.h: Likewise.
31954 * include/grub/i386/loader.h: Likewise.
31955 * include/grub/i386/pc/memory.h: Likewise.
31956 * kern/dl.c: Likewise.
31957 * kern/i386/coreboot/init.c: Likewise.
31958 * loader/i386/bsd.c: Likewise.
31959 * loader/i386/linux.c: Likewise.
31960 * loader/multiboot_loader.c: Likewise.
31961 * term/i386/pc/serial.c: Likewise.
31962 * term/usb_keyboard.c: Likewise.
31963
31964 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
31965 `<grub/machine/machine.h>'
31966 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
31967 * util/misc.c: Remove `<grub/machine/machine.h>' and
31968 `<grub/machine/time.h>'.
31969
31970 * Makefile.in (enable_grub_emu): Remove variable.
31971 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
31972
31973 * conf/any-emu.rmk: New file.
31974 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
31975 (grub_emu_init.c): Move from here ...
31976 * conf/any-emu.rmk: ... to here.
31977
31978 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
31979 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
31980 * conf/any-emu.rmk: ... to here.
31981
4efeab03
RM
319822009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31983
31984 * include/grub/parser.h (grub_parser_register): Document need
31985 of `name' parameter.
31986 * normal/main.c (grub_normal_read_line): Simplify prompt string.
31987 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
31988 "sh" to "grub".
31989
ea1dd8bf
RM
319902009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31991
31992 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
31993 `$(XGETTEXT)'.
31994 * include/grub/i18n.h (N_): New macro.
31995 * util/mkisofs/mkisofs.h: Likewise.
31996 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
31997 around N_().
31998 (usage): Use gettext() to translate help strings when printing them.
31999
0c140626
RM
320002009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32001
32002 Based on patch from Bean
32003 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32004
32005 * video/efi_fb.c: New file.
32006 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
32007 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32008 variables.
32009 * conf/x86_64-efi.rmk: Likewise.
32010
87d58298
RM
320112009-11-22 Robert Millan <rmh.grub@aybabtu.com>
32012
32013 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
32014 * util/i386/pc/grub-setup.c: Likewise.
32015
994cc3a3
ST
320162009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
32017
32018 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
32019 <hurd/fs.h>
32020 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
32021 file_get_storage_info to implement grub_guess_root_device.
32022
26a61d6a
FZ
320232009-11-21 Felix Zielcke <fzielcke@z-51.de>
32024
32025 * Makefile.in (target): Use make's builtin $(shell) function
32026 instead of calling directly $(SHELL) to create the locale directories,
32027 inside the $(foreach) function.
32028
74ff1dd5
FZ
320292009-11-21 Felix Zielcke <fzielcke@z-51.de>
32030
32031 * util/grub-mkrescue.in: Print an error and usage if output option
32032 has not been given.
32033
0b787d0e
FZ
320342009-11-21 Felix Zielcke <fzielcke@z-51.de>
32035
32036 Patch from Loïc Minier <loic.minier@ubuntu.com>.
32037 * util/grub.d/30_os-prober.in: Cope with Linux entries where
32038 root and /boot are on different devices.
32039
1164b270
RM
320402009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32041
32042 Fix build for srcdir != objdir.
32043
32044 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
32045 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
32046 $(srcdir).
32047 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
32048 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
32049 reference for input.
32050
13774a2f
RM
320512009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32052
32053 * util/grub-mkrescue.in: Use source directory direcly (without copiing
32054 or hardlinking it). Remove -J option, Joliet is not compatible with
32055 multiple source directories.
32056
efda854e
RM
320572009-11-21 Carles Pina i Estany <carles@pina.cat>
320582009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32059
32060 * util/grub-mkrescue.in: Recognize `--override-directory' option.
32061 (process_input_dir): New function. Process an arbitrary input
32062 directory.
32063 Misc adjustments to support both "override mode" and system-wide mode.
32064
6c09890c
FZ
320652009-11-20 Felix Zielcke <fzielcke@z-51.de>
32066
32067 * configure.ac (UNIFONT_BDF): Rename to ...
32068 (FONT_SOURCE): ... this. Update all users.
32069
a797824f
FZ
320702009-11-20 Felix Zielcke <fzielcke@z-51.de>
32071
32072 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
32073 to the list of unifont files to look for.
32074
cd4f42b0
RM
320752009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32076
32077 Patch from Joe Auricchio <jauricchio@gmail.com>
32078 * commands/minicmd.c (grub_mini_cmd_clear): New function.
32079 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
32080 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
32081
393c783d
FZ
320822009-11-19 Felix Zielcke <fzielcke@z-51.de>
32083
32084 * Makefile.in (install-local): Add a missing backslash.
32085
b2f1e327
FZ
320862009-11-19 Felix Zielcke <fzielcke@z-51.de>
32087
32088 * include/grub/x86_64/io.h: New file.
32089
f577f7a0
RM
320902009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32091
32092 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
32093 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
32094 Include `"progname.h"'.
32095 (main): Initialize gettext.
32096 * util/i386/pc/grub-setup.c: Gettexttize.
32097 * util/i386/pc/grub-mkimage.c: Likewise.
32098
32099 * Makefile.in (po/*.po): Redefine as ...
32100 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
32101
3bc7896c
RM
32102 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
32103
c37943b6
RM
321042009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32105
32106 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
32107 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
32108 (program_name): Remove.
32109 (main): Initialize gettext support.
6323f705
RM
32110 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
32111 Include `<libintl.h>'.
32112 (_): New macro.
c37943b6
RM
32113
32114 * util/mkisofs/eltorito.c: Gettexttize.
32115 * util/mkisofs/joliet.c: Likewise.
32116 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
32117 * util/mkisofs/multi.c: Likewise.
32118 * util/mkisofs/rock.c: Likewise.
32119 * util/mkisofs/tree.c: Likewise.
32120 * util/mkisofs/write.c: Likewise.
32121
3bc7896c
RM
32122 * po/POTFILES: Update with new files.
32123
5ce77c6e
RM
321242009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32125
32126 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
32127 * util/mkisofs/iso9660.h: Likewise.
32128 * util/mkisofs/joliet.c: Likewise.
32129 * util/mkisofs/mkisofs.c: Likewise.
32130 * util/mkisofs/mkisofs.h: Likewise.
32131 * util/mkisofs/rock.c: Likewise.
32132 * util/mkisofs/tree.c: Likewise.
32133 * util/mkisofs/write.c: Likewise.
32134
32135 * util/mkisofs/eltorito.c (rcsid): Remove.
32136 * util/mkisofs/hash.c: Likewise.
32137 * util/mkisofs/joliet.c: Likewise.
32138 * util/mkisofs/name.c: Likewise.
32139 * util/mkisofs/rock.c: Likewise.
32140 * util/mkisofs/tree.c: Likewise.
32141 * util/mkisofs/write.c: Likewise.
32142
1dabbc77
RM
321432009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32144
32145 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
32146 instead of static allocation.
32147 * util/mkisofs/match.h: Likewise.
32148
633877cb
RM
321492009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32150
3bc7896c
RM
32151 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
32152 and `util/grub.d/10_linux.in'.
633877cb
RM
32153 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
32154 translatable Shell files.
32155
af1c0c85
RM
321562009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32157
32158 * Makefile.in ($(srcdir)/aclocal.m4): New target.
32159
769ae37b
RM
321602009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32161
32162 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 32163 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
32164 * util/grub.d/10_kfreebsd.in (bindir): New variable.
32165 Add gettext initialization.
32166 (kfreebsd_entry): Make menuentry output translatable.
32167
321682009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32169
32170 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
32171 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
32172 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
32173 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
32174 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 32175 * po/LINGUAS: New file.
769ae37b
RM
32176
321772009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32178
32179 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
32180 other things).
32181 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
32182 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
32183 bindtextdomain() calls for gettext initialization.
32184
321852009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32186
32187 * gnulib/progname.c: New file (imported from Gnulib).
32188 * gnulib/progname.h: Likewise.
32189 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32190 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
32191 (usage): Replace `progname' with `program_name'.
32192 (main): Use set_program_name() for program name initialization.
32193
321942009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32195
32196 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
32197 from here ...
32198 * Makefile.in (CPPFLAGS): ... to here.
32199
322002009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32201
32202 * aclocal.m4: Move from here ...
32203 * acinclude.m4: ... to here.
32204 * autogen.sh: Add call to `aclocal'.
32205 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
32206
322072009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32208
32209 * Makefile.in (CLEANFILES): Add `po/*.mo'.
32210 (LINGUAS): New variable.
32211 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
32212 (install-local): Install MO files.
32213 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
32214 * include/grub/i18n.h: New file.
3bc7896c
RM
32215 * po/POTFILES: New file.
32216 * po/ca.po: New file.
769ae37b
RM
32217 * util/grub.d/10_linux.in (bindir): New variable.
32218 Add gettext initialization.
32219 (linux_entry): Make menuentry output translatable.
32220 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
32221 (usage): Make --help output translatable.
32222 (main): Initialize gettext.
32223
02c0a6ad
RM
322242009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32225
32226 * import_gcry.py: New file (written by Vladimir with minor
32227 adjustments).
32228 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
32229 ciphers.
32230 * INSTALL: Document that Python is required for bootstrap.
32231
322322009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32233
32234 Import ciphers from libgcrypt 1.4.4.
32235
32236 * lib/libgcrypt/cipher/ChangeLog
32237 * lib/libgcrypt/cipher/ac.c
32238 * lib/libgcrypt/cipher/arcfour.c
32239 * lib/libgcrypt/cipher/bithelp.h
32240 * lib/libgcrypt/cipher/blowfish.c
32241 * lib/libgcrypt/cipher/camellia-glue.c
32242 * lib/libgcrypt/cipher/camellia.c
32243 * lib/libgcrypt/cipher/camellia.h
32244 * lib/libgcrypt/cipher/cast5.c
32245 * lib/libgcrypt/cipher/cipher.c
32246 * lib/libgcrypt/cipher/crc.c
32247 * lib/libgcrypt/cipher/des.c
32248 * lib/libgcrypt/cipher/dsa.c
32249 * lib/libgcrypt/cipher/ecc.c
32250 * lib/libgcrypt/cipher/elgamal.c
32251 * lib/libgcrypt/cipher/hash-common.c
32252 * lib/libgcrypt/cipher/hash-common.h
32253 * lib/libgcrypt/cipher/hmac-tests.c
32254 * lib/libgcrypt/cipher/md.c
32255 * lib/libgcrypt/cipher/md4.c
32256 * lib/libgcrypt/cipher/md5.c
32257 * lib/libgcrypt/cipher/primegen.c
32258 * lib/libgcrypt/cipher/pubkey.c
32259 * lib/libgcrypt/cipher/rfc2268.c
32260 * lib/libgcrypt/cipher/rijndael-tables.h
32261 * lib/libgcrypt/cipher/rijndael.c
32262 * lib/libgcrypt/cipher/rmd.h
32263 * lib/libgcrypt/cipher/rmd160.c
32264 * lib/libgcrypt/cipher/rsa.c
32265 * lib/libgcrypt/cipher/seed.c
32266 * lib/libgcrypt/cipher/serpent.c
32267 * lib/libgcrypt/cipher/sha1.c
32268 * lib/libgcrypt/cipher/sha256.c
32269 * lib/libgcrypt/cipher/sha512.c
32270 * lib/libgcrypt/cipher/tiger.c
32271 * lib/libgcrypt/cipher/twofish.c
32272 * lib/libgcrypt/cipher/whirlpool.c
32273
af2f93ac
RM
322742009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32275
32276 Fix build for systems without error().
32277
32278 * gnulib/error.c: New file (imported from Gnulib).
32279 * gnulib/error.h: Likewise.
32280 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
32281 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
32282 (this variable is now used by error()).
32283
73fb3dd5
FZ
322842009-11-16 Felix Zielcke <fzielcke@z-51.de>
32285
814f5e96
FZ
32286 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
32287 instead of relying that char is signed.
73fb3dd5 32288
a691ca33
VS
322892009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
32290
32291 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
32292 blocksize different from specified.
32293 (grub_pxefs_read): Likewise.
32294
2af8f0f4
FZ
322952009-11-16 Felix Zielcke <fzielcke@z-51.de>
32296
32297 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
32298
32299 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
32300 (grub_ata_readwrite): Likewise. Update 2 format strings.
32301 (grub_atapi_read): Likewise.
32302
32303 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
32304 * conf/i386.rmk (pkglib_MODULES): ... to here ...
32305 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
32306 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
32307 (ata_mod_LDFLAGS): Move from here ...
32308 * conf/i386.rmk: ... to here ...
32309 * conf/x86_64-efi.rmk: ... and here.
32310 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
32311 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
32312
83bdecaf
RM
323132009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32314
32315 Relicense multiboot.h, with RMS' blessing.
32316
32317 * include/multiboot.h: Change to X11 license.
32318
fd6fd3d7
RM
323192009-11-15 Robert Millan <rmh.grub@aybabtu.com>
32320
32321 Support --version in grub-mkisofs.
32322
32323 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
32324 (OPTION_VERSION): New macro.
32325 (ld_options): Recognize --version.
32326 (usage): Move `program_name' from here ...
32327 (program_name): ... to here. Add `static' qualifier.
32328 (main): Recognize `OPTION_VERSION'.
32329
16a88c49
FZ
323302009-11-15 Felix Zielcke <fzielcke@z-51.de>
32331
32332 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
32333 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
32334
a4158476
RM
323352009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32336
32337 Fix help2man generation for mkisofs.
32338
32339 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
32340 (usage): Send output to stdout (rather than stderr).
32341
fc2208b0
RM
323422009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32343
32344 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
32345 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32346 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
32347 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32348 (bin_SCRIPTS): Add `grub-mkfloppy'.
32349 (grub_mkfloppy_SOURCES): New variable.
32350
32351 * util/grub-mkrescue.in: New file.
32352 * util/i386/pc/grub-mkfloppy.in: New file.
32353
32354 * util/i386/coreboot/grub-mkrescue.in: Remove.
32355 * util/i386/pc/grub-mkrescue.in: Remove.
32356
8d0edf4a
RM
323572009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32358
32359 * include/grub/multiboot.h (struct grub_multiboot_header): Move
32360 from here ...
32361 * include/multiboot.h (struct multiboot_header): ... to here. Update
32362 all users.
32363 * include/grub/multiboot.h (struct grub_multiboot_info): Move
32364 from here ...
32365 * include/multiboot.h (struct multiboot_info): ... to here. Update
32366 all users.
32367 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
32368 from here ...
32369 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
32370 Update all users.
32371 * include/grub/multiboot.h (struct grub_mod_list): Move
32372 from here ...
32373 * include/multiboot.h (struct multiboot_mod_list): ... to here.
32374 Update all users.
32375
a73f5969
RM
323762009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32377
32378 * include/multiboot2.h (multiboot_word): Rename from this ...
32379 (multiboot2_word): ... to this. Update all users.
32380 (multiboot_header): Rename from this ...
32381 (multiboot2_header): ... to this. Update all users.
32382 (multiboot_tag_header): Rename from this ...
32383 (multiboot2_tag_header): ... to this. Update all users.
32384 (multiboot_tag_start): Rename from this ...
32385 (multiboot2_tag_start): ... to this. Update all users.
32386 (multiboot_tag_name): Rename from this ...
32387 (multiboot2_tag_name): ... to this. Update all users.
32388 (multiboot_tag_module): Rename from this ...
32389 (multiboot2_tag_module): ... to this. Update all users.
32390 (multiboot_tag_memory): Rename from this ...
32391 (multiboot2_tag_memory): ... to this. Update all users.
32392 (multiboot_tag_unused): Rename from this ...
32393 (multiboot2_tag_unused): ... to this. Update all users.
32394 (multiboot_tag_end): Rename from this ...
32395 (multiboot2_tag_end): ... to this. Update all users.
32396
1c8927f0
RM
323972009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32398
32399 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
32400 this platform we should support Multiboot1 first.
32401
32402 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32403 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
32404 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
32405
6e1e0d89
RM
324062009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32407
32408 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
32409 of write calls (converting them to fwrite() if they aren't already).
32410 (get_torito_desc): Likewise.
32411 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
32412
7f2b34d8
RM
324132009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32414
32415 * util/i386/pc/grub-install.in: Move from here ...
32416 * util/grub-install.in: ... to here. Update all users.
32417
c0ef3311
CW
324182009-11-11 Colin Watson <cjwatson@ubuntu.com>
32419
32420 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
32421
e1f240ff
RM
324222009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32423
32424 Support for El Torito without floppy emulation.
32425
32426 * util/mkisofs/eltorito.c: Include `<errno.h>'.
32427 (init_boot_catalog): Improve error handling.
32428 (get_torito_desc): Don't use floppy emulation unless requested by
32429 user. Patch boot information table when requested via
32430 `-boot-info-table'.
32431 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
32432 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
32433 (use_boot_info_table): New variables.
32434 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
32435 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
32436 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
32437 `--eltorito-emul-floppy'.
32438 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
32439 and `OPTION_ELTORITO_EMUL_FLOPPY'.
32440 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
32441 (use_boot_info_table, get_731): New prototypes.
32442 * util/mkisofs/write.c (get_731): New function.
32443
af7d4de5
FZ
324442009-11-11 Felix Zielcke <fzielcke@z-51.de>
32445
32446 Fix the generation of the man page.
32447
32448 * util/pc/i386/grub-install.in: Source
32449 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32450
2c55dbc0
RM
324512009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32452
32453 Large file support for grub-mkisofs.
32454
32455 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
32456 * util/mkisofs/mkisofs.c (next_extent, last_extent)
32457 (session_start): Upgrade type to `uint64_t'. Update all users.
32458 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
32459 (struct directory_entry): Upgrade type of `starting_block' and
32460 `size' to `uint64_t'. Update all users.
32461 (struct deferred): Remove unused structure.
32462 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
32463 Update all users.
32464 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
32465 file is larger than `UINT32_MAX'.
32466 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
32467 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
32468 return value.
32469 (struct deferred_write): Upgrade type of `extent' and `size' to
32470 `uint64_t'. Update all users.
32471 (last_extent_written): Upgrade type to `uint64_t'. Update all
32472 users.
32473 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
32474 Update all users. Upgrade type of `remain' to `int64_t' and
32475 `use' to `size_t'. Use error() to handle fread() errors.
32476 (write_files): Rely on write_one_file() rather than calling
32477 xfwrite() directly.
32478
6a9cead5
FZ
324792009-11-09 Felix Zielcke <fzielcke@z-51.de>
32480
32481 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
32482
4825d790
RM
324832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32484
32485 * util/mkisofs/fnmatch.c: Remove.
32486 * util/mkisofs/getopt1.c: Likewise.
32487 * util/mkisofs/getopt.c: Likewise.
32488 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
32489 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
32490 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
32491 `gnulib/getopt1.c' and `gnulib/getopt.c'.
32492 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
32493
32494 * configure.ac: Detect `mingw32msvc' host_os.
32495 Check for lstat(), getuid() and getgid().
32496
32497 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
32498 instances of `u_char' with `uint8_t'.
32499
32500 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
32501 [!HAVE_GETUID] (getuid): New function (stub).
32502 [!HAVE_GETGID] (getgid): Likewise.
32503 [!HAVE_LSTAT] (lstat): Likewise.
32504 [!S_IROTH] (S_IROTH): New macro (dummy).
32505 [!S_IRGRP] (S_IRGRP): Likewise.
32506
84b860d8
RM
325072009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32508
32509 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
32510 conditional expression).
32511
66e9b712
RM
325122009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32513
32514 Import from Gnulib.
32515
32516 * gnulib/fnmatch.c: New file.
32517 * gnulib/fnmatch.h: Likewise.
32518 * gnulib/fnmatch_loop.c: Likewise.
32519 * gnulib/getopt.c: Likewise.
32520 * gnulib/getopt.h: Likewise.
32521 * gnulib/getopt1.c: Likewise.
32522 * gnulib/getopt_int.h: Likewise.
32523 * gnulib/gettext.h: Likewise.
32524
34f4a5b0
RM
325252009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32526
32527 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
32528 * normal/handler.c (read_handler_list): Likewise.
32529
ac451143
RM
325302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32531
32532 Misc cleanup.
32533
32534 * kern/command.c (grub_register_command_prio): Use
32535 grub_zalloc() instead of explicitly zeroing data.
32536 * kern/list.c: Include `<grub/mm.h>'.
32537 (grub_named_list_find): Replace `0' with `NULL'.
32538 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
32539 (fs_module_list): Change type to `grub_named_list_t'. Update all
32540 users.
32541 * normal/dyncmd.c (read_command_list): Add space between function
32542 call and parenthesis.
32543 * normal/handler.c (read_handler_list): Likewise.
32544
4089b167
RM
325452009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32546
32547 * normal/auth.c (punishment_delay): Moved from here ...
32548 (grub_auth_strcmp): ... to here (inside function).
32549
325f5037
RM
325502009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32551
32552 * include/grub/list.h (struct grub_named_list): Remove `const'
32553 qualifier from `name'.
32554 (struct grub_prio_list): Likewise.
32555
7aea29a3
RM
325562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32557
32558 * normal/auth.c: Include `<grub/time.h>'.
32559 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
32560
3fd6f044
RM
325612009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32562
32563 * normal/auth.c (punishment_delay): New variable.
32564 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
32565 (grub_auth_check_authentication): Punish failed login attempts with
32566 an incremental (2^N) delay.
32567
a4cd68e4
RM
325682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32569
32570 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
32571 path with $(srcdir).
32572
7ad12f43
VS
325732009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32574
32575 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
32576
c1129f03
RM
325772009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32578
32579 * util/i386/coreboot/grub-mkrescue.in: New file.
32580 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
32581 variables.
32582
32583 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
32584 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
32585 * configure.ac: Add header and function checks to satisfy grub-mkisofs
32586 requirements.
32587 * util/mkisofs/defaults.h: New file.
32588 * util/mkisofs/eltorito.c: Likewise.
32589 * util/mkisofs/exclude.h: Likewise.
32590 * util/mkisofs/fnmatch.c: Likewise.
32591 * util/mkisofs/getopt.c: Likewise.
32592 * util/mkisofs/getopt1.c: Likewise.
32593 * util/mkisofs/hash.c: Likewise.
32594 * util/mkisofs/include/fctldefs.h: Likewise.
32595 * util/mkisofs/include/mconfig.h: Likewise.
32596 * util/mkisofs/include/prototyp.h: Likewise.
32597 * util/mkisofs/include/statdefs.h: Likewise.
32598 * util/mkisofs/iso9660.h: Likewise.
32599 * util/mkisofs/joliet.c: Likewise.
32600 * util/mkisofs/match.c: Likewise.
32601 * util/mkisofs/match.h: Likewise.
32602 * util/mkisofs/mkisofs.c: Likewise.
32603 * util/mkisofs/mkisofs.h: Likewise.
32604 * util/mkisofs/multi.c: Likewise.
32605 * util/mkisofs/name.c: Likewise.
32606 * util/mkisofs/rock.c: Likewise.
32607 * util/mkisofs/tree.c: Likewise.
32608 * util/mkisofs/write.c: Likewise.
32609
ec8bb77d
VS
326102009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32611
32612 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
32613 being insecure.
32614
3716b12c
RM
326152009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32616
32617 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
32618 `grub-mkimage' (and use $0 when possible).
32619
b97b7b91
RM
326202009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32621
32622 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
32623 error message for excessively large memory map.
32624
04114812
RM
326252009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32626
32627 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
32628 executable bit.
32629
e4eb2373
RM
326302009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32631
32632 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
32633 message for coreboot users.
32634
c926e1d5 326352009-11-07 Robert Millan <rmh.grub@aybabtu.com>
32636
32637 Fix build with GNU gold.
32638
32639 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
32640 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
32641 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
32642 link addresses.
32643 * aclocal.m4: Likewise.
32644
86e5b1db 326452009-11-04 Felix Zielcke <fzielcke@z-51.de>
32646
32647 * configure.ac (AC_PREREQ): Bump to 2.59d.
32648 * INSTALL: Make it more clear when Autoconf and Ruby are
32649 needed and when to run `./autogen.sh'.
32650
246cd78f 326512009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
32652
32653 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
32654 OSes.
32655
4f9dfb37 326562009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32657
32658 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
32659
b82bd5e1 326602009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32661
32662 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
32663 giving it to GNU Mach.
32664
ff1a9bca 326652009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32666
32667 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
32668 GNU partition number to get internal GRUB partition number.
32669
61697d9c 326702009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32671
32672 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
32673 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
32674
a50569e1 326752009-11-01 Robert Millan <rmh.grub@aybabtu.com>
32676
32677 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
32678 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
32679 case.
32680
5b153867 326812009-11-01 Felix Zielcke <fzielcke@z-51.de>
32682
32683 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
32684
d9e2cd70 326852009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32686
32687 Fix build problem.
32688
32689 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
32690 `-isystem=$(srcdir)/include'.
32691
805111a4 326922009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32693
32694 * util/i386/pc/grub-install.in: Remove hint that device.map should be
32695 checked (grub-install doesn't currently rely on it).
32696
fa6e945f 326972009-10-29 Robert Millan <rmh.grub@aybabtu.com>
32698
32699 Revert SVN r2660.
32700
32701 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
32702 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32703 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
32704 * conf/i386-ieee1275.rmk: Likewise.
32705 * conf/i386-pc.rmk: Likewise.
32706 * conf/powerpc-ieee1275.rmk: Likewise.
32707 * conf/sparc64-ieee1275.rmk: Likewise.
32708 * conf/x86_64-efi.rmk: Likewise.
32709
cee15086 327102009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32711
32712 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
32713
95b9239e 327142009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32715
32716 * include/grub/misc.h: Stop checking for APPLE_CC.
32717
2ed19dfd 327182009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32719
32720 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
32721 doesn't cause an infinite call loop.
32722
fdcdde19 327232009-10-28 Felix Zielcke <fzielcke@z-51.de>
32724
32725 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
32726 strings.
32727
cefabfe1 327282009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32729
32730 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
32731 variable.
32732 * Makefile.in: Likewise.
32733
ed96ab6d 327342009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32735
32736 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
32737
0579b753 327382009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32739
32740 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
32741
478df409 327422009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32743
32744 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
32745
083d1679 327462009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32747
32748 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
32749 from here ...
32750 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
32751
5947ae32 327522009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32753
32754 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
32755 in $(MAKEINFO) invocation. This makes it clear in output that
32756 errors are being ignored.
32757
94180ff6 327582009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32759
32760 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
32761 from here ...
32762 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32763 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
32764 * conf/i386-ieee1275.rmk: Likewise.
32765 * conf/i386-pc.rmk: Likewise.
32766 * conf/powerpc-ieee1275.rmk: Likewise.
32767 * conf/sparc64-ieee1275.rmk: Likewise.
32768 * conf/x86_64-efi.rmk: Likewise.
32769
9031b03a 327702009-10-26 Colin Watson <cjwatson@ubuntu.com>
32771
32772 * util/grub-editenv.c (main): If only a command is given, use
32773 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
32774 (usage): FILENAME is now optional and has a default.
32775
e4f6809b 327762009-10-26 Colin Watson <cjwatson@ubuntu.com>
32777
32778 Improve grub-mkconfig performance when there are several menu
32779 entries on a single filesystem.
32780
32781 * util/grub.d/10_linux.in (linux_entry): Cache the output of
32782 prepare_grub_to_access_device.
32783 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32784 * util/grub.d/30_os-prober.in: Likewise.
32785
67937d4d 327862009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32787
32788 * util/grub.d/10_freebsd.in: Remove.
32789 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
32790 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
32791
ee3756cc 327922009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32793
5c35048e 32794 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 32795
4dea1c6f 327962009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32797
32798 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
32799 grub_util_error() call.
32800
042484d7 328012009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32802
32803 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
32804 `reserved_first_sector' member.
32805 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
32806 `reserved_first_sector' to 1.
32807 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
32808 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
32809 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
32810 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
32811 filesystems which begin at first sector.
32812 (options): New option --skip-fs-probe.
32813 (main): Handle --skip-fs-probe and pass it to setup().
32814
d64448a7 328152009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32816
32817 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
32818 (memset): Fix function prototype.
32819
508d42ec 328202009-10-25 Robert Millan <rmh.grub@aybabtu.com>
328212009-10-25 Vasily Averin <vvs@parallels.com>
32822
32823 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
32824 `dirent.direntlen == 0'.
32825
b240e30c 328262009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32827
32828 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
32829 `cpio'.
32830 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
32831
346e7fbe 328322009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32833
32834 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
32835 `__trampoline_setup' and `__ucmpdi2'.
32836 * include/grub/powerpc/libgcc.h: Only export symbols for functions
32837 that libgcc provides.
32838
cdb308b0 328392009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32840
32841 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
32842 * include/grub/sparc64/libgcc.h (memset): Likewise.
32843 * include/grub/misc.h (memset, memcmp): New function prototypes.
32844
fb26abc2 328452009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32846
32847 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
32848 `cpio'.
32849 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
32850
f6693890 328512009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32852
32853 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
32854 * docs/grub.cfg: Compensate for recent change in multiboot
32855 loader (since 2009-08-14 it won't pass filename to payload).
32856 * util/grub.d/10_hurd.in: Likewise.
32857
0933cdc0 328582009-10-21 Felix Zielcke <fzielcke@z-51.de>
32859
32860 * config.guess: Update to latest version from config git
32861 repository.
32862 * config.sub: Likewise.
32863
3b2fe8c2 328642009-10-20 Robert Millan <rmh.grub@aybabtu.com>
32865
32866 Fix build on sparc64.
32867
32868 * configure.ac: Perform checks for libgcc symbols before
32869 adding `-nostdlib' to LDFLAGS.
32870
46695a62 328712009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
32872
32873 Let user specify OpenBSD root device.
32874
32875 * loader/i386/bsd.c (openbsd_root): New variable.
32876 (openbsd_opts): New option 'root'.
32877 (OPENBSD_ROOT_ARG): New macro.
32878 (grub_openbsd_boot): Use 'openbsd_root'.
32879 (grub_cmd_openbsd): Fill 'openbsd_root'.
32880
d2b6b7fc 328812009-10-16 Robert Millan <rmh.grub@aybabtu.com>
32882
32883 * NEWS: Misc adjustments.
32884
421bd7ac 328852009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
32886
32887 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
32888
f1d29d87 328892009-10-16 Robert Millan <rmh.grub@aybabtu.com>
32890
32891 * configure.ac: Bump version to 1.97.
32892
6f3cd880 328932009-10-16 Colin Watson <cjwatson@ubuntu.com>
32894
32895 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
32896 -mno-3dnow on x86 architectures. Some toolchains enable these
32897 features by default, but they rely on registers that aren't enabled
32898 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
32899
035f7122 329002009-10-15 Robert Millan <rmh.grub@aybabtu.com>
32901
32902 Make entry text a bit more readable.
32903
32904 * util/grub.d/10_linux.in: Add `with' before `Linux'.
32905
44998e58 329062009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32907
32908 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
32909
cd2851b3 329102009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32911
32912 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
32913 operations.
32914
c6f3b249 329152009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32916
32917 * configure.ac: Add missing dollar.
32918
6b5886ba 329192009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32920
32921 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
32922
32923 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
32924 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
32925 exports.
32926 * include/grub/sparc64/libgcc.h: Likewise. Use
32927 preprocessor conditionals.
32928
e9d66f6d 329292009-10-14 Robert Millan <rmh.grub@aybabtu.com>
32930
32931 * conf/common.rmk (grub-dumpbios): Remove rule.
32932 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
32933 * util/grub-dumpbios.in: Remove file.
32934
9155bc17 329352009-10-14 Robert Millan <rmh.grub@aybabtu.com>
32936
32937 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
32938 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
32939
32940 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
32941 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
32942 users.
32943
32944 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
32945 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
32946 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
32947 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
32948 users.
32949
bf7f7a18 329502009-10-12 Robert Millan <rmh.grub@aybabtu.com>
32951
32952 * term/tparm.c: Switch to GPLv3.
32953
86564c26 329542009-10-09 Robert Millan <rmh.grub@aybabtu.com>
32955
32956 * include/grub/i386/cpuid.h: Add header protection.
32957
5c936493 329582009-10-09 Robert Millan <rmh.grub@aybabtu.com>
32959
32960 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
32961
32962 * include/grub/i386/cpuid.h: New file.
32963 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
32964 (has_longmode): Rename to ...
32965 (grub_cpuid_has_longmode): ... this. Update all users. Remove
32966 `static' attribute.
32967 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
32968 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
32969 on a CPU that doesn't implement AMD64 instruction set.
32970
186e7cf2 329712009-10-06 Colin Watson <cjwatson@ubuntu.com>
32972
32973 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
32974 that version.texi is rebuilt on version number changes.
32975
83b65c4a 329762009-10-06 Colin Watson <cjwatson@ubuntu.com>
32977
32978 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
32979 Fixes bug #27602.
32980
d244281c 329812009-10-06 Colin Watson <cjwatson@ubuntu.com>
32982
32983 * util/i386/pc/grub-install.in: Source
32984 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
32985 that the --grub-probe option will work.
32986 * util/sparc64/ieee1275/grub-install.in: Likewise.
32987
da25306d 329882009-10-05 Robert Millan <rmh.grub@aybabtu.com>
32989
32990 * configure.ac: Bump version to 1.97~beta4.
32991
e8ee83c0 329922009-10-03 Robert Millan <rmh.grub@aybabtu.com>
32993
32994 Resync grub-mkdevicemap in x86_64-efi.
32995
32996 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
32997 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
32998 `util/devicemap.c'.
32999
50dcabcf 330002009-10-01 Colin Watson <cjwatson@ubuntu.com>
33001
33002 * util/grub-editenv.c (create_envblk_file): Write new block with a
33003 .new suffix and then rename it into place, to ensure atomic
33004 creation.
33005
0e51c3a7 330062009-09-28 Robert Millan <rmh.grub@aybabtu.com>
33007
33008 Do not automatically install headers.
33009
33010 * Makefile.in (include_DATA): Remove. Update all users.
33011
31299a95 330122009-09-26 Robert Millan <rmh.grub@aybabtu.com>
33013
33014 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
33015 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
33016
33017 * util/osdetect.lua: Remove.
33018 * script/lua/lauxlib.c: Likewise.
33019 * script/lua/ldebug.c: Likewise.
33020 * script/lua/grub_main.c: Likewise.
33021 * script/lua/lauxlib.h: Likewise.
33022 * script/lua/ldebug.h: Likewise.
33023 * script/lua/ltablib.c: Likewise.
33024 * script/lua/liolib.c: Likewise.
33025 * script/lua/lstrlib.c: Likewise.
33026 * script/lua/lualib.h: Likewise.
33027 * script/lua/ldo.c: Likewise.
33028 * script/lua/ldump.c: Likewise.
33029 * script/lua/ldo.h: Likewise.
33030 * script/lua/loslib.c: Likewise.
33031 * script/lua/lundump.c: Likewise.
33032 * script/lua/grub_lib.c: Likewise.
33033 * script/lua/ldblib.c: Likewise.
33034 * script/lua/lundump.h: Likewise.
33035 * script/lua/lmem.c: Likewise.
33036 * script/lua/grub_lib.h: Likewise.
33037 * script/lua/lmathlib.c: Likewise.
33038 * script/lua/lstate.c: Likewise.
33039 * script/lua/ltm.c: Likewise.
33040 * script/lua/lvm.c: Likewise.
33041 * script/lua/lmem.h: Likewise.
33042 * script/lua/lstate.h: Likewise.
33043 * script/lua/ltm.h: Likewise.
33044 * script/lua/ltable.c: Likewise.
33045 * script/lua/lvm.h: Likewise.
33046 * script/lua/llex.c: Likewise.
33047 * script/lua/lgc.c: Likewise.
33048 * script/lua/grub_lua.h: Likewise.
33049 * script/lua/loadlib.c: Likewise.
33050 * script/lua/lfunc.c: Likewise.
33051 * script/lua/lopcodes.c: Likewise.
33052 * script/lua/lparser.c: Likewise.
33053 * script/lua/ltable.h: Likewise.
33054 * script/lua/llex.h: Likewise.
33055 * script/lua/lgc.h: Likewise.
33056 * script/lua/lfunc.h: Likewise.
33057 * script/lua/lbaselib.c: Likewise.
33058 * script/lua/lopcodes.h: Likewise.
33059 * script/lua/lparser.h: Likewise.
33060 * script/lua/lzio.c: Likewise.
33061 * script/lua/linit.c: Likewise.
33062 * script/lua/lobject.c: Likewise.
33063 * script/lua/llimits.h: Likewise.
33064 * script/lua/lstring.c: Likewise.
33065 * script/lua/lzio.h: Likewise.
33066 * script/lua/lapi.c: Likewise.
33067 * script/lua/lcode.c: Likewise.
33068 * script/lua/lua.h: Likewise.
33069 * script/lua/lobject.h: Likewise.
33070 * script/lua/lstring.h: Likewise.
33071 * script/lua/lapi.h: Likewise.
33072 * script/lua/lcode.h: Likewise.
33073 * script/lua/luaconf.h: Likewise.
33074
cb8a2c38 330752009-09-26 Colin Watson <cjwatson@ubuntu.com>
33076
33077 * docs/grub.texi (Command-line and menu entry commands): Document
33078 date and echo commands.
33079
6b9b6276 330802009-09-24 Pavel Roskin <proski@gnu.org>
33081
33082 * include/grub/kernel.h (struct grub_module_header): Remove
33083 `grub_module_header_types'. Make `type' unsigned. Make `size'
33084 32-bit on all platforms.
33085 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
33086 8-bit field. Use grub_host_to_target32() for `size'.
33087 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
33088 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
33089 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
33090
4e5a02a7 330912009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33092
33093 Fix "lost keypress" bug in at_keyboard.
33094
33095 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
33096 Checks for readyness of input buffer (without flushing it).
33097 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
33098 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
33099
c6dcedf6 331002009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33101
33102 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
33103 size check within GRUB_MACHINE_PCBIOS section.
33104
74c958b1 331052009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33106
33107 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
33108 return value.
33109 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
33110 KEYBOARD_ISREADY check.
33111 (grub_at_keyboard_checkkey): Rename to ...
33112 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
33113 Remove gratuitous cast.
33114
ff420223 331152009-09-23 Colin Watson <cjwatson@ubuntu.com>
33116
33117 * configure.ac: Call AC_PROG_MKDIR_P.
33118 * Makefile.in (docs/stamp-vti): Create docs directory. Create
33119 version.texi in $(builddir) rather than $(srcdir).
33120 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
33121 to makeinfo's @include search path.
33122
d96875df 331232009-09-23 Felix Zielcke <fzielcke@z-51.de>
33124
33125 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
33126
9b3f8365 331272009-09-23 Felix Zielcke <fzielcke@z-51.de>
33128
33129 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
33130 for `*.dpkg-new'.
33131
c44c90db 331322009-09-21 Colin Watson <cjwatson@ubuntu.com>
33133
33134 Build info documentation. Some code borrowed from Automake.
33135
33136 * configure.ac: Check for makeinfo.
33137 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
33138 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
33139 docs/version.texi.
33140 (MOSTLYCLEANFILES): Add vti.tmp.
33141 (docs/version.texi, docs/stamp-vti): Update automatically.
33142 (docs/grub.info): Build info documentation. Use --force and ignore
33143 errors for now.
33144 (all-local): Add $(INFOS).
33145 (install-local): Install info files.
33146 (uninstall): Uninstall info files.
33147 * docs/version.texi: Remove from revision control. This file is
33148 automatically generated on build now.
33149 * gendistlist.sh: Add `*.info'.
33150
e0b37bb5 331512009-09-21 Felix Zielcke <fzielcke@z-51.de>
33152
33153 * kern/term.c: Fix indentation.
33154
5a78865b 331552009-09-21 Felix Zielcke <fzielcke@z-51.de>
33156
33157 * util/hostdisk.c: Fix a comment.
33158
dace7e8a 331592009-09-20 Robert Millan <rmh.grub@aybabtu.com>
33160
33161 Fix regression introduced in r2539.
33162
33163 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
33164 to 0xA1.
33165
a83d079b 331662009-09-19 Colin Watson <cjwatson@ubuntu.com>
33167
33168 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 33169 os-prober. Under normal operation, it does not print anything to
33170 stderr; if it does, we need to debug it, and throwing away stderr
33171 makes that excessively difficult.
a83d079b 33172
be94a509 331732009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
33174
33175 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
33176
63f745e8 331772009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33178
33179 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
33180 AC_LANG_PROGRAM from autoconf.
33181 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
33182 prototypes (fixes warning).
33183
33184 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
33185 `--disable-werror' was used.
33186
bbb2a70f 331872009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33188
33189 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
33190 uninitialized `lastaddr'.
33191
77c24f1d 331922009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
33193
0f0b8c87 33194 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 33195
07197f23 331962009-09-14 Colin Watson <cjwatson@ubuntu.com>
33197
33198 * commands/test.c (get_fileinfo): Return immediately if
33199 grub_fs_probe fails.
33200
dabf1798 332012009-09-14 José Martínez <xosemp@gmail.com>
33202
33203 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
33204
d52109a7 332052009-09-14 Colin Watson <cjwatson@ubuntu.com>
33206
33207 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
33208 output.
33209
56532179 332102009-09-13 Robert Millan <rmh.grub@aybabtu.com>
33211
33212 * configure.ac: Remove --enable-grub-pe2elf. Only build
33213 grub-pe2elf when needed by the build system itself.
33214 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
33215
8ef070f5 332162009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33217
33218 * configure.ac: Bump version to 1.97~beta3.
33219 * docs/version.texi: Likewise.
33220
61229557 332212009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33222
33223 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
33224 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
33225 from here ...
33226 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
33227 (grub_linux_setup_video): ... to here (with some adjustments).
33228
5c9f8d84 332292009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33230
33231 Fix memory corruption issue (spotted by Colin Watson).
33232
33233 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
33234 causing returned size to be stored in an incorrect memory location.
33235 Fix use of uninitialized value when storing the returned size.
33236
e8f5d6e9 332372009-09-12 Yves Blusseau <blusseau@zetam.org>
33238
33239 Change clean rules to properly remove files
33240
33241 * genmk.rb: add new clean rules
33242 * Makefile.in (clean): add the new targets
33243 (mostlyclean): likewise
33244
cda2a409 332452009-09-11 Colin Watson <cjwatson@ubuntu.com>
33246
33247 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
33248 to grub_uint64_t.
33249 * fs/ntfs.c (init_file): Understand 64-bit sizes for
33250 non-resident files.
33251
86695375 332522009-09-11 Colin Watson <cjwatson@ubuntu.com>
33253
33254 * configure.ac: Don't look for help2man when cross-compiling. Fixes
33255 part of bug #27349.
33256
8aa1541a 332572009-09-10 Felix Zielcke <fzielcke@z-51.de>
33258
33259 * util/grub-mkconfig.in: Make the created config mode 400 and
33260 print a warning if it fails.
33261
48d9bb0a 332622009-09-10 Robert Millan <rmh.grub@aybabtu.com>
33263
33264 * util/grub.d/40_custom.in: Ask user to type custom entries below
33265 comment, rather than below 'exec tail' line.
33266
3b0521be 332672009-09-10 Colin Watson <cjwatson@ubuntu.com>
33268
33269 * util/grub.d/40_custom.in: Make sure that the explanatory text is
33270 visible in grub.cfg.
33271
50051d55 332722009-09-10 Colin Watson <cjwatson@ubuntu.com>
33273
33274 * util/grub.d/40_custom.in: Make it a little clearer how to use this
33275 file.
33276
c0d34387 332772009-09-10 Felix Zielcke <fzielcke@z-51.de>
33278
33279 * docs/grub.cfg: Add an example menu entry for memtest86+.
33280
80a608f3 332812009-09-09 Felix Zielcke <fzielcke@z-51.de>
33282
a2094832 33283 * config.guess: Update to latest version from config git.
80a608f3 33284 * config.sub: Likewise.
33285
99423078 332862009-09-08 Colin Watson <cjwatson@ubuntu.com>
33287
33288 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
33289 unknown-command case. Fixes bug #27320.
33290
44454e4c 332912009-09-08 Felix Zielcke <fzielcke@z-51.de>
33292
33293 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
33294 `help' if the command exists.
33295
e30d87ad 332962009-09-06 Robert Millan <rmh.grub@aybabtu.com>
33297
33298 * INSTALL: Require GCC 4.1.3 or later.
33299
9a86f1ec 333002009-09-06 Yves Blusseau <blusseau@zetam.org>
33301
33302 * Makefile.in (RMKFILES): add i386-qemu.rmk
33303 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
33304 $(srcdir)/stamp-h.in
33305
7f26d466 333062009-09-05 Robert Millan <rmh.grub@aybabtu.com>
33307
33308 * util/grub-probe.c (probe): Comment out buggy codepath, which
33309 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
33310 should be re-enabled after 1.97.
33311
3a613259 333122009-09-05 Felix Zielcke <fzielcke@z-51.de>
33313
33314 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
33315 find searches for.
33316
197f76c7 333172009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
33318
33319 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
33320 unnecessary calls to grub_error.
33321
70ba68ce 333222009-09-04 Colin Watson <cjwatson@ubuntu.com>
33323
33324 * NEWS: Mention `keystatus' and Unicode fonts.
33325
4ff0d7a4 333262009-09-04 Robert Millan <rmh.grub@aybabtu.com>
33327
33328 * configure.ac: Bump version to 1.97~beta2.
33329 * docs/version.texi: Likewise.
33330
77c55a87 333312009-09-03 Colin Watson <cjwatson@ubuntu.com>
33332
33333 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
33334 containing unwind information in some cases where it previously did
33335 not. Use -fno-dwarf2-cfi-asm if available to restore the old
33336 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
33337 discussion.
33338
f79572cd 333392009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
33340
33341 Embedding loadenv module into grub-emu
33342
33343 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
33344 commands/loadenv.c
33345 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
33346 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
33347 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
33348 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
33349 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
33350 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
33351
93a81088 333522009-09-03 Magnus Granberg <zorry@ume.nu>
33353
33354 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
33355 include -fPIE in the default specs.
33356 * configure.ac: Check if pie_possible is yes and add -fno-PIE
33357 to TARGET_CFLAGS.
33358
160034b2 333592009-09-03 Felix Zielcke <fzielcke@z-51.de>
33360
33361 * INSTALL: Note that GNU Bison 2.3 or later is required.
33362
087c07c4 333632009-09-03 Colin Watson <cjwatson@ubuntu.com>
33364
33365 * kern/i386/pc/startup.S: Fix typo.
33366
cbf978c0 333672009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
33368
33369 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
33370 according to GCS.
33371
333722009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 33373
33374 * docs/grub.texi (Naming convention): Describe one-based partition
33375 numbering.
33376 (Device syntax): Likewise.
33377 (File name syntax): Likewise.
33378 (Block list syntax): Likewise.
33379 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
33380 menu.lst.
33381 (File name syntax): Likewise.
33382 (Command-line and menu entry commands): Document acpi, blocklist,
33383 crc, export, insmod, keystatus, ls, set, and unset commands.
33384
f3e8cdfd 333852009-09-02 Colin Watson <cjwatson@ubuntu.com>
33386
33387 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
33388 to avoid implying that only one of --shift, --ctrl, or --alt may be
33389 used.
33390
c0bc232b 333912009-09-02 Colin Watson <cjwatson@ubuntu.com>
33392
33393 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
33394 rather than comparing against S_IFREG, which will almost never work.
33395
aa0f752d 333962009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
33397
33398 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
33399 (write_blocklists): Likewise.
33400
ecb3166a 334012009-09-01 Colin Watson <cjwatson@ubuntu.com>
33402
33403 * script/lua/grub_lua.h (fputs): Supply a format string as the first
33404 argument to grub_printf.
33405
c403a125 334062009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 33407
33408 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 33409 non GNU test.
31aba781 33410
b5e7312c 334112009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33412
33413 * kern/file.c (grub_file_read): Spelling fix
33414
fe00f472 334152009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33416
33417 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
33418 loading of headers in some cases.
33419
cc55302e 334202009-08-30 Robert Millan <rmh.grub@aybabtu.com>
33421
33422 * configure.ac: Bump version to 1.97~beta1.
33423 * docs/version.texi: Likewise.
33424
5c90cdd2 334252009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 33426
33427 * include/grub/i386/xnu.h: Add license header.
33428 include grub/err.h explicitly.
33429
c90edae4 334302009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33431
33432 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
33433 to `ufs' in the vfs.root.mountfrom kernel parameter.
33434
d8888b5c 334352009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33436
33437 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
33438
33439 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
33440 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
33441
33442 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
33443 `ARRAY_SIZE' macro.
33444
6f07b921 334452009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33446
33447 * kern/file.c (grub_file_read): Check offset.
33448 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
33449 * fs/jfs.c (grub_jfs_read_file): Likewise.
33450 * fs/ntfs.c (grub_ntfs_read): Likewise.
33451 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
33452 * fs/minix.c (grub_minix_read_file): Correct offset check.
33453 * fs/ufs.c (grub_ufs_read_file): Likewise.
33454
b4f34077 334552009-08-28 Colin Watson <cjwatson@ubuntu.com>
33456
33457 * term/i386/pc/console.c (bios_data_area): Cast
33458 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
33459
e7c69859 334602009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33461
33462 1-bit optimised blitters.
33463
33464 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
33465 prototype.
33466 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33467 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33468 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33469 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33470 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33471 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33472 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
33473 function.
33474 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33475 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33476 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33477 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33478 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33479 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33480 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
33481 when possible.
33482 * video/video.c (grub_video_get_blit_format): Return
33483 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
33484
a57da43f 334852009-08-28 Colin Watson <cjwatson@ubuntu.com>
33486
33487 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
33488 the first argument to grub_printf.
33489
4cbe67e5 334902009-08-28 Colin Watson <cjwatson@ubuntu.com>
334912009-08-28 Robert Millan <rmh.grub@aybabtu.com>
33492
33493 Add `getkeystatus' terminal method. Add a new `keystatus' command
33494 to query it.
33495
33496 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
33497 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
33498 modifier key bitmasks.
33499 (struct grub_term_input): Add `getkeystatus' member.
33500 (grub_getkeystatus): Add prototype.
33501 * kern/term.c (grub_getkeystatus): New function.
33502
33503 * include/grub/i386/pc/memory.h
33504 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
33505 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
33506 Data Area layout.
33507 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
33508 (grub_console_term_input): Set `getkeystatus' member.
33509 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
33510 constants.
33511 (grub_usb_keyboard_getreport): Likewise.
33512 (grub_usb_keyboard_checkkey): Likewise.
33513 (grub_usb_keyboard_getkeystatus): New function.
33514 (grub_usb_keyboard_term): Set `getkeystatus' member.
33515
33516 * commands/keystatus.c: New file.
33517 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
33518 (keystatus_mod_SOURCES): New variable.
33519 (keystatus_mod_CFLAGS): Likewise.
33520 (keystatus_mod_LDFLAGS): Likewise.
33521 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
33522 commands/keystatus.c.
33523 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33524 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33525 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33526 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33527 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33528 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 33529
6e2a9085 335302009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33531
33532 Split befs.mod and afs.mod into *_be.mod and *.mod
33533
33534 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
33535 (grub_fstest_SOURCES): Likewise.
33536 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
33537 (afs_be_mod_SOURCES): New variable.
33538 (afs_be_mod_CFLAGS): Likewise.
33539 (afs_be_mod_LDFLAGS): Likewise.
33540 (befs_be_mod_SOURCES): Likewise.
33541 (befs_be_mod_CFLAGS): Likewise.
33542 (befs_be_mod_LDFLAGS): Likewise.
33543 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
33544 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33545 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33546 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33547 (grub_emu_SOURCES): Likewise.
33548 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33549 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33550 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33551 * fs/afs_be.c: New file.
33552 * fs/befs_be.c: New file.
33553 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
33554 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
33555 (U16): Replaced with ...
33556 (grub_afs_to_cpu16): ...this. All users updated.
33557 (U32): Replaced with ...
33558 (grub_afs_to_cpu32): ...this. All users updated.
33559 (U64): Replaced with ...
33560 (grub_afs_to_cpu64): ...this. All users updated.
33561 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
33562 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 33563 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 33564 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33565 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33566 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33567 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33568 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33569 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33570 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33571 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33572
32a71655 335732009-08-26 Bean <bean123ch@gmail.com>
33574
33575 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
33576 64-bit number.
33577 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
33578 (grub_xfs_inode_block): Change return type to grub_uint64_t.
33579 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
33580
552bf6c5 335812009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33582
33583 NetBSD memory map support.
33584
33585 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
33586 (grub_netbsd_btinfo_mmap_header): New structure.
33587 (grub_netbsd_btinfo_mmap_entry): Likewise.
33588 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
33589
1ae2078c 335902009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33591
33592 Enable bsd.mod on coreboot.
33593
33594 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
33595 (bsd_mod_SOURCES): New variable.
33596 (bsd_mod_CFLAGS): Likewise.
33597 (bsd_mod_LDFLAGS): Likewise.
33598 (bsd_mod_ASFLAGS): Likewise.
33599 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
33600 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
33601
beefc598 336022009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33603
33604 Cleanup NetBSD root support.
33605
33606 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
33607 grub_bsd_get_device.
33608 Fix typo.
33609
3b76e68b 336102009-08-25 Felix Zielcke <fzielcke@z-51.de>
33611
33612 * util/grub.d/00_header.in: Move check for the video backend of
33613 gfxterm from here ...
33614 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
33615 a suitable video backend.
33616
aea664ea 336172009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33618
33619 Fix breakage in grub-setup.
33620
33621 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
33622 "msdos_partition_map".
33623
ff747d50 336242009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33625
33626 Fix breakage in normal/auth.c.
33627
33628 * normal/auth.c (grub_iswordseparator): New function.
33629
e7e1f93f 336302009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33631
33632 Authentication support.
33633
33634 * commands/password.c: New file.
33635 * conf/common.rmk (pkglib_MODULES): Add password.mod.
33636 (password_mod_SOURCES): New variable.
33637 (password_mod_CFLAGS): Likewise.
33638 (password_mod_LDFLAGS): Likewise.
33639 (normal_mod_SOURCES): Add normal/auth.c.
33640 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
33641 normal/auth.c.
33642 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33643 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33644 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33645 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33646 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33647 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33648 * include/grub/auth.h: New file.
33649 * include/grub/err.h (grub_err_t): New enum value
33650 GRUB_ERR_ACCESS_DENIED.
33651 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
33652 'users'.
33653 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
33654 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
33655 users updated.
33656 * normal/auth.c: New file.
33657 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
33658 (grub_cmdline_run): Don't allow to go to command line without
33659 authentication.
33660 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
33661 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
33662 menuentry without superuser rights.
33663 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
33664 user isn't a superuser.
33665
70f1161d 336662009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33667
33668 Save space by inlining misc.c functions.
33669
33670 * kern/misc.c (grub_iswordseparator): Made static.
33671 * kern/misc.c (grub_strcat): Moved from here ...
33672 * include/grub/misc.h (grub_strcat): ... here. Inlined.
33673 * kern/misc.c (grub_strncat): Moved from here ...
33674 * include/grub/misc.h (grub_strncat): ... here. Inlined.
33675 * kern/misc.c (grub_strcasecmp): Moved from here ...
33676 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
33677 * kern/misc.c (grub_strncasecmp): Moved from here ...
33678 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
33679 * kern/misc.c (grub_isalpha): Moved from here ...
33680 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
33681 * kern/misc.c (grub_isdigit): Moved from here ...
33682 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
33683 * kern/misc.c (grub_isgraph): Moved from here ...
33684 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
33685 * kern/misc.c (grub_tolower): Moved from here ...
33686 * include/grub/misc.h (grub_tolower): ... here. Inlined.
33687
48e40bff 336882009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33689
33690 * script/sh/function.c (grub_script_function_find): Cut error message
33691 not to flood terminal.
33692 * script/sh/lexer.c (grub_script_yylex): Remove command line length
33693 limit.
33694 * script/sh/script.c (grub_script_arg_add): Duplicate string.
33695
c385bfc3 336962009-08-24 Colin Watson <cjwatson@ubuntu.com>
33697
33698 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
33699 `report' grub_uint8_t *.
33700 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
33701 Use a 50-millisecond timeout rather than just repeating
33702 grub_usb_keyboard_getreport 50 times.
33703 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
33704
2d21e3e8 337052009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33706
33707 Rename *_partition_map to part_*
33708
33709 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
33710 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
33711 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
33712 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
33713 All users updated.
33714 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
33715 All users updated.
33716 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
33717 * util/grub-probe.c (probe_partmap): Don't transform partition name
33718 to get module name.
33719
dd103c4e 337202009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33721
33722 Fix OpenBSD and NetBSD support.
33723
33724 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
33725 memory address conflict.
33726 (OPENBSD_MMAP_ACPI): New definition.
33727 (OPENBSD_MMAP_NVS): Likewise.
33728 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
33729 and OPENBSD_MMAP_NVS.
33730 Add memory map terminator
33731 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 33732 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 33733
16c84d74 337342009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33735
33736 Let user specify NetBSD root device.
33737
33738 * loader/i386/bsd.c (netbsd_root): New variable.
33739 (netbsd_opts): New option 'root'.
33740 (NETBSD_ROOT_ARG): New macro.
33741 (grub_netbsd_boot): Use 'netbsd_root'.
33742 (grub_bsd_unload): Free 'netbsd_root'.
33743 (grub_cmd_netbsd): Fill 'netbsd_root'.
33744
adb29902 337452009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33746
33747 Support for 64-bit NetBSD.
33748
33749 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
33750 point when booting non-FreeBSD.
33751
f5ae9f74 337522009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33753
33754 Support --no-smp and --no-acpi for NetBSD.
33755
33756 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
33757 (NETBSD_AB_NOACPI): Likewise.
33758 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
33759 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
33760
de74f136 337612009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33762
33763 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
33764 errors.
33765 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
33766 errors. Call grub_error when needed.
33767
e9a925da 337682009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33769
33770 * commands/search.c (search_fs): Try searching without autoload first.
33771 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
33772 filesystem module explicitly for faster booting.
33773
5174302b 337742009-08-23 Colin Watson <cjwatson@ubuntu.com>
33775
33776 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
33777
c8c80635 337782009-08-23 Colin Watson <cjwatson@ubuntu.com>
33779
33780 * util/grub.d/30_os-prober.in: Disable os-prober if
33781 `GRUB_DISABLE_OS_PROBER' was set to true.
33782
71acf5e5 337832009-08-23 Robert Millan <rmh.grub@aybabtu.com>
33784
33785 * partmap/pc.c: Rename to ...
33786 * partmap/msdos.c: ... this. Update all users.
33787 (grub_pc_partition_map): Rename to ...
33788 (grub_msdos_partition_map): ... this. Update all users.
33789
33790 * parttool/pcpart.c: Rename to ...
33791 * parttool/msdospart.c: ... this. Update all users.
33792
33793 * include/grub/pc_partition.h: Rename to ...
33794 * include/grub/msdos_partition.h: ... this. Update all users.
33795 (grub_pc_partition_bsd_entry): Rename to ...
33796 (grub_msdos_partition_bsd_entry): ... this. Update all users.
33797 (grub_pc_partition_disk_label): Rename to ...
33798 (grub_msdos_partition_disk_label): ... this. Update all users.
33799 (grub_pc_partition_entry): Rename to ...
33800 (grub_msdos_partition_entry): ... this. Update all users.
33801 (grub_pc_partition_mbr): Rename to ...
33802 (grub_msdos_partition_mbr): ... this. Update all users.
33803 (grub_pc_partition): Rename to ...
33804 (grub_msdos_partition): ... this. Update all users.
33805 (grub_pc_partition_is_empty): Rename to ...
33806 (grub_msdos_partition_is_empty): ... this. Update all users.
33807 (grub_pc_partition_is_extended): Rename to ...
33808 (grub_msdos_partition_is_extended): ... this. Update all users.
33809 (grub_pc_partition_is_bsd): Rename to ...
33810 (grub_msdos_partition_is_bsd): ... this. Update all users.
33811
33812 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
33813 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
33814 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
33815 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
33816 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
33817 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
33818 (gpt_mod_LDFLAGS): Rename to ...
33819 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
33820 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
33821 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
33822 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
33823 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
33824 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
33825 (part_gpt_mod_LDFLAGS): ... this.
33826 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
33827 `pcpart.mod' to `msdospart.mod'.
33828 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
33829 to ...
33830 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
33831 (msdospart_mod_LDFLAGS): ... this.
33832
c11fded5 338332009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33834
33835 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
33836 (openbsd_opts): Likewise.
33837 (netbsd_opts): Likewise.
33838 (freebsd_flags): Added 0 terminator.
33839 (openbsd_flags): Likewise.
33840 (netbsd_flags): Likewise.
33841 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
33842 (grub_cmd_freebsd): Transformed into extended command.
33843 (grub_cmd_openbsd): Likewise.
33844 (grub_cmd_netbsd): Likewise.
33845 (cmd_freebsd): Changed type to grub_extcmd_t.
33846 (cmd_openbsd): Likewise.
33847 (cmd_netbsd): Likewise.
33848 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
33849 grub_cmd_openbsd as extended commands.
33850 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
33851 cmd_netbsd and cmd_openbsd
33852
11d1c769 338532009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
33854
33855 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
33856
7a9094e5 338572009-08-21 Pavel Roskin <proski@gnu.org>
33858
5496c37e 33859 * Makefile.in (install-local): When checking if a file is in the
33860 build directory, use "test -e" to detect symlinks.
33861
7a9094e5 33862 * Makefile.in (install-local): Remove all files in
33863 $(DESTDIR)$(pkglibdir) before installing new files there.
33864
e53cea11 338652009-08-18 Felix Zielcke <fzielcke@z-51.de>
33866
33867 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
33868 grub-mkelfimage.
33869
9aced544 338702009-08-18 Felix Zielcke <fzielcke@z-51.de>
33871
33872 * util/grub-mkconfig.in: Don't use gfxterm by default if not
33873 explicitly specified by the user.
33874
b7da6bab 338752009-08-18 Pavel Roskin <proski@gnu.org>
33876
33877 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
33878 grub_uint8_t pointer for data.
33879 * include/grub/fbutil.h (struct grub_video_fbblit_info):
33880 Likewise.
33881 * video/fb/fbutil.c: Remove unnecessary casts.
33882
19f1b335 338832009-08-17 Michal Suchanek <hramrach@centrum.cz>
33884
33885 VBE cleanup.
33886
33887 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
33888 (grub_vbe_set_video_mode): Save active mode info
33889 only after setting the mode.
33890 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
33891 second argument.
33892
2f467aa9 338932009-08-17 Michal Suchanek <hramrach@centrum.cz>
33894
33895 Rename variables for clarity.
33896
33897 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
33898 (active_vbe_mode_info): ... this. All users updated.
33899 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
33900 All users updated.
33901 (initial_mode): Rename to ...
33902 (initial_vbe_mode): ... this. All users updated.
33903 (mode_in_use): Rename to ..
33904 (vbe_mode_in_use): ... this. All users updated.
33905 (mode_list): Rename to ..
33906 (vbe_mode_list): ... this. All users updated.
33907 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
33908 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
33909 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
33910 'mode_list_size' to 'vbe_mode_list_size'.
33911 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
33912 'best_mode_info' to 'best_vbe_mode_info' and
33913 'best_mode' to 'best_vbe_mode'
33914
6025fcd7 339152009-08-17 Michal Suchanek <hramrach@centrum.cz>
33916
33917 Remove duplicate grub_video_fb_get_video_ptr.
33918
33919 * include/grub/fbutil.h (get_data_ptr): Rename to ...
33920 (grub_video_fb_get_video_ptr): ... this.
33921 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
33922 * video/fb/fbutil.c: Add comment about addressing.
33923 (get_data_ptr): Rename to ...
33924 (grub_video_fb_get_video_ptr): ... this. All users updated.
33925 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
33926
cc8c6faf 339272009-08-17 Robert Millan <rmh.grub@aybabtu.com>
33928
33929 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
33930 grub_dprintf() that was just added.
33931
08aa61f0 339322009-08-17 Robert Millan <rmh.grub@aybabtu.com>
33933
33934 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
33935 (DEFAULT_VIDEO_MODE): Remove macros.
33936 (grub_linux_boot): Remove assumption that Linux has FB support,
33937 and use "text" as default video mode.
33938
7cef4f75 339392009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
33940
33941 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
33942 grub_dprintf.
33943 * fs/fat.c (grub_fat_read_data): Likewise.
33944
e1f39873 339452009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33946
33947 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
33948 payload.
33949 (grub_module): Likewise.
33950
c166d79e 339512009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33952
33953 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
33954 mbi->cmdline but free playground.
33955
c60cee8e 339562009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33957
33958 Handle group offset on UFS1.
33959
33960 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
33961 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
33962
c0d8b5d4 339632009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33964
33965 Split ufs.mod into ufs1.mod and ufs2.mod.
33966
33967 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
33968 (grub_fstest_SOURCES): Likewise.
33969 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
33970 (ufs_mod_SOURCES): Remove.
33971 (ufs_mod_CFLAGS): Likewise.
33972 (ufs_mod_LDFLAGS): Likewise.
33973 (ufs1_mod_SOURCES): New variable.
33974 (ufs1_mod_CFLAGS): Likewise.
33975 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 33976 (ufs2_mod_SOURCES): New variable.
33977 (ufs2_mod_CFLAGS): Likewise.
33978 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 33979 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
33980 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
33981 Likewise.
33982 (grub_emu_SOURCES): Likewise.
33983 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33984 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33985 (grub_setup_SOURCES): Likewise.
33986 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33987 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
33988 (grub_setup_SOURCES): Likewise.
33989 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
33990 Likewise.
33991 * fs/ufs2.c: New file.
33992 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
33993
d3539132 339942009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33995
33996 Framebuffer split.
33997
33998 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
33999 subsystem at the end.
34000 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
34001 (video_fb_mod_SOURCES): New variable.
34002 (video_fb_mod_CFLAGS): Likewise.
34003 (video_fb_mod_LDFLAGS): Likewise.
34004 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
34005 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
34006 * video/i386/pc/vbeblit.c: Moved from here ...
34007 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
34008 * video/i386/pc/vbefill.c: Moved from here ...
34009 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
34010 * video/i386/pc/vbeutil.c: Moved from here ...
34011 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
34012 * include/grub/i386/pc/vbeblit.h: Moved from here ...
34013 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
34014 * include/grub/i386/pc/vbefill.h: Moved from here ...
34015 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
34016 * include/grub/i386/pc/vbeutil.h: Moved from here ...
34017 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
34018 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
34019 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
34020 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
34021 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
34022 (grub_video_adapter): Added 'get_info_and_fini'.
34023 (grub_video_get_info_and_fini): New prototype.
34024 (grub_video_set_mode): make modestring const char *.
34025 * loader/i386/linux.c (grub_linux_setup_video): Use
34026 grub_video_get_info_and_fini.
34027 (grub_linux_boot): Move modesetting just before booting.
34028 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
34029 grub_video_get_info_and_fini.
34030 * video/i386/pc/vbe.c: Moved framebuffer part ...
34031 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
34032 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
34033 grub_video_fbstd_colors and grub_video_fb_set_palette.
34034 (grub_video_vbe_init): Clear 'framebuffer' variable and use
34035 grub_video_fb_init.
34036 (grub_video_vbe_fini): Use grub_video_fb_fini.
34037 (grub_video_vbe_setup): Use framebuffer.render_target instead of
34038 render_target and use grub_video_fb_set_active_render_target and
34039 grub_video_fb_set_palette.
34040 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
34041 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
34042 (grub_video_vbe_adapter): Use framebuffer.
34043 * video/video.c (grub_video_get_info_and_fini): New function.
34044 (grub_video_set_mode): Make modestring const char *.
34045 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
34046 values are already initialised.
34047
d404ee56 340482009-08-14 Pavel Roskin <proski@gnu.org>
34049
34050 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
34051 ABS and APPLE_CC.
34052 * boot/i386/pc/diskboot.S: Likewise.
34053 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
34054 sectors allow compilation on MacOSX.
34055 * conf/i386-pc.rmk: Enable unconditional compilation of
34056 lnxboot.img.
34057
9a10df16 340582009-08-13 Colin Watson <cjwatson@ubuntu.com>
34059
34060 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
34061 * util/grub.d/00_header.in: Enter interruptible sleep if
34062 GRUB_HIDDEN_TIMEOUT is set.
34063
be3c9ca7 340642009-08-13 Yves Blusseau <blusseau@zetam.org>
34065
34066 * include/grub/symbol.h: Add the LOCAL macro.
34067 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
34068 starting with "L_".
34069
1f9e557e 340702009-08-13 Pavel Roskin <proski@gnu.org>
34071
9ca62843 34072 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
34073 any modern compilers we support.
34074
1f9e557e 34075 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
34076 Use local labels starting with "L_" so that Apple assembler
34077 knows they are local.
34078
81623db6 340792009-08-10 Robert Millan <rmh.grub@aybabtu.com>
34080
34081 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
34082 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
34083 (bsd_kernel_types): ... this enum.
34084
34085 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
34086 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
34087 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
34088
34089 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
34090 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
34091 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
34092 messages.
34093
f5d35e7a 340942009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34095
34096 * util/grub-dumpdevtree: Moved from here ...
34097 * util/i386/efi/grub-dumpdevtree: ... to here.
34098 (hexify): New function. Converts a string to its hex version.
34099 Generate hex versions of "efi" and "device-properties" by calling
34100 hexify() on the ASCII strings rather than by hardcoding numbers.
34101
d1e1d527 341022009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34103
34104 * fs/jfs.c: Update copyright year.
34105
1ebbe064 341062009-08-08 Felix Zielcke <fzielcke@z-51.de>
34107
34108 * util/grub.d/00_header.in: Fix a comment.
34109 * util/grub.d/10_linux.in: Likewise.
34110 * util/grub.d/10_windows.in: Likewise.
34111 * util/grub.d/10_hurd.in: Likewise.
34112
a78c8d24 341132009-08-08 Felix Zielcke <fzielcke@z-51.de>
34114
34115 * util/grub-mkconfig.in: Allow the user to specify the used font
34116 with GRUB_FONT.
34117
29a6b9e8 341182009-08-08 Pavel Roskin <proski@gnu.org>
34119
b5f16cc4 34120 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
34121 available, xfs.mod needs it now.
34122
2f5cb827 34123 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
34124 the "g" modifier in sed when the intention is to strip something
34125 once. This fixes comparison of kernels with multiple dashes.
34126
29a6b9e8 34127 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
34128 on it. Add missing space before closing bracket. Fix
34129 misleading formatting.
34130
892a3d98 341312009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34132
34133 * docs/grub.texi: Major overhaul. Remove all sections that are
34134 specific to GRUB Legacy, or mostly composed of Legacy-specific
34135 information.
34136
ed94253f 341372009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34138
34139 * docs/version.texi: New file. Provides version information for
34140 grub.texi.
34141
126d6628 341422009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34143
34144 * docs/grub.texi: Update CVS information to SVN.
34145 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
34146
998b5aa9 341472009-08-07 Felix Zielcke <fzielcke@z-51.de>
34148
34149 * util/grub-mkconfig.in: Remove a wrong `fi'.
34150
818e094a 341512009-08-07 Felix Zielcke <fzielcke@z-51.de>
34152
34153 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
34154 (grub_jfs_uuid): New function.
34155 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
34156
b969c52f 341572009-08-07 Felix Zielcke <fzielcke@z-51.de>
34158
34159 * util/grub-mkconfig_lib.in (font_path): Move the functionality
34160 of it to ...
34161 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
34162 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
34163
7a4894cc 341642009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34165
34166 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
34167 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
34168 Update all users.
34169
34170 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
34171 not just "vmlinu[zx]".
34172 Moved from here ...
34173 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
34174 all users.
34175
34176 * util/grub.d/10_linux.in (find_latest): Moved from here ...
34177 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
34178 all users.
34179
4e2171f8 341802009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34181
34182 * util/grub.d/10_freebsd.in: Use an absolute device path for
34183 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
34184
6dcfcb32 341852009-08-06 Felix Zielcke <fzielcke@z-51.de>
34186
34187 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
34188 handling of multiple abstraction modules.
34189
f56a8756 341902009-08-04 Robert Millan <rmh.grub@aybabtu.com>
34191
34192 Fix a bug resulting in black screen when loading Linux using a
34193 packed video mode.
34194
34195 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
34196 function.
34197
34198 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
34199 (grub_vbe_bios_getset_dac_palette_width): New function.
34200 (grub_vbe_bios_get_dac_palette_width)
34201 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
34202 grub_vbe_bios_getset_dac_palette_width()).
34203
34204 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
34205 check for return status.
34206 (grub_vbe_get_video_mode_info): When getting information for a packed
34207 mode (<= 8 bpp), obtain DAC palette width using
34208 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
34209 {red,green,blue}_mark_size.
34210
222671b2 342112009-08-04 Felix Zielcke <fzielcke@z-51.de>
34212
ecb1a6d9 34213 * commands/search.c (options): Fix help output to match actual code.
222671b2 34214
f84114f5 342152009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
34216
34217 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
34218 of homegrown code.
34219
bd288a20 342202009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 34221
34222 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
34223 on XFS or ReiserFS.
34224
8aab5e25 342252009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34226
34227 Support Apple partition map with sector size different from 512 bytes.
34228
34229 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
34230 (apple_partition_map_iterate): Respect 'aheader.blocksize'
34231 and 'apart.partmap_size'.
34232
6ad6258a 342332009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
342342009-08-01 Robert Millan <rmh.grub@aybabtu.com>
34235
34236 Fix cpuid command.
34237
34238 * commands/i386/cpuid.c (options): New variable.
34239 (grub_cmd_cpuid): Return real error.
34240 (GRUB_MOD_INIT(cpuid)): Declare options.
34241
67459bc6 342422009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
34243
34244 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
34245 valid.
34246
fbc6ab54 342472009-07-31 Bean <bean123ch@gmail.com>
34248
34249 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
34250 log2_inode.
34251 (grub_fshelp_node): Move inode field to the end.
34252 (grub_xfs_data): Remove inode field.
34253 (grub_xfs_inode_block): Calculate inode size using sblock.
34254 (grub_xfs_inode_offset): Likewise.
34255 (grub_xfs_read_inode): Calculate inode size using sblock.
34256 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
34257 (grub_xfs_iterate_dir): Calculate inode size using sblock.
34258 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
34259 to match inode size.
34260 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
34261 not accessible when data is null.
34262 (grub_xfs_open): Likewise.
34263
f45d6cfc 342642009-07-31 Bean <bean123ch@gmail.com>
34265
34266 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
34267 Don't change pv->disk if it's already set.
34268
34269 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
34270 (grub_raid_register): ... here.
34271 (grub_raid_rescan): Removed.
34272
34273 * include/grub/raid.h (grub_raid_rescan): Removed.
34274
34275 * util/grub-fstest.c: Remove include file <grub/raid.h>.
34276 (fstest): Replace grub_raid_rescan with module fini function followed
34277 by init function.
34278
34279 * util/grub-probe.c: Add include file <grub/raid.h>.
34280 (probe_raid_level): New function.
34281 (probe): Detect abstraction by walking the disk device, support two
34282 level of abstraction (LVM on RAID) when detecting partition map.
34283
24443b5a 342842009-07-31 Pavel Roskin <proski@gnu.org>
34285
34286 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
34287 to grub_zalloc(), it was erroneous.
34288 Reported by Bean <bean123ch@gmail.com>
34289
a275d9e7 342902009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
34291
34292 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 34293 embedding zone, not only the first one.
a275d9e7 34294
56c5a47f 342952009-07-29 Joe Auricchio <jauricchio@gmail.com>
34296
34297 * term/gfxterm.c (clear_char): New function.
34298 (grub_virtual_screen_setup): Use clear_char.
34299 (scroll_up): Likewise.
34300 (grub_virtual_screen_cls): Likewise.
34301
67bb323a 343022009-07-29 Felix Zielcke <fzielcke@z-51.de>
34303
34304 * util/deviceiter.c (get_acceleraid_disk_name): New static
34305 function.
34306 (grub_util_iterate_devices): Handle Accelraid devices.
34307 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
34308
388a7c75 343092009-07-28 Robert Millan <rmh.grub@aybabtu.com>
34310
34311 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
34312 separator for the suggested gfxpayload string (';' collides with the
34313 parser and needs escaping).
34314
3bb7abcf 343152009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
34316
34317 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
34318 Clear direction flag before jumping to OS.
34319 (grub_multiboot2_real_boot): Likewise.
34320
2ddd36d7 343212009-07-28 Felix Zielcke <fzielcke@z-51.de>
34322
34323 * util/i386/pc/grub-install: Fix parsing of --disk-module
34324 option.
34325
c521b62b 343262009-07-28 Felix Zielcke <fzielcke@z-51.de>
34327
34328 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
34329 when embedding.
34330
880e0a0c 343312009-07-26 Felix Zielcke <fzielcke@z-51.de>
34332
34333 * util/grub-mkconfig.in (package_version): New variable.
34334 Use it do display the version.
34335
2366e356 343362009-07-25 Felix Zielcke <fzielcke@z-51.de>
34337
34338 * kern/file.c (grub_file_open): Revert to previous check with
34339 grub_errno.
34340
7ad8c80e 343412009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34342
34343 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
34344 from help line. It's out of sync with code.
34345
72b9658b 343462009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34347
34348 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
34349 entries on failed boot.
34350
77435277 343512009-07-25 Felix Zielcke <fzielcke@z-51.de>
34352
34353 * kern/file.c (grub_file_open): Fix an error check.
34354
fcaa8b21 343552009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
34356
35d16c74 34357 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
34358 partition map couldn't be identified.
fcaa8b21 34359
48904cd1 343602009-07-23 Pavel Roskin <proski@gnu.org>
34361
ef3c317f 34362 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
34363 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
34364 case of little endian words becomes just an optimization.
34365 Respect const modifier.
ad8ea1f4 34366 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 34367
48904cd1 34368 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
34369 to avoid loss of upper bits if align is unsigned and shorter
34370 than addr.
34371
260c9a89 343722009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34373
34374 UUID support for UFS
34375
34376 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
34377 (grub_ufs_uuid): New function.
34378 (grub_ufs_fs): add .uuid
34379
f76ce889 343802009-07-21 Pavel Roskin <proski@gnu.org>
34381
34382 * kern/dl.c (grub_dl_check_header): Make static.
34383
6a6cbcaf 343842009-07-21 Felix Zielcke <fzielcke@z-51.de>
34385
34386 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
34387 add drivemap for Vista. It breaks Windows 7.
34388
cffcddb2 343892009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34390
34391 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
34392 128 bytes
34393
1ef44b80 343942009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34395
34396 Add BFS support
34397
34398 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
34399 (grub_fstest_SOURCES): Likewise.
34400 (pkglib_MODULES): Add befs.mod.
34401 (befs_mod_SOURCES): New variable.
34402 (befs_mod_CFLAGS): Likewise.
34403 (befs_mod_LDFLAGS): Likewise.
34404 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34405 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34406 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34407 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34408 (grub_setup_SOURCES): Likewise.
34409 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34410 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34411 (grub_setup_SOURCES): Likewise.
34412 * fs/befs.c: New file.
34413 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
34414 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
34415 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
34416 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
34417 (B_KEY_INDEX_ALIGN): New declaration.
34418 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
34419 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
34420 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
34421 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
34422 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
34423 (grub_afs_mount) [MODE_BFS]: Likewise.
34424 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
34425 (grub_afs_fs): Use GRUB_AFS_FSNAME
34426 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
34427 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
34428 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
34429 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
34430
4f253044 344312009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
34432
34433 * util/getroot.c (find_root_device): Add support for MacOSX.
34434 * util/hostdisk.c: Likewise.
34435
57a55913 344362009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34437
34438 * font/font.c (find_glyph): Check whether a font is present to avoid
34439 segmentation fault.
75421ca9 34440
344412009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 34442
34443 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
34444
e98cd0c2 344452009-07-20 Pavel Roskin <proski@gnu.org>
34446
34447 * configure.ac: Trim excessively wordy excuses.
34448
1d2d169a 344492009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34450
34451 Add symlink, mtime and label support to AtheFS.
34452
34453 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
34454 (grub_afs_iterate_dir): Handle symlinks.
34455 (grub_afs_open): Use grub_afs_read_symlink.
34456 (grub_afs_dir): Likewise.
34457 Pass mtime.
34458 (grub_afs_label): New function.
34459 (grub_afs_fs): Add grub_afs_label.
34460 (grub_afs_read_symlink): New function.
34461
186f3189 344622009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34463
34464 Fix AtheFS support.
34465
34466 * fs/afs.c: Fix comments style.
34467 (grub_afs_blockrun): Declare as packed.
34468 (grub_afs_datastream): Likewise.
34469 (grub_afs_bnode): Likewise.
34470 (grub_afs_btree): Likewise.
34471 (grub_afs_sblock): Likewise.
34472 Declare `name' as char.
34473 (grub_afs_inode): Declare as packed.
34474 Change void *vnode to grub_uint32_t unused.
34475 (grub_afs_iterate_dir): Check that key_size is positive.
34476 (grub_afs_mount): Don't read superblock twice.
75421ca9 34477 (grub_afs_dir): Don't free node in case of error,
186f3189 34478 grub_fshelp_find_file already handles this.
34479 (grub_afs_open): Likewise.
34480
5680109e 344812009-07-19 Pavel Roskin <proski@gnu.org>
34482
34483 * Makefile.in: Remove LIBLZO and enable_lzo.
34484 * conf/i386-pc.rmk: Remove lzo support.
34485 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
34486 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
34487 support.
34488 * kern/i386/pc/lzo1x.S: Remove.
34489 * kern/i386/pc/startup.S: Remove lzo support.
34490 * util/i386/pc/grub-mkimage.c: Likewise.
34491
ac70fa32 344922009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
34493
34494 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
34495 * fs/xfs.c (grub_xfs_dir): Likewise.
34496 * fs/afs.c (grub_afs_dir): Likewise.
34497 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
34498 (grub_iso9660_open): Likewise.
34499 * fs/jfs.c (grub_jfs_open): Likewise.
34500 * fs/ext2.c (grub_ext2_dir): Likewise.
34501 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
34502 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 34503
eab58da2 345042009-07-16 Pavel Roskin <proski@gnu.org>
34505
d2838156 34506 * configure.ac: Never add "-c" to CFLAGS.
34507
55c70904 34508 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
34509
43e6200c 34510 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
34511 grub_cv_cc_efiemu should be used.
34512
ce7a733d 34513 * configure.ac: Typo fixes.
34514
eab58da2 34515 * kern/mm.c (grub_zalloc): New function.
34516 (grub_debug_zalloc): Likewise.
34517 * include/grub/mm.h: Declare grub_zalloc() and
34518 grub_debug_zalloc().
34519 * util/misc.c (grub_zalloc): New function.
34520 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
34521 instead of grub_malloc(), remove unneeded initializations.
34522 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
34523 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
34524 * commands/parttool.c (grub_cmd_parttool): Likewise.
34525 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
34526 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
34527 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
34528 * disk/usbms.c (grub_usbms_finddevs): Likewise.
34529 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
34530 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
34531 (grub_cmd_efiemu_pnvram): Likewise.
34532 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
34533 * fs/iso9660.c (grub_iso9660_mount): Likewise.
34534 (grub_iso9660_iterate_dir): Likewise.
34535 * fs/jfs.c (grub_jfs_opendir): Likewise.
34536 * fs/ntfs.c (list_file): Likewise.
34537 (grub_ntfs_mount): Likewise.
34538 * kern/disk.c (grub_disk_open): Likewise.
34539 * kern/dl.c (grub_dl_load_core): Likewise.
34540 * kern/elf.c (grub_elf_file): Likewise.
34541 * kern/env.c (grub_env_context_open): Likewise.
34542 (grub_env_set): Likewise.
34543 (grub_env_set_data_slot): Likewise.
34544 * kern/file.c (grub_file_open): Likewise.
34545 * kern/fs.c (grub_fs_blocklist_open): Likewise.
34546 * loader/i386/multiboot.c (grub_module): Likewise.
34547 * loader/xnu.c (grub_xnu_create_key): Likewise.
34548 (grub_xnu_create_value): Likewise.
34549 * normal/main.c (grub_normal_add_menu_entry): Likewise.
34550 (read_config_file): Likewise.
34551 * normal/menu_entry.c (make_screen): Likewise.
34552 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34553 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
34554 * script/sh/script.c (grub_script_parse): Likewise.
34555 * video/bitmap.c (grub_video_bitmap_create): Likewise.
34556 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
34557 * video/readers/png.c (grub_png_output_byte): Likewise.
34558 (grub_video_reader_png): Likewise.
34559
830afef7 345602009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 34561
34562 Enable all targets that can be built by default
34563
830afef7 34564 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 34565 grub-mkfont and grub-fstest if they can be built
34566
ee293aee 345672009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34568
34569 Fix hang and segmentation fault in grub-emu-usb
34570
34571 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
34572 * util/usb.c (grub_libusb_devices): likewise
34573 (grub_libusb_init): rename to ...
34574 (GRUB_MOD_INIT (libusb)):...this
34575 (grub_libusb_fini): rename to ..
34576 (GRUB_MOD_FINI (libusb)):...this
34577 * disk/usbms.c (grub_usbms_transfer): fix retry logic
34578 * include/grub/disk.h (grub_raid_init): removed, it's useless
34579 (grub_raid_fini): likewise
34580 (grub_lvm_init): likewise
34581 (grub_lvm_fini): likewise
34582 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
34583 by grub_init_all
34584
94414221 345852009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34586
34587 Fix libusb
34588
34589 * Makefile.in (LIBUSB): new macro
34590 * genmk.rb (Utility/print_tail): new method
34591 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
34592 (top level): call util.print_tail at the end.
34593
59ade63d 345942009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34595
34596 Make FreeBSD accept zpool.cache
34597
34598 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
34599 type is /boot/zfs/zpool.cache
34600
a58da8c7 346012009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34602
34603 Fix 64-bit efiemu
34604
34605 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
34606 correct wrong typedef
34607 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
34608
20591577 346092009-07-15 Pavel Roskin <proski@gnu.org>
34610
560ca572 34611 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
34612 * kern/disk.c (struct grub_disk_cache): Likewise.
34613
e8e8e4fd 34614 * commands/probe.c (options): Typo fix.
34615
fde24e10 34616 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
34617 Increase to 0x5a to accommodate FAT32. Adjust other offsets
34618 accordingly.
34619 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
34620
379c54c1 34621 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
34622 the end of "Error" to make the message more readable.
34623
7bd8f5bf 34624 * boot/i386/pc/boot.S (kernel_segment): Remove.
34625 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
34626 for destination.
34627
40b132c5 34628 * boot/i386/pc/boot.S (boot_version): Remove.
34629 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
34630 Remove.
34631
20591577 34632 * include/grub/i386/pc/boot.h: Sort all offsets.
34633 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
34634 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
34635 * boot/i386/pc/boot.S: Assert location of every offset listed in
34636 include/grub/i386/pc/boot.h.
34637
2df32b2c 346382009-07-13 Pavel Roskin <proski@gnu.org>
34639
44b5d879 34640 * include/grub/i386/coreboot/machine.h: Rename
34641 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
34642 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
34643 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
34644
17dc3751 34645 * kern/dl.c: Force native word size to suppress warnings when
34646 compiling grub-emu.
34647
2df32b2c 34648 * kern/device.c (grub_device_iterate): Change struct part_ent to
34649 hold the name, not a pointer to it. Use one grub_malloc() per
34650 partition, not two. Free partition_name if grub_malloc() fails.
34651 Set ents to NULL only before grub_partition_iterate() is called.
34652
75c59f59 346532009-07-11 Bean <bean123ch@gmail.com>
34654
34655 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
34656 childname.
34657
0ae1bf88 346582009-07-10 Bean <bean123ch@gmail.com>
346592009-07-10 Robert Millan <rmh.grub@aybabtu.com>
34660
34661 * kern/ieee1275/openfw.c (grub_children_iterate)
34662 (grub_devalias_iterate): Fix size evaluation for property or path
34663 strings, which was broken since r2132.
34664
8279cade 346652009-07-07 Pavel Roskin <proski@gnu.org>
34666
7d8a52d3 34667 * commands/search.c (search_file): Merge into ...
34668 (search_fs): ... this. Accept search type as argument.
34669 (grub_cmd_search): Pass search type to search_fs().
34670
25f9a05a 34671 * include/grub/util/console.h: New file.
34672 * util/console.c: Use it instead of grub/machine/console.h.
34673 * util/grub-emu.c: Likewise.
34674
8279cade 34675 * lib/arg.c (find_long_option): Remove.
34676 (find_long): Add `len' argument, make `s' const char *.
34677 (grub_arg_parse): Parse long options in place, not in a
34678 temporary buffer.
34679
4a11b60f 346802009-07-06 Pavel Roskin <proski@gnu.org>
34681
99f68041 34682 * commands/search.c (search_fs): Fix potential NULL pointer
34683 dereference.
34684
4a11b60f 34685 * commands/search.c (search_fs): Replace QUID macro with quid_fn
34686 function pointer.
34687
e110f4de 346882009-07-06 Daniel Mierswa <impulze@impulze.org>
34689
34690 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
34691 comparison.
34692
46eeb6a2 346932009-07-05 Pavel Roskin <proski@gnu.org>
34694
bab74958 34695 * include/grub/i386/linux.h (struct linux_kernel_params):
34696 Restore padding3, it's still needed.
34697
46eeb6a2 34698 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
34699 FreeBSD.
34700 * util/osdetect.lua: Likewise.
34701
b4a1dc79 347022009-07-05 Bean <bean123ch@gmail.com>
34703
34704 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
34705
34706 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
34707 (grub_lua_getenv): Likewise.
34708 (grub_lua_setenv): Likewise.
34709 (save_errno): New function.
34710 (push_result): Likewise.
34711 (grub_lua_enum_device): Likewise.
34712 (grub_lua_enum_file): Likewise.
34713 (grub_lua_file_open): Likewise.
34714 (grub_lua_file_close): Likewise.
34715 (grub_lua_file_seek): Likewise.
34716 (grub_lua_file_read): Likewise.
34717 (grub_lua_file_getline): Likewise.
34718 (grub_lua_file_getsize): Likewise.
34719 (grub_lua_file_getpos): Likewise.
34720 (grub_lua_file_eof): Likewise.
34721 (grub_lua_file_exist): Likewise.
34722 (grub_lua_add_menu): Likewise.
34723
34724 * script/lua/grub_lua.h (isupper): New inline function.
34725 (islower): Likewise.
34726 (ispunct): Likewise.
34727 (isxdigit): Likewise.
34728 (strcspn): Change to normal function.
34729 (strpbkr): New function declaration.
34730 (memchr): Likewise.
34731
34732 * script/lua/grub_main.c (scan_str): New function.
34733 (strcspn): Likewise.
34734 (strpbrk): Likewise.
34735 (memchr): Likewise.
34736
34737 * script/lua/linit.c (lualibs): Enable the string library.
34738
34739 * util/osdetect.lua: New file.
34740
2da92295 347412009-07-04 Robert Millan <rmh.grub@aybabtu.com>
34742
34743 * include/grub/i386/linux.h (struct linux_kernel_params): Add
34744 `capabilities' member.
34745
b2582ec9 347462009-07-02 Pavel Roskin <proski@gnu.org>
34747
34748 * genparttoollist.sh: Add missing newline at the end.
34749
32622956 347502009-07-01 Pavel Roskin <proski@gnu.org>
34751
87a7339e 34752 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
34753
d23af54e 34754 * util/hostdisk.c (open_device): Remove `const' from
34755 `sysctl_size', as sysctlbyname() can change it (in this case it
34756 doesn't actually happen).
34757
c94b18a9 34758 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
34759 using signed long int constants.
34760
c6cd3ef0 34761 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
34762 constant to avoid a warning on FreeBSD.
34763
0df63420 34764 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
34765 where it's needed.
34766
999577f1 34767 * Makefile.in: Install include/grub/machine symlink.
34768
6f41557f 34769 * Makefile.in: When installing symlinks, use "cp -fR", which
34770 works on FreeBSD and MacOSX.
34771 From Yves Blusseau <cl7m42e02@sneakemail.com>
34772
c8d22988 34773 * kern/dl.c (grub_dl_resolve_symbol): Make static.
34774 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
34775
1b96e952 34776 * util/misc.c: Move grub_reboot() and grub_halt() ...
34777 * util/grub-emu.c: ... here. Make main_env static.
34778 * include/grub/util/misc.h: Remove main_env.
34779
2ef0084d 34780 * kern/mm.c: Use correct format to print size_t.
34781
32622956 34782 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
34783 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
34784 * kern/powerpc/dl.c: Likewise.
34785 * kern/sparc64/dl.c: Likewise.
34786 * kern/x86_64/dl.c: Likewise.
34787
3f7f0cd0 347882009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34789
34790 Fix grub-emu build on sparc64-ieee1275.
34791
75421ca9 34792 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 34793 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
34794
211d06b5 347952009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34796
34797 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
34798 (grub_reboot, grub_halt): New functions.
34799
34800 * util/i386/pc/misc.c: Delete. Update all users.
34801 * util/sparc64/ieee1275/misc.c: Likewise.
34802 * util/powerpc/ieee1275/misc.c: Likewise.
34803
aaf53e3c 348042009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34805
34806 * conf/i386.rmk (setjmp_mod_SOURCES)
34807 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
34808 * conf/common.rmk (setjmp_mod_SOURCES)
34809 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
34810 to use $(target_cpu).
34811 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
34812 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
34813 * conf/powerpc-ieee1275.rmk: Likewise.
34814 * conf/sparc64-ieee1275.rmk: Likewise.
34815
34816 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
34817 $(target_cpu) for kern/$(target_cpu)/dl.c.
34818 * conf/i386-efi.rmk: Likewise.
34819 * conf/i386-ieee1275.rmk: Likewise.
34820 * conf/x86_64-efi.rmk: Likewise.
34821 * conf/i386-coreboot.rmk: Likewise.
34822 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
34823 $(target_cpu) for kern/$(target_cpu)/dl.c and for
34824 kern/$(target_cpu)/cache.S.
34825 * conf/sparc64-ieee1275.rmk: Likewise.
34826
a337130b 348272009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34828
34829 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
34830 type to `grub_uint8_t', and adjust `padding9' accordingly.
34831
c6fe4d53 348322009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34833
b09db61d 34834 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
34835
c6fe4d53 34836 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
34837 assembly in final jump, using register constraints.
34838
b09db61d 34839 (grub_linux_boot): For text mode, initialize `have_vga' using
34840 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
34841
34842 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
34843 right before the final jump.
34844
34845 Set `video_mode' to 0x3.
34846
34847 Document initialization of `video_page', `video_mode' and
34848 `video_ega_bx'.
34849
28333ad0 348502009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34851
34852 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
34853 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 34854 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 34855
02164e1b 348562009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34857
34858 Fix build on Debian / sparc.
34859
34860 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
34861
18b6c557 348622009-06-28 Pavel Roskin <proski@gnu.org>
34863
85f2aab6 34864 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
34865 fix a warning.
34866
18b6c557 34867 * util/grub.d/10_linux.in: Match SUSE style initrd names.
34868
ad760f81 348692009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34870
34871 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
34872 `err'.
34873
87a4623b 348742009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34875
34876 Revert r2338.
34877
34878 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
34879 file can't be opened. grub_file_open() is already supposed to set
75421ca9 34880 grub_errno / grub_errmsg appropriately.
87a4623b 34881 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
34882
8231fb77 348832009-06-27 Pavel Roskin <proski@gnu.org>
348842009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34885
34886 * include/grub/dl.h: Include grub/elf.h.
34887 (struct grub_dl): Add symtab field.
34888 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
34889 GRUB_MODULES_MACHINE_READONLY.
34890 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
34891 of the header for read-only modules.
34892 (grub_dl_unload): Free mod->symtab for read-only modules.
34893 * kern/i386/dl.c: Use mod->symtab.
34894 * kern/powerpc/dl.c: Likewise.
34895 * kern/sparc64/dl.c: Likewise.
34896 * kern/x86_64/dl.c: Likewise.
34897
34898 * conf/i386-qemu.rmk: New file.
34899 * kern/i386/qemu/startup.S: Likewise.
34900 * kern/i386/qemu/mmap.c: Likewise.
34901 * boot/i386/qemu/boot.S: Likewise.
34902 * include/grub/i386/qemu/time.h: Likewise.
34903 * include/grub/i386/qemu/serial.h: Likewise.
34904 * include/grub/i386/qemu/kernel.h: Likewise.
34905 * include/grub/i386/qemu/console.h: Likewise.
34906 * include/grub/i386/qemu/boot.h: Likewise.
34907 * include/grub/i386/qemu/init.h: Likewise.
34908 * include/grub/i386/qemu/machine.h: Likewise.
34909 * include/grub/i386/qemu/loader.h: Likewise.
34910 * include/grub/i386/qemu/memory.h: Likewise.
34911
34912 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
34913 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
34914 [qemu] (pkglib_IMAGES): Add `boot.img'.
34915 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
34916 [qemu] (boot_img_FORMAT): New variables.
34917 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
34918 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
34919 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
34920 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
34921 [qemu] (kernel_img_FORMAT): New variables.
34922
34923 * configure.ac: Recognise `i386-qemu'.
34924
34925 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
34926 (for no compression).
34927 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
34928 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
34929 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
34930 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
34931 ifdefs).
34932
97fe384e 349332009-06-27 Pavel Roskin <proski@gnu.org>
34934
34935 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
34936 read.
34937 * efiemu/prepare32.c: Likewise.
34938 * efiemu/prepare64.c: Likewise.
34939
c402ab17 349402009-06-26 Pavel Roskin <proski@gnu.org>
34941
34942 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
34943 * include/grub/elf.h: Define symbols without "32" or "64" based
34944 on GRUB_TARGET_WORDSIZE.
34945 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
34946 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
34947 ELF definitions.
34948 * efiemu/loadcore64.c: Likewise.
34949 * loader/i386/bsd32.c: Likewise.
34950 * loader/i386/bsd64.c: Likewise.
34951 * kern/dl.c: Remove own ELF definitions.
34952 * util/i386/efi/grub-mkimage.c: Likewise.
34953
9bbdfd4d 349542009-06-23 Robert Millan <rmh.grub@aybabtu.com>
34955
34956 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
34957 segment 0x0 unconditionally, because the reference generated by
34958 GAS is an absolute address.
34959
a42ce6e9 349602009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34961
34962 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
34963 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
34964
c952cf92 349652009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34966
34967 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
34968 indexes. Check for -f explicitly.
cc3752ad 34969 (search_file): Improve error message.
34970 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 34971
132a0a59 349722009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34973
34974 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
34975 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
34976
387a140c 349772009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34978
34979 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
34980 * conf/i386-ieee1275.rmk: Likewise.
34981 * conf/i386-coreboot.rmk: Likewise.
34982
34983 * kern/i386/pc/startup.S (grub_stop): Remove function.
34984 * kern/i386/ieee1275/startup.S: Likewise.
34985 * kern/i386/coreboot/startup.S: Likewise.
34986 * kern/i386/misc.S (grub_stop): New function.
34987
41da9665 349882009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34989
34990 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
34991 * kern/i386/realmode.S (real_to_prot): ... to here.
34992
bf337234 349932009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34994
34995 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
34996 with `kernel.img'.
34997 (kernel_elf_SOURCES): Rename to ...
34998 (kernel_img_SOURCES): ... this.
34999 (kernel_elf_HEADERS): Rename to ...
35000 (kernel_img_HEADERS): ... this. Update all users.
35001 (kernel_elf_ASFLAGS): Rename to ...
35002 (kernel_img_ASFLAGS): ... this.
35003 (kernel_elf_CFLAGS): Rename to ...
35004 (kernel_img_CFLAGS): ... this.
35005 (kernel_elf_LDFLAGS): Rename to ...
35006 (kernel_img_LDFLAGS): ... this.
35007 * conf/i386-coreboot.rmk: Likewise.
35008 * conf/powerpc-ieee1275.rmk: Likewise.
35009
35010 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
35011 with "kernel.img".
35012
f52196ff 350132009-06-21 Pavel Roskin <proski@gnu.org>
35014
c3cee413 35015 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
35016 to match nested functions.
35017 * loader/sparc64/ieee1275/linux.c: Likewise.
35018
f52196ff 35019 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
35020
58750afc 350212009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35022
35023 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
35024 all i386 platforms.
35025
15355c7d 350262009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35027
35028 Fix asm file handling on ELF, and remove workarounds.
35029
35030 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 35031 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 35032 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
35033 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
35034
3f3ec72b 350352009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
35036
35037 Load BSD ELF modules
35038
35039 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
35040 and loader/i386/bsd64.c
35041 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
35042 (FREEBSD_MODTYPE_ELF_MODULE): New definition
35043 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
35044 (grub_freebsd_load_elfmodule32): New declaration
35045 (grub_freebsd_load_elfmoduleobj64): Likewise
35046 (grub_freebsd_load_elf_meta32): Likewise
35047 (grub_freebsd_load_elf_meta64): Likewise
35048 (grub_freebsd_add_meta): Likewise
35049 (grub_freebsd_add_meta_module): Likewise
35050 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
35051 (grub_freebsd_add_meta_module): Likewise and move module-specific
35052 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
35053 (grub_cmd_freebsd): Add elf-kernel specific parts
35054 based on grub_freebsd_add_meta_module
35055 (grub_cmd_freebsd_module): Add type parsing moved from
35056 grub_freebsd_add_meta_module
35057 (grub_cmd_freebsd_module_elf): New function
35058 (cmd_freebsd_module_elf): New variable
35059 (GRUB_MOD_INIT): Register freebsd_module_elf
35060 * loader/i386/bsd32.c: New file
35061 * loader/i386/bsd64.c: Likewise
35062 * loader/i386/bsdXX.c: Likewise
35063 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
35064 (grub_elf64_load): Likewise
35065 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
35066 All users updated
35067 (grub_elf64_load_hook_t): Likewise
35068
0db15301 350692009-06-21 Colin Watson <cjwatson@ubuntu.com>
35070
35071 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
35072 variable.
35073 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
35074 don't write a menu entry for recovery mode.
35075
546796c1 350762009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35077
35078 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
35079 after it's no longer needed.
35080
cd7310d5 350812009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35082
35083 * include/grub/i386/loader.h (grub_linux_prot_size)
35084 (grub_linux_tmp_addr, grub_linux_real_addr)
35085 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
35086 GRUB_MACHINE_PCBIOS.
35087 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
35088 common grub_util_info() call to ...
35089 (generate_image): ... here.
35090 Fix use of uninitialized memory, comparison of signed with
35091 unsigned integers and memory leak.
35092 Remove bogus module address message.
35093
ab32d3b5 350942009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
35095
35096 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
35097 grub_raid_register
35098 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
35099
024ef597 351002009-06-19 Pavel Roskin <proski@gnu.org>
35101
35102 * configure.ac: Remove stray AC_MSG_CHECKING.
35103
3ac72b51 351042009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
35105
35106 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 35107
e14cd814 351082009-06-18 Pavel Roskin <proski@gnu.org>
35109
35110 * conf/common.rmk: Add fs_file.mod.
35111 * disk/fs_file.c: New file.
35112 * include/grub/disk.h (enum grub_disk_dev_id): Add
35113 GRUB_DISK_DEVICE_FILE_ID.
35114
26586d98 351152009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35116
35117 Fix build with Apple's toolchain. Part 2
35118
35119 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
35120 a fake start
35121
26de2bcd 351222009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35123
35124 Fix build with Apple's toolchain. Part 1
35125
35126 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
35127 for long calls
35128 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 35129 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 35130 Apple's toolchain
35131
09b3490b 351322009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35133
35134 Fix warnings
35135
35136 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
35137 (decomp_block): initialize ch
35138 use grub_memcpy instead of memcpy
35139
c22a006a 351402009-06-17 Pavel Roskin <proski@gnu.org>
35141
d3638678 35142 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
35143 version, use declarations needed to use vga_text as the startup
35144 console.
35145
c22a006a 35146 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
35147 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
35148 the kernel.
35149 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
35150 and grub_at_keyboard_fini(), it's done on module load and
35151 unload.
35152
05b129e0 351532009-06-17 Felix Zielcke <fzielcke@z-51.de>
35154
35155 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
35156 file can't be found.
35157 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35158
cf24ed9e 351592009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35160
35161 Fix newline handling
35162
35163 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 35164 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 35165 (grub_script_yylex): don't segfault on unterminated script
35166 newline terminates command and variable
35167
74aa8e4b 351682009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35169
35170 avoid double grub_adjust_range call. Bug reported by David Simner
35171
35172 * kern/disk.c (grub_disk_write): change to raw disk access before
35173 calling disk_read
35174
1bd265f3 351752009-06-17 Colin Watson <cjwatson@ubuntu.com>
35176
35177 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
35178 spaces, for the benefit of help2man.
35179 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35180
a2d08c06 351812009-06-16 Pavel Roskin <proski@gnu.org>
35182
35183 * kern/i386/halt.c: Include grub/machine/init.h.
35184 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
35185
b97bcb19 351862009-06-16 Felix Zielcke <fzielcke@z-51.de>
35187
35188 * util/grub.d/30_os-prober.in: Use ${root} in the generated
35189 drivemap menuentry.
35190
0644f96c 351912009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
35192
35193 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
35194 `echo' command.
35195
3ef17a2e 351962009-06-16 Pavel Roskin <proski@gnu.org>
35197
35198 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
35199 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
35200 save %dx, we only need %dl and we never change it.
35201 * boot/i386/pc/cdboot.S: Don't set the root drive.
35202 * boot/i386/pc/pxeboot.S: Likewise.
35203 * include/grub/i386/pc/boot.h: Remove
35204 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
35205 GRUB_BOOT_MACHINE_DRIVE_CHECK.
35206 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
35207 * kern/i386/pc/init.c (make_install_device): Remove references
35208 to grub_root_drive.
35209 * kern/i386/pc/startup.S: Likewise.
35210 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
35211
693fe637 352122009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35213
35214 xnu_uuid command
35215
35216 * commands/xnu_uuid.c: new file
35217 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
35218 (xnu_uuid_mod_SOURCES): new variable
35219 (xnu_uuid_mod_CFLAGS): likewise
35220 (xnu_uuid_mod_LDFLAGS): likewise
35221 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35222 * conf/i386-ieee1275.rmk: likewise
35223 * conf/i386-pc.rmk: likewise
35224 * conf/powerpc-ieee1275.rmk: likewise
35225 * conf/sparc64-ieee1275.rmk: likewise
35226 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
35227
c9da87d0 352282009-06-16 Pavel Roskin <proski@gnu.org>
35229
35230 * configure.ac: Avoid '==' in test command, it's not portable.
35231
9c6f4596 352322009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35233
35234 Probe command
35235
35236 * commands/probe.c: new file
35237 * conf/common.rmk (pkglib_MODULES): add probe.mod
35238 (probe_mod_SOURCES): new variable
35239 (probe_mod_CFLAGS): likewise
35240 (probe_mod_LDFLAGS): likewise
35241 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35242 * conf/i386-ieee1275.rmk: likewise
35243 * conf/i386-pc.rmk: likewise
35244 * conf/powerpc-ieee1275.rmk: likewise
35245 * conf/sparc64-ieee1275.rmk: likewise
35246
70b7f9fd 352472009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
35248
35249 Fix handling of string like \"hello\" and "a
35250 b"
35251
35252 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
35253 (grub_script_yylex): fix parsing of quoting, escaping and newline
35254
71c79a6b 352552009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
35256
dd74360c 35257 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 35258 handling
dd74360c 35259
0644f96c 352602009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 35261
35262 * util/grub-mkconfig.in: Fix parsing of --output option.
35263
e40893c3 352642009-06-12 Pavel Roskin <proski@gnu.org>
35265
35266 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
35267 genmk.rb don't need to be generated or installed.
35268
3a1acfe2 352692009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
35270
35271 * commands/i386/pc/drivemap_int13h.S: add more comments
35272
3a4575d4 352732009-06-11 Pavel Roskin <proski@gnu.org>
35274
0658e928 35275 * Makefile.in (uninstall): Uninstall manuals.
35276
ca0388f0 35277 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
35278 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
35279 and update-grub_lib in two places.
35280 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
35281
e3b27c39 35282 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
35283 a compiler warning.
35284
3a4575d4 35285 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
35286 `entry_lo' to fix variable shadowing.
35287
af1f4f55 352882009-06-11 Christian Franke <franke@computer.org>
35289
35290 * kern/misc.c (__enable_execute_stack): Add missing return type
35291 to prevent gcc warning.
35292
5225e649 352932009-06-11 Felix Zielcke <fzielcke@z-51.de>
35294
35295 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
35296
7d83bd47 352972009-06-11 Pavel Roskin <proski@gnu.org>
35298
c1cb63ba 35299 * Makefile.in: Don't rely on any scripts being executable.
35300 Always use $(SHELL) to run shell scripts.
35301
7d83bd47 35302 * configure.ac: Always define ___main if using -nostdlib. This
35303 fixes tests on Cygwin.
35304
948f48e7 353052009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
35306
35307 UDF fix
35308
7d83bd47 35309 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 35310 is in bytes and not in blocks
7d83bd47 35311
8ada9bc1 353122009-06-11 Pavel Roskin <proski@gnu.org>
35313
35314 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
35315 warning.
35316
25ad2323 353172009-06-11 Felix Zielcke <fzielcke@z-51.de>
35318
35319 * util/grub.d/30_os-prober.in: Fix a comment. Source
35320 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
35321 to set the root device. Place drivemap command in the generated
35322 chain entry.
35323
e65acb0c 353242009-06-11 Pavel Roskin <proski@gnu.org>
35325
35326 * configure.ac: Remove host_m32. Issues with 64-bit utilities
35327 have long been resolved.
35328
f285fe2d 353292009-06-11 Colin Watson <cjwatson@ubuntu.com>
35330
bd47b0b5 35331 * util/grub.d/10_linux.in: Capitalise "Linux".
35332
f285fe2d 35333 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
35334
a0c62e4e 353352009-06-11 Pavel Roskin <proski@gnu.org>
35336
b6783cb2 35337 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
35338 fix a gcc warning and ensure that the function won't ever exit.
35339
dde032e8 35340 * kern/i386/ieee1275/init.c: Add missing prototype for
35341 grub_stop_floppy().
35342
22cd079d 35343 * loader/ieee1275/multiboot2.c [__i386__]: Include
35344 grub/cpu/multiboot.h.
35345
a0c62e4e 35346 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
35347 casts to short - they are not portable and cause warnings. Fix
35348 use of uninitialized values in input_buf. Use ARRAY_SIZE.
35349
63963d17 353502009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
35351
35352 Drivemap fixes
35353
35354 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
35355 new function
35356 (grub_get_root_biosnumber_saved): new variable
35357 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
35358 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 35359 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 35360 %dx after the call if necessary
35361 * conf/common.rmk (pkglib_MODULES): remove boot.mod
35362 (boot_mod_SOURCES): remove
35363 (boot_mod_CFLAGS): remove
35364 (boot_mod_LDFLAGS): remove
35365 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
35366 (boot_mod_SOURCES): new variable
35367 (boot_mod_CFLAGS): likewise
35368 (boot_mod_LDFLAGS): likewise
35369 * conf/i386-efi.rmk: likewise
35370 * conf/i386-ieee1275.rmk: likewise
35371 * conf/i386-pc.rmk: likewise
35372 * conf/powerpc-ieee1275.rmk: likewise
35373 * conf/sparc64-ieee1275.rmk: likewise
35374 * conf/x86_64-efi.rmk: likewise
35375 * include/grub/i386/pc/biosnum.h: new file
35376 * lib/i386/pc/biosnum.c: likewise
35377 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
35378 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
35379 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 35380
33abf7ae 353812009-06-10 Pavel Roskin <proski@gnu.org>
35382
5ac35b35 35383 * io/gzio.c (test_header): Don't reuse one buffer for all data.
35384 Use separate variables. Read only the file size at the end, but
35385 not the checksum that we don't use.
35386
5c5215d5 35387 * kern/file.c (grub_file_read): Use void pointer for the buffer.
35388 Adjust all callers.
35389
27d5fef7 35390 * kern/ieee1275/openfw.c: Remove libc includes.
35391 * kern/ieee1275/cmain.c: Likewise.
35392 * include/grub/ieee1275/ieee1275.h: Likewise.
35393
33abf7ae 35394 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
35395 compiler warnings.
35396
19d50c2b 353972009-06-10 Felix Zielcke <fzielcke@z-51.de>
35398
35399 * Makefile.in: Remove all trailing whitespace.
35400 * conf/i386-pc.rmk: Likewise.
35401 * conf/powerpc-ieee1275.rmk: Likewise.
35402 * conf/sparc64-ieee1275.rmk: Likewise.
35403 * docs/grub.texi: Likewise.
35404 * docs/texinfo.tex: Likewise.
35405 * disk/fs_uuid.c: Likewise.
35406 * disk/lvm.c: Likewise.
35407 * disk/scsi.c: Likewise.
35408 * disk/ata.c: Likewise.
35409 * disk/ieee1275/ofdisk.c: Likewise.
35410 * disk/i386/pc/biosdisk.c: Likewise.
35411 * disk/host.c: Likewise.
35412 * disk/raid.c: Likewise.
35413 * disk/efi/efidisk.c: Likewise.
35414 * disk/usbms.c: Likewise.
35415 * disk/memdisk.c: Likewise.
35416 * disk/loopback.c: Likewise.
35417 * kern/powerpc/dl.c: Likewise.
35418 * kern/device.c: Likewise.
35419 * kern/dl.c: Likewise.
35420 * kern/sparc64/dl.c: Likewise.
35421 * kern/ieee1275/ieee1275.c: Likewise.
35422 * kern/term.c: Likewise.
35423 * kern/fs.c: Likewise.
35424 * kern/i386/dl.c: Likewise.
35425 * kern/i386/pc/startup.S: Likewise.
35426 * kern/i386/pc/init.c: Likewise.
35427 * kern/i386/pc/mmap.c: Likewise.
35428 * kern/i386/pc/lzo1x.S: Likewise.
35429 * kern/i386/ieee1275/init.c: Likewise.
35430 * kern/i386/realmode.S: Likewise.
35431 * kern/i386/tsc.c: Likewise.
35432 * kern/partition.c: Likewise.
35433 * kern/corecmd.c: Likewise.
35434 * kern/file.c: Likewise.
35435 * kern/efi/efi.c: Likewise.
35436 * kern/efi/init.c: Likewise.
35437 * kern/efi/mm.c: Likewise.
35438 * kern/main.c: Likewise.
35439 * kern/err.c: Likewise.
35440 * kern/env.c: Likewise.
35441 * kern/disk.c: Likewise.
35442 * kern/generic/millisleep.c: Likewise.
35443 * kern/generic/rtc_get_time_ms.c: Likewise.
35444 * kern/misc.c: Likewise.
35445 * kern/parser.c: Likewise.
35446 * genmk.rb: Likewise.
35447 * configure.ac: Likewise.
35448 * boot/i386/pc/diskboot.S: Likewise.
35449 * boot/i386/pc/pxeboot.S: Likewise.
35450 * boot/i386/pc/boot.S: Likewise.
35451 * boot/i386/pc/lnxboot.S: Likewise.
35452 * boot/i386/pc/cdboot.S: Likewise.
35453 * parttool/pcpart.c: Likewise.
35454 * video/readers/tga.c: Likewise.
35455 * video/video.c: Likewise.
35456 * video/bitmap.c: Likewise.
35457 * lib/envblk.c: Likewise.
35458 * lib/i386/setjmp.S: Likewise.
35459 * fs/xfs.c: Likewise.
35460 * fs/afs.c: Likewise.
35461 * fs/fat.c: Likewise.
35462 * fs/ntfs.c: Likewise.
35463 * fs/udf.c: Likewise.
35464 * fs/affs.c: Likewise.
35465 * fs/iso9660.c: Likewise.
35466 * fs/hfs.c: Likewise.
35467 * fs/fshelp.c: Likewise.
35468 * fs/ext2.c: Likewise.
35469 * fs/jfs.c: Likewise.
35470 * fs/reiserfs.c: Likewise.
35471 * fs/hfsplus.c: Likewise.
35472 * fs/minix.c: Likewise.
35473 * fs/cpio.c: Likewise.
35474 * fs/sfs.c: Likewise.
35475 * fs/ufs.c: Likewise.
35476 * efiemu/prepare.c: Likewise.
35477 * efiemu/loadcore_common.c: Likewise.
35478 * efiemu/runtime/efiemu.sh: Likewise.
35479 * efiemu/runtime/efiemu.S: Likewise.
35480 * efiemu/runtime/efiemu.c: Likewise.
35481 * efiemu/pnvram.c: Likewise.
35482 * efiemu/main.c: Likewise.
35483 * efiemu/i386/pc/cfgtables.c: Likewise.
35484 * efiemu/i386/loadcore64.c: Likewise.
35485 * efiemu/i386/loadcore32.c: Likewise.
35486 * efiemu/loadcore.c: Likewise.
35487 * efiemu/symbols.c: Likewise.
35488 * efiemu/mm.c: Likewise.
35489 * include/grub/autoefi.h: Likewise.
35490 * include/grub/datetime.h: Likewise.
35491 * include/grub/term.h: Likewise.
35492 * include/grub/hfs.h: Likewise.
35493 * include/grub/lvm.h: Likewise.
35494 * include/grub/i386/tsc.h: Likewise.
35495 * include/grub/i386/linux.h: Likewise.
35496 * include/grub/i386/xnu.h: Likewise.
35497 * include/grub/i386/efiemu.h: Likewise.
35498 * include/grub/i386/pc/biosdisk.h: Likewise.
35499 * include/grub/i386/pc/memory.h: Likewise.
35500 * include/grub/i386/pc/vbe.h: Likewise.
35501 * include/grub/parttool.h: Likewise.
35502 * include/grub/video.h: Likewise.
35503 * include/grub/memory.h: Likewise.
35504 * include/grub/fs.h: Likewise.
35505 * include/grub/partition.h: Likewise.
35506 * include/grub/xnu.h: Likewise.
35507 * include/grub/efi/api.h: Likewise.
35508 * include/grub/efi/pe32.h: Likewise.
35509 * include/grub/efi/memory.h: Likewise.
35510 * include/grub/multiboot.h: Likewise.
35511 * include/grub/usbdesc.h: Likewise.
35512 * include/grub/multiboot2.h: Likewise.
35513 * include/grub/acpi.h: Likewise.
35514 * include/grub/efiemu/efiemu.h: Likewise.
35515 * include/grub/disk.h: Likewise.
35516 * include/grub/ieee1275/ieee1275.h: Likewise.
35517 * include/grub/net.h: Likewise.
35518 * include/grub/machoload.h: Likewise.
35519 * include/grub/macho.h: Likewise.
35520 * include/multiboot.h: Likewise.
35521 * genmoddep.awk: Likewise.
35522 * normal/main.c: Likewise.
35523 * normal/menu_entry.c: Likewise.
35524 * normal/menu_viewer.c: Likewise.
35525 * normal/completion.c: Likewise.
35526 * normal/cmdline.c: Likewise.
35527 * normal/misc.c: Likewise.
35528 * normal/datetime.c: Likewise.
35529 * bus/usb/usbtrans.c: Likewise.
35530 * bus/usb/ohci.c: Likewise.
35531 * bus/usb/uhci.c: Likewise.
35532 * bus/usb/usb.c: Likewise.
35533 * mmap/efi/mmap.c: Likewise.
35534 * mmap/i386/pc/mmap_helper.S: Likewise.
35535 * mmap/i386/pc/mmap.c: Likewise.
35536 * mmap/i386/mmap.c: Likewise.
35537 * mmap/i386/uppermem.c: Likewise.
35538 * mmap/mmap.c: Likewise.
35539 * commands/acpi.c: Likewise.
35540 * commands/echo.c: Likewise.
35541 * commands/blocklist.c: Likewise.
35542 * commands/loadenv.c: Likewise.
35543 * commands/usbtest.c: Likewise.
35544 * commands/boot.c: Likewise.
35545 * commands/parttool.c: Likewise.
35546 * commands/search.c: Likewise.
35547 * commands/cat.c: Likewise.
35548 * commands/i386/pc/play.c: Likewise.
35549 * commands/i386/pc/drivemap.c: Likewise.
35550 * commands/i386/pc/vbeinfo.c: Likewise.
35551 * commands/i386/pc/acpi.c: Likewise.
35552 * commands/i386/pc/vbetest.c: Likewise.
35553 * commands/ls.c: Likewise.
35554 * commands/cmp.c: Likewise.
35555 * commands/test.c: Likewise.
35556 * commands/efi/acpi.c: Likewise.
35557 * commands/gptsync.c: Likewise.
35558 * commands/help.c: Likewise.
35559 * partmap/amiga.c: Likewise.
35560 * partmap/apple.c: Likewise.
35561 * partmap/acorn.c: Likewise.
35562 * partmap/pc.c: Likewise.
35563 * partmap/sun.c: Likewise.
35564 * partmap/gpt.c: Likewise.
35565 * script/sh/lexer.c: Likewise.
35566 * script/sh/function.c: Likewise.
35567 * font/font.c: Likewise.
35568 * font/font_cmd.c: Likewise.
35569 * loader/powerpc/ieee1275/linux.c: Likewise.
35570 * loader/efi/chainloader.c: Likewise.
35571 * loader/multiboot_loader.c: Likewise.
35572 * loader/macho.c: Likewise.
35573 * loader/i386/multiboot.c: Likewise.
35574 * loader/i386/linux.c: Likewise.
35575 * loader/i386/pc/linux.c: Likewise.
35576 * loader/i386/pc/multiboot2.c: Likewise.
35577 * loader/i386/pc/chainloader.c: Likewise.
35578 * loader/i386/pc/xnu.c: Likewise.
35579 * loader/i386/bsd_trampoline.S: Likewise.
35580 * loader/i386/efi/linux.c: Likewise.
35581 * loader/i386/multiboot_elfxx.c: Likewise.
35582 * loader/i386/bsd_helper.S: Likewise.
35583 * loader/i386/bsd.c: Likewise.
35584 * loader/i386/linux_trampoline.S: Likewise.
35585 * loader/i386/xnu_helper.S: Likewise.
35586 * loader/i386/xnu.c: Likewise.
35587 * loader/i386/bsd_pagetable.c: Likewise.
35588 * loader/i386/multiboot_helper.S: Likewise.
35589 * loader/xnu.c: Likewise.
35590 * loader/xnu_resume.c: Likewise.
35591 * io/gzio.c: Likewise.
35592 * term/efi/console.c: Likewise.
35593 * term/terminfo.c: Likewise.
35594 * term/ieee1275/ofconsole.c: Likewise.
35595 * term/i386/pc/serial.c: Likewise.
35596 * term/i386/pc/vesafb.c: Likewise.
35597 * term/i386/pc/vga.c: Likewise.
35598 * term/usb_keyboard.c: Likewise.
35599 * term/gfxterm.c: Likewise.
35600 * aclocal.m4: Likewise.
35601 * util/lvm.c: Likewise.
35602 * util/grub.d/30_os-prober.in: Likewise.
35603 * util/grub.d/10_hurd.in: Likewise.
35604 * util/console.c: Likewise.
35605 * util/grub-macho2img.c: Likewise.
35606 * util/grub-probe.c: Likewise.
35607 * util/hostfs.c: Likewise.
35608 * util/i386/pc/grub-mkimage.c: Likewise.
35609 * util/i386/pc/grub-setup.c: Likewise.
35610 * util/i386/efi/grub-mkimage.c: Likewise.
35611 * util/grub-mkconfig.in: Likewise.
35612 * util/raid.c: Likewise.
35613 * util/resolve.c: Likewise.
35614 * util/grub-mkdevicemap.c: Likewise.
35615 * util/grub-emu.c: Likewise.
35616 * util/getroot.c: Likewise.
35617 * util/hostdisk.c: Likewise.
35618 * util/usb.c: Likewise.
35619 * util/grub-editenv.c: Likewise.
35620 * util/misc.c: Likewise.
35621
d2d49665 356222009-06-10 Felix Zielcke <fzielcke@z-51.de>
35623
35624 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
35625 `genparttoollist.sh'.
35626 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
35627 Add `*.sh' to the list find searches for and change `mdate.sh'
35628 to `mdate-sh'.
35629
fe052e37 356302009-06-10 Pavel Roskin <proski@gnu.org>
35631
2763ac18 35632 * include/grub/multiboot2.h: Provide compatibility defines for
35633 multiboot2.h.
35634 * include/multiboot2.h: Include stdint.h only if needed, using
35635 angle brackets.
35636 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
35637 grub/multiboot2.h.
35638 * loader/ieee1275/multiboot2.c: Likewise.
35639 * loader/multiboot2.c: Likewise.
35640 * loader/multiboot_loader.c: Likewise.
35641
437e6adc 35642 * configure.ac: Use -nostdlib when probing for the target. It
35643 should not be required to have libc for the target.
35644
06a6836c 35645 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
35646 they fail without libc headers for the target.
35647 * include/grub/powerpc/libgcc.h: Use weak attribute for all
35648 exports.
35649 * include/grub/sparc64/libgcc.h: Likewise. Don't use
35650 preprocessor conditionals.
35651
fe052e37 35652 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
35653 build system doesn't need to be aware of the tar.c internals.
35654
afd22553 356552009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 35656
afd22553 35657 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 35658
6b787c4f 356592009-06-09 Robert Millan <rmh.grub@aybabtu.com>
35660
35661 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
35662 disk limit to 26 for IDE, Virtio, Xen and SCSI.
35663
356642009-06-09 Felix Zielcke <fzielcke@z-51.de>
35665
35666 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 35667 aren't available if ata.mod gets used.
6b787c4f 35668
473d1e45 356692009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 35670
473d1e45 35671 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 35672 initialising controller.
473d1e45 35673 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 35674
255a27d4 356752009-06-08 Felix Zielcke <fzielcke@z-51.de>
35676
35677 * util/i386/pc/grub-install.in: Add a parameter --disk-module
35678 to choose between ata and biosdisk module on i386-pc.
35679
473d1e45 356802009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 35681
d55842d8 35682 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
35683 Subclass and Programming Interface fields in terms of the 3 byte
35684 Class Code register.
35685 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35686
fa5db0b1 35687 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
35688 interface is OHCI. Add grub_dprintf for symmetry with
35689 bus/usb/uhci.c.
35690 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
35691 interface is UHCI. Add interf variable for programming
35692 interface. Print interface with class/subclass.
35693
c0947beb 35694 * bus/usb/ohci.c: Set interf with correct field.
35695
69da8877 35696 * bus/usb/uhci.c: Remove unneeded doubled lines.
35697 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
35698 Remove whitespace inside comment.
35699
9e172e30 357002009-06-08 Robert Millan <rmh.grub@aybabtu.com>
35701
35702 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
35703 as fallback an equivalent option without depth.
35704
de65ee2b 357052009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35706
35707 Not fail if unable to retrieve C/H/S on LBA disks
35708
473d1e45 35709 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 35710 if unable to retrieve C/H/S on LBA disks
35711
b57ea2c9 357122009-06-08 Pavel Roskin <proski@gnu.org>
35713
35714 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
35715 about aliasing.
35716
af361263 357172009-06-08 Felix Zielcke <fzielcke@z-51.de>
35718
35719 * Makefile.in (uninstall): Remove all $lib_DATA files.
35720
4c9ec6b3 357212009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35722
35723 Bugfix: install on partitionless device
35724
35725 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
35726 is a whole disk
35727
e76fc924 357282009-06-08 Felix Zielcke <fzielcke@z-51.de>
35729
35730 * Makefile.in (uninstall): Remove all $include_DATA files.
35731
ba5a0d05 357322009-06-08 Felix Zielcke <fzielcke@z-51.de>
35733
35734 * commands/true.c: New file. Implement the true and false commands.
35735 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
35736 (true_mod_SOURCES): New variable.
35737 (true_mod_CFLAGS): Likewise.
35738 (true_mod_LDFLAGS): Likewise.
35739
c8048e32 357402009-06-05 Colin D Bennett <colin@gibibit.com>
35741
35742 Optimized font character lookup using binary search instead of linear
35743 search. Fonts now are required to have the character index ordered by
35744 code point.
35745
35746 * font/font.c (load_font_index): Verify that fonts have ordered
35747 character indices.
35748 (find_glyph): Use binary search instead of linear search to find a
35749 character in a font.
35750
408305be 357512009-06-05 Michael Scherer <misc@mandriva.org>
35752
35753 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
35754 uses case sensitive btree.
35755 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
35756 only for case insensitive filesystems.
35757
8ee1e0d9 357582009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
35759
35760 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
35761 * conf/common.rmk (search_mod_CFLAGS): likewise
35762
a9966eb1 357632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35764
473d1e45 35765 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 35766 compensate a compiler bug
35767
9e7100fb 357682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35769
473d1e45 35770 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 35771 instead of '\b'
473d1e45 35772
ede21d71 357732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35774
35775 Definitions for creating asm symbols with Apple's CC
35776
35777 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
35778 [APPLE_CC] (VARIABLE): likewise
35779
9dbf7653 357802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35781
35782 Disable lnxboot.img when compiled
35783 with Apple's CC
35784
35785 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
35786 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
35787 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
35788 [! APPLE_CC] (CODE_LENG): skip
35789 [! APPLE_CC] (setup_sects): likewise
35790 [! APPLE_CC]: skip filling
473d1e45 35791
e93cdc3d 357922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35793
35794 Address in trampolines based on 32-bit registers when compiled
35795 with Apple's CC
35796
473d1e45 35797 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 35798 for addresses
35799 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
35800
6c688477 358012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35802
35803 Avoid aliases when compiling with Apple's CC for PCBIOS machine
35804
35805 * kern/misc.c [APPLE_CC] (memcpy): new function
35806 [APPLE_CC] (memmove): likewise
35807 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 35808 (memcpy): define alias conditionally on !APPLE_CC
6c688477 35809 (memset): likewise
35810 (abort): likewise
35811 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
35812 APPLE_CC are defined
35813 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
35814 (grub_assert_fail): make prototype conditional
35815
e37ffc5c 358162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35817
35818 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
35819
473d1e45 35820 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
35821 grub-macho2img
e37ffc5c 35822 (CLEANFILES): add grub-macho2img
35823 (grub_macho2img_SOURCES): new variable
35824 * kern/i386/pc/startup.S (bss_start): new variable
35825 (bss_end): likewise
35826 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
35827 * util/grub-macho2img.c: new file
35828
cf00df31 358292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35830
35831 Use objconv when compiling with Apple's CC
35832
35833 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
35834 (efiemu64.o): likewise
35835 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
35836 when compiling with Apple's CC
35837 (efiemu64_s.o): likewise
35838 * configure.ac: check for objconv when compiling with Apple's CC
35839 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 35840
d119a20c 358412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35842
35843 Define segment as well as section when compiling with
35844 Apple's CC
35845
35846 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
35847 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
35848 (efiemu_convert_pointer): likewise
35849 (efiemu_set_virtual_address_map): likewise
35850 (efiemu_convert_pointer): likewise
35851 (efiemu_getcrc32): likewise
35852 (init_crc32_table): likewise
35853 (reflect): likewise
35854 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
35855 (GRUB_MOD_DEP): likewise
473d1e45 35856
c8600122 358572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35858
35859 Allow a compilation without -mcmodel=large
35860
35861 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
35862 when compiled without -mcmodel=large
473d1e45 35863 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 35864 without -mcmodel=large
473d1e45 35865 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 35866 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 35867
e8df1d4e 358682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35869
35870 Remove nested functions in efiemu core
35871
35872 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 35873
cc6c3ac1 358742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35875
35876 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
35877
35878 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
35879 temporary storage
473d1e45 35880 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
35881 using Apple's CC
cc6c3ac1 35882 (grub_cpu_is_tsc_supported): likewise
35883 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 35884
3e325901 358852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35886
35887 Absolute addressing through constant with Apple's cc
35888
35889 * kern/i386/pc/startup.S: Define necessary constants
35890 and address through it when using ABS with Apple's CC
35891 * boot/i386/pc/diskboot.S: likewise
35892 * boot/i386/pc/boot.S: likewise
35893 * boot/i386/pc/lnxboot.S: likewise
35894 * boot/i386/pc/cdboot.S: likewise
35895 * mmap/i386/pc/mmap_helper.S: likewise
35896 * commands/i386/pc/drivemap_int13h.S: likewise
35897
2b167a72 358982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35899
35900 Check if compiler is apple cc
35901
35902 * Makefile.in (ASFLAGS): new variable
35903 (TARGET_ASFLAGS): likewise
35904 (TARGET_MODULE_FORMAT): likewise
35905 (TARGET_APPLE_CC): likewise
35906 (OBJCONV): likewise
35907 (TARGET_IMG_CFLAGS): likewise
35908 (TARGET_CPPFLAGS): add includedir
35909 * configure.ac: call grub_apple_cc and grub_apple_target_cc
35910 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
35911 Check for linker script only if compiler isn't Apple's CC
35912 (TARGET_MODULE_FORMAT): set
35913 (TARGET_APPLE_CC): likewise
35914 (TARGET_ASFLAGS): likewise
35915 (ASFLAGS): likewise
35916 Check for objcopy only if compiler isn't Apple's CC
35917 Check for BSS symbol only if compiler isn't Apple's CC
35918 * genmk.rb: adapt nm options if we use Apple's utils
35919 * aclocal.m4 (grub_apple_cc): new test
35920 (grub_apple_target_cc): likewise
473d1e45 35921
fb14123e 359222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35923
35924 Simplify sed expressions and improve awk
35925
35926 * Makefile.in (install-local): simplify sed expression
35927 * gencmdlist.sh: likewise
35928 * genmoddep.awk: avoid adding module as a dependency of itself
35929
5b889789 359302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35931
35932 Add missing start symbols
35933
35934 * boot/i386/pc/boot.S: add start
fb14123e 35935 * boot/i386/pc/pxeboot.S: likewise
473d1e45 35936
fd2bf2e3 359372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35938
35939 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 35940
35941 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 35942 (relocate_addresses): consider both r_addend and value at offset
35943 (make_mods_section): zerofill modinfo and header
35944 (convert_elf): write prefix here
473d1e45 35945
5389763d 359462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35947
35948 Use .asciz instead of .string
35949
35950 * i386/pc/diskboot.S: use .asciz instead of .string
35951 * i386/pc/boot.S: likewise
35952 * include/grub/dl.h (GRUB_MOD_DEP): likewise
35953 (GRUB_MOD_NAME): likewise
473d1e45 35954
3eb5ed4e 359552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35956
35957 gfxpayload support
35958
35959 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
35960 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
35961 (grub_video_setup): remove
35962 (grub_video_set_mode): new prototype
35963 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
35964 (vid_mode): remove
35965 (linux_vesafb_res): compile only on PCBIOS
35966 (grub_linux_boot): support gfxpayload
35967 * loader/i386/pc/xnu.c (video_hook): new function
35968 (grub_xnu_set_video): support gfxpayload
35969 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
35970 (DEFAULT_VIDEO_HEIGHT): likewise
35971 (DEFAULT_VIDEO_FLAGS): likewise
35972 (DEFAULT_VIDEO_MODE): new definition
35973 (video_hook): new function
35974 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 35975 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 35976 loading xnu
35977 * video/video.c (grub_video_setup): removed
473d1e45 35978 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 35979 grub_video_setup
35980
4b0e1143 359812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35982
35983 Avoid calling biosdisk in drivemap
35984
35985 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
35986 (revparse_biosdisk): likewise
35987 (list_mappings): derive name from id directly
35988 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 35989
fda6cb98 359902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35991
35992 Script fixes
35993
35994 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
35995 (grub_lexer_param): add tokenonhold
35996 (grub_script_create_cmdline): remove cmdline. All callers updated
35997 (grub_script_function_create): make functionname
35998 grub_script_arg. All callers updated
35999 (grub_script_execute_argument_to_string): new prototype
36000 * kern/parser.c (state_transitions): reorder
36001 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 36002 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 36003 make global
36004 (grub_script_execute_cmdline): use new format
36005 * script/sh/function.c (grub_script_function_create): make functionname
36006 grub_script_arg. All callers updated
473d1e45 36007 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 36008 (grub_script_yylex): remove
36009 (grub_script_yylex2): renamed to ...
36010 (grub_script_yylex): ...renamed
36011 parse the expressions like a${b}c
36012 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
36013 (GRUB_PARSER_TOKEN_VAR): remove
36014 (GRUB_PARSER_TOKEN_NAME): likewise
36015 ("if"): declare as typeless
36016 ("while"): likewise
36017 ("function"): likewise
36018 ("else"): likewise
36019 ("then"): likewise
36020 ("fi"): likewise
36021 (text): remove
36022 (argument): likewise
36023 (script): accept empty scripts and make exit on error
36024 (arguments): use GRUB_PARSER_TOKEN_ARG
36025 (function): likewise
36026 (command): move error handling to script
36027 (menuentry): move grub_script_lexer_ref before
473d1e45 36028 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 36029 argument. All callers updated
36030
f4448a07 360312009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36032
36033 Prevent GRUB from probing floppies during boot.
36034
36035 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
36036 * commands/search.c (options): Add --no-floppy.
36037 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
36038 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
36039 --no-floppy when searching for UUIDs.
36040
2bf5885a 360412009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36042
36043 Simplify the code duplication in commands/search.c.
36044
36045 * commands/search.c (search_label, search_fs_uuid): Merge into ...
36046 (search_fs): ... this. Update all users.
36047
f6fd460a 360482009-06-03 Felix Zielcke <fzielcke@z-51.de>
36049
36050 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
36051
cbb3c83e 360522009-05-28 Pavel Roskin <proski@gnu.org>
36053
57788cfd 36054 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
36055 Remove the original symlink explicitly.
36056
cbb3c83e 36057 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
36058 just one slash. That's how grub_fshelp_find_file() does it.
36059
cd0d5e30 360602009-05-26 Pavel Roskin <proski@gnu.org>
36061
f0f8bbe2 36062 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
36063 to `str'.
36064
cd0d5e30 36065 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
36066 possibly unused.
36067
8c2cab51 360682009-05-25 Christian Franke <franke@computer.org>
36069
36070 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
36071 register.
36072 (grub_atapi_identify): Add wait after drive select.
36073 (grub_ata_identify): Do more strict status register check before
36074 calling grub_atapi_identify (). Suppress error message if status
36075 register is 0x00 after command failure. Add status register
36076 check after PIO read to avoid bogus identify due to stuck DRQ.
36077 Thanks to Pavel Roskin for testing.
36078 (grub_device_initialize): Remove unsafe status register check.
36079 Thanks to 'phcoder' for problem report and patch.
36080 Prevent sign extension in debug message.
36081
230c0ad6 360822009-05-23 Colin D Bennett <colin@gibibit.com>
36083
36084 Cleaned up `include/grub/normal.h'. Grouped prototypes by
36085 definition file, and functions defined in `normal/menu.c' have had
36086 their prototypes moved to `include/grub/menu.h' for consistency.
36087
36088 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
36089 from normal.h.
36090 (grub_menu_get_entry): Likewise.
36091 (grub_menu_get_timeout): Likewise.
36092 (grub_menu_set_timeout): Likewise.
36093 (grub_menu_execute_entry): Likewise.
36094 (grub_menu_execute_with_fallback): Likewise.
36095 (grub_menu_entry_run): Likewise.
36096
36097 * include/grub/normal.h: Re-ordered and grouped function
36098 prototypes by file that the function is defined in.
36099 (grub_menu_execute_callback): Removed; moved to menu.h.
36100 (grub_menu_get_entry): Likewise.
36101 (grub_menu_get_timeout): Likewise.
36102 (grub_menu_set_timeout): Likewise.
36103 (grub_menu_execute_entry): Likewise.
36104 (grub_menu_execute_with_fallback): Likewise.
36105 (grub_menu_entry_run): Likewise.
36106 (grub_menu_addentry): Renamed from this ...
36107 (grub_normal_add_menu_entry): ... to this.
36108
36109 * normal/main.c (grub_menu_addentry): Renamed from this ...
36110 (grub_normal_add_menu_entry): ... to this.
36111
36112 * script/sh/execute.c (grub_script_execute_menuentry): Update
36113 reference to renamed grub_menu_addentry function.
36114
861f03a5 361152009-05-23 Felix Zielcke <fzielcke@z-51.de>
36116
36117 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
36118
96b1619a 361192009-05-22 Pavel Roskin <proski@gnu.org>
36120
bf6a5fb2 36121 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
36122 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
36123 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
36124 compiling for the i386 targets, but not for the utilities.
36125
96b1619a 36126 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
36127 to grub_uint8_t.
36128 (grub_root_drive): Likewise.
36129 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
36130 remove alignment.
36131 (grub_root_drive): Change size to byte.
36132 (grub_start_addr): Remove.
36133 (grub_end_addr): Likewise.
36134 (grub_apm_bios_info): Likewise.
36135
b729776b 361362009-05-21 Felix Zielcke <fzielcke@z-51.de>
36137
36138 * normal/i386: Remove.
36139 * normal/powerpc: Likewise.
36140 * normal/sparc64: Likewise.
36141 * normal/x86_64: Likewise.
36142
0a15ce80 361432009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
36144
36145 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 36146 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 36147 * loader/i386/xnu_helper.S: Likewise
d6da58e6 36148
33db9015 361492009-05-18 Colin D Bennett <colin@gibibit.com>
36150
d6da58e6 36151 Display error messages when parsing a Lua statement fails.
36152 Previously, executing a syntactically invalid statement like
36153 ")foo" or "bar;" would silently fail.
33db9015 36154
36155 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 36156 (grub_lua_parse_line): Improved reporting of Lua parser and
36157 execution errors.
33db9015 36158
46422c89 361592009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36160
36161 Remove -Werror which causes build to fail on some systems
36162
36163 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
36164 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
36165 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 36166
22f53a96 361672009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36168
36169 trampoline for linux on 64-bit platform
36170
18f547ad 36171 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
36172 loader/i386/efi/linux_trampoline.S
36173 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 36174 declaration
d6da58e6 36175 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
36176 here
22f53a96 36177 * loader/i386/linux_trampoline.S: moved here
d6da58e6 36178 * loader/i386/efi/linux.c (allocate_pages): reserve space for
36179 trampoline
22f53a96 36180 (jumpvector): removed
36181 (grub_linux_trampoline_start): new declaration
36182 (grub_linux_trampoline_end): likewise
36183 (grub_linux_boot): use trampoline when on 64-bit platform
36184 * loader/i386/linux.c: likewise
36185
cb5a0f40 361862009-05-16 Pavel Roskin <proski@gnu.org>
36187
36188 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
36189 const to avoid a warning.
36190 (grub_lua_setenv): Likewise.
36191 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
36192 lmsg to fix a warning.
36193
334f2c28 361942009-05-16 Felix Zielcke <fzielcke@z-51.de>
36195
36196 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 36197 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36198 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
36199 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36200 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36201 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36202 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36203 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 36204
59e5d3ec 362052009-05-16 Felix Zielcke <fzielcke@z-51.de>
36206
36207 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
36208
9d87a1ba 362092009-05-16 Bean <bean123ch@gmail.com>
36210
36211 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
36212 (lua_mod_SOURCES): New variable.
36213 (lua_mod_CFLAGS): Likewise.
36214 (lua_mod_LDFLAGS): Likewise.
36215
36216 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
36217 (setjmp_mod_SOURCES): New variable.
36218 (setjmp_mod_CFLAGS): Likewise.
36219 (setjmp_LDFLAGS): Likewise.
36220
36221 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
36222 (setjmp_mod_SOURCES): New variable.
36223 (setjmp_mod_CFLAGS): Likewise.
36224 (setjmp_LDFLAGS): Likewise.
36225
36226 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36227 (setjmp_mod_SOURCES): New variable.
36228 (setjmp_mod_CFLAGS): Likewise.
36229 (setjmp_LDFLAGS): Likewise.
36230
36231 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36232 (setjmp_mod_SOURCES): New variable.
36233 (setjmp_mod_CFLAGS): Likewise.
36234 (setjmp_LDFLAGS): Likewise.
36235
36236 * normal/i386/setjmp.S: Moved from here ...
36237 * lib/i386/setjmp.S: ... Moved here
36238 * normal/x86_64/setjmp.S: Moved from here ...
36239 * lib/x86_64/setjmp.S: ... Moved here
36240 * normal/powerpc/setjmp.S: Moved from here ...
36241 * lib/powerpc/setjmp.S: ... Moved here
36242 * normal/sparc64/setjmp.S: Moved from here ...
36243 * lib/sparc64/setjmp.S: ... Moved here
36244
36245 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
36246 returns_twice in mingw.
36247
36248 * script/lua/grub_lib.c: New file.
36249 * script/lua/grub_lib.h: Likewise.
36250 * script/lua/grub_lua.h: Likewise.
36251 * script/lua/grub_main.c: Likewise.
36252 * script/lua/lapi.c: Likewise.
36253 * script/lua/lapi.h: Likewise.
36254 * script/lua/lauxlib.c: Likewise.
36255 * script/lua/lauxlib.h: Likewise.
36256 * script/lua/lbaselib.c: Likewise.
36257 * script/lua/lcode.c: Likewise.
36258 * script/lua/lcode.h: Likewise.
36259 * script/lua/ldblib.c: Likewise.
36260 * script/lua/ldebug.c: Likewise.
36261 * script/lua/ldebug.h: Likewise.
36262 * script/lua/ldo.c: Likewise.
36263 * script/lua/ldo.h: Likewise.
36264 * script/lua/ldump.c: Likewise.
36265 * script/lua/lfunc.c: Likewise.
36266 * script/lua/lfunc.h: Likewise.
36267 * script/lua/lgc.c: Likewise.
36268 * script/lua/lgc.h: Likewise.
36269 * script/lua/linit.c: Likewise.
36270 * script/lua/liolib.c: Likewise.
36271 * script/lua/llex.c: Likewise.
36272 * script/lua/llex.h: Likewise.
36273 * script/lua/llimits.h: Likewise.
36274 * script/lua/lmathlib.c: Likewise.
36275 * script/lua/lmem.c: Likewise.
36276 * script/lua/lmem.h: Likewise.
36277 * script/lua/loadlib.c: Likewise.
36278 * script/lua/lobject.c: Likewise.
36279 * script/lua/lobject.h: Likewise.
36280 * script/lua/lopcodes.c: Likewise.
36281 * script/lua/lopcodes.h: Likewise.
36282 * script/lua/loslib.c: Likewise.
36283 * script/lua/lparser.c: Likewise.
36284 * script/lua/lparser.h: Likewise.
36285 * script/lua/lstate.c: Likewise.
36286 * script/lua/lstate.h: Likewise.
36287 * script/lua/lstring.c: Likewise.
36288 * script/lua/lstring.h: Likewise.
36289 * script/lua/lstrlib.c: Likewise.
36290 * script/lua/ltable.c: Likewise.
36291 * script/lua/ltable.h: Likewise.
36292 * script/lua/ltablib.c: Likewise.
36293 * script/lua/ltm.c: Likewise.
36294 * script/lua/ltm.h: Likewise.
36295 * script/lua/lua.h: Likewise.
36296 * script/lua/luaconf.h: Likewise.
36297 * script/lua/lualib.h: Likewise.
36298 * script/lua/lundump.c: Likewise.
36299 * script/lua/lundump.h: Likewise.
36300 * script/lua/lvm.c: Likewise.
36301 * script/lua/lvm.h: Likewise.
36302 * script/lua/lzio.c: Likewise.
36303 * script/lua/lzio.h: Likewise.
36304
5e898c9d 363052009-05-16 Bean <bean123ch@gmail.com>
36306
36307 * include/grub/kernel.h (grub_module_header_types): Add type
36308 OBJ_TYPE_CONFIG.
36309
36310 * kern/main.c (grub_load_config): New function.
36311 (grub_main): Call grub_load_config to read boot config.
36312
36313 * grub-mkimage (generate_image): New parameter config_path.
36314 (options): New option --config.
36315 (main): Parse --config option, and pass it to generate_image.
36316
cf353a47 363172009-05-14 Christian Franke <franke@computer.org>
36318
36319 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
36320 This fixes build on Cygwin.
36321
3834887f 363222009-05-14 Pavel Roskin <proski@gnu.org>
36323
36324 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
36325 jump. This saves two bytes, so the typical case of 2 swapped
36326 drives would fit 32 bytes.
36327
8090fc01 363282009-05-13 Pavel Roskin <proski@gnu.org>
36329
ac963883 36330 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
36331 grub_uint32_t to avoid a warning.
36332
8090fc01 36333 * loader/i386/linux.c (allocate_pages): When assigning
36334 real_mode_mem, cast through grub_size_t to fix a warning. The
36335 code already makes sure that the value would fit a pointer.
36336 (grub_linux_setup_video): Cast render_target->data to
36337 grub_size_t to fix a warning.
36338
18f547ad 363392009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 36340
36341 * commands/i386/pc/drivemap.c: New file - implement drivemap
36342 command.
36343 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
36344 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
36345
6f6a8b28 363462009-05-13 Pavel Roskin <proski@gnu.org>
36347
36348 * util/i386/pc/grub-setup.c (setup): Remove unused variable
36349 embedding_area_exists.
36350
15fbf4c4 363512009-05-13 Robert Millan <rmh.grub@aybabtu.com>
36352
36353 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
36354 it easier to understand / work with.
59978c8a 36355 Improve warning messages for cases where there's no embedding area,
36356 or when it is too small (or core.img too large).
15fbf4c4 36357
238e871f 363582009-05-13 Pavel Roskin <proski@gnu.org>
36359
0ab3a9a4 36360 * loader/i386/pc/multiboot2.c: Add necessary includes for
36361 grub_multiboot2_real_boot().
36362
a2c8c5f8 36363 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
36364 PX record is always little-endian. We only need the lower 2
36365 bytes of the mode.
36366
faec96af 36367 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
36368 facilitate code reuse.
36369 (grub_cpio_mount): Use "struct head", not a char buffer. This
36370 fixes a warning reported by gcc 4.4.
36371
238e871f 36372 * kernel/disk.c (grub_disk_read): Use void pointer for the
36373 buffer.
36374 (grub_disk_write): Use const void pointer for the buffer.
36375 Adjust all callers. Remove unnecessary casts.
36376
901d2f0c 363772009-05-10 Robert Millan <rmh.grub@aybabtu.com>
36378
36379 * util/i386/pc/grub-install.in: Update copyright year.
36380
18f547ad 363812009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 36382
36383 gptsync
36384
36385 * commands/gptsync.c: new file
36386 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
36387 (gptsync_mod_SOURCES): new variable
36388 (gptsync_mod_CFLAGS): likewise
36389 (gptsync_mod_LDFLAGS): likewise
18f547ad 36390 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 36391 new definition
36392 (GRUB_PC_PARTITION_TYPE_HFS): likewise
36393 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
36394 * conf/i386-ieee1275.rmk: likewise
36395 * conf/i386-pc.rmk: likewise
36396 * conf/powerpc-ieee1275.rmk: likewise
36397
b4ba690a 363982009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
36399
36400 Fixed grub-emu
36401
36402 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
36403 (grub_dl_ref): likewise
36404
317e1a44 364052009-05-08 Robert Millan <rmh.grub@aybabtu.com>
36406
36407 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
36408 split in two functions (one for msdos and one for gpt).
36409
041b8094 364102009-05-08 Pavel Roskin <proski@gnu.org>
36411
752473c2 36412 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
36413 not modified.
36414
041b8094 36415 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
36416 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
36417 Initialize them with -1. Add sanity check for bad1. Eliminate
36418 nerr variable.
36419
172800ce 364202009-05-08 David S. Miller <davem@davemloft.net>
36421
36422 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
36423
29aa5e81 364242009-05-06 Robert Millan <rmh.grub@aybabtu.com>
36425
36426 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 36427 existence.
29aa5e81 36428
96613b62 364292009-05-05 Felix Zielcke <fzielcke@z-51.de>
36430
36431 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 36432 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 36433
eef73c8a 364342009-05-05 David S. Miller <davem@davemloft.net>
36435
36436 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
36437
119494b5 364382009-05-05 Pavel Roskin <proski@gnu.org>
36439
36440 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
36441 of grub_dl_ref() and grub_dl_unref().
36442 * commands/parttool.c: Remove preprocessor conditionals around
36443 grub_dl_ref() and grub_dl_unref().
36444 * fs/affs.c: Likewise.
36445 * fs/afs.c: Likewise.
36446 * fs/cpio.c: Likewise.
36447 * fs/ext2.c: Likewise.
36448 * fs/fat.c: Likewise.
36449 * fs/hfs.c: Likewise.
36450 * fs/hfsplus.c: Likewise.
36451 * fs/iso9660.c: Likewise.
36452 * fs/jfs.c: Likewise.
36453 * fs/minix.c: Likewise.
36454 * fs/ntfs.c: Likewise.
36455 * fs/reiserfs.c: Likewise.
36456 * fs/sfs.c: Likewise.
36457 * fs/udf.c: Likewise.
36458 * fs/ufs.c: Likewise.
36459 * fs/xfs.c: Likewise.
36460 * include/grub/dl.h: Likewise.
36461 * loader/xnu.c: Likewise.
36462
de5fd76e 364632009-05-04 Pavel Roskin <proski@gnu.org>
36464
36465 * commands/acpi.c: Remove unused variable my_mod.
36466 * partmap/amiga.c: Likewise.
36467 * partmap/apple.c: Likewise.
36468 * partmap/gpt.c: Likewise.
36469 * partmap/pc.c: Likewise.
36470 * partmap/sun.c: Likewise.
36471 * term/gfxterm.c: Likewise.
36472 * term/i386/pc/vesafb.c: Likewise.
36473 * term/i386/pc/vga.c: Likewise.
36474
983598ad 364752009-05-04 David S. Miller <davem@davemloft.net>
36476
36477 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
36478 pointer args to grub_ieee1275_get_property().
36479
8aadec43 36480 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
36481
9554b15e 36482 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
36483 devices, and do not traverse down under controller nodes.
36484
67e23c90 36485 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
36486 (grub_ofdisk_open): Use it to un-escape "," characters.
36487 * kern/disk.c (find_part_sep): New.
36488 (grub_disk_open): Use it to find the first non-escaped ','
36489 character in the disk name.
36490 * util/ieee1275/devicemap.c (escape_of_path): New.
36491 (grub_util_emit_devicemap_entry): Use it.
36492 * util/sparc64/ieee1275/grub-install.in: Update script to
36493 strip partition specifiers properly by not triggering on
36494 '\' escaped ',' characters.
36495
74bfdd2f 364962009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36497
36498 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
36499 to 0x300.
36500 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
36501 resolutions.
36502 (linux_vesafb_modes): Add a lot of additional modes to the list (based
36503 on documentation from Wikipedia).
36504
4241d2b1 365052009-05-04 Pavel Roskin <proski@gnu.org>
36506
36507 * disk/ata.c: Spelling fixes.
36508 * disk/raid.c: Likewise.
36509 * disk/usbms.c: Likewise.
36510 * disk/dmraid_nvidia.c: Likewise.
36511 * kern/ieee1275/openfw.c: Likewise.
36512 * kern/ieee1275/init.c: Likewise.
36513 * kern/ieee1275/cmain.c: Likewise.
36514 * boot/i386/pc/cdboot.S: Likewise.
36515 * video/readers/png.c: Likewise.
36516 * video/i386/pc/vbe.c: Likewise.
36517 * fs/udf.c: Likewise.
36518 * fs/hfs.c: Likewise.
36519 * fs/reiserfs.c: Likewise.
36520 * efiemu/runtime/efiemu.c: Likewise.
36521 * efiemu/main.c: Likewise.
36522 * efiemu/mm.c: Likewise.
36523 * include/grub/elf.h: Likewise.
36524 * include/grub/xnu.h: Likewise.
36525 * include/grub/usbdesc.h: Likewise.
36526 * include/grub/usb.h: Likewise.
36527 * include/grub/script_sh.h: Likewise.
36528 * include/grub/lib/LzmaEnc.h: Likewise.
36529 * include/grub/efiemu/efiemu.h: Likewise.
36530 * include/grub/command.h: Likewise.
36531 * normal/menu.c: Likewise.
36532 * normal/main.c: Likewise.
36533 * normal/datetime.c: Likewise.
36534 * bus/usb/uhci.c: Likewise.
36535 * mmap/i386/uppermem.c: Likewise.
36536 * mmap/mmap.c: Likewise.
36537 * commands/acpi.c: Likewise.
36538 * commands/test.c: Likewise.
36539 * partmap/apple.c: Likewise.
36540 * font/font.c: Likewise.
36541 * loader/sparc64/ieee1275/linux.c: Likewise.
36542 * loader/macho.c: Likewise.
36543 * loader/i386/bsd_trampoline.S: Likewise.
36544 * loader/i386/bsd.c: Likewise.
36545 * loader/xnu.c: Likewise.
36546 * term/i386/pc/vesafb.c: Likewise.
36547 * term/usb_keyboard.c: Likewise.
36548 * util/resolve.c: Likewise.
36549 * util/getroot.c: Likewise.
36550
0cfc0083 365512009-05-04 Felix Zielcke <fzielcke@z-51.de>
36552
36553 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
36554
7c1d00cd 365552009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36556
36557 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
36558 build error.
36559
b01f0548 365602009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36561
36562 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
36563 parameter only available on BIOS.
36564
ecc3eb22 365652009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36566
36567 Removed wrong semicolon in declaration
36568
36569 * grub/misc.h (grub_dprintf): remove semicolon
36570
112972a9 365712009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36572
36573 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
36574 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
36575 is done by grub_cmd_linux() now).
36576 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
36577 restore video to text mode.
36578 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
36579 indicates lack of "vga=" parameter. "vga=0" is mapped to
36580 `GRUB_LINUX_VID_MODE_NORMAL'.
36581
afd5c115 365822009-05-04 Felix Zielcke <fzielcke@z-51.de>
36583
36584 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
36585 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
36586 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 36587 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 36588 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
36589 `grub_script.tab.c'.
36590
36591 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36592 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36593 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36594 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36595 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36596
faa517ce 36597 * Makefile.in: Remove duplicated 2008 in Copyright line.
36598
ae0c0bdc 365992009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36600
473d1e45 36601 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 36602 unconditionally.
36603 * include/grub/util/misc.h (grub_util_warn): New declaration.
36604
36605 * util/i386/pc/grub-install.in: Understand --force and pass it down
36606 to grub-setup.
36607
36608 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
36609 down to setup().
36610 (setup): Improve error messages and add warnings when requested to
36611 install in odd layouts. Refuse to install using blocklists unless
36612 --force was set.
36613
18f547ad 366142009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 36615
36616 * disk/raid.c (grub_raid_scan_device): Improve debug message.
36617
6d260daa 366182009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36619
36620 Updated copyright year
36621
36622 * fs/hfsplus.c: updated copyright year
18f547ad 36623
69f853f8 366242009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36625
36626 HFS+ UUID
36627
18f547ad 36628 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 36629 in the space previously used by unused3
36630 (grub_hfsplus_uuid): new function
36631 (grub_hfsplus_fs): added uuid field
36632
4c402e73 366332009-05-03 Pavel Roskin <proski@gnu.org>
36634
36635 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
36636 suppress warnings. It's no longer needed.
36637 * disk/host.c: Likewise.
36638 * disk/ata_pthru.c: Likewise.
36639 * disk/loopback.c: Likewise.
36640 * hook/datehook.c: Likewise.
36641 * parttool/pcpart.c: Likewise.
36642 * fs/i386/pc/pxe.c: Likewise.
36643 * fs/ntfscomp.c: Likewise.
36644 * efiemu/main.c: Likewise.
36645 * mmap/mmap.c: Likewise.
36646 * commands/crc.c: Likewise.
36647 * commands/hexdump.c: Likewise.
36648 * commands/hdparm.c: Likewise.
36649 * commands/acpi.c: Likewise.
36650 * commands/echo.c: Likewise.
36651 * commands/minicmd.c: Likewise.
36652 * commands/blocklist.c: Likewise.
36653 * commands/memrw.c: Likewise.
36654 * commands/loadenv.c: Likewise.
36655 * commands/usbtest.c: Likewise.
36656 * commands/lsmmap.c: Likewise.
36657 * commands/boot.c: Likewise.
36658 * commands/parttool.c: Likewise.
36659 * commands/configfile.c: Likewise.
36660 * commands/search.c: Likewise.
36661 * commands/ieee1275/suspend.c: Likewise.
36662 * commands/cat.c: Likewise.
36663 * commands/i386/pc/pxecmd.c: Likewise.
36664 * commands/i386/pc/play.c: Likewise.
36665 * commands/i386/pc/halt.c: Likewise.
36666 * commands/i386/pc/vbeinfo.c: Likewise.
36667 * commands/i386/pc/vbetest.c: Likewise.
36668 * commands/lspci.c: Likewise.
36669 * commands/date.c: Likewise.
36670 * commands/handler.c: Likewise.
36671 * commands/ls.c: Likewise.
36672 * commands/test.c: Likewise.
36673 * commands/cmp.c: Likewise.
36674 * commands/efi/loadbios.c: Likewise.
36675 * commands/efi/fixvideo.c: Likewise.
36676 * commands/halt.c: Likewise.
36677 * commands/help.c: Likewise.
36678 * commands/reboot.c: Likewise.
36679 * hello/hello.c: Likewise.
36680 * script/sh/main.c: Likewise.
36681 * loader/xnu.c: Likewise.
36682 * term/terminfo.c: Likewise.
36683 * term/i386/pc/serial.c: Likewise.
36684 * term/usb_keyboard.c: Likewise.
36685
515b5079 366862009-05-03 David S. Miller <davem@davemloft.net>
36687
36688 * normal/menu.c: Include grub/parser.h
36689
dfc31a22 366902009-05-03 Pavel Roskin <proski@gnu.org>
36691
2fee74f1 36692 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
36693 not char*.
36694 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
36695 Suggested by Javier Martín <lordhabbit@gmail.com>
36696
dfc31a22 36697 * util/i386/pc/grub-mkrescue.in: Allow for the case when
36698 efiemu??.o doesn't exist.
36699 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
36700 copying.
36701
18f547ad 367022009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 36703
36704 FreeBSD 64-bit support
36705
18f547ad 36706 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 36707 and loader/i386/bsd_trampoline.S
36708 (bsd_mod_ASFLAGS): new variable
36709 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
36710 (FREEBSD_MODTYPE_KERNEL64): likewise
36711 (grub_bsd64_trampoline_start): likewise
36712 (grub_bsd64_trampoline_end): likewise
36713 (grub_bsd64_trampoline_selfjump): likewise
36714 (grub_bsd64_trampoline_gdt): likewise
36715 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
36716 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
36717 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
36718 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 36719 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 36720 of "attrib" member
36721 * loader/i386/bsd_pagetable.c: new file
36722 * loader/i386/bsd_trampoline.S: likewise
36723 * loader/i386/bsd.c (ALIGN_QWORD): new macro
36724 (ALIGN_VAR): likewise
36725 (entry_hi): new variable
36726 (kern_end_mdofs): likewise
36727 (is_64bit): likewise
36728 (grub_freebsd_add_meta): use ALIGN_VAR
36729 (grub_e820_mmap): new declaration
36730 (grub_freebsd_add_mmap): new function
36731 (grub_freebsd_add_meta_module): support 64 bit kernels
36732 (grub_freebsd_list_modules): use ALIGN_VAR
36733 (gdt_descriptor): new declaration
36734 (grub_freebsd_boot): support 64 bit kernels
36735 (grub_bsd_elf64_hook): new function
36736 (grub_bsd_load_elf): support elf64
36737
038c5720 367382009-05-03 Bean <bean123ch@gmail.com>
36739
36740 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
36741 after we get the result of if statement.
36742
fc45fb58 367432009-05-03 Bean <bean123ch@gmail.com>
36744
36745 * Makefile.in (enable_efiemu): New variable.
36746
36747 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
36748 set.
36749 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
36750 path.
36751 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
36752 path, add -mno-red-zone option.
36753 (efiemu64_s.o): Likewise.
36754 (efiemu64.o): Use macro $^ for source file.
36755
36756 * configure.ac (--enable-efiemu): New option.
36757
bbee0f2b 367582009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
36759
36760 xnu support
36761
36762 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
36763 (pkglib_MODULES): add xnu.mod
36764 (xnu_mod_SOURCES): new variable
36765 (xnu_mod_CFLAGS): likewise
36766 (xnu_mod_LDFLAGS): likewise
36767 (xnu_mod_ASFLAGS): likewise
36768 * conf/i386-pc.rmk: likewise
36769 * conf/x86_64-efi.rmk: likewise
7dd4a573 36770 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 36771 new declaration
36772 * include/grub/i386/macho.h: new file
36773 * include/grub/i386/xnu.h: likewise
36774 * include/grub/macho.h: likewise
36775 * include/grub/machoload.h: likewise
36776 * include/grub/x86_64/macho.h: likewise
36777 * include/grub/x86_64/xnu.h: likewise
36778 * include/grub/xnu.h: likewise
36779 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
36780 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
36781 * loader/i386/efi/xnu.c: new file
36782 * loader/i386/pc/xnu.c: likewise
36783 * loader/i386/xnu.c: likewise
36784 * loader/i386/xnu_helper.S: likewise
36785 * loader/macho.c: likewise
36786 * loader/xnu.c: likewise
36787 * loader/xnu_resume.c: likewise
36788 * util/grub-dumpdevtree: likewise
36789 * include/grub/i386/pit.h: include grub/err.h
36790 (grub_pit_wait): export
36791 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 36792
5caf964d 367932009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
36794
36795 Efiemu
7dd4a573 36796
5caf964d 36797 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 36798 _linux_efi, linux_efi.
36799 new files in grub-emu
5caf964d 36800 new targets efiemu32.o and efiemu64.o
36801 * loader/linux_normal_efiemu.c: likewise
36802 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 36803 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 36804 files to copy
36805 * include/grub/autoefi.h: new file
7dd4a573 36806 * include/grub/i386/efiemu.h: likewise
5caf964d 36807 * include/grub/i386/pc/efiemu.h: likewise
36808 * include/grub/efi/api.h: add LL suffix when necessary
36809 new definitions relating to tables
36810 * include/grub/efiemu/efiemu.h: new file
36811 * include/grub/efiemu/runtime.h: likewise
36812 * efiemu/prepare.c: likewise
36813 * efiemu/loadcore_common.c: likewise
36814 * efiemu/loadcore64.c: likewise
36815 * efiemu/runtime/efiemu.sh: likewise
36816 * efiemu/runtime/efiemu.S: likewise
36817 * efiemu/runtime/efiemu.c: likewise
36818 * efiemu/runtime/config.h: likewise
36819 * efiemu/prepare32.c: likewise
36820 * efiemu/main.c: likewise
36821 * efiemu/modules/pnvram.c: likewise
36822 * efiemu/modules/i386: likewise
36823 * efiemu/modules/i386/pc: likewise
36824 * efiemu/modules/acpi.c: likewise
36825 * efiemu/i386/pc/cfgtables.c: likewise
36826 * efiemu/i386/loadcore64.c: likewise
36827 * efiemu/i386/loadcore32.c: likewise
36828 * efiemu/prepare64.c: likewise
36829 * efiemu/loadcore.c: likewise
36830 * efiemu/symbols.c: likewise
36831 * efiemu/mm.c: likewise
36832 * efiemu/loadcore32.c: likewise
7dd4a573 36833
368342009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 36835
36836 ACPI spoofing
36837
36838 * commands/acpi.c: new file
36839 * commands/i386/pc/acpi.c: likewise
36840 * commands/efi/acpi.c: likewise
36841 * include/grub/acpi.h: likewise
36842 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
36843 (acpi_mod_SOURCES): new variable
36844 (acpi_mod_CFLAGS): likewise
36845 (acpi_mod_LDFLAGS): likewise
36846 * conf/i386-efi.rmk: likewise
36847 * conf/x86_64-efi.rmk: likewise
36848
7dd4a573 368492009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 36850
36851 Missing part from mmap patch
36852
36853 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
36854 (grub_mmap_unregister)
36855 (grub_mmap_free_and_unregister): use grub_mmap_register
36856
7dd4a573 368572009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 36858
36859 Mmap services
36860
36861 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
36862 * loader/i386/linux.c (find_mmap_size): likewise
36863 (allocate_pages): likewise
36864 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
36865 (grub_fill_multiboot_mmap): likewise
36866 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
36867 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
36868 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
36869 (OPENBSD_MMAP_RESERVED): likewise
36870 * include/grub/i386/pc/memory.h: include grub/memory.h
36871 (grub_lower_mem): removed
36872 (grub_upper_mem): likewise
36873 (GRUB_MACHINE_MEMORY_ACPI): new definition
36874 (GRUB_MACHINE_MEMORY_NVS): likewise
36875 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
36876 (GRUB_MACHINE_MEMORY_HOLE): likewise
36877 (grub_machine_mmap_register): likewise
36878 (grub_machine_mmap_unregister): likewise
36879 (grub_machine_get_upper): likewise
36880 (grub_machine_get_lower): likewise
36881 (grub_machine_get_post64): likewise
36882 * include/grub/i386/efi/memory.h: new file
36883 * include/grub/x86_64/efi/memory.h: likewise
36884 * include/grub/efi/memory.h: likewise
36885 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
36886 (mmap_mod_SOURCES): new variable
36887 (mmap_mod_LDFLAGS): likewise
36888 (mmap_mod_ASFLAGS): likewise
36889 * conf/i386-coreboot.rmk: likewise
36890 * conf/i386-ieee1275.rmk: likewise
36891 * conf/i386-efi.rmk: likewise
36892 * conf/x86_64-efi.rmk: likewise
36893 * include/grub/types.h (UINT_TO_PTR): new macro
36894 (PTR_TO_UINT32): likewise
36895 (PTR_TO_UINT64): likewise
36896 * include/grub/memory.h: new file
36897 * mmap/i386/pc/mmap.c: likewise
36898 * mmap/i386/pc/mmap_helper.S: likewise
36899 * mmap/i386/uppermem.c: likewise
36900 * mmap/mmap.c: likewise
36901 * mmap/efi/mmap.c: likewise
7dd4a573 36902 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 36903 grub_upper_mem
36904 * kern/i386/pc/init.c (grub_lower_mem): removed variable
36905 (grub_upper_mem): likewise
36906 (grub_machine_init): don't use grub_upper_mem,
36907 make grub_lower_mem local
36908 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
36909 grub_mmap_iterate and grub_mmap_get_upper
36910 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
36911
d558e6b5 369122009-05-02 Bean <bean123ch@gmail.com>
36913
36914 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
36915 script/sh/parser.y.
36916 (pkglib_MODULES): Add normal.mod and sh.mod.
36917 (normal_SOURCES): New variable.
36918 (normal_mod_CFLAGS): Likewise.
36919 (normal_mod_LDFLAGS): Likewise.
36920 (sh_mod_SOURCES): Likewise.
36921 (sh_mod_CFLAGS): Likewise.
36922 (sh_mod_LDFLAGS): Likewise.
36923
36924 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
36925 script/sh/lexer.c_DEPENDENCIES.
36926 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
36927 kern/rescue_reader.c and kern/rescue_parser.c.
36928 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
36929 (grub_emu_SOURCES): Change source files.
36930 (pkglib_MODULES): Remove normal.mod.
36931 (normal_SOURCES): Removed.
36932 (normal_mod_CFLAGS): Likewise.
36933 (normal_mod_LDFLAGS): Likewise.
36934 * conf/i386-coreboot.rmk: Likewise.
36935 * conf/i386-efi.rmk: Likewise.
36936 * conf/i386-ieee1276.rmk: Likewise.
36937 * conf/powerpc-ieee1275.rmk: Likewise.
36938 * conf/sparc64-ieee1275.rmk: Likewise.
36939 * conf/x86_64-efi.rmk: Likewise.
36940
36941 * include/grub/command.h (grub_command_execute): New inline function.
36942
36943 * include/grub/menu.h (grub_menu_entry): Removed commands field.
36944
36945 * include/grub/normal.h: Remove <grub/setjmp.h>.
36946 (grub_fs_module_list): Moved to normal/autofs.c.
36947 (grub_exit_env): Removed.
36948 (grub_command_execute): Likewise.
36949 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
36950 parameter script.
36951 (read_command_list): New function declaration.
36952 (read_fs_list): Likewise.
36953
36954 * include/parser.h: Include <grub/reader.h>.
36955 (grub_parser_split_cmdline): Change type of getline parameter.
36956 (grub_parser): New structure.
36957 (grub_parser_class): New variable.
36958 (grub_parser_execute): New function declaration.
36959 (grub_register_rescue_parser): Likewise.
36960 (grub_parser_register): New inline function.
36961 (grub_parser_unregister): Likewise.
36962 (grub_parser_get_current): Likewise.
36963 (grub_parser_set_current): Likewise.
36964
36965 * include/grub/reader.h: New file.
36966 * kern/reader.c: Likewise.
36967 * kern/rescue_parser.c: Likewise.
36968 * kern/rescue_reader.c: Likewise.
36969 * normal/autofs.c: Likewise.
36970 * normal/dyncmd.c: Likewise.
36971
36972 * include/grub/rescue.h: Removed.
36973 * normal/command.h: Likewise.
36974
36975 * include/grub/script.h: Moved to ...
36976 * include/grub/script_sh.h: ... Moved here.
36977 * normal/execute.c: Moved to ...
36978 * script/sh/execute.c: ... Moved here.
36979 * normal/function.c: Moved to ...
36980 * script/sh/function.c: ... Moved here.
36981 * normal/lexer.c: Moved to ...
36982 * script/sh/lexer.c: ... Moved here.
36983 * normal/parser.y: Moved to ...
36984 * script/sh/parser.y: ... Moved here.
36985 * normal/script.c: Moved to ...
36986 * script/sh/script.c: ... Moved here.
36987
36988 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
36989 <grub/reader.h>.
36990 (grub_exit_env): Removed.
36991 (fs_module_list): Moved to normal/autofs.c.
36992 (grub_file_getline): Don't handle comment here.
36993 (free_menu): Skip removed field entry->commands.
36994 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
36995 script parameter.
36996 (read_config_file): Removed nested parameter, change getline function.
36997 (grub_enter_normal_mode): Removed.
36998 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
36999 (read_command_list): Likewise.
37000 (autoload_fs_module): Moved to normal/autofs.c.
37001 (read_fs_list): Likewise.
37002 (reader_nested): New variable.
37003 (grub_normal_execute): Run parser.sh to switch to sh parser.
37004 (grub_cmd_rescue): Removed.
37005 (cmd_normal): Removed.
37006 (grub_cmd_normal): Unregister itself at the beginning. Don't register
37007 rescue command.
37008 (grub_cmdline_run): New function.
37009 (grub_normal_reader_init): Likewise.
37010 (grub_normal_read_line): Likewise.
37011 (grub_env_write_pager): Likewise.
37012 (cmdline): New variable.
37013 (grub_normal_reader): Likewise.
37014 (GRUB_MOD_INIT): Register normal reader and set as current, register
37015 pager hook, register normal command with grub_register_command_prio,
37016 so that it won't show up in command.lst.
37017 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
37018 grub_fs_autoload_hook.
37019
37020 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
37021 (grub_menu_execute_entry): Replace grub_script_execute with
37022 grub_parser_execute, change parameter to grub_command_execute.
37023
37024 * normal/menu_text.c: Remove <grub/script.h>.
37025
37026 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
37027 and <grub/parser.h>.
37028 (run): Change editor_getline to use new parser interface. Change
37029 parameter to grub_command_execute.
37030
37031 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
37032 <grub/reader.h> and <grub/parser.h>.
37033 (grub_load_normal_mode): Execute normal command.
37034 (grub_main): Call grub_register_core_commands,
37035 grub_register_rescue_parser and grub_register_rescue_reader, use
37036 grub_reader_loop to enter input loop.
37037
7dd4a573 37038 * kern/parser.c (grub_parser_split_cmdline): Change type of
37039 getline parameter.
d558e6b5 37040 (grub_parser_class): New variable.
37041 (grub_parser_execute): New function.
37042
37043 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
37044 * loader/multiboot2.c: Likewise.
37045 * loader/sparc64/ieee1275/linux.c: Likewise.
37046
37047 * util/grub-emu.c (read_command_list): New dummy function.
37048
18db813d 370492009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37050
37051 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
37052 count to 16 for CCISS and IDA.
37053
6c67de15 370542009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37055
37056 * normal/menu_text.c (grub_wait_after_message): Print a newline
37057 after waiting for user input.
37058
37059 * loader/i386/linux.c: Include `<grub/normal.h>'.
37060 (grub_cmd_linux): Improve the error message about `ask' mode, by
37061 waiting for user input so it's not missed (we can do this, since
37062 user requested interaction).
37063
d9dc87b0 370642009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37065
37066 Added missing lst to grub-mkrescue
37067
37068 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
37069 and ${input_dir}/parttool.lst
37070
ac8a2baa 370712009-04-30 David S. Miller <davem@davemloft.net>
37072
ad22a610 37073 * util/hostdisk.c (device_is_wholedisk): New function.
37074 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
37075 zero only if device_is_wholedisk() returns true.
37076
6966215d 37077 * util/hostdisk.c (convert_system_partition_to_system_disk):
37078 Handle virtual disk devices named /dev/vdiskX as found on sparc
37079 and powerpc.
37080
ac8a2baa 37081 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
37082 lettered partition specifier is found, convert to numbered.
37083
979b4fb4 370842009-04-29 David S. Miller <davem@davemloft.net>
37085
e2bf39b2 37086 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
37087 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37088
3c64e104 37089 * normal/command.c: Add missing newline at end of file.
37090
979b4fb4 37091 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
37092 warnings.
37093 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
37094 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
37095 grub_ofdisk_read): Likewise, and deal similarly with the fact that
37096 ihandles have a 32-bit type but need to be stored in a "void *".
37097
136d9f82 370982009-04-28 Pavel Roskin <proski@gnu.org>
37099
9459c306 37100 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
37101 not disk. Adjust all dependencies.
2e08a26a 37102 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 37103 grub_disk_close().
37104
136d9f82 37105 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
37106 parent's partition, don't copy it by reference, as it gets freed
37107 on close.
37108
7dd4a573 371092009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 37110
37111 Preboot hooks support
37112
37113 * commands/boot.c (struct grub_preboot_t): new declaration
37114 (preboots_head): new variable
37115 (preboots_tail): likewise
37116 (grub_loader_register_preboot_hook): new function
37117 (grub_loader_unregister_preboot_hook): likewise
37118 (grub_loader_set): launch preboot hooks
37119 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
37120 (grub_loader_register_preboot_hook): new declaration
37121 (grub_loader_unregister_preboot_hook): likewise
37122
5af922b5 371232009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
37124
37125 Warning fix
37126
7dd4a573 37127 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 37128 calling grub_dprintf
37129
a5562c30 371302009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
37131
37132 Bug and warning fixes
37133
7dd4a573 37134 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 37135 declaration
37136 * commands/test.c (test_parse): fixed bug with file tests and corrected
37137 declaration of find_file
37138
4006f85c 371392009-04-26 Pavel Roskin <proski@gnu.org>
37140
37141 * Makefile.in: Don't install empty manual pages if help2man is
37142 missing. Use help2man option for output, not shell redirection.
37143
5c77c3de 371442009-04-26 David S. Miller <davem@davemloft.net>
37145
37146 * util/grub-mkdevicemap.c (make_device_map): Add missing
37147 NESTED_FUNC_ATTR to process_device().
37148
033b10a8 371492009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37150
37151 Test command
37152
37153 * commands/test.c: rewritten to use bash-like test
37154
e4343593 371552009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37156
37157 Parttool autoloading and improvements
37158
7dd4a573 37159 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 37160 (parttool.lst): new target
37161 * genmk.rb: generate parttool-*
37162 (CLEANFILES): add #{parttool}
37163 (PARTTOOLFILES): new variable
37164 * genparttoollist.sh: new file
7dd4a573 37165 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 37166 (grub_pcpart_type): likewise
37167 * commands/parttool.c (helpmsg): new variable
37168 (grub_cmd_parttool): output help if not enough arguments are supplied
37169 autoload modules
37170 (GRUB_MOD_INIT(parttool)): use helpmsg
37171
0d312500 371722009-04-24 David S. Miller <davem@davemloft.net>
37173
7dd4a573 37174 Avoiding opening same device multiple times in device iterator.
0d312500 37175
37176 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 37177 and use it to build a list of partitions in iterate_disk() and
0d312500 37178 iterate_partition().
37179
ac20caff 37180 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
37181 on disk->data.
37182
0dcf7495 37183 * disk/ieee1275/nand.c (grub_nand_iterate): Return
37184 grub_devalias_iterate() result instead of unconditional 0.
37185 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
37186 Also, capture hook return value, either directly or via
37187 grub_children_iterate(), and propagate to caller.
37188 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
37189 grub_children_iterate): Return value is now 'int' instead of
37190 'grub_err_t'.
37191 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
37192 like a proper iterator, stopping when hooks return non-zero.
37193 (grub_devalias_iterate): Likewise.
37194
c8c08833 371952009-04-23 David S. Miller <davem@davemloft.net>
37196
37197 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
37198
f01005a8 371992009-04-22 David S. Miller <davem@davemloft.net>
37200
37201 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
37202 is larger than address_cells, use that value for address_cells too.
37203
4e8269da 37204 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
37205 IEEE1275_MAX_PATH_LEN): Define.
37206 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
37207 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
37208 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
37209 'devtype'. Explicitly NULL terminate devalias expansion.
37210
a1447506 37211 * util/sparc64/ieee1275/misc.c: New file.
37212 * util/sparc64/ieee1275/grub-setup.c: New file.
37213 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
37214 * util/sparc64/ieee1275/grub-mkimage.c: New file.
37215 * util/sparc64/ieee1275/grub-install.in: New file.
37216 * util/ieee1275/ofpath.c: New file.
37217 * util/ieee1275/devicemap.c: New file.
37218 * util/devicemap.c: New file.
37219 * util/deviceiter.c: New file.
37220 * kern/sparc64/ieee1275/init.c: New file.
37221 * include/grub/util/ofpath.h: New file.
37222 * include/grub/util/deviceiter.h: New file.
37223 * util/grub-mkdevicemap.c: Include deviceiter.h.
37224 Implement using grub_util_emit_devicemap_entry and
37225 grub_util_iterate_devices.
37226 * conf/i386-corebook.rmk: Build util/deviceiter.c and
37227 util/devicemap.c into grub-mkdevicemap
37228 * conf/i386-efi.rmk: Likewise.
37229 * conf/i386-ieee1275.rmk: Likewise.
37230 * conf/i386-pc.rmk: Likewise.
37231 * conf/powerpc-ieee1275.rmk: Likewise.
37232 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
37233 images and installation utilities. Build kernel as image
37234 instead of as elf binary. Use common rules as much as possible.
37235
7dd4a573 372362009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 37237
37238 Correct GPT definition
37239
7dd4a573 37240 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 37241 of "attrib" member
37242
c6c5219f 372432009-04-19 Felix Zielcke <fzielcke@z-51.de>
37244
37245 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
37246
0552ff9f 372472009-04-19 David S. Miller <davem@davemloft.net>
37248
37249 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
37250 (grub_rescue_cmd_linux): Rename to...
37251 (grub_cmd_linux): and fix prototype.
37252 (grub_rescue_cmd_initrd): Rename to...
37253 (grub_cmd_initrd): and fix prototype.
37254 (cmd_linux, cmd_initrd): New.
37255 (GRUB_MOD_INIT(linux)): Use grub_register_command().
37256 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
37257
d1a282fc 372582009-04-17 Pavel Roskin <proski@gnu.org>
37259
07c5039f 37260 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
37261 format.
37262 (grub_ohci_transfer): Likewise.
37263
b012002d 37264 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
37265
1bc09c35 37266 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
37267 return without a value. Fix inconsistent indentation.
37268
e0ff9126 37269 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
37270 match struct grub_fs.
37271
d1a282fc 37272 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
37273 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
37274 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37275 * commands/lspci.c (grub_lspci_iter): Likewise.
37276
a96df3f2 372772009-04-16 Bean <bean123ch@gmail.com>
37278
37279 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
37280 value.
37281
41bb0fe9 372822009-04-15 Pavel Roskin <proski@gnu.org>
37283
37284 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
37285 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
37286 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
37287 definitions.
37288
596c6970 372892009-04-15 Felix Zielcke <fzielcke@z-51.de>
37290
37291 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 37292 that no multiple data or metadata areas are supported and `Unknown
596c6970 37293 metadata header'.
37294
7dd4a573 372952009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 37296
37297 Move loader out of the kernel
37298
37299 * kern/loader.c: moved to ...
37300 * commands/boot.c: ... moved here
37301 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
37302 * commands/boot.c (grub_cmd_boot): moved here. All users updated
37303 * include/grub/kernel.h (grub_machine_fini): export
37304 * include/grub/loader.h (grub_loader_is_loaded): update declaration
37305 (grub_loader_set): likewise
37306 (grub_loader_unset): likewise
37307 (grub_loader_boot): likewise
37308 * conf/common.rmk: new module boot.mod
37309 (pkglib_MODULES): add boot.mod
37310 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
37311 (grub_emu_SOURCES): likewise
37312 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
37313 (grub_emu_SOURCES): likewise
37314 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
37315 (grub_emu_SOURCES): likewise
37316 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
37317 (grub_emu_SOURCES): likewise
37318 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
37319 (grub_emu_SOURCES): likewise
7dd4a573 37320 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
37321 (grub_emu_SOURCES): likewise
0d5d5653 37322 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 37323 (grub_emu_SOURCES): likewise
0d5d5653 37324
7dd4a573 373252009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 37326
37327 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 37328
5999d619 37329 * kern/misc.c (grub_itoa): Removed function
37330 (grub_ltoa): likewise
37331 (grub_vsprintf): use grub_lltoa
37332
7dd4a573 373332009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 37334
37335 Restore grub-emu
37336
37337 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
37338 * conf/i386-coreboot.rmk: likewise
37339 * conf/i386-ieee1275.rmk: likewise
37340 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37341
20318222 373422009-04-15 Felix Zielcke <fzielcke@z-51.de>
37343
37344 * INSTALL: Add that `./autogen.sh' needs to be run before
37345 `./configure.'.
37346
d05f0df3 373472009-04-14 Bean <bean123ch@gmail.com>
37348
37349 * Makefile.in (pkglib_DATA): Add handler.lst.
37350 (handler.lst): New rule.
37351
37352 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
37353 * conf/i386-coreboot.rmk: Likewise.
37354 * conf/i386-ieee1275.rmk: Likewise.
37355 * conf/i386-efi.rmk: Likewise.
37356 * conf/x86_64-efi.rmk: Likewise.
37357 * conf/powerpc-ieee1275.rmk: Likewise.
37358 * conf/sparc64-ieee1275.rmk: Likewise.
37359
37360 * genhandlerlist.sh: New file.
37361
37362 * genmk.rb: Add rules to generate handler.lst.
37363
37364 * include/grub/normal.h (grub_file_getline): New function definition.
37365 (read_handler_list): Likewise.
37366 (free_handler_list): Likewise.
37367
37368 * include/grub/term.h (grub_term_register_input): Add name parameter
37369 for auto generation of handler.lst.
37370 (grub_term_register_output): Likewise.
37371
37372 * normal/handler.c: New file.
37373
37374 * normal/main.c (get_line): Renamed to grub_file_getline.
37375 (read_config_file): Use the newly renamed grub_file_getline.
37376 (read_command_list): Likewise.
37377 (read_fs_list): Likewise.
37378 (grub_normal_execute): Call read_handler_list to parse handler.lst.
37379 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
37380
37381 * term/efi/console.c (grub_console_init): Add name parameter for auto
37382 generation of handler.lst.
37383 * term/gfxterm.c: Likewise.
37384 * term/i386/pc/at_keyboard.c: Likewise.
37385 * term/i386/pc/console.c: Likewise.
37386 * term/i386/pc/serial.c: Likewise.
37387 * term/i386/pc/vesafb.c: Likewise.
37388 * term/i386/pc/vga.c: Likewise.
37389 * term/i386/pc/vga_text.c: Likewise.
37390 * term/ieee1275/ofconsole.c: Likewise.
37391 * term/usb_keyboard.c: Likewise.
37392
33c846be 373932009-04-14 Bean <bean123ch@gmail.com>
37394
37395 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
37396 properly with null character.
37397
4484e01e 373982009-04-14 Felix Zielcke <fzielcke@z-51.de>
37399
37400 * configure: Remove.
37401 * config.h.in: Likewise.
f93d668e 37402 * stamp-h.in: Likewise.
4484e01e 37403 * DISTLIST: Likewise.
37404 * conf/common.mk: Likewise.
37405 * conf/i386-coreboot.mk: Likewise.
37406 * conf/i386-efi.mk: Likewise.
37407 * conf/i386-ieee1275.mk: Likewise.
37408 * conf/i386.mk: Likewise.
37409 * conf/i386-pc.mk: Likewise.
37410 * conf/powerpc-ieee1275.mk: Likewise.
37411 * conf/sparc64-ieee1275.mk: Likewise.
37412 * conf/x86_64-efi.mk: Likewise.
37413
37414 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
37415 develop on GRUB.
37416
7dd4a573 374172009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 37418 David S. Miller <davem@davemloft.net>
37419
37420 * util/hostdisk.c (make_device_name): Fix buffer length
37421 calculations.
37422
e25b5a8c 374232009-04-14 Felix Zielcke <fzielcke@z-51.de>
37424
37425 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
37426 <sys/param.h> and <sys/sysctl.h>.
37427 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
37428 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
37429 opening the device and reset them afterwards.
37430
1f1f580c 374312009-04-13 Pavel Roskin <proski@gnu.org>
37432
37433 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
37434 Reported by John Stanley <jpsinthemix@verizon.net>
37435
7ebc2d6b 374362009-04-13 Robert Millan <rmh@aybabtu.com>
37437
37438 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 37439 that name for menuentries when appropriate.
7ebc2d6b 37440
d8ba3667 374412009-04-13 Felix Zielcke <fzielcke@z-51.de>
37442
37443 * util/grub.d/10_freebsd.in: Add a missing `fi'.
37444
cba416eb 374452009-04-13 Robert Millan <rmh@aybabtu.com>
37446
37447 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
37448 to Linux, simply abort telling the user it's no longer supported.
37449
a547a745 374502009-04-13 Felix Zielcke <fzielcke@z-51.de>
37451
37452 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 37453 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 37454 `freebsd_loadenv' only when devices.hints exist.
37455
232a769c 374562009-04-13 Pavel Roskin <proski@gnu.org>
37457
37458 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
37459
c3012039 374602009-04-13 Felix Zielcke <fzielcke@z-51.de>
37461
37462 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
37463 partition number.
37464 (grub_drive): Likewise.
37465
234022fe 374662009-04-13 David S. Miller <davem@davemloft.net>
37467
37468 * kern/sparc64/ieee1275/ieee1275.c: New file.
37469 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
37470 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
37471 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
37472 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
37473 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
37474 grub_ieee1275_alloc_physmem): Declare new exported functions.
37475
d8e1836c 37476 * include/grub/sparc64/ieee1275/loader.h: New file.
37477 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37478 * include/grub/sparc64/kernel.h: Likewise.
37479 * loader/sparc64/ieee1275/linux.c: Likewise.
37480
96bd81ec 37481 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
37482 (grub_fstest_SOURCES): Likewise.
37483
6a4737e5 37484 * util/hostdisk.c (make_device_name): Do not make any assumptions
37485 about the length of drive names.
37486
1d7a72fd 37487 * kern/dl.c (grub_dl_load_file): Close file immediately when
37488 we are done using it.
37489
56bc2471 374902009-04-12 David S. Miller <davem@davemloft.net>
37491
37492 * kern/misc.c (grub_ltoa): Fix cast when handling negative
37493 values. Noticed by Pavel Roskin.
37494
df38d0bb 37495 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
37496 target compiler.
7dd4a573 37497
e382e93a 37498 * genmk.rb: Add more flexible image type specification, also
37499 pass --strip-unneeded to objcopy.
37500 * conf/i386-pc.rmk: Use *_FORMAT.
37501 * conf/i386-pc.mk: Rebuilt.
37502
f5dbbca9 37503 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
37504 (OFDISK_HASH_SZ): Define.
37505 (ofdisk_hash): New hash table.
37506 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
37507 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
37508 instead of device phandle which is not unique.
37509
91c88b12 37510 * kern/sparc64/ieee1275/init.c: Delete, replace with...
37511 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
37512 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
37513 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
37514 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
37515 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
37516 GRUB_KERNEL_MACHINE_DATA_END): Define.
37517 (grub_kernel_image_size, grub_total_module_size): Declare.
37518
5b5d4aa5 375192009-04-12 Pavel Roskin <proski@gnu.org>
37520
7dd4a573 37521 * configure.ac: Change the logic when we check for target tools.
37522 Do it when the target is specified and it's different from the
37523 specified value of the host.
5b5d4aa5 37524
c91e1793 375252009-04-11 Felix Zielcke <fzielcke@z-51.de>
37526
37527 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
37528 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
37529 GNU/kFreeBSD. Check if a device is a character device. Use
37530 DIOCGMEDIASIZE to get the size.
37531 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
37532 support for GNU/kFreeBSD.
37533 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
37534 is a character device instead of a block device. Add support for
37535 FreeBSD device names.
37536
37537 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
37538 is a character device instead of a block device.
37539
37540 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
37541 is a character device instead of a block device.
37542
b1ac8644 375432009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
37544
37545 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
37546 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
37547 FreeBSD. Check if a device is a character device. Use
37548 DIOCGMEDIASIZE to get the size.
37549 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
37550 support for FreeBSD.
37551 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
37552 is a character device instead of a block device. Add support for
37553 FreeBSD device names.
37554
37555 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
37556 a character device instead of a block device.
37557 (grub_util_check_char_device): New function.
37558
37559 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
37560 a character device instead of a block device.
37561
37562 * include/grub/util/getroot.h (grub_util_check_char_device): New
37563 prototype.
37564
a3f7515a 375652009-04-11 David S. Miller <davem@davemloft.net>
37566
37567 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
37568 static libgcc.
37569 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
37570 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
37571 function, if present.
37572 (__bswapdi2): Likewise.
37573
0d44993d 37574 * include/grub/sparc64/ieee1275/boot.h: New file.
37575 * boot/sparc64/ieee1275/boot.S: Likewise.
37576 * boot/sparc64/ieee1275/diskboot.S: Likewise.
37577
ed3d2bc2 37578 * kern/misc.c (grub_ltoa): New function.
37579 (grub_vsprintf): Use it to format 'long' integers.
37580
d3bfb59c 375812009-04-10 David S. Miller <davem@davemloft.net>
37582
37583 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
37584 slots are of type grub_ieee1275_cell_t.
37585 (grub_nand_read): Likewise.
37586 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
37587 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
37588 macros are used to compare values in arg/ret block of the call.
37589 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37590 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
37591 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
37592 grub_ieee1275_instance_to_path, grub_ieee1275_write,
37593 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
37594 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
37595 grub_ieee1275_close, grub_ieee1275_set_property,
37596 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
37597 grub_ieee1275_cell_t.
37598 * kern/ieee1275/openfw.c (grub_map): Likewise.
37599 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
37600 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
37601
450e2238 37602 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
37603 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
37604 (grub_devalias_iterate): Likewise.
37605
7dd4a573 376062009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 37607
37608 UFS improvements
37609
37610 * fs/ufs.c (INODE_NBLOCKS): new definition
37611 (struct grub_ufs_dirent): added fields for non-BSD dirents
37612 (grub_ufs_get_file_block): fixed double indirect handling
37613 (grub_ufs_lookup_symlink): use more robust way to determine whether
37614 symlink is inline
37615 (grub_ufs_find_file): support for non-BSD dirents
37616 (grub_ufs_dir): support for non-BSD dirents
37617
e7e6862a 376182009-04-10 Bean <bean123ch@gnail.com>
37619
37620 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
37621 attribute, otherwise the size would be wrong for i386 platform.
37622
37623 * include/grub/pci.h (grub_pci_read_word): New inline function.
37624 (grub_pci_read_byte): Likewise.
37625 (grub_pci_write): Likewise.
37626 (grub_pci_write_word): Likewise.
37627 (grub_pci_write_byte): Likewise.
37628
37629 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
37630
37631 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
37632 (find_framebuf): Scan pci to locate the frame buffer address.
37633
37634 * commands/efi/fixvideo.c: New file.
37635
37636 * commands/efi/loadbios.c: Likewise.
37637
37638 * commands/memrw.c: Likewise.
37639
37640 * util/grub-dumpbios.in: Likewise.
37641
37642 * conf/common.rmk (grub-dumpbios): New utility.
37643 (pkglib_MODULES): New module memrw.mod.
37644 (memrw_mod_SOURCE): New macro.
37645 (memrw_mod_CFLAGS): Likewise.
37646 (memrw_mod_LDFLAGS): Likewise.
37647
7dd4a573 37648 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37649 fixvideo.mod.
37650 (loadbios_mod_SOURCE): New macro.
37651 (loadbios_mod_CFLAGS): Likewise.
37652 (loadbios_mod_LDFLAGS): Likewise.
37653 (fixvideo_mod_SOURCE): Likewise.
37654 (fixvideo_mod_CFLAGS): Likewise.
37655 (fixvideo_mod_LDFLAGS): Likewise.
37656
7dd4a573 37657 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37658 fixvideo.mod.
37659 (loadbios_mod_SOURCE): New macro.
37660 (loadbios_mod_CFLAGS): Likewise.
37661 (loadbios_mod_LDFLAGS): Likewise.
37662 (fixvideo_mod_SOURCE): Likewise.
37663 (fixvideo_mod_CFLAGS): Likewise.
37664 (fixvideo_mod_LDFLAGS): Likewise.
37665
af63ada2 376662009-04-08 Felix Zielcke <fzielcke@z-51.de>
37667
37668 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
37669
c2cdde70 376702009-04-07 David S. Miller <davem@davemloft.net>
37671
37672 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
37673 support for R_SPARC_OLO10 relocations. Fix compile warning for
37674 R_SPARC_WDISP30 case.
ea3f72cf 37675 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 37676
761319cf 376772009-04-06 Pavel Roskin <proski@gnu.org>
37678
1007d1f5 37679 * include/grub/misc.h (ARRAY_SIZE): New macro.
37680 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
37681 New macro.
37682 * loader/i386/linux.c (allocate_pages): Use free_pages().
37683 (grub_linux_unload): Don't use free_pages().
37684 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
37685 wrong index. Treat all other modes as text modes.
37686 (grub_cmd_linux): Initialize vid_mode unconditionally to
37687 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
37688
761319cf 37689 * commands/help.c (print_command_help): Use cmd->prio, not
37690 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
37691
ea761d40 376922009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 37693
ea761d40 37694 Parttool
37695
37696 * parttool/pcpart.c: new file
37697 * commands/parttool.c: likewise
37698 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
37699 (parttool_mod_SOURCES): new variable
37700 (parttool_mod_CFLAGS): likewise
37701 (parttool_mod_LDFLAGS): likewise
37702 (pcpart_mod_SOURCES): likewise
37703 (pcpart_mod_CFLAGS): likewise
37704 (pcpart_mod_LDFLAGS): likewise
7dd4a573 37705 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 37706 and parttool/pcpart.c
37707 * conf/i386-efi.rmk: likewise
37708 * conf/i386-ieee1275.rmk: likewise
37709 * conf/i386-pc.rmk: likewise
37710 * conf/powerpc-ieee1275.rmk: likewise
37711 * conf/sparc64-ieee1275.rmk: likewise
37712 * conf/x86_64-ieee1275.rmk: likewise
37713
05aaebfb 377142009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37715
37716 Support for mtime and further expandability of dir command
37717
37718 * include/grub/lib/datetime.h: moved to ...
7dd4a573 37719 * include/grub/datetime.h: ... moved here and added
05aaebfb 37720 declaration of grub_unixtime2datetime. All users updated
7dd4a573 37721 * include/grub/fs.h: new syntax for dir and mtime functions in
37722 struct grub_fs
05aaebfb 37723 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
37724 and GRUB_FSHELP_FLAGS_MASK
37725 * commands/ls.c (grub_ls_list_files): Write mtime in long format
37726 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
37727 (grub_ext2_mtime): new function
37728 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
37729 (grub_hfsplus_mtime): new function
37730 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
37731 (GRUB_UFS_ATTR_FILE): likewise
37732 (GRUB_UFS_ATTR_LNK): likewise
37733 (struct grub_ufs_sblock): new fields mtime
37734 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
37735 all users updated
37736 (grub_ufs_dir): mtime support
37737 (grub_ufs_mtime): new function
37738 * fs/affs.c (grub_affs_dir): use new dir syntax
37739 * fs/afs.c (grub_afs_dir): likewise
37740 * fs/cpio.c (grub_cpio_dir): likewise
37741 * fs/fat.c (grub_fat_find_dir): likewise
37742 * fs/hfs.c (grub_hfs_dir): likewise
37743 * fs/iso9660.c (grub_iso9660_dir): likewise
37744 * fs/jfs.c (grub_jfs_dir): likewise
37745 * fs/minix.c (grub_minix_dir): likewise
37746 * fs/ntfs.c (grub_ntfs_dir): likewise
37747 * fs/reiserfs.c (grub_reiserfs_dir): likewise
37748 * fs/sfs.c (grub_sfs_dir): likewise
37749 * fs/xfs.c (grub_xfs_dir): likewise
37750 * util/hostfs.c (grub_hostfs_dir): likewise
37751 * lib/datetime.c: moved to ...
37752 * normal/datetime.c: ... moved here
37753 (grub_unixtime2datetime): new function
37754 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 37755 * normal/completion.c (iterate_dir): use new dir syntax
37756 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 37757 last modification time of a volume
7dd4a573 37758 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 37759 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 37760 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 37761 (normal_mod_SOURCES): likewise
37762 (datetime_mod_SOURCES): Removed lib/datetime.c
37763 * conf/i386-efi.rmk: likewise
7dd4a573 37764 * conf/i386-ieee1275.rmk: likewise
05aaebfb 37765 * conf/i386-pc.rmk: likewise
37766 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37767 * conf/sparc64-ieee1275.rmk: likewise
37768 * conf/x86_64-efi.rmk: likewise
05aaebfb 37769
8a7e1a14 377702009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37771
37772 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 37773
37774 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 37775 on grub_fat_find_dir
37776 (grub_fat_find_dir): use grub_fat_iterate_dir
37777 (grub_fat_label): likewise
37778
04186a9c 377792009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
37780
7dd4a573 37781 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 37782 and command.h
37783 remove extraneous kernel_elf_HEADERS
37784
da4c0bb6 377852009-04-04 Bean <bean123ch@gnail.com>
37786
37787 * include/grub/util/misc.h: Add dummy function fsync for mingw.
37788
37789 * util/misc.c: Likewise.
37790
54ad9555 377912009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37792
37793 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
37794 instead of grub_printf.
37795
7a6bf9f2 377962009-04-03 Robert Millan <rmh@aybabtu.com>
37797
37798 * loader/i386/linux.c (grub_linux_setup_video): Fill
37799 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
37800 values from `mode info' structure instead of hardcoded
37801 values.
37802
3fcc2083 378032009-04-01 Pavel Roskin <proski@gnu.org>
37804
37805 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
37806 unused now.
37807 * genmk.rb: Likewise.
37808 * configure.ac: Likewise.
37809
5ec9740b 378102009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
37811
37812 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
37813 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
37814
5270cec8 378152009-04-01 David S. Miller <davem@davemloft.net>
37816
37817 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 37818 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 37819 (grub_setjmp): Mark with 'returns_twice' attribute.
37820 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
37821 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
37822 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
37823
9c3dd854 378242009-04-01 Robert Millan <rmh@aybabtu.com>
37825
37826 Reapply fix from 2008-07-28 which was accidentally reverted; also
37827 perform the same fix to a similar check in same function.
37828
37829 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
37830 with the same number are found, just use issue a warning with
37831 grub_dprintf(), as this error has been reported to be non-fatal.
37832
0d818b7e 378332009-03-31 Pavel Roskin <proski@gnu.org>
37834
37835 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
37836 for cross-compilation.
37837
95646d92 378382009-03-30 Robert Millan <rmh@aybabtu.com>
37839
37840 Fix i386-ieee1275 build.
37841
37842 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
37843 Remove declaration.
37844
6a003ed1 378452009-03-30 Pavel Roskin <proski@gnu.org>
37846
37847 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
37848 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
37849 zero-terminated, rely only on the strlen value. Fix comparison
37850 of strings differing in length.
37851
92f33540 378522009-03-30 Robert Millan <rmh@aybabtu.com>
37853
37854 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
37855 checking for abi version. Improve error messages on BIOS to notify
37856 user about `linux16' command.
37857
a8c48fd5 378582009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
37859
f968172e 37860 Leak fixes
a8c48fd5 37861
f968172e 37862 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
37863 in case of collision
37864 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 37865
9c323f09 378662009-03-29 Robert Millan <rmh@aybabtu.com>
37867
37868 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
37869 set `vid_mode' accordingly.
37870 (grub_linux_boot): Process `vid_mode' and set video mode.
37871
ae68f423 378722009-03-29 Robert Millan <rmh@aybabtu.com>
37873
37874 * util/grub.d/10_linux.in (linux_entry): New function.
37875 Factorize generation of Linux boot entries.
37876
5709cfc4 378772009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
37878
37879 Make the format of Environment Block plain text. The boot loader
37880 part is not tested well yet.
7dd4a573 37881
5709cfc4 37882 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
37883 (buffer): Removed.
37884 (envblk): Likewise.
37885 (usage): Remove "info" and "clear". Add "unset". Update the
37886 description of "set", as this does not delete variables any
37887 longer.
37888 (create_envblk_file): Complete rewrite.
37889 (open_envblk_file): Likewise.
37890 (cmd_info): Removed.
37891 (cmd_list): Likewise.
37892 (cmd_set): Likewise.
37893 (cmd_clear): Likewise.
37894 (list_variables): New function.
37895 (write_envblk): Likewise.
37896 (set_variables): Likewise.
37897 (unset_variables): Likewise.
37898 (main): Complete rewrite.
37899
37900 * commands/loadenv.c (buffer): Removed.
37901 (envblk): Likewise.
37902 (open_envblk_file): New function.
37903 (read_envblk_file): Complete rewrite.
37904 (grub_cmd_load_env): Likewise.
37905 (grub_cmd_list_env): Likewise.
37906 (struct blocklist): New struct.
37907 (free_blocklists): New function.
37908 (check_blocklists): Likewise.
37909 (write_blocklists): Likewise.
37910 (grub_cmd_save_env): Complete rewrite.
37911
37912 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
37913 a plain text signature.
37914 (GRUB_ENVBLK_MAXLEN): Removed.
37915 (struct grub_envblk): Complete rewrite.
37916 (grub_envblk_find): Removed.
37917 (grub_envblk_insert): Likewise.
37918 (grub_envblk_open): New prototype.
37919 (grub_envblk_set): Likewise.
37920 (grub_envblk_delete): Put const to VALUE.
37921 (grub_envblk_iterate): Put const to NAME and VALUE.
37922 (grub_envblk_close): New prototype.
37923 (grub_envblk_buffer): New inline function.
37924 (grub_envblk_size): Likewise.
37925
37926 * lib/envblk.c: Include grub/mm.h.
37927 (grub_env_find): Removed.
37928 (grub_envblk_open): New function.
37929 (grub_envblk_close): Likewise.
37930 (escaped_value_len): Likewise.
37931 (find_next_line): Likewise.
37932 (grub_envblk_insert): Removed.
37933 (grub_envblk_set): New function.
37934 (grub_envblk_delete): Complete rewrite.
37935 (grub_envblk_iterate): Likewise.
37936
a9368fd3 379372009-03-28 Robert Millan <rmh@aybabtu.com>
37938
37939 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
37940 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
37941 variables. Use 16-bit loader.
37942 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
37943 loader.
37944 * kern/i386/loader.S (grub_linux_boot): Rename to ...
37945 (grub_linux16_boot): ... this. Update all users.
37946 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
37947 (grub_linux_boot): ... this. Update all users.
37948
37949 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
37950 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
37951 commands to `linux16' and `initrd16'.
37952 (GRUB_MOD_FINI(linux)): Rename to ...
37953 (GRUB_MOD_FINI(linux16)): ... this.
37954
e4dd5a7e 379552009-03-24 Pavel Roskin <proski@gnu.org>
37956
37957 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
37958 not just for compilation.
37959
c04d6e05 379602009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
37961
37962 Move multiboot helper out of kernel
37963
37964 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
37965 `loader/i386/multiboot_helper.S'.
37966 * conf/i386-coreboot.rmk: Likewise
37967 * conf/i386-ieee1275.rmk: Likewise
37968
37969 * kern/i386/loader.S: Move multiboot helpers from here...
37970 * loader/i386/multiboot_helper.S: ...moved here
37971 * include/grub/i386/loader.h: Move declarations of multiboot
37972 helpers from here...
37973 * include/grub/i386/multiboot.h: ...moved here
37974 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
37975
42a5b3fc 379762009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37977
37978 * kern/env.c (grub_env_context_open): Added an argument to specify
37979 whether a new context inherits exported variables from current
37980 one. This is useful when making a sandbox to interpret a config
37981 file.
37982 All callers updated.
37983
37984 * include/grub/env.h (grub_env_context_open): Updated the prototype.
37985
b28bbc4e 379862009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37987
37988 * kern/env.c (grub_env_context_close): Fix memory leaks.
37989
f04f02e4 379902009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37991
37992 * normal/main.c (grub_normal_execute): Added an argument
37993 BATCH to specify if an interactive interface should be provided
37994 after reading a config file.
37995 All callers updated.
37996 (read_command_list): Prevent being executed twice.
37997 (read_fs_list): Likewise.
37998
42a5b3fc 37999 * include/grub/normal.h (grub_normal_execute): Updated the
38000 prototype.
f04f02e4 38001
41473ac2 380022009-03-22 Pavel Roskin <proski@gno.org>
38003
fbc00b0c 38004 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
38005 _start.
38006 * kern/i386/pc/startup.S: Likewise.
38007 * kern/i386/efi/startup.S: Likewise.
38008 * kern/i386/ieee1275/startup.S: Likewise.
38009 * kern/i386/coreboot/startup.S: Likewise.
38010 * kern/x86_64/efi/startup.S: Likewise.
38011
41473ac2 38012 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
38013 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
38014 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
38015
2274cc8f 380162009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
38017
38018 Bugfixes in multiboot for bugs uncovered by solaris kernel.
38019
38020 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
38021 limit detection.
38022 Use vaddr of correct segment for entry_point.
38023
b1b797cb 380242009-03-21 Bean <bean123ch@gmail.com>
38025
38026 * commands/blocklist.c: Add include file <grub/command.h>, remove
38027 <grub/normal.h> and <grub/arg.h>.
38028 (grub_cmd_blocklist): Use the new command interface.
38029 (GRUB_MOD_INIT): Likewise.
38030 (GRUB_MOD_FINI): Likewise.
38031 * commands/boot.c: Likewise.
38032 * commands/cat.c: Likewise.
38033 * commands/cmp.c: Likewise.
38034 * commands/configfile.c: Likewise.
38035 * commands/crc.c: Likewise.
38036 * commands/echo.c: Likewise.
38037 * commands/halt.c: Likewise.
38038 * commands/handler.c: Likewise.
38039 * commands/hdparm.c: Likewise.
38040 * commands/help.c: Likewise.
38041 * commands/hexdump.c: Likewise.
38042 * commands/loadenv.c: Likewise.
38043 * commands/ls.c: Likewise.
38044 * commands/lsmmap.c: Likewise.
38045 * commands/lspci.c: Likewise.
38046 * commands/loadenv.c: Likewise.
38047 * commands/read.c: Likewise.
38048 * commands/reboot.c: Likewise.
38049 * commands/search.c: Likewise.
38050 * commands/sleep.c: Likewise.
38051 * commands/test.c: Likewise.
38052 * commands/usbtest.c: Likewise.
38053 * commands/videotest.c: Likewise.
38054 * commands/i386/cpuid.c: Likewise.
38055 * commands/i386/pc/halt.c: Likewise.
38056 * commands/i386/pc/play.c: Likewise.
38057 * commands/i386/pc/pxecmd.c: Likewise.
38058 * commands/i386/pc/vbeinfo.c: Likewise.
38059 * commands/i386/pc/vbetest.c: Likewise.
38060 * commands/ieee1275/suspend.c: Likewise.
38061 * disk/loopback.c: Likewise.
38062 * font/font_cmd.c: Likewise.
38063 * hello/hello.c: Likewise.
38064 * loader/efi/appleloader.c: Likewise.
38065 * loader/efi/chainloader.c: Likewise.
38066 * loader/i386/bsd.c: Likewise.
38067 * loader/i386/efi/linux.c: Likewise.
38068 * loader/i386/ieee1275/linux.c: Likewise.
38069 * loader/i386/linux.c: Likewise.
38070 * loader/i386/pc/chainloader.c: Likewise.
38071 * loader/i386/pc/linux.c: Likewise.
38072 * loader/powerpc/ieee1275/linux.c: Likewise.
38073 * loader/multiboot_loader.c: Likewise.
38074 * term/gfxterm.c: Likewise.
38075 * term/i386/pc/serial.c: Likewise.
38076 * term/terminfo.c: Likewise.
38077
38078 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
38079 * term/i386/pc/vga.c: Likewise.
38080 * video/readers/jpeg.c: Likewise.
38081 * video/readers/png.c: Likewise.
38082 * video/readers/tga.c: Likewise.
38083
38084 * util/grub-fstest (cmd_loopback): Removed.
38085 (cmd_blocklist): Likewise.
38086 (cmd_ls): Likewise.
38087 (grub_register_command): Likewise.
38088 (grub_unregister_command): Likewise.
38089 (execute_command): Use grub_command_find to locate command and execute
38090 it.
38091
38092 * include/grub/efi/chainloader.h: Removed.
38093 * loader/efi/chainloader_normal.c: Likewise.
38094 * loader/i386/bsd_normal.c: Likewise.
38095 * loader/i386/pc/chainloader_normal.c: Likewise.
38096 * loader/i386/pc/multiboot_normal.c: Likewise.
38097 * loader/linux_normal.c: Likewise.
38098 * loader/multiboot_loader_normal.c: Likewise.
38099 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38100
38101 * gencmdlist.sh: Scan new registration command grub_register_extcmd
38102 and grub_register_command_p1.
38103
38104 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
38105 kern/command.c, lib/arg.c and commands/extcmd.c.
38106 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
38107 (minicmd_mod_SOURCES): New variable.
38108 (minicmd_mod_CFLAGS): Likewise.
38109 (minicmd_mod_LDFLAGS): Likewise.
38110 (extcmd_mod_SOURCES): Likewise.
38111 (extcmd_mod_CFLAGS): Likewise.
38112 (extcmd_mod_LDFLAGS): Likewise.
38113 (boot_mod_SOURCES): Removed.
38114 (boot_mod_CFLAGS): Likewise.
38115 (boot_mod_LDFLAGS): Likewise.
38116
38117 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
38118 kern/corecmd.c.
38119 (kernel_img_HEADERS): Add command.h.
38120 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
38121 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
38122 and lib/arg.c.
38123 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
38124 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
38125 remove the corresponding normal mode command.
38126 (normal_mod_SOURCES): Remove normal/arg.c.
38127 * conf/i386-coreboot.rmk: Likewise.
38128 * conf/i386-efi.rmk: Likewise.
38129 * conf/i386-ieee1275.rmk: Likewise.
38130 * conf/powerpc-ieee1275.rmk: Likewise.
38131 * conf/x86_64-efi.rmk: Likewise.
38132
38133 * include/grub/arg.h: Move from here ...
38134 * include/grub/lib/arg.h: ... to here.
38135
38136 * normal/arg.c: Move from here ...
38137 * lib/arg.c: ... to here.
38138
38139 * commands/extcmd.c: New file.
38140 * commands/minicmd.c: Likewise.
38141 * include/grub/command.h: Likewise.
38142 * include/grub/extcmd.h: Likewise.
38143 * kern/command.c: Likewise.
38144 * kern/corecmd.c: Likewise.
38145
38146 * kern/list.c (grub_list_iterate): Return int instead of void.
38147 (grub_list_insert): New function.
38148 (grub_prio_list_insert): Likewise.
38149
38150 * kern/rescue.c (grub_rescue_command): Removed.
38151 (grub_rescue_command_list): Likewise.
38152 (grub_rescue_register_command): Likewise.
38153 (grub_rescue_unregister_command): Likewise.
38154 (grub_rescue_cmd_boot): Move to minicmd.c
38155 (grub_rescue_cmd_help): Likewise.
38156 (grub_rescue_cmd_info): Likewise.
38157 (grub_rescue_cmd_boot): Likewise.
38158 (grub_rescue_cmd_testload): Likewise.
38159 (grub_rescue_cmd_dump): Likewise.
38160 (grub_rescue_cmd_rmmod): Likewise.
38161 (grub_rescue_cmd_lsmod): Likewise.
38162 (grub_rescue_cmd_exit): Likewise.
38163 (grub_rescue_print_devices): Moved to corecmd.c.
38164 (grub_rescue_print_files): Likewise.
38165 (grub_rescue_cmd_ls): Likewise.
38166 (grub_rescue_cmd_insmod): Likewise.
38167 (grub_rescue_cmd_set): Likewise.
38168 (grub_rescue_cmd_unset): Likewise.
7d074e3c 38169 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 38170 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 38171 commands, remove grub_rescue_register_command calls.
b1b797cb 38172
7d074e3c 38173 * normal/command.c (grub_register_command): Removed.
b1b797cb 38174 (grub_unregister_command): Likewise.
38175 (grub_command_find): Likewise.
38176 (grub_iterate_commands): Likewise.
38177 (rescue_command): Likewise.
38178 (export_command): Moved to corecmd.c.
38179 (set_command): Removed.
38180 (unset_command): Likewise.
38181 (insmod_command): Likewise.
38182 (rmmod_command): Likewise.
38183 (lsmod_command): Likewise.
38184 (grub_command_init): Likewise.
38185
38186 * normal/completion.c (iterate_command): Use cmd->prio to check for
38187 active command.
38188 (complete_arguments): Use grub_extcmd_t structure to find options.
38189 (grub_normal_do_completion): Change function grub_iterate_commands to
38190 grub_command_iterate.
38191
38192 * normal/execute.c (grub_script_execute_cmd): No need to parse
38193 argument here.
38194
38195 * normal/main.c (grub_dyncmd_dispatcher): New function.
38196 (read_command_list): Register unload commands as dyncmd.
38197 (grub_cmd_normal): Use new command interface, register rescue,
38198 unregister normal at entry, register normal, unregister rescue at exit.
38199
38200 * include/grub/list.h (grub_list_test_t): New type.
38201 (grub_list_iterate): Return int instead of void.
38202 (grub_list_insert): New function.
38203 (GRUB_AS_NAMED_LIST_P): New macro.
38204 (GRUB_AS_PRIO_LIST): Likewise.
38205 (GRUB_AS_PRIO_LIST_P): Likewise.
38206 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
38207 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
38208 (grub_prio_list): New structure.
38209 (grub_prio_list_insert): New function.
38210 (grub_prio_list_remove): New inline function.
38211
38212 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
38213 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
38214 (GRUB_COMMAND_FLAG_MENU): Likewise.
38215 (GRUB_COMMAND_FLAG_BOTH): Likewise.
38216 (GRUB_COMMAND_FLAG_TITLE): Likewise.
38217 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
38218 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
38219 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
38220 (grub_command): Likewise.
38221 (grub_register_command): Likewise.
38222 (grub_command_find): Likewise.
38223 (grub_iterate_commands): Likewise.
38224 (grub_command_init): Likewise.
38225 (grub_arg_parse): Likewise.
38226 (grub_arg_show_help): Likewise.
38227
38228 * include/grub/rescue.h (grub_rescue_register_command): Removed.
38229 (grub_rescue_unregister_command): Likewise.
38230
38231 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
38232 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
38233 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
38234
38235 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
38236 grub_rescue_cmd_initrd.
38237 * include/grub/i386/loader.h: Likewise.
38238 * include/grub/x86_64/loader.h: Likewise.
38239
38240 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
38241
1f4147aa 382422009-03-21 Bean <bean123ch@gmail.com>
38243
38244 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
38245 instead of stat in mingw environment.
38246
38247 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
38248
38249 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
38250
38251 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
38252 AC_CONFIG_LINKS.
38253
2156d5ba 382542009-03-21 Bean <bean123ch@gmail.com>
38255
38256 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
38257 out of range error.
38258
177b82ca 382592009-03-18 Michel Dänzer <michel@daenzer.net>
38260
38261 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
38262 checking inode flags for EXT4_EXTENTS_FLAG.
38263
14aad807 382642009-03-18 Robert Millan <rmh@aybabtu.com>
38265
38266 * loader/i386/linux.c: Include `<grub/video.h>' and
38267 `<grub/i386/pc/vbe.h>'..
38268 (grub_linux_setup_video): New function. Loosely based on the EFI one.
38269 (grub_linux32_boot): Attempt to configure video settings with
38270 grub_linux_setup_video().
38271 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
38272 to avoid grub_console_fini() which would step out of graphical mode
38273 unconditionally.
38274
8cf83a27 382752009-03-14 Robert Millan <rmh@aybabtu.com>
38276
38277 Fix build on powerpc.
38278 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
38279
40164e75 382802009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
38281
38282 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
38283 background image command.
38284
c58bc32a 382852009-03-12 Colin D Bennett <colin@gibibit.com>
38286
38287 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
38288 (grub_gfxterm_putchar): Extract pairs of identical calls to
38289 draw_cursor out of conditional blocks.
38290
5415144a 382912009-03-11 Pavel Roskin <proski@gnu.org>
38292
38293 * fs/hfs.c (grub_hfs_strncasecmp): New function.
38294 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
38295
6394042e 382962009-03-11 Robert Millan <rmh@aybabtu.com>
38297
38298 * loader/i386/multiboot_elfxx.c
38299 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
38300
b7b50e5f 383012009-03-11 Felix Zielcke <fzielcke@z-51.de>
38302
38303 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
38304 `kern/handler.c'.
38305
1ca7fc96 383062009-03-11 Robert Millan <rmh@aybabtu.com>
38307
38308 * loader/i386/multiboot.c (code_size): New variable.
38309 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 38310 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 38311 4-byte alignment to MBI and others by increasing
7d074e3c 38312 `boot_loader_name_length' appropriately.
1ca7fc96 38313
38314 * loader/i386/multiboot_elfxx.c
38315 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
38316
a83ea1d2 383172009-03-09 Felix Zielcke <fzielcke@z-51.de>
38318
38319 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
38320 `fs/ext2.c'.
38321
aa9f3bff 383222009-03-08 Robert Millan <rmh@aybabtu.com>
38323
38324 Make loader/i386/linux.c usable on i386-pc again.
38325
38326 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
38327 memory to heap.
38328 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
38329 `#error' stanza.
38330
d8b3b60e 383312009-03-07 Bean <bean123ch@gmail.com>
38332
38333 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
38334 allocation.
38335
b362c9e9 383362009-03-06 Robert Millan <rmh@aybabtu.com>
38337
38338 Fix display issue on terminals with screen size other than 80x25
38339 (e.g. gfxterm with resolution higher than 640x480).
38340
38341 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 38342 position relative to the center of the terminal instead of relying
b362c9e9 38343 on a hardcoded offset.
38344
9304eef1 383452009-03-04 Robert Millan <rmh@aybabtu.com>
38346
38347 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
38348 installed.
38349
38350 * Makefile.in (host_kernel): New variable.
38351 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
38352 scripts instead of just the windows one.
38353 * configure.ac: Initialize and AC_SUBST `host_kernel'.
38354
eabc95fb 383552009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 38356
38357 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
38358 `kern/handler.c'.
38359 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38360 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38361 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38362 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38363 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38364 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38365
ceb1223c 383662009-03-04 Felix Zielcke <fzielcke@z-51.de>
38367
38368 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
38369 or if there's no space for the disk label and print the partition number on a
38370 invalid magic.
38371
4910684a 383722009-03-04 Felix Zielcke <fzielcke@z-51.de>
38373
38374 * util/misc.c: Include <time.h>.
38375 (grub_millisleep): New function.
38376
7e9ca17a 383772009-03-04 Bean <bean123ch@gmail.com>
38378
38379 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
38380 another option -mno-red-zone.
38381
38382 * commands/handler.c: Change module description.
38383
38384 * kern/handler.c: Add missing space at the end of description line.
38385
38386 * kern/list.c: Likewise.
38387
f501677c 383882009-03-03 Robert Millan <rmh@aybabtu.com>
38389
38390 Move more components to the relocation area, and fix mbi pointer
38391 handling to use the destination rather than the origin (thanks to
38392 Vladimir Serbinenko for spotting).
38393
38394 * loader/i386/multiboot.c (mbi_dest): New variable.
38395 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
38396 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
38397 relocation area.
38398
9902d047 383992009-03-01 Bean <bean123ch@gmail.com>
38400
50fb7002 38401 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 38402 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
38403 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
38404 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
38405
38406 * loader/i386/efi/linux.c (acpi_guid): New variable.
38407 (acpi_guid): Likewise.
38408 (EBDA_SEG_ADDR): New constant.
38409 (LOW_MEM_ADDR): Likewise.
38410 (FAKE_EBDA_SEG): Likewise.
38411 (fake_bios_data): New function.
38412 (grub_linux_boot): Call fake_bios_data.
38413
71b9f361 384142009-03-01 Bean <bean123ch@gmail.com>
38415
38416 * commands/terminal.c: Removed.
38417
38418 * commands/handler.c: New file.
38419
38420 * include/grub/list.h: Likewise.
38421
38422 * include/grub/handler.h: Likewise.
38423
38424 * kern/list.c: Likewise.
38425
38426 * kern/handler.c: Likewise.
38427
38428 * kern/term.h: Include header file <grub/handler.h>.
38429 (grub_term_input): Move next field to the beginning.
38430 (grub_term_output): Likewise.
38431 (grub_term_input_class): New variable.
38432 (grub_term_output_class): Likewise.
38433 (grub_term_register_input): Changed to inline function.
38434 (grub_term_register_output): Likewise.
38435 (grub_term_unregister_input): Likewise.
38436 (grub_term_unregister_output): Likewise.
38437 (grub_term_set_current_input): Likewise.
38438 (grub_term_set_current_output): Likewise.
38439 (grub_term_get_current_input): Likewise.
38440 (grub_term_get_current_output): Likewise.
38441 (grub_term_iterate_input): Removed.
38442 (grub_term_iterate_output): Likewise.
38443
38444 * kern/term.c (grub_term_list_input): Removed.
38445 (grub_term_list_output): Likewise.
38446 (grub_term_input_class): New variable.
38447 (grub_term_output_class): Likewise.
50fb7002 38448 (grub_cur_term_input): Change variable as macro.
71b9f361 38449 (grub_cur_term_output): Likewise.
38450 (grub_term_register_input): Removed.
38451 (grub_term_register_output): Likewise.
38452 (grub_term_unregister_input): Likewise.
38453 (grub_term_unregister_output): Likewise.
38454 (grub_term_set_current_input): Likewise.
38455 (grub_term_set_current_output): Likewise.
38456 (grub_term_iterate_input): Likewise.
38457 (grub_term_iterate_output): Likewise.
38458 (grub_term_get_current_input): Likewise.
38459 (grub_term_get_current_output): Likewise.
38460
38461 * util/grub-editenv.c: Include header file <grub/handler.h>.
38462 (grub_term_get_current_input): Removed.
38463 (grub_term_get_current_output): Likewise.
38464 (grub_term_input_class): New variable.
50fb7002 38465 (grub_term_output_class): Likewise.
71b9f361 38466
38467 * util/grub-fstest.c (grub_term_get_current_input): Removed.
38468 (grub_term_get_current_output): Likewise.
38469 (grub_term_input_class): New variable.
50fb7002 38470 (grub_term_output_class): Likewise.
71b9f361 38471
38472 * util/grub-probe.c (grub_term_get_current_input): Removed.
38473 (grub_term_get_current_output): Likewise.
38474 (grub_term_input_class): New variable.
50fb7002 38475 (grub_term_output_class): Likewise.
71b9f361 38476
38477 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
38478 (grub_term_get_current_output): Likewise.
38479 (grub_term_input_class): New variable.
50fb7002 38480 (grub_term_output_class): Likewise.
71b9f361 38481
38482 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
38483 (terminal_mod_SOURCES): Likewise.
38484 (terminal_mod_CFLAGS): Likewise.
38485 (terminal_mod_LDFLAGS): Likewise.
38486
38487 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
38488 handler.c.
38489 (kernel_img_SOURCES): Add list.c and handler.c.
38490 (kernel_img_HEADERS): Add list.h and handler.h.
38491
38492 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38493 handler.c.
38494 (kernel_mod_SOURCES): Add list.c and handler.c.
38495 (kernel_mod_HEADERS): Add list.h and handler.h.
38496
38497 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
38498 handler.c.
38499 (kernel_elf_SOURCES): Add list.c and handler.c.
38500 (kernel_elf_HEADERS): Add list.h and handler.h.
38501
38502 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38503 handler.c.
38504 (kernel_elf_SOURCES): Add list.c and handler.c.
38505 (kernel_elf_HEADERS): Add list.h and handler.h.
38506
38507 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38508 handler.c.
38509 (kernel_mod_SOURCES): Add list.c and handler.c.
38510 (kernel_mod_HEADERS): Add list.h and handler.h.
38511
38512 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38513 handler.c.
38514 (kernel_elf_SOURCES): Add list.c and handler.c.
38515 (kernel_elf_HEADERS): Add list.h and handler.h.
38516
8a31787f 385172009-02-27 Robert Millan <rmh@aybabtu.com>
38518
38519 Factorize elf32 / elf64 code in Multiboot loader. This will
38520 prevent it from getting out of sync again.
38521
38522 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
38523 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
38524 grub_multiboot_load_elf64): Move from here ...
38525 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
38526 grub_multiboot_load_elf): ... to here (new file).
38527
51cd3dfc 385282009-02-27 Robert Millan <rmh@aybabtu.com>
38529
38530 * util/grub.d/10_linux.in: Rename "single-user mode" to
38531 "recovery mode".
38532
6e8c9c3a 385332009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
38534
38535 Don't leak in SCSI code.
38536 * disk/scsi.c (grub_scsi_close): free `scsi'.
38537
4b6bf4f9 385382009-02-27 Robert Millan <rmh@aybabtu.com>
38539
38540 * loader/i386/pc/multiboot.c: Move from here ...
38541 * loader/i386/multiboot.c: ... to here. Update all users.
38542
b9413424 385432009-02-27 Robert Millan <rmh@aybabtu.com>
38544
38545 Patch from Alexandre Bique <bique.alexandre@gmail.com>
38546 * util/i386/pc/grub-setup.c (setup): Fix directory path.
38547
50fb7002 385482009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 38549
38550 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
38551 b-tree.
38552
8cc50345 385532009-02-27 Robert Millan <rmh@aybabtu.com>
38554
38555 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
38556 `0x' qualifier as 0 when base is specified as parameter).
38557
6e09b8b7 385582009-02-24 Bean <bean123ch@gmail.com>
38559
38560 * configure.ac: Check for -mcmodel=large in x86_64 target.
38561
38562 * include/grub/efi/api.h (efi_call_10): New macro.
38563 (efi_wrap_10): New function.
38564
38565 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
38566 (GRUB_PE32_REL_BASED_HIGH): Likewise.
38567 (GRUB_PE32_REL_BASED_LOW): Likewise.
38568 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
38569 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
38570 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
38571 (GRUB_PE32_REL_BASED_SECTION): Likewise.
38572 (GRUB_PE32_REL_BASED_REL): Likewise.
38573 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
38574 (GRUB_PE32_REL_BASED_DIR64): Likewise.
38575 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
38576
38577 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
38578 issue.
38579
38580 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
38581 (efi_wrap_10): New function.
38582
38583 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
38584
38585 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
38586 MB/MBP model (NV chipset).
38587 (devdata_devs): Add devpath_5 to the list.
38588
38589 * load/i386/efi/linux.c (video_base): Remove variable.
38590 (RGB_MASK): New macro.
38591 (RGB_MAGIC): Likewise.
38592 (LINE_MIN): Likewise.
38593 (LINE_MAX): Likewise.
38594 (FBTEST_STEP): Likewise.
38595 (FBTEST_COUNT): Likewise.
38596 (fb_list): New variable.
38597 (grub_find_video_card): Remove function.
38598 (find_framebuf): New function.
38599 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
38600 line length.
38601
38602 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
38603 problem for x86_64.
38604
74b21bee 386052009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
38606
38607 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
38608
38609 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
38610 coding tool name.
38611
a455f472 386122009-02-22 Robert Millan <rmh@aybabtu.com>
38613
38614 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
38615 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
38616 in our relocation, instead of using it directly from heap. Also
38617 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
38618
6374daf3 386192009-02-21 Robert Millan <rmh@aybabtu.com>
38620
38621 Implement USB keyboard support (based on patch by Marco Gerards)
38622
38623 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
38624 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
38625 (usb_keyboard_mod_LDFLAGS): New variables.
38626
38627 * term/usb_keyboard.c: New file.
38628
8fa4ea70 386292009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
38630
38631 Corrected wrong declaration
38632
38633 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
38634
353976ac 386352009-02-14 Christian Franke <franke@computer.org>
38636
38637 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
38638 (grub_lspci_iter): Print class code and programming interface byte.
38639
6aa1169b 386402009-02-14 Christian Franke <franke@computer.org>
38641
38642 * gendistlist.sh: Ignore `.svn' directories.
38643
265372ca 386442009-02-14 Felix Zielcke <fzielcke@z-51.de>
38645
38646 * fs/fat.c: Add 2009 to Copyright line.
38647
9ff516f3 386482009-02-14 Christian Franke <franke@computer.org>
38649
38650 * commands/hdparm.c: New file. Provides `hdparm' command
38651 which sends ATA commands via grub_disk_ata_pass_through ().
38652
38653 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
38654
38655 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
38656 and <grub/cpu/io.h> to include/grub/ata.h.
38657 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
38658 (GRUB_CDROM_SECTOR_SIZE): Remove.
38659 (GRUB_ATA_*): Move to include/grub/ata.h.
38660 (GRUB_ATAPI_*): Likewise.
38661 (enum grub_ata_commands): Likewise.
38662 (enum grub_ata_timeout_milliseconds): Likewise.
38663 (struct grub_ata_device): Likewise.
38664 (grub_ata_regset): Likewise.
38665 (grub_ata_regget): Likewise.
38666 (grub_ata_regset2): Likewise.
38667 (grub_ata_regget2): Likewise.
38668 (grub_ata_check_ready): Likewise.
38669 (grub_ata_wait_not_busy): Remove static, exported in
38670 include/grub/ata.h.
38671 (grub_ata_wait_drq): Likewise.
38672 (grub_ata_pio_read): Likewise.
38673
38674 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
38675 function for hdparm.mod.
38676
38677 * include/grub/ata.h: New file, contains declarations from
38678 disk/ata.c.
38679 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
38680
38681 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
38682 (grub_disk_ata_pass_through): New exported variable.
38683
38684 * kern/disk.c (grub_disk_ata_pass_through): New variable.
38685
772e23da 386862009-02-13 Colin D Bennett <colin@gibibit.com>
38687
38688 Support multiple fallback entries, and provide an API to support
38689 executing default+fallback menu entries. Renamed the `terminal' menu
38690 viewer to `text'.
38691
38692 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
38693 variable declaration.
38694 (grub_menu_execute_callback): New structure declaration.
38695 (grub_menu_execute_callback_t): New typedef.
38696 (grub_menu_execute_with_fallback): New function declaration.
38697 (grub_menu_get_entry): Likewise.
38698 (grub_menu_get_timeout): Likewise.
38699 (grub_menu_set_timeout): Likewise.
38700
38701 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
38702
38703 * normal/menu.c (grub_wait_after_message): Moved to
38704 `normal/menu_text.c'.
38705 (draw_border): Likewise.
38706 (print_message): Likewise.
38707 (print_entry): Likewise.
38708 (print_entries): Likewise.
38709 (grub_menu_init_page): Likewise.
38710 (get_entry_number): Likewise.
38711 (print_timeout): Likewise.
38712 (run_menu): Likewise.
38713 (grub_menu_execute_entry): Likewise.
38714 (show_text_menu): Likewise.
38715 (get_and_remove_first_entry_number): New function.
38716 (grub_menu_execute_with_fallback): Likewise.
38717 (get_entry): Renamed to ...
38718 (grub_menu_get_entry): .. this and made it global.
38719 (get_timeout): Renamed to ...
38720 (grub_menu_get_timeout): ... this and made it global.
38721 (set_timeout): Renamed to ...
38722 (grub_menu_set_timeout): ... this and made it global.
38723 (grub_normal_terminal_menu_viewer): Renamed to ...
38724 (grub_normal_text_menu_viewer): ... this.
38725
38726 * normal/menu_text.c: New file. Extracted text-menu-specific code
38727 from normal/menu.c.
38728
38729 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
38730 (normal_mod_SOURCES): Likewise.
38731
38732 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38733 (normal_mod_SOURCES): Likewise.
38734
38735 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38736 (normal_mod_SOURCES): Likewise.
38737
38738 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
38739 (normal_mod_SOURCES): Likewise.
38740
38741 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38742 (normal_mod_SOURCES): Likewise.
38743
38744 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38745 (normal_mod_SOURCES): Likewise.
38746
38747 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38748 (normal_mod_SOURCES): Likewise.
38749
16ac430e 387502009-02-11 Robert Millan <rmh@aybabtu.com>
38751
38752 * util/grub.d/00_header.in: Update old reference to `font' command.
38753
06ff20fc 387542009-02-10 Felix Zielcke <fzielcke@z-51.de>
38755
38756 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
38757
38758 Based on patch from Javier Martín.
38759
96da9407 387602009-02-09 Felix Zielcke <fzielcke@z-51.de>
38761
38762 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 38763 to avoid false positives with FAT.
96da9407 38764 (grub_fstest_SOURCES): Likewise.
38765 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38766 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38767 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38768 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38769 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38770 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38771
6dca6fe4 387722009-02-09 Felix Zielcke <fzielcke@z-51.de>
38773
06ff20fc 38774 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 38775 bpb.version_specific.fat12_or_fat16.fstype and
38776 bpb.version_specific.fat32.fstype.
38777
2550c62f 387782009-02-08 Robert Millan <rmh@aybabtu.com>
38779
be110b30 38780 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 38781
56978920 387822009-02-08 Robert Millan <rmh@aybabtu.com>
38783
38784 * Makefile.in (host_os, host_cpu): New variables.
38785 (target_os): Remove. Update all users.
38786
d64399b5 387872009-02-08 Marco Gerards <marco@gnu.org>
38788
38789 * Makefile.in (enable_grub_emu_usb): New variable.
38790 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
38791 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
38792 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
38793 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
38794 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
38795 `usbtest.mod' and `usbms.mod'.
38796 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
38797 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
38798 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
38799 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
38800 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
38801 variables.
38802
38803 * disk/usbms.c: New file.
38804
38805 * include/grub/usb.h: Likewise.
38806
38807 * include/grub/usbtrans.h: Likewise.
38808
38809 * include/grub/usbdesc.h: Likewise.
38810
38811 * bus/usb/usbtrans.c: Likewise.
38812
38813 * bus/usb/ohci.c: Likewise.
38814
38815 * bus/usb/uhci.c: Likewise.
38816
38817 * bus/usb/usbhub.c: Likewise.
38818
38819 * bus/usb/usb.c: Likewise.
38820
38821 * commands/usbtest.c: Likewise.
38822
38823 * util/usb.c: Likewise.
50fb7002 38824
d64399b5 38825 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
38826
38827 * configure.ac: Test for libusb presence.
50fb7002 38828
d64399b5 38829 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
38830
2b40d6bb 388312009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
38832
38833 * kern/mm.c: Add more comments.
38834
73a4ce81 388352009-02-08 Robert Millan <rmh@aybabtu.com>
38836
38837 Patch from Javier Martín.
38838 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
38839 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
38840
f821ce59 388412009-02-08 Robert Millan <rmh@aybabtu.com>
38842
38843 * fs/cpio.c: Split tar functionality to ...
38844 * fs/tar.c: ... here (new file). Update all users.
38845
aebfc4b0 388462009-02-07 Robert Millan <rmh@aybabtu.com>
38847
38848 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
38849 backward-incompatible features.
38850
38851 Based on patch from Javier Martín, with some adjustments.
38852
50fb7002 388532009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 38854
38855 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
38856
0bb5115e 388572009-02-07 Robert Millan <rmh@aybabtu.com>
38858
38859 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
38860 position of `disk/lvm.c' to ensure grub_init_all() always picks it
38861 after the RAID stuff.
38862
38a0f8e7 388632009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
38864
50fb7002 38865 Fixes problem when running vbetest command as reported by
38a0f8e7 38866 Vladimir Serbinenko <phcoder@gmail.com>.
38867
38868 * (grub_vbe_set_video_mode): Fixed problem with text modes.
38869
3143cc1c 388702009-02-04 Felix Zielcke <fzielcke@z-51.de>
38871
38872 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
38873 /dev/md/NpN style mdraid devices.
38874
9cba6fce 388752009-02-03 Felix Zielcke <fzielcke@z-51.de>
38876
38877 * util/unifont2pff.rb: Remove.
38878
e507a2c1 388792009-02-03 Felix Zielcke <fzielcke@z-51.de>
38880
38881 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
38882 `#'.
38883
d2c2b4cd 388842009-02-03 Felix Zielcke <fzielcke@z-51.de>
38885
38886 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
38887 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38888 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38889 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38890 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38891 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38892 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38893
b4315fb0 388942009-02-02 Christian Franke <franke@computer.org>
38895
38896 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
38897
de3aa260 388982009-02-01 Felix Zielcke <fzielcke@z-51.de>
38899
7c3ff286 38900 * INSTALL: Note that we now require at least autoconf 2.59 and
38901 that LZO is optional.
de3aa260 38902
825a182b 389032009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
38904
38905 Base on patch on bug #24154 created by Tomas Tintera
38906 <trosos@seznam.cz>.
38907
38908 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
38909
a69ef770 389102009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
38911
7c3ff286 38912 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 38913 <bero@arklinux.org>.
38914
38915 * normal/parser.y (script_init): Add missing semicolon.
38916
6fa42fa6 389172009-01-31 Colin D Bennett <colin@gibibit.com>
38918
7c3ff286 38919 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 38920 (free_menu_entry_classes): Added.
38921 (grub_normal_menu_addentry): Added class property handling.
38922 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
38923 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
38924
38925 * normal/menu_viewer.c: New file.
38926
38927 * normal/menu.c (run_menu_entry): Renamed to ...
38928 (grub_menu_execute_entry): ... this and made it as global.
38929 (grub_menu_run): Renamed to ...
38930 (show_text_menu): ... this and made it local.
38931 (show_text_menu): Adapt to new function names.
38932 (grub_normal_terminal_menu_viewer): New global variable.
38933
38934 * include/grub/menu.h: New file.
38935
38936 * include/grub/menu_viewer.h: New file.
38937
38938 * include/grub/normal.h: Added include to grub/menu.h.
38939 (grub_menu_entry): Moved to include/grub/menu.h.
38940 (grub_menu_entry_t): Likewise.
38941 (grub_menu): Likewise.
38942 (grub_menu_t): Likewise.
38943 (grub_normal_terminal_menu_viewer): Added.
38944 (grub_menu_execute_entry): Likewise.
38945 (grub_menu_run): Removed.
38946
38947 * DISTLIST: Added include/grub/menu.h.
38948 Added include/grub/menu_viewer.h.
38949 Added normal/menu_viewer.c.
38950
389512009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
38952
38953 * normal/execute.c (grub_script_execute_menuentry): Changed to use
38954 arglist for menutitle arguments.
38955
38956 * normal/main.c (grub_normal_menu_addentry): Likewise.
38957
38958 * normal/parser.y (menuentry): Likewise.
38959
38960 * normal/script.c (grub_script_create_cmdmenu): Likewise.
38961
38962 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
38963 (grub_script_create_cmdmenu): Likewise.
38964
38965 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
38966
38967 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
38968 changes.
38969
38970 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
38971
38972 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
38973
38974 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
38975
38976 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38977
38978 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38979
38980 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38981
56192c23 389822009-01-30 Christian Franke <franke@computer.org>
38983
38984 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
38985 in option help text.
38986
d72521b3 389872009-01-27 Pavel Roskin <proski@gnu.org>
38988
38989 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
38990
994b5e84 389912009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
38992
38993 * commands/lsmmap.c: Add include to grub/machine/memory.h.
38994
38995 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
38996
38997 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
38998 unregister function.
38999
6a7eab2c 390002009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39001
39002 * disk/scsi.c (grub_scsi_read): Fix sign problem.
39003
39004 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
39005
39006 * util/grub-mkfont.c (usage): Fix typo.
39007
39008 * util/elf/grub-mkimage.c (load_modules): Fix warning.
39009
1806b56e 390102009-01-26 Daniel Mierswa <impulze@impulze.org>
39011
3fb18f09 39012 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
39013
336e1fb9 39014 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
39015
1806b56e 39016 * kern/misc.c (grub_strcasecmp): New function.
39017 (grub_strcasecmp): Use grub_size_t instead of int for length.
39018 Fix return value.
39019 * include/grub/misc.h: Update function prototypes.
39020
580b2a0f 390212009-01-26 Robert Millan <rmh@aybabtu.com>
39022
39023 * configure.ac: Fix cross-compilation check.
ef257b36 39024
d31c24f1 390252009-01-22 Christian Franke <franke@computer.org>
39026
39027 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
39028 (precision) digit string. Allow `.format2' without `format1' (width).
39029 Limit input chars for `%s' output to `format2' if specified. This is
39030 compatible with standard printf ().
39031
3138b44c 390322009-01-22 Christian Franke <franke@computer.org>
39033
39034 * disk/ata.c (grub_ata_wait_status): Replace by ...
39035 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
39036 other status bits may be invalid while BSY is asserted.
39037 (grub_ata_check_ready): New function.
39038 (grub_ata_cmd): Removed.
39039 (grub_ata_wait_drq): New function.
39040 (grub_ata_strncpy): Remove inline.
39041 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
39042 and error check now done by grub_ata_wait_drq ().
39043 (grub_ata_pio_write): Likewise.
39044 (grub_atapi_identify): Set DEV before check for !BSY. Use
39045 grub_ata_wait_drq () to wait for data.
39046 (grub_ata_device_initialize): Add status register check to
39047 detect missing SATA slave devices. Add debug messages.
39048 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
39049 (grub_atapi_packet): Set DEV before check for !BSY. Replace
39050 transfer loop by grub_ata_pio_write ().
39051 (grub_ata_identify): Set DEV before check for !BSY. Use
39052 grub_ata_wait_drq () to wait for data.
ef257b36 39053 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 39054 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
39055 read/write in one loop. Fix invalid command on write. Fix incomplete
39056 command on (size % batch) == 0. Add missing error check after write of
39057 last block. Add debug messages.
39058 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
39059
59a64ef6 390602009-01-19 Christian Franke <franke@computer.org>
39061
39062 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
39063 (GRUB_ATAPI_IREASON_*): Likewise.
39064 (grub_ata_pio_write): Fix timeout error return.
39065 (grub_atapi_identify): Add grub_ata_wait () after cmd.
39066 (grub_atapi_wait_drq): New function.
39067 (grub_atapi_packet): New parameter `size'.
39068 Use grub_atapi_wait_drq () and direct write instead of
39069 grub_ata_pio_write ().
39070 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
39071 reads the number of bytes requested by the device for each DRQ
39072 assertion.
39073 (grub_atapi_write): Remove old implementation, return not
39074 implemented instead.
39075
1cfe20b3 390762009-01-19 Christian Franke <franke@computer.org>
39077
39078 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
39079 of 512 to calculate data size.
39080 (grub_scsi_read12): Likewise.
39081 (grub_scsi_write10): Likewise.
39082 (grub_scsi_write12): Likewise.
39083 (grub_scsi_read): Adjust size according to blocksize.
39084 Add checks for invalid blocksize and unaligned transfer.
39085
bee5fe5d 390862009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
39087
39088 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
39089
ef257b36 39090 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 39091 width glyphs.
39092
3e643f8c 390932009-01-19 Robert Millan <rmh@aybabtu.com>
39094
39095 * config.guess: Update to latest version from config git.
39096 * config.sub: Likewise.
39097
4fa80998 390982009-01-17 Felix Zielcke <fzielcke@z-51.de>
39099
39100 * Makefile.in: Change font compilation to use new grub-mkfont instead
39101 of java version.
39102
39103 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
39104 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
39105 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39106 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39107 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
39108 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
39109 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
39110 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
39111 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39112
7086085b 391132009-01-16 Christian Franke <franke@computer.org>
39114
39115 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
39116 (enum grub_ata_timeout_milliseconds): New enum.
39117 (grub_ata_wait_status): Add parameter milliseconds.
39118 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
39119 recovery from timed-out commands.
39120 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
39121 return grub_errno instead of REG_ERROR.
39122 (grub_ata_pio_write): Add parameter milliseconds.
39123 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
39124 Pass milliseconds to grub_ata_wait_status () and
39125 grub_ata_pio_read ().
39126 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
39127 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
39128 grub_ata_wait_status (). Fix IDENTIFY timeout check.
39129 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
39130 It is not suitable for device detection, because DEV bit is ignored,
39131 the command may run too long, and not all devices set the signature
39132 properly.
39133 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
39134 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
39135 Fix device selection, DEV bit must be set first to address the registers
39136 of the correct device.
39137 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
39138 grub_ata_pio_read/write ().
39139 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
39140 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
39141
4a412913 391422009-01-13 Carles Pina i Estany <carles@pina.cat>
39143
39144 * util/grub-editenv.c (main): Use fseeko(), not fseek().
39145
7795c55e 391462009-01-13 Bean <bean123ch@gmail.com>
d913988c 39147
39148 * util/grub-mkfont.c (write_font): forget to remove some debug code.
39149
7795c55e 391502009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 39151
39152 * Makefile.in: (enable_grub_mkfont): New variable.
39153 (freetype_cflags): Likewise.
39154 (freetype_libs): Likewise.
39155
39156 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
39157 (grub_mkfont_SOURCES): New variable.
39158 (grub_mkfont_CFLAGS): Likewise.
39159 (grub_mkfont_LDFLAGS): Likewise.
39160
39161 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
39162 library if `--enable-grub-mkfont' is requested.
39163 (enable_grub_mkfont): New variable.
39164 (freetype_cflags): Likewise.
39165 (freetype_libs): Likewise.
39166
39167 * util/grub-mkfont.c: New file.
39168
093af1fe 391692009-01-12 Christian Franke <franke@computer.org>
39170
39171 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
39172 mode check. Fix setting of compat_use[].
39173
f36cc108 391742009-01-10 Robert Millan <rmh@aybabtu.com>
39175
39176 Update a few copyright years which we forgot to do in 2008 (only for
39177 files whose changes made in 2008 were copyright-significant)
39178
39179 * Makefile.in: Add 2008 to Copyright line.
39180 * disk/ieee1275/ofdisk.c: Likewise.
39181 * disk/efi/efidisk.c: Likewise.
39182 * kern/dl.c: Likewise.
39183 * kern/sparc64/ieee1275/init.c: Likewise.
39184 * kern/mm.c: Likewise.
39185 * kern/efi/mm.c: Likewise.
39186 * boot/i386/pc/boot.S: Likewise.
39187 * genfslist.sh: Likewise.
39188 * fs/iso9660.c: Likewise.
39189 * fs/hfs.c: Likewise.
39190 * fs/jfs.c: Likewise.
39191 * fs/minix.c: Likewise.
39192 * fs/ufs.c: Likewise.
39193 * gensymlist.sh.in: Likewise.
39194 * genkernsyms.sh.in: Likewise.
39195 * include/grub/misc.h: Likewise.
39196 * include/grub/types.h: Likewise.
39197 * include/grub/symbol.h: Likewise.
39198 * include/grub/elf.h: Likewise.
39199 * include/grub/kernel.h: Likewise.
39200 * include/grub/disk.h: Likewise.
39201 * include/grub/dl.h: Likewise.
39202 * include/grub/i386/linux.h: Likewise.
39203 * include/grub/i386/pc/biosdisk.h: Likewise.
39204 * include/grub/efi/api.h: Likewise.
39205 * include/grub/efi/pe32.h: Likewise.
39206 * include/grub/util/misc.h: Likewise.
39207 * normal/execute.c: Likewise.
39208 * normal/arg.c: Likewise.
39209 * normal/completion.c: Likewise.
39210 * normal/lexer.c: Likewise.
39211 * normal/parser.y: Likewise.
39212 * normal/misc.c: Likewise.
39213 * commands/i386/pc/vbeinfo.c: Likewise.
39214 * commands/hexdump.c: Likewise.
39215 * commands/terminal.c: Likewise.
39216 * commands/ls.c: Likewise.
39217 * commands/help.c: Likewise.
39218 * partmap/pc.c: Likewise.
39219 * loader/efi/chainloader.c: Likewise.
39220 * loader/multiboot_loader.c: Likewise.
39221 * loader/i386/pc/multiboot2.c: Likewise.
39222 * term/efi/console.c: Likewise.
39223 * term/i386/pc/serial.c: Likewise.
39224 * util/lvm.c: Likewise.
39225 * util/console.c: Likewise.
39226 * util/i386/efi/grub-mkimage.c: Likewise.
39227 * util/raid.c: Likewise.
39228
7f02114b 392292009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
39230
39231 * commands/videotest.c: Removed include to grub/machine/memory.h.
39232
39233 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
39234 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
39235 (video_mod_SOURCES): Removed.
39236 (video_mod_CFLAGS): Likewise.
39237 (video_mod_LDFLAGS): Likewise.
39238 (gfxterm_mod_SOURCES): Likewise.
39239 (gfxterm_mod_CFLAGS): Likewise.
39240 (gfxterm_mod_LDFLAGS): Likewise.
39241 (videotest_mod_SOURCES): Likewise.
39242 (videotest_mod_CFLAGS): Likewise.
39243 (videotest_mod_LDFLAGS): Likewise.
39244 (bitmap_mod_SOURCES): Likewise.
39245 (bitmap_mod_CFLAGS): Likewise.
39246 (bitmap_mod_LDFLAGS): Likewise.
39247 (tga_mod_SOURCES): Likewise.
39248 (tga_mod_CFLAGS): Likewise.
39249 (tga_mod_LDFLAGS): Likewise.
39250 (jpeg_mod_SOURCES): Likewise.
39251 (jpeg_mod_CFLAGS): Likewise.
39252 (jpeg_mod_LDFLAGS): Likewise.
39253 (png_mod_SOURCES): Likewise.
39254 (png_mod_CFLAGS): Likewise.
39255 (png_mod_LDFLAGS): Likewise.
39256
39257 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
39258 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
39259 (video_mod_SOURCES): Added.
39260 (video_mod_CFLAGS): Likewise.
39261 (video_mod_LDFLAGS): Likewise.
39262 (videotest_mod_SOURCES): Likewise.
39263 (videotest_mod_CFLAGS): Likewise.
39264 (videotest_mod_LDFLAGS): Likewise.
39265 (bitmap_mod_SOURCES): Likewise.
39266 (bitmap_mod_CFLAGS): Likewise.
39267 (bitmap_mod_LDFLAGS): Likewise.
39268 (tga_mod_SOURCES): Likewise.
39269 (tga_mod_CFLAGS): Likewise.
39270 (tga_mod_LDFLAGS): Likewise.
39271 (jpeg_mod_SOURCES): Likewise.
39272 (jpeg_mod_CFLAGS): Likewise.
39273 (jpeg_mod_LDFLAGS): Likewise.
39274 (png_mod_SOURCES): Likewise.
39275 (png_mod_CFLAGS): Likewise.
39276 (png_mod_LDFLAGS): Likewise.
39277 (gfxterm_mod_SOURCES): Likewise.
39278 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 39279 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 39280
39281 * term/gfxterm.c: Removed include to grub/machine/memory.h,
39282 grub/machine/console.h.
39283
644fff97 392842009-01-04 Jerone Young <jerone@gmail.com>
39285
39286 Make on screen instructions clearer
39287
39288 Based on patch created by Jidanni <jidanni@jidanni.org>
39289
39290 * normal/menu.c: print clearer instructions on the screen
39291
1e901a75 392922009-01-02 Colin D Bennett <colin@gibibit.com>
39293
39294 New font engine.
34c44600 39295
1e901a75 39296 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
39297 build system and fixed gfxterm.c to work with different sized fonts.
39298
39299 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 39300
1e901a75 39301 * configure: Re-generated.
34c44600 39302
1e901a75 39303 * DISTLIST: Removed font/manager.c.
39304 Added font/font.c.
39305 Added font/font_cmd.c.
34c44600 39306
1e901a75 39307 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
39308 compilation.
34c44600 39309
1e901a75 39310 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 39311
39312 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 39313
39314 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 39315
1e901a75 39316 * normal/menu.c: Likewise.
34c44600 39317
1e901a75 39318 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
39319 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 39320
1e901a75 39321 * include/grub/font.h: Replaced with new file.
34c44600 39322
1e901a75 39323 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
39324 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
39325 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
39326 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
39327 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 39328 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 39329 fg_red, fg_green, fg_blue, fg_alpha.
39330 (grub_video_adapter): Removed blit_glyph.
34c44600 39331 (grub_video_blit_glyph): Removed.
39332
1e901a75 39333 * font/manager.c: Removed file.
34c44600 39334
39335 * font/font.c: New file.
39336
1e901a75 39337 * font/font_cmd.c: Likewise.
34c44600 39338
1e901a75 39339 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 39340
1e901a75 39341 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
39342 (grub_video_vbe_map_rgba): Likewise.
39343 (grub_video_vbe_unmap_color_int): Likewise.
39344 (grub_video_vbe_blit_glyph): Removed.
39345 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 39346
1e901a75 39347 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
39348 (get_pixel): Likewise.
34c44600 39349 (set_pixel): Likewise.
39350
1e901a75 39351 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 39352
1e901a75 39353 * term/gfxterm.c: Adapted to new font engine.
34c44600 39354
1e901a75 39355 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 39356
1e901a75 39357 * term/i386/pc/vga.c: Likewise.
34c44600 39358
1e901a75 39359 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 39360
1e901a75 39361 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 39362
1e901a75 39363 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39364
1e901a75 39365 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39366
1e901a75 39367 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 39368
1e901a75 39369 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 39370
1e901a75 39371 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 39372
1e901a75 39373 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 39374
1e901a75 39375 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39376
39377 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 39378
1e901a75 39379 * util/grub-mkconfig_lib.in: Changed font extension.
39380
278922e8 393812008-12-28 Felix Zielcke <fzielcke@z-51.de>
39382
39383 * util/getroot.c (grub_util_get_grub_dev): Add support for
39384 /dev/md/dNNpNN style partitionable mdraid devices.
39385
3ced05cf 393862008-12-12 Alex Smith <alex@alex-smith.me.uk>
39387
39388 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
39389 at a time limit of the PXE TFTP API correctly.
39390 (grub_pxefs_close): Likewise.
39391
7fd0ee30 393922008-11-29 Robert Millan <rmh@aybabtu.com>
39393
34c44600 39394 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 39395 grub_ata_device_initialize() calls.
39396
34c44600 393972008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 39398
39399 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
39400 iteration failed.
39401 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
39402
89313780 394032008-11-28 Robert Millan <rmh@aybabtu.com>
39404
39405 Fix build on powerpc-ieee1275. Based on patch created by
39406 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
39407 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39408 `kern/ieee1275/mmap.c'.
39409 * include/grub/powerpc/ieee1275/memory.h: New file.
39410
15257703 39411 Provide grub-install on coreboot.
39412 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
39413 (grub_install_SOURCES): New variable.
39414 * util/i386/pc/grub-install.in: Add a few condition checks to make it
39415 usable on coreboot.
39416
9fc5388a 394172008-11-25 Felix Zielcke <fzielcke@z-51.de>
39418
39419 * util/grub-fstest.c (grub_term_get_current_input): Change return type
39420 to `grub_term_input_t'.
39421 (grub_term_get_current_output): Change return type to
39422 `grub_term_output_t'.
39423
bc3a2f31 394242008-11-22 Robert Millan <rmh@aybabtu.com>
39425
34c44600 39426 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 39427 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
39428 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
39429 grub_vga_text_cls().
39430
80fc88f2 39431 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 39432 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 39433
cbf36fd3 39434 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
39435 to 0x200000 (avoids trouble with some OFW implementations, and matches
39436 with the one in Yaboot).
39437 Reported by Manoel Abranches
39438
73e8e268 394392008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 39440
39441 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
39442 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
39443
73e8e268 39444 * util/grub-mkconfig_lib.in (grub_warn): New function.
39445 (convert_system_path_to_grub_path): Use grub_warn() when issuing
39446 warnings, to obtain consistent formatting.
39447 * util/grub.d/00_header.in: Likewise.
39448 * util/update-grub_lib.in: Likewise.
39449
e94045a1 39450 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 39451 Move comment text to `#error' stanza.
e94045a1 39452
79d29fd7 39453 Harmonize ieee1275's grub_available_iterate() with the generic
39454 grub_machine_mmap_iterate() interface (fixes a recently-introduced
39455 build problem on i386-ieee1275):
39456 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
39457 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
39458 parameter `type'. Update all users of this function.
39459 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39460 `kern/ieee1275/mmap.c'.
39461 * kern/ieee1275/init.c
39462 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
39463 with ...
39464 (grub_machine_mmap_iterate): ... this.
39465 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
39466 return type to `grub_err_t'. Update all implementations of this
39467 function prototype.
39468 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
39469 Likewise.
39470
60d6b16e 39471 Add `lsmmap' command (lists firmware-provided memory map):
39472 * commands/lsmmap.c: New file.
39473 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
39474 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
39475 variables.
39476 * conf/powerpc-ieee1275.rmk: Likewise.
39477 * conf/i386-coreboot.rmk: Likewise.
39478 * conf/i386-ieee1275.rmk: Likewise.
39479
ebaaf49b 394802008-11-19 Robert Millan <rmh@aybabtu.com>
39481
39482 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 39483 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
39484 constraints to initrd allocation (based on code from
39485 loader/i386/pc/linux.c). Without them, initrd was allocated too high
39486 for Linux to find it.
ebaaf49b 39487
dfab719f 394882008-11-14 Robert Millan <rmh@aybabtu.com>
39489
39490 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
39491 order to cope with duplicate slashes.
39492
10fc3eb9 394932008-11-14 Robert Millan <rmh@aybabtu.com>
39494
39495 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
39496 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
39497 don't want to mess with lower memory, because it is used in the Linux
39498 loader.
39499
39500 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 39501 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 39502 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
39503 is in our heap (probably as a result of it being corrupted during
2f2a3442 39504 decompression). Add #error instance with comment to explain why this
39505 loader isn't currently usable on PC/BIOS.
10fc3eb9 39506
e2e07847 395072008-11-14 Robert Millan <rmh@aybabtu.com>
39508
39509 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 39510 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 39511
fe8e8d69 395122008-11-12 Robert Millan <rmh@aybabtu.com>
39513
39514 Make loader/i386/linux.c buildable on i386-pc (although disabled).
39515
39516 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
39517 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
39518 from here ...
39519 * include/grub/i386/pc/memory.h: ... to here.
39520
976b07d0 395212008-11-12 Robert Millan <rmh@aybabtu.com>
39522
39523 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
39524 split).
39525
39526 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
39527 (grub_console_cur_color, grub_console_real_putchar)
39528 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39529 (grub_console_setcolorstate, grub_console_setcolor)
39530 (grub_console_getcolor): Move from here ...
39531 * include/grub/i386/vga_common.h: ... to here (new file).
39532
39533 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
39534 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
39535 `<grub/i386/io.h>'.
39536 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
39537 `<grub/i386/vga_common.h>'.
39538
76679cd3 395392008-11-12 Robert Millan <rmh@aybabtu.com>
39540
39541 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
39542 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
39543 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
39544 variables.
39545 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39546 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
39547
39548 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
39549 grub_console_init() with call to grub_vga_text_init().
39550 (grub_machine_fini): Replace call to
39551 grub_console_fini() with call to grub_vga_text_fini() and
39552 grub_at_keyboard_fini().
39553
39554 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
39555 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39556 (grub_console_setcolorstate, grub_console_setcolor)
39557 (grub_console_getcolor): New function prototypes.
39558
39559 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
39560 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
39561 (grub_vga_text_setcursor): Static-ize.
39562 (grub_vga_text_term): New structure.
39563 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
39564
39565 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
39566 (grub_console_cur_color, grub_console_standard_color)
39567 (grub_console_normal_color, grub_console_highlight_color)
39568 (map_char, grub_console_putchar, grub_console_getcharwidth)
39569 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
39570 (grub_console_getcolor): Move from here ...
39571 * term/i386/vga_common.c: ... to here (same function names).
39572
95b841d3 395732008-11-12 Robert Millan <rmh@aybabtu.com>
39574
39575 Use newly-added Multiboot support in coreboot.
39576
39577 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39578 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
39579
39580 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
39581 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
39582 (codestart): Store the MBI in `startup_multiboot_info' when we're
39583 being loaded using Multiboot.
39584
39585 * kern/i386/coreboot/init.c (grub_machine_init): Move
39586 grub_at_keyboard_init() call to beginning of function (useful for
39587 debugging). Call grub_machine_mmap_init() before attempting to use
39588 grub_machine_mmap_iterate().
39589 (grub_lower_mem, grub_upper_mem): Move from here ...
39590 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
39591 here (new file).
39592
39593 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
39594 function prototype.
39595
761ca975 395962008-11-12 Robert Millan <rmh@aybabtu.com>
39597
39598 Fix a regression introduced by the at_keyboard.mod split. Because
39599 some terminals are default on some platforms and non-default on
39600 others, the first terminal being registered determines which is
39601 going to be default.
39602
39603 * kern/term.c (grub_term_register_input): If this is the first
39604 terminal being registered, set it as the current one.
39605 (grub_term_register_output): Likewise.
39606
39607 * term/efi/console.c (grub_console_init): Do not call
39608 grub_term_set_current_output() or grub_term_set_current_input().
39609 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
39610 * term/i386/pc/console.c (grub_console_init): Likewise.
39611 (grub_console_fini): Do not call grub_term_set_current_input()
39612 (but leave grub_term_set_current_output() to restore text mode).
39613
6c529df7 396142008-11-10 Robert Millan <rmh@aybabtu.com>
39615
39616 * util/grub.d/00_header.in: Add backward compatibility check for
39617 versions of terminal.mod that don't understand `terminal_input' or
39618 `terminal_output'.
39619
132e4113 396202008-11-09 Robert Millan <rmh@aybabtu.com>
39621
39622 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
39623 `terminal_input' / `terminal_output', not `terminal'.
39624
ac293d50 396252008-11-08 Robert Millan <rmh@aybabtu.com>
39626
39627 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 39628 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 39629
0025933a 396302008-11-08 Robert Millan <rmh@aybabtu.com>
39631
39632 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 39633 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 39634 members. Update all users.
39635 * util/console.c (grub_ncurses_term): Split in ...
39636 (grub_ncurses_term_input): ... this, and ...
39637 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 39638 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 39639
37c86336 396402008-11-08 Robert Millan <rmh@aybabtu.com>
39641
39642 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
39643 (PKGDATA): Add $(pkgdata_SRCDIR).
39644 (pkglib_BUILDDIR): New variable.
39645 (pkgdata_SRCDIR): New variable.
39646 (build_env.mk): New target.
39647 (include_DATA): New variable.
39648 (install-local): Install $(include_DATA) files in $(includedir).
39649
b6c15a2d 396502008-11-07 Pavel Roskin <proski@gnu.org>
39651
d99d46f1 39652 * gendistlist.sh: Use C locale for sorting to ensure consistent
39653 output on all systems.
39654
b6c15a2d 39655 * util/grub.d/00_header.in: Remove incorrect space before
39656 "serial".
39657
c32ee8c9 396582008-11-07 Robert Millan <rmh@aybabtu.com>
39659
39660 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
39661 per specification.
39662 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
39663 * loader/multiboot_loader.c (find_multi_boot2_header): New function
39664 (based on find_multi_boot1_header).
39665 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
39666 using find_multi_boot2_header(), and abort if neither Multiboot or
39667 Multiboot headers were found.
39668
651c29b7 396692008-11-07 Robert Millan <rmh@aybabtu.com>
39670
39671 Modularize at_keyboard.mod:
39672
39673 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
39674 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
39675 (at_keyboard_mod_LDFLAGS): New variables.
39676
39677 Actual terminal split:
39678
39679 * include/grub/term.h (struct grub_term): Split in ...
39680 (struct grub_term_input): ... this, and ...
39681 (struct grub_term_output): ... this. Update all users.
39682 (grub_term_set_current): Split in ...
39683 (grub_term_set_current_input): ... this, and ...
39684 (grub_term_set_current_output): ... this.
39685 (grub_term_get_current): Split in ...
39686 (grub_term_get_current_input): ... this, and ...
39687 (grub_term_get_current_output): ... this.
39688 (grub_term_register): Split in ...
39689 (grub_term_register_input): ... this, and ...
39690 (grub_term_register_output): ... this.
39691 (grub_term_unregister): Split in ...
39692 (grub_term_unregister_input): ... this, and ...
39693 (grub_term_unregister_output): ... this.
39694 (grub_term_iterate): Split in ...
39695 (grub_term_iterate_input): ... this, and ...
39696 (grub_term_iterate_output): ... this.
39697
39698 * kern/term.c (grub_term_list): Split in ...
39699 (grub_term_list_input): ... this, and ...
39700 (grub_term_list_output): ... this. Update all users.
39701 (grub_cur_term): Split in ...
39702 (grub_cur_term_input): ... this, and ...
39703 (grub_cur_term_output): ... this. Update all users.
39704 (grub_term_set_current): Split in ...
39705 (grub_term_set_current_input): ... this, and ...
39706 (grub_term_set_current_output): ... this.
39707 (grub_term_get_current): Split in ...
39708 (grub_term_get_current_input): ... this, and ...
39709 (grub_term_get_current_output): ... this.
39710 (grub_term_register): Split in ...
39711 (grub_term_register_input): ... this, and ...
39712 (grub_term_register_output): ... this.
39713 (grub_term_unregister): Split in ...
39714 (grub_term_unregister_input): ... this, and ...
39715 (grub_term_unregister_output): ... this.
39716 (grub_term_iterate): Split in ...
39717 (grub_term_iterate_input): ... this, and ...
39718 (grub_term_iterate_output): ... this.
39719
39720 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
39721 a check for input and one for output (and only attempt to get keys
39722 from user when input works).
39723
39724 * util/grub-probe.c (grub_term_get_current): Split in ...
39725 (grub_term_get_current_input): ... this, and ...
39726 (grub_term_get_current_output): ... this.
39727 * util/grub-fstest.c: Likewise.
39728 * util/i386/pc/grub-setup.c: Likewise.
39729 * util/grub-editenv.c: Likewise.
39730
39731 Portability adjustments:
39732
39733 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
39734 `term/i386/pc/at_keyboard.c'.
39735 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
39736 grub_keyboard_controller_init() (now handled by terminal .init).
39737 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
39738 grub_at_keyboard_init().
39739 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
39740 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
39741 at_keyboard.mod via input terminal interface).
39742 * include/grub/i386/coreboot/console.h: Convert into a stub for
39743 `<grub/i386/pc/console.h>'.
39744
39745 Migrate full terminals to new API:
39746
39747 * term/efi/console.c (grub_console_term): Split into ...
39748 (grub_console_term_input): ... this, and ...
39749 (grub_console_term_output): ... this. Update all users.
39750 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
39751 (grub_ofconsole_init): Split into ...
39752 (grub_ofconsole_init_input): ... this, and ...
39753 (grub_ofconsole_init_output): ... this.
39754 (grub_ofconsole_term): Split into ...
39755 (grub_ofconsole_term_input): ... this, and ...
39756 (grub_ofconsole_term_output): ... this. Update all users.
39757 * term/i386/pc/serial.c (grub_serial_term): Split into ...
39758 (grub_serial_term_input): ... this, and ...
39759 (grub_serial_term_output): ... this. Update all users.
39760 * term/i386/pc/console.c (grub_console_term): Split into ...
39761 (grub_console_term_input): ... this, and ...
39762 (grub_console_term_output): ... this. Update all users.
39763 (grub_console_term_input): Only enable it on PC/BIOS platform.
39764 (grub_console_init): Remove grub_keyboard_controller_init() call.
39765
39766 Migrate input terminals to new API:
39767
39768 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
39769 `i386' and `i386/pc' to enable build on x86_64 (this driver is
39770 i386-specific anyway).
39771 (grub_console_checkkey): Rename to ...
39772 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
39773 users.
39774 (grub_keyboard_controller_orig): New variable.
39775 (grub_console_getkey): Rename to ...
39776 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
39777 users.
39778 (grub_keyboard_controller_init): Static-ize. Save original
39779 controller value so that it can be restored ...
39780 (grub_keyboard_controller_fini): ... here (new function).
39781 (grub_at_keyboard_term): New structure.
39782 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
39783 functions.
39784
39785 Migrate output terminals to new API:
39786
39787 * term/i386/pc/vga.c (grub_vga_term): Change type to
39788 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39789 members. Update all users.
39790 * term/gfxterm.c (grub_video_term): Change type to
39791 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39792 members. Update all users.
39793 * include/grub/i386/pc/console.h (grub_console_checkkey)
39794 (grub_console_getkey): Do not export (no longer needed by gfxterm,
39795 etc).
39796
39797 Migrate `terminal' command and userland tools to new API:
39798
39799 * commands/terminal.c (grub_cmd_terminal): Split into ...
39800 (grub_cmd_terminal_input): ... this, and ...
39801 (grub_cmd_terminal_output): ... this.
39802 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
39803 `terminal_input' and `terminal_output'.
39804 * util/grub.d/00_header.in: Adjust `terminal' calls to new
39805 `terminal_input' / `terminal_output' API.
39806 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
39807 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
39808 provided ${GRUB_TERMINAL}, convert it).
39809
96e5d876 398102008-11-04 Robert Millan <rmh@aybabtu.com>
39811
39812 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
39813 for FreeBSD.
39814 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
39815
556f3775 398162008-11-03 Bean <bean123ch@gmail.com>
39817
39818 * kern/elf.c (grub_elf32_load): Revert to previous code.
39819 (grub_elf64_load): Likewise.
39820
39821 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
39822
926b9823 398232008-11-01 Robert Millan <rmh@aybabtu.com>
39824
39825 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
39826 (TARGET_CPPFLAGS): Likewise.
39827 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
39828
1432e958 398292008-11-01 Carles Pina i Estany <carles@pina.cat>
39830
39831 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
39832
dba3f844 398332008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 39834
39835 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
39836 addition of objects until the code is not going to be able to fail.
39837
dba3f844 398382008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 39839
39840 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
39841 (add a missing NULL check, and correct them by moving the pointer
39842 operations after the actual check).
39843
7ab28c21 398442008-10-29 Robert Millan <rmh@aybabtu.com>
39845
39846 * util/i386/pc/grub-install.in: Handle empty string as output from
39847 make_system_path_relative_to_its_root().
39848
1b7748eb 398492008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
39850
39851 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
39852 circular metadata worst case scenario. If the metadata is circular
39853 then copy the wrap in place.
39854 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
39855 project lib/format_text/layout.h
39856 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
39857
c9618ab2 398582008-10-03 Felix Zielcke <fzielcke@z-51.de>
39859
7a36edca 39860 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 39861
bf981c62 398622008-10-03 Felix Zielcke <fzielcke@z-51.de>
39863
39864 * util/update-grub_lib.in: Mention filename in warning message.
39865
6d994591 398662008-09-29 Felix Zielcke <fzielcke@z-51.de>
39867
39868 * NEWS: Update for rename of update-grub to grub-mkconfig.
39869
18ade780 398702008-09-29 Felix Zielcke <fzielcke@z-51.de>
39871
39872 * util/update-grub_lib.in: Copy to ...
39873 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 39874 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 39875 * util/update-grub.in: Rename to ...
39876 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
39877 option. Add `--output' option to allow users to specify the generated
39878 configuration file. Default to stdout.
39879 (update_grub_dir): Rename to ...
39880 (grub_mkconfig_dir): ... this.
39881 (grub_cfg): Default to an empty string.
39882 * conf/common.rmk (update-grub): Rename to ...
39883 (grub-mkconfig): ... this.
39884 (update-grub_lib): Copy to ...
39885 (grub-mkconfig_lib): ... this.
39886 (update-grub_SCRIPTS): Copy to ...
39887 (grub-mkconfig_SCRIPTS): ... this. Update all users.
39888 (update-grub_DATA): Rename to ...
39889 (grub-mkconfig_DATA): ... this.
39890
556ce6ac 398912008-09-28 Robert Millan <rmh@aybabtu.com>
39892
39893 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
39894 to `modified'. Add the real `created' field.
39895 (grub_iso9660_uuid): Use `modified' rather than `created' for
39896 constructing the UUID.
39897
398982008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 39899
39900 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
39901 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
39902
92274e85 399032008-09-28 Bean <bean123ch@gmail.com>
39904
39905 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
39906 Thanks to Christian Franke for finding this bug.
39907
add6f17a 399082008-09-25 Robert Millan <rmh@aybabtu.com>
39909
39910 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
39911 instances of grub_util_get_disk_name() (see previous commit).
39912
d2a367b8 399132008-09-25 Robert Millan <rmh@aybabtu.com>
39914
39915 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
39916 `util/i386/get_disk_name.c'.
39917 * conf/i386-efi.rmk: Likewise.
39918 * conf/x86_64-efi.rmk: Likewise.
39919 * conf/i386-coreboot.rmk: Likewise.
39920 * conf/i386-ieee1275.rmk: Likewise.
39921 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
39922 `util/ieee1275/get_disk_name.c'.
39923 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
39924 * util/ieee1275/get_disk_name.c: Remove file.
39925 * util/i386/get_disk_name.c: Remove file.
39926 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
39927 "hd%d" for device.map entries, rather than using
39928 grub_util_get_disk_name().
39929
81a06771 399302008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 39931
39932 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
39933 warning.
39934 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
39935
5a004279 399362008-09-24 Carles Pina i Estany <carles@pina.cat>
39937
39938 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
39939 Changed to 0x5100.
39940 (GRUB_TERM_PPAGE): Changed to 0x4900.
39941
397093d3 399422008-09-24 Robert Millan <rmh@aybabtu.com>
39943
39944 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
39945 macros (they were i386-pc specific).
39946 * include/grub/sparc64/ieee1275/console.h: Likewise.
39947 * include/grub/efi/console.h: Likewise.
39948
a91b6c7c 399492008-09-22 Bean <bean123ch@gmail.com>
39950
39951 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
39952 resident and in attribute list.
39953
39954 * include/grub/ntfs.h (BMP_LEN): Removed.
39955
c40fd116 399562008-09-22 Bean <bean123ch@gmail.com>
39957
81a06771 39958 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 39959 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
39960
39961 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
39962 error occurs, as grub_disk_open will call grub_disk_close, which will
39963 call p->close (scsi).
39964
81a06771 399652008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 39966
39967 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
39968 (AC_PREREQ): Bumped to 2.59.
39969 (AC_TRY_COMPILE): Replace obsolete macro with ...
39970 (AC_COMPILE_IFELSE): ... this.
39971 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
39972 (AC_LINK_IFELSE): ... this.
39973
5dc43410 399742008-09-21 Felix Zielcke <fzielcke@z-51.de>
39975
39976 * autogen.sh: Add a call to `gendistlist.sh'.
39977
9035dce4 399782008-09-19 Christian Franke <franke@computer.org>
39979
39980 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
39981 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
39982 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
39983 Export __enable_execute_stack() to modules.
39984 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
39985 New function.
39986
7fd75377 399872008-09-09 Felix Zielcke <fzielcke@z-51.de>
39988
040030b3 39989 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
39990 Sort the list.
39991
399922008-09-09 Felix Zielcke <fzielcke@z-51.de>
39993
39994 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 39995 #include <grub/util/hostdisk.h>.
39996
89d5ffcf 399972008-09-08 Robert Millan <rmh@aybabtu.com>
39998
39999 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
40000 segments when their filesz is zero (grub_file_read() interprets
81a06771 40001 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 40002 Use `lowest_segment' rather than 0 for calculating the current
40003 segment load address.
40004
40da438f 400052008-09-08 Robert Millan <rmh@aybabtu.com>
40006
40007 * util/hostdisk.c (open_device): Replace a grub_util_info() call
40008 with grub_dprintf("hostdisk", ...), as it was so verbose that it
40009 clobbered useful information.
40010
ddbf5556 400112008-09-08 Robert Millan <rmh@aybabtu.com>
40012
40013 * include/grub/util/biosdisk.h: Move to ...
40014 * include/grub/util/hostdisk.h: ... here. Update all users.
40015 * util/biosdisk.c: Move to ...
40016 * util/hostdisk.c: ... here. Update all users.
40017
783d0f48 400182008-09-07 Robert Millan <rmh@aybabtu.com>
40019
40020 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
40021 variables.
40022 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
40023 and length can be stored directly in the `mbi->mmap_addr' and
40024 `mbi->mmap_length' struct fields.
40025
548e2ea5 400262008-09-07 Robert Millan <rmh@aybabtu.com>
40027
40028 * conf/i386.rmk: New file. Provides declaration for building
40029 `cpuid.mod'.
40030 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
40031 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
40032 variables.
40033 Include `conf/i386.mk'.
40034 * conf/i386-efi.rmk: Likewise.
40035 * conf/x86_64-efi.rmk: Likewise.
40036 * conf/i386-coreboot.rmk: Likewise.
40037 * conf/i386-ieee1275.rmk: Likewise.
40038
0ea85a37 400392008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
40040
40041 Based on patch created by Colin D Bennett <colin@gibibit.com>.
40042 Adds optimization support for BGR based modes.
40043
40044 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
40045 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40046 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40047 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40048 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40049 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40050 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40051 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40052 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40053 (grub_video_i386_vbeblit_index_index): Likewise.
40054 (grub_video_i386_vbeblit_replace_directN): Added.
40055 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40056 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40057 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40058 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40059 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40060 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 40061 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 40062 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40063 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40064 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40065 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40066 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40067 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
40068
40069 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
40070 (grub_video_i386_vbefill_R8G8B8): Likewise.
40071 (grub_video_i386_vbefill_index): Likewise.
40072 (grub_video_i386_vbefill_direct32): Added.
40073 (grub_video_i386_vbefill_direct24): Likewise.
40074 (grub_video_i386_vbefill_direct16): Likewise.
40075 (grub_video_i386_vbefill_direct8): Likewise.
40076
81a06771 40077 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 40078 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
40079 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
40080 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
40081 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
40082 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 40083
0ea85a37 40084 * video/video.c (grub_video_get_blit_format): Updated to use new
40085 blit formats. Added handling for 16 bit color modes.
81a06771 40086
40087 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 40088 fillers.
40089 (common_blitter): Updated to use new blitters.
40090
40091 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
40092 Removed.
40093 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40094 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40095 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40096 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40097 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40098 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40099 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40100 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40101 (grub_video_i386_vbeblit_index_index): Likewise.
40102 (grub_video_i386_vbeblit_replace_directN): Added.
40103 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40104 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40105 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40106 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40107 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40108 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
40109 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
40110 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40111 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40112 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40113 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40114 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40115 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 40116
0ea85a37 40117 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
40118 (grub_video_i386_vbefill_R8G8B8): Likewise.
40119 (grub_video_i386_vbefill_index): Likewise.
40120 (grub_video_i386_vbefill_direct32): Added.
40121 (grub_video_i386_vbefill_direct24): Likewise.
40122 (grub_video_i386_vbefill_direct16): Likewise.
40123 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 40124
0ea85a37 40125 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
40126 types.
81a06771 40127
0ea85a37 40128 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
40129 types.
81a06771 40130
0ea85a37 40131 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
40132 blitter types.
81a06771 40133
0ea85a37 40134 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
40135 types.
40136
e8a83df6 401372008-09-06 Felix Zielcke <fzielcke@z-51.de>
40138
40139 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
40140 RAID level 1.
40141
6bcd8ee5 401422008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 40143
6bcd8ee5 40144 * fs/iso9660.c (grub_iso9660_date): New structure.
40145 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
40146 (grub_iso9660_uuid): New function.
c375ae58 40147
59261157 401482008-09-05 Bean <bean123ch@gmail.com>
40149
40150 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
40151
40152 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
40153 insensitive bit for names in Win32 and Win32 & DOS namespace.
40154
40155 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
40156
40157 * include/grub/types.h (LONG_MAX): Likewise.
40158
58b6645a 401592008-09-04 Felix Zielcke <fzielcke@z-51.de>
40160
4ee55921 40161 * util/getroot.c: Include <config.h>.
40162 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
40163 add support for /dev/md/N devices and handle LVM double dash escaping.
40164
401652008-09-04 Felix Zielcke <fzielcke@z-51.de>
40166
40167 * config.guess: Update to latest version from config git.
40168 * config.sub: Likewise.
58b6645a 40169
9124f65d 401702008-09-03 Robert Millan <rmh@aybabtu.com>
40171
40172 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
40173 `disk->total_sectors'.
40174
81a06771 401752008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 40176
40177 * include/grub/normal.h: Fixed incorrect comment for
40178 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
40179
81a06771 401802008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 40181
40182 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
40183 values with defines.
40184
40185 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
40186 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
40187 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
40188 (GRUB_VBE_MODEATTR_COLOR): Likewise.
40189 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
40190 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
40191 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
40192 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
40193 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
40194 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
40195 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
40196 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
40197 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
40198 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
40199 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
40200 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
40201 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
40202 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
40203 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
40204
93d5cbf8 402052008-08-31 Robert Millan <rmh@aybabtu.com>
40206
40207 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
40208 declaration.
40209 (grub_multiboot): Fix a few warnings.
40210
21751d50 402112008-08-31 Robert Millan <rmh@aybabtu.com>
40212
40213 * loader/i386/pc/multiboot.c: Update comment not to say that
40214 boot_device support is unimplemented.
40215
e27a75c5 402162008-08-31 Robert Millan <rmh@aybabtu.com>
40217
40218 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
40219 or memory map support are unimplemented.
40220
81a06771 402212008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 40222
40223 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
40224
81a06771 402252008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 40226
40227 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
40228 total video memory in 'vbeinfo' output; show color format details for
40229 each video mode.
40230
7c5d8d95 402312008-08-30 Pavel Roskin <proski@gnu.org>
40232
40233 * util/genmoddep.c: Remove for real this time.
40234 * DISTLIST: Remove util/genmoddep.c.
40235
4cebd25a 402362008-08-30 Robert Millan <rmh@aybabtu.com>
40237
40238 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
40239 as required by Multiboot spec (it was already 4-byte aligned, but
40240 only by chance).
40241
b497a269 402422008-08-29 Pavel Roskin <proski@gnu.org>
40243
e3925185 40244 * kern/powerpc/ieee1275/crt0.S: Rename to ...
40245 * kern/powerpc/ieee1275/startup.S: ... this.
40246 * conf/powerpc-ieee1275.rmk: Adjust for the above.
40247 * DISTLIST: Likewise.
40248
b497a269 40249 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
40250 grub/cpu/kernel.h. Add start label for consistency with other
40251 platforms. Add grub_prefix immediately after start. Add jump
40252 to the code after grub_prefix.
40253 * include/grub/powerpc/kernel.h: Provide valid values for
40254 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
40255
6e5a42fe 402562008-08-29 Bean <bean123ch@gmail.com>
40257
40258 * configure.ac: Change host_os to cygwin for mingw.
40259 (asprintf): New check for function.
40260
40261 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
40262 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
40263
40264 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 40265 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 40266 sync, sleep and grub_util_get_disk_size for mingw.
40267
40268 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
40269 to get size in mingw.
40270 (open_device): Use flag O_BINARY if it's defined.
40271 (find_root_device): Add dummy code for mingw.
40272
40273 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
40274 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
40275 (get_scsi_disk_name): Return 0 for mingw.
40276
40277 * util/hostfs.c: #include <grub/util/misc.h>.
40278 (grub_hostfs_open): Use "rb" flag to open file, use
40279 grub_util_get_disk_size to get disk size for mingw.
40280
40281 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
40282 (asprintf): New function if HAVE_ASPRINTF is not set.
40283 (sync): New function for mingw.
40284 (sleep): Likewise.
40285 (grub_util_get_disk_size): Likewise.
40286
ab3f2673 402872008-08-28 Pavel Roskin <proski@gnu.org>
40288
40289 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40290 kern/time.c.
40291
1c282483 402922008-08-28 Robert Millan <rmh@aybabtu.com>
40293
40294 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
40295
678e849c 402962008-08-28 Robert Millan <rmh@aybabtu.com>
40297
40298 Change find_grub_drive() syntax so it doesn't prevent it from
40299 detecting NULL names as errors.
40300
40301 * util/biosdisk.c (find_grub_drive): Move free slot search code
40302 from here ...
40303 (find_free_slot): ... to here.
40304 (read_device_map): Use find_free_slot() to search for free slots.
40305
965c75ca 403062008-08-27 Marco Gerards <marco@gnu.org>
40307
40308 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
40309 (scsi_mod_SOURCES): New variable.
40310 (scsi_mod_CFLAGS): Likewise
40311 (scsi_mod_LDFLAGS): Likewise.
40312
40313 * disk/scsi.c: New file.
40314
40315 * include/grub/scsi.h: Likewise.
40316
40317 * include/grub/scsicmd.h: Likewise.
40318
40319 * disk/ata.c: Include <grub/scsi.h>.
40320 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
40321 instead.
40322 (grub_ata_iterate): Skip ATAPI devices.
40323 (grub_ata_open): Only handle ATAPI devices.
40324 (struct grub_atapi_read): Removed.
40325 (grub_atapi_readsector): Likewise.
40326 (grub_ata_read): No longer handle ATAPI devices.
40327 (grub_ata_write): Likewise.
40328 (grub_atapi_iterate): New function.
40329 (grub_atapi_read): Likewise.
40330 (grub_atapi_write): Likewise.
40331 (grub_atapi_open): Likewise.
40332 (grub_atapi_close): Likewise.
40333 (grub_atapi_dev): New variable.
40334 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
40335 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
40336
40337 * include/grub/disk.h (enum grub_disk_dev_id): Add
40338 `GRUB_DISK_DEVICE_SCSI_ID'.
40339
c07ae501 403402008-08-26 Robert Millan <rmh@aybabtu.com>
40341
40342 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
40343 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
40344 descriptive.
40345
5ed20adc 403462008-08-23 Bean <bean123ch@gmail.com>
40347
40348 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
40349 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40350 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
40351 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
40352 dm_nv.mod.
40353 (raid5rec_mod_SOURCES): New macro.
40354 (raid5rec_mod_CFLAGS): Likewise.
40355 (raid5rec_mod_LDFLAGS): Likewise.
40356 (raid6rec_mod_SOURCES): Likewise.
40357 (raid6rec_mod_CFLAGS): Likewise.
40358 (raid6rec_mod_LDFLAGS): Likewise.
40359 (mdraid_mod_SOURCES): Likewise.
40360 (mdraid_mod_CFLAGS): Likewise.
40361 (mdraid_mod_LDFLAGS): Likewise.
40362 (dm_nv_mod_SOURCES): Likewise.
40363 (dm_nv_mod_CFLAGS): Likewise.
40364 (dm_nv_mod_LDFLAGS): Likewise.
40365
40366 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
40367 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40368 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40369
40370 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
40371 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40372
40373 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40374
40375 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40376
40377 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40378
40379 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40380
40381 * disk/raid5_recover.c: New file.
40382
40383 * disk/raid6_recover.c: Likewise.
40384
40385 * disk/mdraid_linux.c: Likewise.
40386
40387 * disk/dmraid_nvidia.c: Likewise.
40388
40389 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
40390 ULONG_MAX.
40391
40392 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
40393 calculate the size of raid device.
40394 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
40395 different layout of raid5.
40396 (grub_raid_scan_device): Remove code specific to mdraid.
40397 (grub_raid_list): New variable.
40398 (free_array): New function.
40399 (grub_raid_register): Likewise.
40400 (grub_raid_unregister): Likewise.
40401 (grub_raid_rescan): Likewise.
40402 (GRUB_MOD_INIT): Don't iterate device here.
40403 (GRUB_MOD_FINI): Use free_array to release resource.
40404
40405 * include/grub/raid.h: Remove macro and structure specific to mdraid.
40406 (grub_raid5_recover_func_t): New function variable type.
40407 (grub_raid6_recover_func_t): Likewise.
40408 (grub_raid5_recover_func): New variable.
40409 (grub_raid6_recover_func): Likewise.
40410 (grub_raid_register): New function.
40411 (grub_raid_unregister): Likewise.
40412 (grub_raid_rescan): Likewise.
40413 (grub_raid_block_xor): Likewise.
40414
40415 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
40416 (CMD_CRC): New macro.
40417 (part): Removed.
40418 (read_file): Handle device as well as file.
40419 (cmd_crc): New function.
40420 (fstest): Handle multiple disks.
40421 (options): Remove part, raw and long, add root and diskcount.
40422 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 40423 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 40424 add handling for the new options, support multiple disks.
40425
40426 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
40427
29c18915 404282008-08-23 Bean <bean123ch@gmail.com>
40429
40430 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
40431
40432 * genfslist.sh: Ignore kernel.mod.
40433
40434 * genpartmaplist.sh: Likewise.
40435
8415f261 404362008-08-23 Robert Millan <rmh@aybabtu.com>
40437
40438 * util/getroot.c (find_root_device): Skip anything that starts with
40439 a dot, not just directories. This avoids things like /dev/.tmp.md0.
40440
d5a7dc5b 404412008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 40442
d5a7dc5b 40443 * util/update-grub.in (GRUB_GFXMODE): Export variable.
40444 * util/grub.d/00_header.in: Allow the administrator to change default
40445 gfxmode via ${GRUB_GFXMODE}.
40446
380cfbb4 404472008-08-21 Felix Zielcke <fzielcke@z-51.de>
40448
40449 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
40450
c9baafe7 404512008-08-21 Robert Millan <rmh@aybabtu.com>
40452
40453 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
40454 loader.
40455 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
40456 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
40457
e290bef2 404582008-08-20 Carles Pina i Estany <carles@pina.cat>
40459
40460 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
40461 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
40462
f9dbfc96 404632008-08-19 Robert Millan <rmh@aybabtu.com>
40464
40465 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
40466 (struct grub_virtual_screen): Remove `cursor_color'.
40467 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
40468 initialization.
40469 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
40470
dd6bd6ab 404712008-08-18 Robert Millan <rmh@aybabtu.com>
40472
40473 Unify (identical) linux_normal.c files.
40474 * loader/i386/efi/linux_normal.c: Move from here ...
40475 * loader/linux_normal.c: ... to here. Update all users.
40476 * loader/i386/pc/linux_normal.c: Delete. Update all users.
40477 * loader/i386/ieee1275/linux_normal.c: Likewise.
40478
7f42f83e 404792008-08-18 Robert Millan <rmh@aybabtu.com>
40480
40481 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
40482 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
40483 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
40484 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
40485 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
40486 New macros.
40487 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
40488 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
40489 (GRUB_LINUX_CL_END_OFFSET): ... to here.
40490 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
40491 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
40492 (GRUB_EFI_CL_END_OFFSET): Rename to ...
40493 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
40494 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
40495 Initialize `params->video_cursor_x' and `params->video_cursor_y'
40496 portably using grub_getxy().
40497 Replace `-EFI' with `-bzImage' in boot message.
40498
38487ddb 404992008-08-17 Robert Millan <rmh@aybabtu.com>
40500
40501 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
40502
deceb3ec 405032008-08-17 Robert Millan <rmh@aybabtu.com>
40504
40505 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
40506
40507 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
40508 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
40509 (grub_machine_mmap_iterate): New function declaration.
40510 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
40511 structure.
40512 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
40513 macros.
40514
40515 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
40516 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
40517 Move e820 parsing from here ...
40518 * kern/i386/pc/mmap.c: New file.
40519 (grub_machine_mmap_iterate): ... to here.
40520
40521 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
40522 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
40523 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
40524 (grub_available_iterate): Redeclare to return `void', and redeclare
40525 its hook to use grub_uint64_t as addr and size parameters, and rename
40526 to ...
40527 (grub_machine_mmap_iterate): ... this. Update all users.
40528
40529 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
40530 to make it more readable. Rename to ...
40531 (grub_machine_mmap_iterate): ... this.
40532
40533 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
40534 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
40535 (grub_multiboot): Allocate an extra region after the payload, and fill
40536 it with a Multiboot memory map. Adjust a.out loader to calculate size
40537 with the extra space.
40538 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
40539 with the extra space.
40540
f8aa0f43 405412008-08-17 Carles Pina i Estany <carles@pina.cat>
40542
9807deb9 40543 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 40544
605f5bb6 405452008-08-17 Felix Zielcke <fzielcke@z-51.de>
40546
40547 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
40548 mdate-sh to the list `find' searches for.
40549 * DISTLIST: Regenerated.
40550
210db6c6 405512008-08-16 Felix Zielcke <fzielcke@z-51.de>
40552
40553 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
40554 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 40555 genmoddep.awk, gensymlist.sh.in.
40556 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 40557 * DISTLIST: Regenerated.
48cdbfd4 40558 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 40559
1082b929 405602008-08-16 Robert Millan <rmh@aybabtu.com>
40561
40562 * disk/raid.c (grub_raid_init): Handle/report errors set by
40563 grub_device_iterate().
40564 * disk/lvm.c (grub_lvm_init): Likewise.
40565
42ce5170 405662008-08-15 Bean <bean123ch@gmail.com>
40567
40568 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40569 and datehook.mod.
40570 (datetime_mod_SOURCES): New macro.
40571 (datetime_mod_CFLAGS): Likewise.
40572 (datetime_mod_LDFLAGS): Likewise.
40573 (date_mod_SOURCES): Likewise.
40574 (date_mod_CFLAGS): Likewise.
40575 (date_mod_LDFLAGS): Likewise.
40576 (datehook_mod_SOURCES): Likewise.
40577 (datehook_mod_CFLAGS): Likewise.
40578 (datehook_mod_LDFLAGS): Likewise.
40579
40580 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40581 and datehook.mod.
40582 (datetime_mod_SOURCES): New macro.
40583 (datetime_mod_CFLAGS): Likewise.
40584 (datetime_mod_LDFLAGS): Likewise.
40585 (date_mod_SOURCES): Likewise.
40586 (date_mod_CFLAGS): Likewise.
40587 (date_mod_LDFLAGS): Likewise.
40588 (datehook_mod_SOURCES): Likewise.
40589 (datehook_mod_CFLAGS): Likewise.
40590 (datehook_mod_LDFLAGS): Likewise.
40591
40592 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40593 and datehook.mod.
40594 (datetime_mod_SOURCES): New macro.
40595 (datetime_mod_CFLAGS): Likewise.
40596 (datetime_mod_LDFLAGS): Likewise.
40597 (date_mod_SOURCES): Likewise.
40598 (date_mod_CFLAGS): Likewise.
40599 (date_mod_LDFLAGS): Likewise.
40600 (datehook_mod_SOURCES): Likewise.
40601 (datehook_mod_CFLAGS): Likewise.
40602 (datehook_mod_LDFLAGS): Likewise.
40603
40604 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40605 and datehook.mod.
40606 (datetime_mod_SOURCES): New macro.
40607 (datetime_mod_CFLAGS): Likewise.
40608 (datetime_mod_LDFLAGS): Likewise.
40609 (date_mod_SOURCES): Likewise.
40610 (date_mod_CFLAGS): Likewise.
40611 (date_mod_LDFLAGS): Likewise.
40612 (datehook_mod_SOURCES): Likewise.
40613 (datehook_mod_CFLAGS): Likewise.
40614 (datehook_mod_LDFLAGS): Likewise.
40615
40616 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40617 and datehook.mod.
40618 (datetime_mod_SOURCES): New macro.
40619 (datetime_mod_CFLAGS): Likewise.
40620 (datetime_mod_LDFLAGS): Likewise.
40621 (date_mod_SOURCES): Likewise.
40622 (date_mod_CFLAGS): Likewise.
40623 (date_mod_LDFLAGS): Likewise.
40624 (datehook_mod_SOURCES): Likewise.
40625 (datehook_mod_CFLAGS): Likewise.
40626 (datehook_mod_LDFLAGS): Likewise.
40627
40628 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
40629
40630 * commands/date.c: New file.
40631
40632 * hook/datehook.c: Likewise.
40633
40634 * include/grub/lib/datetime.h: Likewise.
40635
40636 * include/grub/i386/cmos.h: Likewise.
40637
40638 * lib/datetime.c: Likewise.
40639
40640 * lib/i386/datetime.c: Likewise.
40641
40642 * lib/efi/datetime.c: Likewise.
40643
0e9242da 406442008-08-14 Robert Millan <rmh@aybabtu.com>
40645
40646 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
40647 (grub_mkelfimage_SOURCES): New variable.
40648 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
40649
40650 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
40651 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
40652 * conf/powerpc-ieee1275.rmk: Likewise.
40653 * conf/i386-ieee1275.rmk: Likewise.
40654
40655 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
40656 * kern/i386/coreboot/init.c: Likewise.
40657
40658 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
40659 with `<grub/cpu/kernel.h>'.
40660 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
40661 to ...
40662 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
40663 * kern/i386/coreboot/startup.S: Likewise.
40664
40665 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
40666 (GRUB_MOD_GAP): Remove.
40667 * include/grub/powerpc/kernel.h: New file.
40668 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
40669 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40670 * include/grub/i386/kernel.h: New file.
40671 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
40672 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
40673 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40674
40675 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
40676 `grub-mkelfimage'.
40677 Use --directory when invoking grub_mkimage.
40678
40679 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
40680 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
40681 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
40682 and GRUB_KERNEL_CPU_PREFIX.
40683
b86408f8 406842008-08-14 Felix Zielcke <fzielcke@z-51.de>
40685
d5e619ca 40686 * include/grub/err.h (grub_err_printf): New function prototype.
40687 * util/misc.c (grub_err_printf): New function.
40688 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
40689 grub_printf.
40690 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 40691
7161f0e0 406922008-08-13 Robert Millan <rmh@aybabtu.com>
40693
40694 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
40695
a1967522 406962008-08-13 Robert Millan <rmh@aybabtu.com>
40697
40698 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
40699 boot entry.
40700
371458b5 407012008-08-12 Robert Millan <rmh@aybabtu.com>
40702
40703 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
40704 of the relocation code from here ...
40705 (grub_multiboot): ... to here.
40706 (forward_relocator, backward_relocator): Move from here ...
40707 * kern/i386/loader.S (grub_multiboot_forward_relocator)
40708 (grub_multiboot_backward_relocator): ... to here.
40709 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
40710 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
40711 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
40712 (grub_multiboot_forward_relocator_end)
40713 (grub_multiboot_backward_relocator)
40714 (grub_multiboot_backward_relocator_end): New variables.
40715
05f9452b 407162008-08-12 Bean <bean123ch@gmail.com>
40717
40718 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
40719
20024ab0 407202008-08-11 Robert Millan <rmh@aybabtu.com>
40721
40722 * kern/i386/linuxbios/startup.S: Move from here ...
40723 * kern/i386/coreboot/startup.S: ... to here.
40724
40725 * kern/i386/linuxbios/init.c: Move from here ...
40726 * kern/i386/coreboot/init.c: ... to here.
40727
40728 * kern/i386/linuxbios/table.c: Move from here ...
40729 * kern/i386/coreboot/mmap.c: ... to here.
40730
40731 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
40732
e352e9cd 407332008-08-11 Robert Millan <rmh@aybabtu.com>
40734
40735 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
40736 errors. Leave it to the upper layer to handle them.
40737
2d05bc6a 407382008-08-09 Christian Franke <franke@computer.org>
40739
40740 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
40741 * conf/common.rmk: Install `grub-pe2elf' only if requested.
40742 Install `grub.d/10_windows' only on Cygwin.
40743 * configure.ac: Add subst of `target_os'.
40744 Check `target_os' also before setting TARGET_OBJ2ELF.
40745 Add `--enable-grub-pe2elf'.
40746
042bd419 407472008-08-08 Robert Millan <rmh@aybabtu.com>
40748
40749 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40750 (grub_last_time): Change type to grub_uint64_t.
40751 (grub_disk_open): Migrate code from to using grub_get_time_ms().
40752 (grub_disk_close): Likewise.
40753
40754 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40755 (run_menu): Migrate code from to using grub_get_time_ms().
40756
40757 * util/misc.c (grub_get_time_ms): New function.
40758
7f280db5 407592008-08-08 Marco Gerards <marco@gnu.org>
40760
40761 * disk/ata.c (grub_ata_regget): Change return type to
40762 `grub_uint8_t'.
40763 (grub_ata_regget2): Likewise.
40764 (grub_ata_wait_status): New function.
40765 (grub_ata_wait_busy): Removed function, updated all users to use
40766 `grub_ata_wait_status'.
40767 (grub_ata_wait_drq): Likewise.
40768 (grub_ata_cmd): New function.
40769 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
40770 error handling.
40771 (grub_ata_pio_write): Add error handling.
40772 (grub_atapi_identify): Likewise.
40773 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
40774 handling.
40775 (grub_ata_identify): Use `grub_ata_cmd' and improve error
40776 handling. Actually use the detected registers. Reorder the
40777 detection logic such that it is easier to read.
40778 (grub_ata_pciinit): Do not assign the same ID to each controller.
40779 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
40780 handling.
40781 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
40782
40783 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
40784
1fbc5e66 407852008-08-08 Marco Gerards <marco@gnu.org>
40786
40787 * NEWS: Update.
40788
819ce6c0 407892008-08-07 Bean <bean123ch@gmail.com>
40790
40791 * include/grub/x86_64/pci.h: New file.
40792
5c41d44d 407932008-08-07 Christian Franke <franke@computer.org>
40794
40795 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
40796 (TIMER2_GATE): Likewise.
40797 (grub_pit_wait): Add enable/disable of the timer2 gate
40798 bit of port 0x61. This fixes a possible infinite loop.
40799
5ebc275d 408002008-08-07 Bean <bean123ch@gmail.com>
40801
40802 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
40803 kern/i386/tsc.c and kern/i386/pit.c.
40804
40805 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
40806 x86_64 platform.
40807
40808 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
40809 <grub/i386/tsc.h>.
40810
40811 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
40812
e383b3d0 408132008-08-07 Bean <bean123ch@gmail.com>
40814
40815 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
40816
40817 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
40818
40819 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
40820 multiple inclusion. Add #include <grub/types.h>.
40821
1cbb58ac 408222008-08-06 Christian Franke <franke@computer.org>
40823
40824 * conf/common.rmk: Build and install `10_windows'.
40825 * util/grub.d/10_windows.in: New script.
40826
337f5a1e 408272008-08-06 Pavel Roskin <proski@gnu.org>
40828
40829 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
40830
057bc4ac 408312008-08-06 Robert Millan <rmh@aybabtu.com>
40832
40833 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
40834 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
40835
2b99f123 408362008-08-06 Bean <bean123ch@gmail.com>
40837
40838 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
40839 (grub_pxefs_fs_int): Remove dummy definition.
40840 (grub_pxefs_open): Use data->block_size to store the current block
40841 size setting.
40842 (grub_pxefs_read): Use block size stored in data->block_size. As the
40843 value of grub_pxe_blksize can be changed after the file is opened.
40844
9f0234cb 408452008-08-06 Bean <bean123ch@gmail.com>
40846
40847 * fs/i386/pc/pxe.c (curr_file): new variable.
40848 (grub_pxefs_open): Simply the handling of pxe file system. Don't
40849 require the dummy internal file system anymore.
40850 (grub_pxefs_read): Removed.
40851 (grub_pxefs_close): Likewise.
40852 (grub_pxefs_fs_int): Likewise.
40853 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
40854 connection when we switch file.
40855 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
40856
a55d42e0 408572008-08-06 Robert Millan <rmh@aybabtu.com>
40858
40859 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
40860 `halt.mod'.
40861 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
40862 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
40863
40864 * kern/i386/halt.c: New file.
40865 * kern/i386/reboot.c: Likewise.
40866 * include/grub/i386/reboot.h: Likewise.
40867 * include/grub/i386/halt.h: Likewise.
40868
40869 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
40870 Include `<grub/cpu/halt.h>'.
40871 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
40872 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
40873
40874 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
40875 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
40876 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
40877 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
40878 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
40879 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
40880 from here ...
40881 * include/grub/i386/at_keyboard.h: ... to here.
40882
24371d26 408832008-08-05 Robert Millan <rmh@aybabtu.com>
40884
40885 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
40886 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
40887 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
40888 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
40889 `kern/generic/millisleep.c'.
40890
40891 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
40892 instead of grub_get_rtc().
40893 (grub_tsc_init): Initialize `tsc_boot_time'.
40894
40895 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
40896 (grub_machine_init): Use grub_tsc_init() rather than
40897 installing an RTC-based handler via grub_install_get_time_ms().
40898
40899 * kern/i386/pit.c: New file.
40900 * include/grub/i386/pit.h: Likewise.
40901
9e7007b3 409022008-08-05 Bean <bean123ch@gmail.com>
40903
40904 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
40905
40906 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
40907 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
40908 (pxe_mod_SOURCES): New macro.
40909 (pxe_mod_CFLAGS): Likewise.
40910 (pxe_mod_LDFLAGS): Likewise.
40911 (pxecmd_mod_SOURCES): Likewise.
40912 (pxecmd_mod_CFLAGS): Likewise.
40913 (pxecmd_mod_LDFLAGS): Likewise.
40914
40915 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
40916 (grub_pxe_call): Likewise.
40917
40918 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
40919
40920 * commands/i386/pc/pxecmd.c: New file.
40921
9f0234cb 40922 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 40923
40924 * include/grub/i386/pc/pxe.h: Likewise.
40925
6977d49f 409262008-08-05 Bean <bean123ch@gmail.com>
40927
40928 * util/console.c (grub_console_cur_color): New variable.
40929 (grub_console_standard_color): Likewise.
40930 (grub_console_normal_color): Likewise.
40931 (grub_console_highlight_color): Likewise.
40932 (color_map): Likewise.
40933 (use_color): Likewise.
40934 (NUM_COLORS): New macro.
40935 (grub_ncurses_setcolorstate): Handle color properly.
40936 (grub_ncurses_setcolor): Don't change color here, just remember the
40937 settings, color will be set in grub_ncurses_setcolorstate.
40938 (grub_ncurses_getcolor): New function.
40939 (grub_ncurses_init): Initialize color pairs.
40940 (grub_ncurses_term): New member grub_ncurses_getcolor.
40941
9c2ff3ee 409422008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 40943
9c2ff3ee 40944 High resolution timer support. Implemented for x86 CPUs using TSC.
40945 Extracted generic grub_millisleep() so it's linked in only as needed.
40946 This requires a Pentium compatible CPU; if the RDTSC instruction is
40947 not supported, then it falls back on the generic grub_get_time_ms()
40948 implementation that uses the machine's RTC.
40949
40950 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
40951 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
40952 `kern/generic/millisleep.c'.
40953
40954 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
40955 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
40956
40957 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
40958 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
40959
40960 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40961
40962 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40963 `kern/generic/millisleep.c'.
40964
40965 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40966
40967 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
40968
40969 * kern/generic/rtc_get_time_ms.c: New file.
40970
40971 * kern/generic/millisleep.c: New file.
337f5a1e 40972
9c2ff3ee 40973 * kern/misc.c: Don't include
40974 <kern/time.h> anymore.
40975 (grub_millisleep_generic): Removed.
40976
40977 * commands/sleep.c (grub_interruptible_millisleep): Uses
40978 grub_get_time_ms() instead of grub_get_rtc().
40979
40980 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
40981 function.
40982 (grub_cpu_is_cpuid_supported): New inline function.
40983 (grub_cpu_is_tsc_supported): New inline function.
40984 (grub_tsc_init): New function prototype.
40985 (grub_tsc_get_time_ms): New function prototype.
40986
40987 * kern/i386/tsc.c (grub_get_time_ms): New file.
40988
40989 * include/grub/time.h: Include <grub/types.h.
40990 (grub_millisleep_generic): Removed.
40991 (grub_get_time_ms): New prototype.
40992 (grub_install_get_time_ms): New prototype.
40993 (grub_rtc_get_time_ms): New prototype.
40994
40995 * kern/time.c (grub_get_time_ms): New function.
40996 (grub_install_get_time_ms): New function.
40997
40998 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
40999 <grub/time.h> anymore.
41000 (grub_millisleep): Removed.
41001 (grub_machine_init): Call grub_tsc_init.
41002
41003 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
41004 get_time_ms() implementation.
41005
41006 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
41007 (ieee1275_get_time_ms): New function.
41008 (grub_machine_init): Install get_time_ms() implementation.
41009
41010 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
41011 (grub_machine_init): Call grub_tsc_init().
41012 (grub_millisleep): Removed.
bf06a93f 41013
9c2ff3ee 41014 * kern/ieee1275/init.c (grub_millisleep): Removed.
41015 (grub_machine_init): Install ieee1275_get_time_ms()
41016 implementation.
41017 (ieee1275_get_time_ms): New function.
41018 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
41019 real work.
41020
9ec92aaf 410212008-08-05 Marco Gerards <marco@gnu.org>
41022
41023 * disk/ata.c: Include <grub/pci.h>.
41024 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
41025 (grub_ata_initialize): Rewritten.
41026 (grub_ata_device_initialize): New function.
41027
8d23f507 410282008-08-04 Pavel Roskin <proski@gnu.org>
41029
41030 * kern/main.c: Include grub/mm.h.
41031
5e15ee3d 410322008-08-04 Robert Millan <rmh@aybabtu.com>
41033
41034 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
41035 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
41036 corruption problem).
41037
a9053f8f 410382008-08-04 Robert Millan <rmh@aybabtu.com>
41039
41040 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
41041 warnings introduced in my last commit.
41042
dd19c7d7 410432008-08-03 Robert Millan <rmh@aybabtu.com>
41044
41045 Make PCI available on all i386 architectures.
41046
41047 * include/grub/i386/pc/pci.h: Move from here ...
41048 * include/grub/i386/pci.h: ... to here.
41049
41050 * include/grub/i386/pc/pci.h: Remove.
41051 * include/grub/i386/efi/pci.h: Remove.
41052 * include/grub/x86_64/efi/pci.h: Remove.
41053
41054 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
41055 `<grub/cpu/pci.h>'.
41056
41057 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
41058 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
41059 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
41060
41061 * conf/i386-ieee1275.rmk: Likewise.
41062
e14a6184 410632008-08-03 Robert Millan <rmh@aybabtu.com>
41064
41065 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
41066 (grub_console_setcursor): Make it possible to set cursor off.
41067
52768e37 410682008-08-03 Robert Millan <rmh@aybabtu.com>
41069
41070 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
41071 of modules instead of assuming which platform provides what.
41072 * util/update-grub.in: Likewise.
41073
2d52f57f 410742008-08-03 Robert Millan <rmh@aybabtu.com>
41075
41076 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
41077 instead of `grub_install_dos_part' to determine whether a drive needs
41078 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 41079 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 41080
2a5cd121 410812008-08-02 Robert Millan <rmh@aybabtu.com>
41082
41083 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
41084
93808428 410852008-08-02 Robert Millan <rmh@aybabtu.com>
41086
41087 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
41088 of informational grub_dprintf() calls.
41089
3bd0a12a 410902008-08-02 Robert Millan <rmh@aybabtu.com>
41091
41092 * disk/memdisk.c (memdisk_size): Don't initialize.
41093 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
41094
41095 * include/grub/i386/pc/kernel.h
41096 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
41097 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
41098 (grub_memdisk_image_size, grub_arch_memdisk_addr)
41099 (grub_arch_memdisk_size): Remove.
41100
41101 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
41102 field (was only used to transfer a constant). Add `type' field to
41103 support multiple module types.
41104 (grub_module_iterate): New function.
41105
41106 * kern/device.c (grub_device_open): Do not hide error messages
41107 when grub_disk_open() fails. Use grub_print_error() instead.
41108
41109 * kern/i386/pc/init.c (grub_arch_modules_addr)
41110 (grub_arch_memdisk_size): Remove functions.
41111 (grub_arch_modules_addr): Return the module address in high memory
41112 (now that it isn't copied anymore).
41113
41114 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
41115 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
41116 decompression routine (grub_total_module_size already includes that
41117 now). Don't copy modules back to low memory.
41118
41119 * kern/main.c: Include `<grub/mm.h>'.
41120 (grub_load_modules): Split out (and use) ...
41121 (grub_module_iterate): ... this function, which iterates through
41122 module objects and runs a hook.
41123 Comment out grub_mm_init_region() call, as it would cause non-ELF
41124 modules to be overwritten.
41125
41126 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
41127 the memdisk image in its own region, make it part of the module list.
41128 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
41129 (main): Parse --memdisk|-m option, and pass user-provided path as
41130 parameter to generate_image().
41131 (add_segments): Pass `memdisk_path' down to load_modules().
41132 (load_modules): Embed memdisk image in module section when requested.
41133 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
41134 `header.type' instead of `header.offset'.
41135
41136 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
41137 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
41138 (memdisk_mod_LDFLAGS): New variables.
41139 * conf/i386-coreboot.rmk: Likewise.
41140 * conf/i386-ieee1275.rmk: Likewise.
41141
a927cc73 411422008-08-02 Robert Millan <rmh@aybabtu.com>
41143
41144 * loader/i386/pc/multiboot.c (playground, forward_relocator)
41145 (backward_relocator): New variables. Used to allocate and relocate
41146 the payload, respectively.
41147 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 41148 address, install the appropriate relocator code in each bound of
a927cc73 41149 the payload, and set the entry point such that
41150 grub_multiboot_real_boot() will jump to one of them.
41151
41152 * kern/i386/loader.S (grub_multiboot_payload_size)
41153 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41154 (grub_multiboot_payload_entry_offset): New variables.
41155 (grub_multiboot_real_boot): Set cpu context to what the relocator
41156 expects, and jump to the relocator instead of the payload.
41157
41158 * include/grub/i386/loader.h (grub_multiboot_payload_size)
41159 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41160 (grub_multiboot_payload_entry_offset): Export.
41161
b15d8a0c 411622008-08-01 Bean <bean123ch@gmail.com>
41163
41164 * normal/menu_entry.c (editor_getline): Don't return the original
41165 string as result, as it will be released by lexer once it has done
41166 using it.
41167
cdfb3d22 411682008-08-01 Robert Millan <rmh@aybabtu.com>
41169
41170 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
41171 within menuentries, not before them.
41172 util/grub.d/10_hurd.in: Likewise.
41173
9175e93d 411742008-08-01 Bean <bean123ch@gmail.com>
41175
41176 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
41177 (bufio_mod_SOURCES): New macro.
41178 (bufio_mod_CFLAGS): Likewise.
41179 (bufio_mod_LDFLAGS): Likewise.
41180
41181 * include/grub/bufio.h: New file.
41182
41183 * io/bufio.c: Likewise.
41184
41185 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
41186 (grub_video_reader_png): Use grub_buffile_open to open file.
41187
41188 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
41189 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
41190
41191 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
41192 (grub_video_reader_tga): Use grub_buffile_open to open file.
41193
41194 * font/manager.c: Include <grub/bufio.h>.
41195 (add_font): Use grub_buffile_open to open file.
41196
3d8383e7 411972008-07-31 Robert Millan <rmh@aybabtu.com>
41198
41199 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
41200 ELF segments, use a macro for arbitrarily accessing any of them instead
41201 of preparing a pointer that allows access to one at a time.
41202 (grub_multiboot_load_elf64): Likewise.
41203
16e641b6 412042008-07-31 Bean <bean123ch@gmail.com>
41205
41206 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
41207 GRUB_KERNEL_MACHINE_DATA_END.
41208
59198b72 412092008-07-30 Robert Millan <rmh@aybabtu.com>
41210
41211 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
41212 Increase from 0x50 to 0x60.
41213 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
41214 use UUIDs to identify the root drive for them. If that's not
41215 possible, abort.
41216 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
41217 check, for cross-disk installs.
41218
ae88bca3 412192008-07-30 Robert Millan <rmh@aybabtu.com>
41220
41221 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
41222 is non-empty, use it to set the `prefix' environment variable instead
41223 of the usual approach.
41224 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
41225 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
41226 environment variable instead of dummy make_install_device().
41227
41228 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
41229 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 41230 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 41231
41232 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
41233 New variable reference.
41234 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
41235 New macro. Defines offset of `grub_prefix' within startup.S (relative
41236 to `start').
41237 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
41238 section within startup.S (relative to `start').
41239 * include/grub/i386/coreboot/kernel.h: Likewise.
41240
41241 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
41242 Overwrite grub_prefix with its contents, at the beginning of the
41243 first segment.
41244 (main): Understand -p|--prefix.
41245
14f41dd1 412462008-07-30 Robert Millan <rmh@aybabtu.com>
41247
41248 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
41249
4ca049a3 412502008-07-30 Robert Millan <rmh@aybabtu.com>
41251
41252 * term/i386/pc/vga_text.c (grub_console_cls): Use
41253 grub_console_gotoxy() to go back to beginning of the screen.
41254 Found by Patrick Georgi <patrick.georgi@coresystems.de>
41255
2921d337 412562008-07-29 Christian Franke <franke@computer.org>
41257
41258 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41259 Add conversion of emulated mount points on Cygwin.
41260
b609876d 412612008-07-29 Christian Franke <franke@computer.org>
41262
41263 * util/update-grub.in: Add a check for admin
41264 group on Cygwin.
41265 Remove old `grub.cfg.new' before creation.
41266 Add `-f' to `mv' to handle the different filesystem
41267 semantics of Windows.
41268
e93e4679 412692008-07-29 Bean <bean123ch@gmail.com>
41270
41271 * normal/main.c (get_line): Fix buffer overflow bug.
41272
41694fd0 412732008-07-28 Robert Millan <rmh@aybabtu.com>
41274
41275 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
41276 (struct grub_apple_header): New struct. Describes the layout of
41277 the partmap header.
41278 (apple_partition_map_iterate): Check the header magic as well as the
41279 partition magic (which was already being checked).
41280
cfd0b4e6 412812008-07-28 Pavel Roskin <proski@gnu.org>
41282
41283 * genmk.rb: Add a warning to the beginning of the output that
41284 it's a generated file and should not be edited.
41285
93cce016 412862008-07-28 Robert Millan <rmh@aybabtu.com>
41287
41288 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
41289 with the same number are found, just use issue a warning with
41290 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 41291
cd1df915 412922008-07-27 Robert Millan <rmh@aybabtu.com>
41293
41294 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
41295 information.
41296
b70a8427 412972008-07-27 Bean <bean123ch@gmail.com>
41298
41299 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
41300 (grub_fat_find_dir): Ignore case when comparing filename.
41301
8f5e379f 413022008-07-27 Bean <bean123ch@gmail.com>
41303
41304 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
41305 smallino, as it's more descriptive, and i8count can be confused with
41306 the other field count.
41307 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
41308 inode type.
41309
a85cd5a0 413102008-07-27 Bean <bean123ch@gmail.com>
41311
41312 * commands/crc.c: New file.
41313
41314 * lib/crc.c: Likewise.
41315
41316 * include/grub/lib/crc.h: Likewise.
41317
41318 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
41319
41320 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
41321 (hexdump): Move this function to ...
41322
41323 * lib/hexdump.c: ... here.
41324
41325 * include/grub/hexdump.h: Renamed to ...
41326
41327 * include/grub/lib/hexdump.h: ... this.
41328
41329 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
41330
41331 * util/grub-editenv.c: Likewise.
41332
41333 * include/envblk.h: Renamed to ...
41334
41335 * include/lib/envblk.h: ... this.
41336
41337 * util/envblk.c: Renamed to ...
41338
41339 * lib/envblk.c: ... this.
41340
41341 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
41342 lib/hexdump.c.
41343 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
41344 (pkglib_MODULES): Add crc.mod.
41345 (hexdump_mod_SOURCES): Add lib/hexdump.c.
41346 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
41347 (crc_mod_SOURCES): New macro.
41348 (crc_mod_CFLAGS): Likewise.
41349 (crc_mod_LDFLAGS): Likewise.
41350
41351 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
41352
41353 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41354
41355 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41356
41357 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41358
41359 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41360
c298def0 413612008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 41362
41363 * commands/help.c: Include <grub/term.h>.
41364 (TERM_WIDTH): Removed. Updated all users.
41365
cc349fb3 413662008-07-27 Pavel Roskin <proski@gnu.org>
41367
41368 * util/getroot.c (find_root_device): Rephrase a comment to avoid
41369 spurious warnings about a comment within a comment.
41370
9051607e 413712008-07-25 Robert Millan <rmh@aybabtu.com>
41372
41373 * util/getroot.c (find_root_device): Skip devices that match
41374 /dev/dm-[0-9]. This lets the real device be found for any type of
41375 abstraction (LVM, EVMS, RAID..).
41376 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
41377 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
41378 device is found first, find_root_device() will now skip it.
41379
01453bfc 413802008-07-24 Pavel Roskin <proski@gnu.org>
41381
41382 * include/grub/types.h: Use __builtin_bswap32() and
41383 __builtin_bswap64() with gcc 4.3 and newer.
41384
6af9849f 413852008-07-24 Christian Franke <franke@computer.org>
41386
3a0fa256 41387 * util/i386/pc/grub-install.in: If `--debug' is specified,
41388 pass `--verbose' to grub-setup.
41389 Abort script if make_system_path_relative_to_its_root() fails.
41390
7810e747 413912008-07-24 Bean <bean123ch@gmail.com>
41392
41393 * configure.ac: Fixed a bug caused by the previous cygwin patch,
41394 variable `target_platform' should be `platform'.
41395
42290e17 413962008-07-24 Bean <bean123ch@gmail.com>
41397
51cc5193 41398 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 41399 (grub_png_init_fixed_block): New function.
41400 (grub_png_decode_image_data): Handle fixed huffman code compression.
41401
2a8a80e4 414022008-07-24 Bean <bean123ch@gmail.com>
41403
41404 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
41405 (grub_pe2elf_SOURCES): New macro.
41406 (CLEANFILES): Add grub-pe2elf.
41407
41408 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
41409 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
41410 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
41411 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
41412 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
41413 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
41414 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
41415 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
41416 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
41417 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
41418 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
41419 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
41420 (GRUB_PE32_DT_FUNCTION): Likewise.
41421 (GRUB_PE32_REL_I386_DIR32): Likewise.
41422 (GRUB_PE32_REL_I386_REL32): Likewise.
41423 (grub_pe32_symbol): New structure.
41424 (grub_pe32_reloc): Likewise.
41425
41426 * util/grub-pe2elf.c: New file.
41427
41428 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
41429 start symbol in non pc platform.
41430
41431 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
41432
41433 The following patches are from Christian Franke.
41434
41435 * include/grub/dl.h: Remove .previous, gas supports this only
41436 for ELF format.
41437
41438 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
41439 Remove .type, gas supports this only for ELF format.
41440
41441 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
41442 nullbytes in symbol table. This fixes an infinite loop if table is
41443 zero filled.
41444
41445 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
41446 TARGET_IMG_LDFLAGS and EXEEXT.
41447
41448 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
41449 TARGET_IMG_LDFLAGS_AC.
41450 (grub_CHECK_STACK_ARG_PROBE): New function.
41451
41452 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
41453
41454 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
41455
41456 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
41457 to set TARGET_IMG_LD* accordingly.
41458 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
41459 Add call to grub_CHECK_STACK_ARG_PROBE.
41460 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
41461
41462 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
41463
41464 * genmk.rb: Add EXEEXT to CLEANFILES.
41465
12ccdb75 414662008-07-23 Robert Millan <rmh@aybabtu.com>
41467
41468 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
41469 define the codes for arrows and lines used for the menu).
41470 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
41471 as well.
41472
41473 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
41474 fonts, because the latter are too slow.
41475
18eeaf04 414762008-07-21 Bean <bean123ch@gmail.com>
41477
41478 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
41479 a20. Run keyboard test last, as it will cause macbook to halt.
41480
b095e2ad 414812008-07-18 Pavel Roskin <proski@gnu.org>
41482
41483 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
41484 load foreign architecture modules correctly anyway. Keep
41485 support for loading host architecture modules, whether we
41486 compile them or not.
41487
737feb35 414882008-07-17 Pavel Roskin <proski@gnu.org>
41489
3f4ce737 41490 * configure.ac: Use -m32 or -m64 regardless of whether we had to
41491 change target_cpu. The compiler default can mismatch target_cpu
41492 in any case.
41493
4ad2d049 41494 * disk/efi/efidisk.c: Fix format warnings on x86_64.
41495 * kern/efi/efi.c: Likewise.
41496
f6130a12 41497 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
41498 target compiler is functional.
41499 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
41500 are set up.
41501
58393a2d 41502 * configure.ac: Default to efi platform for x86_64-apple. Allow
41503 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
41504 adjustments from the rest, only do them if target is not
41505 explicitly given. Merge other adjustments with the final sanity
41506 check. Remove an extraneous check for supported CPU. Be
41507 specific which CPU and which platform is not supported.
41508
737feb35 41509 * configure.ac: Default to pc platform for x86_64.
41510
546f966a 415112008-07-17 Robert Millan <rmh@aybabtu.com>
41512
41513 Partial LinuxBIOS -> Coreboot rename.
41514
41515 * conf/i386-linuxbios.rmk: Renamed to ...
41516 * conf/i386-coreboot.rmk: ... this.
41517 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
41518 * configure.ac: Accept "coreboot" as input platform (but maintain
41519 compatibility with "linuxbios").
41520 * include/grub/i386/linuxbios: Renamed to ...
41521 * include/grub/i386/coreboot: ... this.
41522
20011694 415232008-07-17 Bean <bean123ch@gmail.com>
41524
41525 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 41526 (appleldr_mod_SOURCE): New variable.
20011694 41527 (appleldr_mod_CFLAGS): Likewise.
41528 (appleldr_mod_LDFLAGS): Likewise.
41529 (pci_mod_SOURCES): Likewise.
41530 (pci_mod_CFLAGS): Likewise.
41531 (pci_mod_LDFLAGS): Likewise.
41532 (lspci_mod_SOURCES): Likewise.
41533 (lspci_mod_CFLAGS): Likewise.
41534 (lspci_mod_LDFLAGS): Likewise.
41535
41536 * conf/x86_64-efi.rmk: New file.
41537
41538 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
41539 macro.
41540 (grub_efidisk_write): Likewise.
41541
41542 * include/efi/api.h (efi_call_0): New macro.
41543 (efi_call_1): Likewise.
41544 (efi_call_2): Likewise.
41545 (efi_call_3): Likewise.
41546 (efi_call_4): Likewise.
41547 (efi_call_5): Likewise.
41548 (efi_call_6): Likewise.
41549
41550 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
41551 grub_rescue_cmd_chainloader.
41552
41553 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
41554 (grub_pe32_optional_header): Change some fields based on i386 or
41555 x86_64 platform.
41556 (GRUB_PE32_PE32_MAGIC): Likewise.
41557
41558 * include/grub/efi/uga_draw.h: New file.
41559
41560 * include/grub/elf.h (STN_ABS): New constant.
41561 (R_X86_64_NONE): Relocation constant for x86_64.
41562 (R_X86_64_64): Likewise.
41563 (R_X86_64_PC32): Likewise.
41564 (R_X86_64_GOT32): Likewise.
41565 (R_X86_64_PLT32): Likewise.
41566 (R_X86_64_COPY): Likewise.
41567 (R_X86_64_GLOB_DAT): Likewise.
41568 (R_X86_64_JUMP_SLOT): Likewise.
41569 (R_X86_64_RELATIVE): Likewise.
41570 (R_X86_64_GOTPCREL): Likewise.
41571 (R_X86_64_32): Likewise.
41572 (R_X86_64_32S): Likewise.
41573 (R_X86_64_16): Likewise.
41574 (R_X86_64_PC16): Likewise.
41575 (R_X86_64_8): Likewise.
41576 (R_X86_64_PC8): Likewise.
41577
41578 * include/grub/i386/efi/pci.h: New file.
41579
41580 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
41581 Change it value based on platform.
41582 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
41583 (GRUB_E820_RAM): Likewise.
41584 (GRUB_E820_RESERVED): Likewise.
41585 (GRUB_E820_ACPI): Likewise.
41586 (GRUB_E820_NVS): Likewise.
41587 (GRUB_E820_EXEC_CODE): Likewise.
41588 (GRUB_E820_MAX_ENTRY): Likewise.
41589 (grub_e820_mmap): New structure.
41590 (linux_kernel_header): Change the efi field according to different
41591 kernel version, also field from linux_kernel_header.
41592
41593 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
41594
41595 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
41596 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
41597 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
41598 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
41599 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
41600 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
41601 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
41602 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
41603 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
41604 (GRUB_PCI_ADDR_IO_MASK): Likewise.
41605
41606 * include/grub/x86_64/efi/kernel.h: New file.
41607
41608 * include/grub/x86_64/efi/loader.h: Likewise.
41609
41610 * include/grub/x86_64/efi/machine.h: Likewise.
41611
41612 * include/grub/x86_64/efi/pci.h: Likewise.
41613
41614 * include/grub/x86_64/efi/time.h: Likewise.
41615
41616 * include/grub/x86_64/linux.h: Likewise.
41617
41618 * include/grub/x86_64/setjmp.h: Likewise.
41619
41620 * include/grub/x86_64/time.h: Likewise.
41621
41622 * include/grub/x86_64/types.h: Likewise.
41623
41624 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
41625 GRUB_TARGET_SIZEOF_VOID_P.
41626
41627 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
41628 (grub_efi_locate_handle): Likewise.
41629 (grub_efi_open_protocol): Likewise.
41630 (grub_efi_set_text_mode): Likewise.
41631 (grub_efi_stall): Likewise.
41632 (grub_exit): Likewise.
41633 (grub_reboot): Likewise.
41634 (grub_halt): Likewise.
41635 (grub_efi_exit_boot_services): Likewise.
41636 (grub_get_rtc): Likewise.
41637
41638 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
41639 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
41640 (grub_efi_allocate_pages): Wrap efi calls.
41641 (grub_efi_free_pages): Wrap efi calls.
41642 (grub_efi_get_memory_map): Wrap efi calls.
41643
41644 * kern/x86_64/dl.c: New file.
41645
41646 * kern/x86_64/efi/callwrap.S: Likewise.
41647
41648 * kern/x86_64/efi/startup.S: Likewise.
41649
41650 * loader/efi/appleloader.c: Likewise.
41651
41652 * loader/efi/chainloader.c (cmdline): New variable.
41653 (grub_chainloader_unload): Wrap efi calls.
41654 (grub_chainloader_boot): Likewise.
41655 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
41656 command line.
41657
41658 * loader/efi/chainloader_normal.c (chainloader_command):
41659 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
41660 command line.
41661
41662 * loader/i386/efi/linux.c (allocate_pages): Change allocation
41663 method.
41664 (grub_e820_add_region): New function.
41665 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
41666 booting.
41667 (grub_find_video_card): New function.
41668 (grub_linux_setup_video): New function.
41669 (grub_rescue_cmd_linux): Probe for video information.
41670
41671 * normal/x86_64/setjmp.S: New file.
41672
41673 * term/efi/console.c (map_char): New function.
41674 (grub_console_putchar): Map unicode char.
41675 (grub_console_checkkey): Wrap efi calls.
41676 (grub_console_getkey): Likewise.
41677 (grub_console_getwh): Likewise.
41678 (grub_console_gotoxy): Likewise.
41679 (grub_console_cls): Likewise.
41680 (grub_console_setcolorstate): Likewise.
41681 (grub_console_setcursor): Likewise.
41682
41683 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
41684
59652a20 416852008-07-16 Pavel Roskin <proski@gnu.org>
41686
ef294055 41687 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
41688 format strings.
41689
59652a20 41690 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
41691 pointer, not an integer. This fixes a warning and prevents
41692 precision loss on 64-bit systems.
41693 (relocate_addresses): Remove unneeded cast.
41694
afc3b5d7 416952008-07-15 Pavel Roskin <proski@gnu.org>
41696
506b2b3e 41697 * kern/i386/ieee1275/init.c: Include grub/cache.h.
41698
62ead89c 41699 * term/ieee1275/ofconsole.c: Disable code unused on i386.
41700
c4cd51d7 41701 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
41702 Fix comparison between signed and unsigned.
41703
0d3d8f28 41704 * include/grub/i386/ieee1275/console.h: Declare
41705 grub_console_init() and grub_console_fini().
41706
8804b286 41707 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
41708 It's empty and unused.
41709
ee01cf35 41710 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
41711 beginning to avoid warnings with some compilers.
41712
afc3b5d7 41713 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
41714 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
41715
e4e8eaa5 417162008-07-14 Pavel Roskin <proski@gnu.org>
41717
407aceb4 41718 * kern/env.c (grub_register_variable_hook): Don't copy empty
41719 string, it leaks memory. Pass "" to grub_env_set(), it should
41720 handle constant strings.
41721
e4e8eaa5 41722 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
41723 * commands/cmp.c (grub_cmd_cmp): Likewise.
41724 * kern/dl.c (grub_dl_flush_cache): Likewise.
41725 (grub_dl_load_core): Likewise.
41726 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
41727 (grub_elf64_load_phdrs): Likewise.
41728
d4e2dad3 417292008-07-13 Pavel Roskin <proski@gnu.org>
41730
41731 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
41732 between signed and unsigned.
41733 (LzmaEnc_Finish): Fix warning about an unused parameter.
41734
aa24b516 417352008-07-13 Bean <bean123ch@gmail.com>
41736
41737 * Makefile.in (enable_lzo): New rule.
41738
41739 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
41740
41741 * configure.ac (ENABLE_LZO): New option --enable-lzo.
41742
41743 * boot/i386/pc/lnxboot.S: #include <config.h>.
41744
41745 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 41746 its value according to the compression algorithm used, lzo or lzma.
aa24b516 41747
41748 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
41749 compression algorithm according to configure macro.
41750
41751 * kern/i386/pc/startup.S (codestart): Likewise.
41752
41753 * kern/i386/pc/lzma_decode.S: New file.
41754
41755 * include/grub/lib/LzFind.h: Likewise.
41756
41757 * include/grub/lib/LzHash.h: Likewise.
41758
41759 * include/grub/lib/LzmaDec.h: Likewise.
41760
41761 * include/grub/lib/LzmaEnc.h: Likewise.
41762
41763 * include/grub/lib/LzmaTypes.h: Likewise.
41764
41765 * lib/LzFind.c: Likewise.
41766
41767 * lib/LzmaDec.c: Likewise.
41768
41769 * lib/LzmaEnc.c: Likewise.
41770
4ae821ac 417712008-07-13 Bean <bean123ch@gmail.com>
41772
41773 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
41774 (grub_ext4_extent_header): New structure.
41775 (grub_ext4_extent): Likewise.
41776 (grub_ext4_extent_idx): Likewise.
41777 (grub_ext4_find_leaf): New function.
41778 (grub_ext2_read_block): Handle extents.
41779
9a745147 417802008-07-12 Robert Millan <rmh@aybabtu.com>
41781
41782 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
41783
d49a4cf6 417842008-07-11 Robert Millan <rmh@aybabtu.com>
41785
41786 * util/grub.d/40_custom.in: New file. Example on how to add custom
41787 entries to /etc/grub.d.
41788 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
41789 40_custom (implicitly, by merging all the grub.d rules).
41790
947414b4 417912008-07-11 Pavel Roskin <proski@gnu.org>
41792
0059cf6f 41793 * commands/read.c (grub_getline): Fix invalid memory access.
41794 Don't add newline to the variable value.
41795
947414b4 41796 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
41797 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
41798 (serial_hw_get_port): Check validity of the port number.
41799 (grub_cmd_serial): Check return value of serial_hw_get_port().
41800
62a02d00 418012008-07-07 Pavel Roskin <proski@gnu.org>
41802
41803 * boot/i386/pc/diskboot.S (notification_string): Replace
41804 "Loading kernel" with just "loading". This is shorter, less
41805 confusing and saves a few bytes for possible future changes.
41806
3e5581b0 418072008-07-05 Pavel Roskin <proski@gnu.org>
41808
ea387a48 41809 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
41810 size for ATAPI devices, they are undefined. Output sector
41811 number in decimal form.
41812
3e5581b0 41813 * disk/ata.c: Use named constants for status bits.
41814
fdecb8fd 418152008-07-04 Pavel Roskin <proski@gnu.org>
41816
bcd35b90 41817 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
41818 grub_addr_t before casting it to the void pointer to fix a
41819 warning. Non-addressable regions are discarded earlier.
41820 (grub_arch_modules_addr): Cast _end to grub_addr_t.
41821 * kern/i386/linuxbios/table.c: Include grub/misc.h.
41822 (check_signature): Don't shadow table_header.
41823 (grub_linuxbios_table_iterate): Cast numeric constants to
41824 grub_linuxbios_table_header_t.
41825 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
41826 grub_stop().
41827
af58ab3d 41828 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
41829 prevent warnings.
41830
1759aa57 41831 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
41832 pointer, which can cause warnings. Support 64-bit addresses.
41833
fdecb8fd 41834 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
41835 of sizeof(long). This fixes PowerPC image generation on x86_64.
41836
8516d2a8 418372008-07-04 Robert Millan <rmh@aybabtu.com>
41838
41839 This fixes a performance issue when pc & gpt partmap iterators
41840 didn't abort iteration even after our hook found what it was
fe987087 41841 looking for (often causing expensive probes of non-existent drives).
8516d2a8 41842
41843 Some callers relied on previous buggy behaviour, since they would
34c44600 41844 raise an error when their own hooks caused early abortion of its
8516d2a8 41845 iteration.
41846
41847 * kern/device.c (grub_device_open): Improve error message.
41848 * disk/lvm.c (grub_lvm_open): Likewise.
41849 * disk/raid.c (grub_raid_open): Likewise.
41850
41851 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
41852 when hook requests it, independently of grub_errno.
41853 (pc_partition_map_probe): Do not fail when find_func() caused
41854 early abortion of pc_partition_map_iterate().
41855
41856 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
41857 when hook requests it, independently of grub_errno.
41858 (gpt_partition_map_probe): Do not fail when find_func() caused
41859 early abortion of gpt_partition_map_iterate().
41860
41861 * kern/partition.c (grub_partition_iterate): Abort parent iteration
41862 when hook requests it, independently of grub_errno. Do not fail when
41863 part_map_iterate_hook() caused early abortion of p->iterate().
41864
41865 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
41866 when grub_partition_iterate() returned with non-zero.
41867
277d0de9 418682008-07-03 Pavel Roskin <proski@gnu.org>
41869
41870 * disk/ata.c (grub_ata_pio_write): Check status before writing,
41871 like we do in grub_ata_pio_read().
41872 (grub_ata_readwrite): Always write individual sectors. Fix the
41873 sector count for the remainder.
41874 (grub_ata_write): Enable writing to ATA devices. Correctly
41875 report error for ATAPI devices.
41876
d4c9b428 418772008-07-02 Pavel Roskin <proski@gnu.org>
41878
e43fc690 41879 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
41880 warning.
41881
f707af42 41882 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
41883 for every read sector, we already increment it for the whole
41884 batch. This fixes reading more than 256 sectors at once.
41885
11e16b15 41886 * util/grub-editenv.c (cmd_info): Cast argument to long
41887 explicitly. ptrdiff_t reduces to int on i386.
41888
cbabfdd4 41889 * util/grub-editenv.c (main): Be specific which parameter is
41890 missing.
41891
b8fbce0a 41892 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
41893 (memdisk): Make memdisk_orig_addr a pointer.
41894
c9c8e606 41895 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
41896 for file offsets, use grub_off_t instead. Fix printf format
41897 warnings.
41898
ca62e598 41899 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
41900 there. Real unexpected warnings should not drown in the noise
41901 about known problems.
41902
ce8d1766 41903 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
41904 grub_disk_addr_t for memory addresses.
41905
00c7a56a 41906 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
41907 explicitly to fix a warning.
41908
08d3ef09 41909 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
41910
cb71ba20 41911 * Makefile.in (MODULE_LDFLAGS): New variable.
41912 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
41913 the linker accepts --build-id=none.
41914 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
41915 MODULE_LDFLAGS.
41916 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
41917
d4c9b428 41918 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
41919 those in Linux XFS code. Provide a way to access 64-bit parent
41920 inode.
41921 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
41922 the end of struct grub_xfs_dir_header.
41923
d4156eee 419242008-07-02 Bean <bean123ch@gmail.com>
41925
41926 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
41927 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
41928 and GRUB_IEEE1275_FLAG_NO_ANSI.
41929
41930 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
41931 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
41932 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
41933
41934 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
41935 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
41936
41937 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
41938 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
41939
41940 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
41941 esc sequence on non ANSI terminal.
41942 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
41943
41944 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
41945 beginning of file.
41946
2270f77b 419472008-07-02 Bean <bean123ch@gmail.com>
41948
41949 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
41950 (grub_editenv_SOURCES): New variable.
41951 (pkglib_MODULES): Add loadenv.mod.
41952 (loadenv_mod_SOURCES): New variable.
41953 (loadenv_mod_CFLAGS): Likewise.
41954 (loadenv_mod_LDFLAGS): Likewise.
41955
41956 * include/grub/envblk.h: New file.
41957
41958 * util/envblk.c: New file.
41959
41960 * util/grub-editenv.c: New file.
41961
41962 * commands/loadenv.c: New file.
41963
0e9e51ec 419642008-07-01 Pavel Roskin <proski@gnu.org>
41965
d89b7634 41966 * include/multiboot2.h (struct multiboot_tag_module): Use char,
41967 not unsigned char. This fixes warnings and is consistent with
41968 other tags.
41969
bf1835b1 41970 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
41971
8222a04b 41972 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
41973
6a42d99d 41974 * term/tparm.c (analyze): Always set *popcount.
41975
10b159d1 41976 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
41977 cast to fix a warning.
41978
b8789f6c 41979 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
41980 cast to suppress a warning.
41981
29d7e38a 41982 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
41983 grub_fshelp_read_file() expects.
41984
f341f669 41985 * fs/fat.c: Fix UUID calculation on big-endian systems. We
41986 write uuid as a 32-bit value in CPU byte order, so declare and
41987 use it as such.
41988
0e9e51ec 41989 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
41990 long if the format specifier expects it.
41991 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
41992 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41993 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
41994 long to fix a warning.
41995 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
41996 grub_dprintf() arguments to fix warnings.
41997
3aefa857 419982008-06-30 Pavel Roskin <proski@gnu.org>
41999
56c7668b 42000 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
42001 install_bsd_part immediately before core.img is embedded or
42002 modified on disk. This fixes core.img verification if core.img
42003 cannot be embedded.
42004
3aefa857 42005 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
42006 core_path to calculate the blocklist.
42007 Patch from Javier Martín <lordhabbit@gmail.com>
42008
5444088d 420092008-06-29 Robert Millan <rmh@aybabtu.com>
42010
42011 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
42012 block to disk block.
42013 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
42014 Patch from Niels Böhm <bitbucket@arcor.de>
42015
674835c8 420162008-06-29 Robert Millan <rmh@aybabtu.com>
42017
42018 * util/update-grub_lib.in (font_path): Search for fonts in
42019 /boot/grub first, which is more likely to be readable (we aren't
42020 deciding where fonts live, just looking for them).
42021
f527dbc8 420222008-06-26 Pavel Roskin <proski@gnu.org>
42023
6c2d8df6 42024 * util/biosdisk.c (read_device_map): Don't leave dead map
42025 entries for devices failing stat() check.
42026
f527dbc8 42027 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
42028 core_path_dev for the core.img path on the target device.
42029
aebe3d13 420302008-06-26 Robert Millan <rmh@aybabtu.com>
42031
42032 * disk/fs_uuid.c: New file.
42033 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
42034 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
42035 (fs_uuid_mod_LDFLAGS): New variables.
42036 * include/grub/disk.h (grub_disk_dev_id): Add
42037 `GRUB_DISK_DEVICE_UUID_ID'.
42038 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
42039 implement iterate().
42040
37aaf354 420412008-06-26 Robert Millan <rmh@aybabtu.com>
42042
42043 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
42044 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
42045 Linux image includes no initrd.
42046
25ff262a 420472008-06-21 Javier Martín <lordhabbit@gmail.com>
42048
42049 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
42050 call to resolve the core image location that effectively appended the
42051 name twice.
42052
76a2bd44 420532008-06-21 Robert Millan <rmh@aybabtu.com>
42054
42055 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
42056 call from here ...
42057
42058 * util/grub.d/10_hurd.in: ... to here ...
42059 * util/grub.d/10_linux.in: ... and here.
42060
650e1c79 420612008-06-19 Robert Millan <rmh@aybabtu.com>
42062
fe987087 42063 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 42064 after it has been set by grub_machine_set_prefix().
42065
6ce63911 420662008-06-19 Robert Millan <rmh@aybabtu.com>
42067
42068 * commands/search.c (search_label, search_fs_uuid, search_file): Print
42069 search result when not saving to variable, not the other way around.
42070 When saving to variable, abort iteration as soon as a match is found.
42071
73940cec 420722008-06-19 Robert Millan <rmh@aybabtu.com>
42073
42074 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
42075 check for partition that provides /boot/grub. Its logic is flawed,
42076 as it prevents prepare_grub_to_access_device() from being called
42077 multiple times.
42078
3c62a39d 420792008-06-19 Robert Millan <rmh@aybabtu.com>
42080
42081 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
42082 "insmod" command directly when abstraction modules are needed,
fe987087 42083 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 42084 since it had already been processed).
42085
47395a42 420862008-06-19 Pavel Roskin <proski@gnu.org>
42087
42088 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
42089 changed. This is needed in case GRUB_LIBDIR changes.
42090 * conf/i386-ieee1275.rmk: Likewise.
42091 * conf/i386-linuxbios.rmk: Likewise.
42092 * conf/i386-pc.rmk: Likewise.
42093 * conf/powerpc-ieee1275.rmk: Likewise.
42094
a145ac2d 420952008-06-18 Pavel Roskin <proski@gnu.org>
42096
42097 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
42098 kernel_elf_symlist.c to symlist.c for consistency with other
42099 architectures. Update all users.
42100 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42101
7847c51e 421022008-06-18 Robert Millan <rmh@aybabtu.com>
42103
42104 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
42105 it in prefix.
42106
42107 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
42108 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
42109 a RAID device, run setup() for all members independently on whether
42110 LVM abstraction is being used.
42111 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
42112 If grub-mkimage has set `*install_dos_part == -2', don't override this
42113 value.
42114 Perform *install_dos_part adjustments independently on whether
42115 we're embedding or not.
42116 Clarify error message when image is too big for embedding.
42117 Remove duplicate *install_dos_part stanza.
42118
b23e5644 421192008-06-17 Robert Millan <rmh@aybabtu.com>
42120
42121 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
42122 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
42123 variables.
42124 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
42125 values in grub_ofconsole_normal_color and
42126 grub_ofconsole_highlight_color (they're not directly related to
42127 background and foreground).
42128 (grub_ofconsole_setcolorstate): Extract background and foreground
42129 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
42130
0aac2f79 421312008-06-17 Robert Millan <rmh@aybabtu.com>
42132
42133 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
42134 /boot/grub for the check in last commit, not /boot (they could be
42135 different partitions).
42136
3cca7ef3 421372008-06-16 Robert Millan <rmh@aybabtu.com>
42138
42139 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
42140 asked to setup access for the same partition that provides /boot,
42141 don't bother using UUIDs since our root already has the value we
42142 want.
42143
347396d8 421442008-06-16 Robert Millan <rmh@aybabtu.com>
42145
42146 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
42147 I2O devices.
42148 Patch from Sven Mueller <sven@debian.org>.
42149
991477f8 421502008-06-16 Robert Millan <rmh@aybabtu.com>
42151
42152 * util/update-grub.in: Check for $EUID instead of $UID.
42153 Reported by Vincent Zweije.
42154
d31a32a1 421552008-06-16 Bean <bean123ch@gmail.com>
42156
fe987087 42157 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 42158 (grub_ext2_read_block): Likewise.
42159 (grub_ext2_read_inode): Likewise.
42160 (grub_ext2_mount): Likewise.
42161 (grub_ext2_close): Likewise.
42162 (grub_ext3_get_journal): Removed.
42163
fe987087 42164 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 42165 (grub_reiserfs_read_symlink): Likewise.
42166 (grub_reiserfs_mount): Likewise.
42167 (grub_reiserfs_open): Likewise.
42168 (grub_reiserfs_read): Likewise.
42169 (grub_reiserfs_close): Likewise.
42170 (grub_reiserfs_get_journal): Removed.
42171
42172 * fs/fshelp.c (grub_fshelp_read): Removed.
42173 (grub_fshelp_map_block): Likewise.
42174
42175 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
42176 (grub_fshelp_journal): Likewise.
42177 (grub_fshelp_read): Likewise.
42178 (grub_fshelp_map_block): Likewise.
42179
3540a760 421802008-06-16 Pavel Roskin <proski@gnu.org>
42181
42182 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
42183 floating point anymore.
42184 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
42185
95614c84 421862008-06-15 Pavel Roskin <proski@gnu.org>
42187
42188 * commands/ls.c (grub_ls_list_files): Use integer calculations
42189 for human readable format, avoid floating point use.
42190 * kern/misc.c (grub_ftoa): Remove.
42191 (grub_vsprintf): Remove floating point support.
42192
50465dd6 421932008-06-15 Robert Millan <rmh@aybabtu.com>
42194
fe6b695a 42195 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 42196 devices.
42197 Reported by Max Vozeler.
42198
a9207284 421992008-06-15 Robert Millan <rmh@aybabtu.com>
42200
42201 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
42202 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
42203 skipped later.
42204 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
42205 the beginning of the prefix.
42206
42207 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
42208 It is assumed that if we have a memdisk, grub-mkimage has set
42209 grub_prefix to include the "(memdisk)" drive in it.
42210
a7cbd45a 422112008-06-15 Robert Millan <rmh@aybabtu.com>
42212
42213 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
42214 Initialize keyboard controller after registering the terminal, so that
42215 grub_printf() can be called from grub_keyboard_controller_init().
42216
21cf716a 422172008-06-15 Robert Millan <rmh@aybabtu.com>
42218
42219 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
42220 extent-btree which is written as big endian on disk.
42221 Reported by Alain Greppin <al@chilibi.org>.
42222
23a64d8e 422232008-06-14 Robert Millan <rmh@aybabtu.com>
42224
42225 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
42226 * util/i386/pc/grub-install.in (modules): Likewise.
42227
d687651c 422282008-06-13 Pavel Roskin <proski@gnu.org>
42229
42230 * commands/ls.c (grub_ls_list_files): Fix format warnings.
42231
dfe9ddd4 422322008-06-13 Bean <bean123ch@gmail.com>
42233
42234 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
42235
42236 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
42237
42238 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
42239 to indicate sparse block.
42240
16ae7781 422412008-06-12 Pavel Roskin <proski@gnu.org>
42242
e6d1a308 42243 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
42244 number, grub_fshelp_read() does it for us.
42245
16ae7781 42246 * fs/fshelp.c (grub_fshelp_read): New function. Implement
42247 linear disk read with journal translation.
42248 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
42249 * include/grub/fshelp.h: Declare grub_fshelp_read().
42250
40fd3a2b 422512008-06-09 Pavel Roskin <proski@gnu.org>
42252
42253 * fs/minix.c (grub_minix_mount): Handle error reading
42254 superblock.
42255
f5679726 422562008-06-08 Robert Millan <rmh@aybabtu.com>
42257
42258 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
42259 don't append the RAID prefix afterwards.
42260 Reported by Clint Adams.
42261
ce525529 422622008-06-08 Robert Millan <rmh@aybabtu.com>
42263
42264 Based on description from Pavel:
42265 * kern/disk.c (grub_disk_check_range): Rename to ...
42266 (grub_disk_adjust_range): ... this. Add a comment explaining the
42267 tasks performed by this function.
42268
ad4936a0 422692008-06-08 Robert Millan <rmh@aybabtu.com>
42270
42271 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
42272 `num_serial' (for consistency with other variables).
42273 (struct grub_ntfs_data): Add `uuid' member.
42274 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
42275 (grub_ntfs_uuid): New function.
42276 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
42277
dc20b0f9 422782008-06-07 Pavel Roskin <proski@gnu.org>
42279
42280 * util/biosdisk.c (open_device): Revert last change to the
42281 function, it broke installation. The sector needs to be
42282 different dependent on which device is opened.
42283
c5e3cfba 422842008-06-06 Robert Millan <rmh@aybabtu.com>
42285
42286 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
42287 rest of GRUB, and breakage doesn't happen if its value were modified.
42288
42289 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42290 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
42291 a constant (same value).
42292 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
42293 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
42294
26a1f8c4 422952008-06-06 Robert Millan <rmh@aybabtu.com>
42296
42297 * util/biosdisk.c (open_device): Do not modify sector offset when
42298 accessing a partition. kern/disk.c already handles this for us.
42299
25d6b327 423002008-06-06 Robert Millan <rmh@aybabtu.com>
42301
42302 * util/grub-emu.c (grub_machine_init): Move code in this function from
42303 here ...
42304 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
42305 segfault in case grub_printf() is called).
42306
42307 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
42308 grub_probe. Update all users not to explicitly add it again.
42309 (grub_device): New variable; contains corresponding device for grubdir.
42310 (fs_module, partmap_module, devabstraction_module): Pass
42311 `--device ${grub_device}' to grub_probe to avoid traversing /dev
42312 every time.
42313
9ece62fb 423142008-06-05 Robert Millan <rmh@aybabtu.com>
42315
42316 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
42317 is found, print it (same layout as with labels).
42318
1ad36d37 423192008-06-04 Robert Millan <rmh@aybabtu.com>
42320
42321 * util/biosdisk.c (get_drive): Rename to ...
42322 (find_grub_drive): ... this. Update all users.
42323
42324 (get_os_disk): Rename to ...
42325 (convert_system_partition_to_system_disk): ... this. Update all users.
42326
42327 (find_drive): Rename to ...
42328 (find_system_device): ... this. Update all users.
42329
e6a30859 423302008-06-04 Robert Millan <rmh@aybabtu.com>
42331
42332 * util/biosdisk.c (get_os_disk): Handle IDA devices.
42333 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42334 (make_device_map): Likewise.
42335
00c108a4 423362008-06-01 Robert Millan <rmh@aybabtu.com>
42337
42338 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
42339 before dereferencing it.
42340
42341 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
42342 union with fat12/fat16-specific ones. Add some new fields, including
42343 `num_serial' for both versions.
42344 (struct grub_fat_data): Add `uuid' member.
42345 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
42346 names. Initialize `data->uuid' using `num_serial'.
42347 (grub_fat_uuid): New function.
42348 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
42349
42350 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
42351 (grub_reiserfs_uuid): New function.
42352 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
42353 member.
42354
42355 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
42356 (grub_xfs_uuid): New function.
42357 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
42358
1385c5bb 423592008-06-01 Robert Millan <rmh@aybabtu.com>
42360
42361 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
42362 code that is backward compatible with pre-uuid search command.
42363
c682dfd7 423642008-05-31 Robert Millan <rmh@aybabtu.com>
42365
42366 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
42367 floppies after everything else, to ensure floppy drive isn't accessed
42368 unnecessarily (patch from Bean).
42369
b7db5d47 423702008-05-31 Robert Millan <rmh@aybabtu.com>
42371
42372 * commands/search.c (search_label, search_fs_uuid, search_file): Do
42373 not print device names when we were asked to set a variable.
42374
6e037aa9 423752008-05-31 Robert Millan <rmh@aybabtu.com>
42376
42377 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
42378 using "cursor-on" and "cursor-off" commands (understood at least by
42379 the Open Firmware flavour on OLPC).
42380
41305bc8 423812008-05-31 Michael Gorven <michael@gorven.za.net>
42382
42383 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
42384 on and off sequences.
42385
69ba137e 423862008-05-31 Robert Millan <rmh@aybabtu.com>
42387
42388 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
42389 * util/update-grub.in: Likewise.
42390
520ae21b 423912008-05-30 Pavel Roskin <proski@gnu.org>
42392
42393 * util/biosdisk.c (linux_find_partition): Simplify logic and
42394 make the code more universal. Keep special processing for
42395 devfs, but use a simple rule for all other devices. If the
42396 device ends with a number, append 'p' and the partition number.
42397 Otherwise, append only the partition number.
42398
5786569b 423992008-05-30 Robert Millan <rmh@aybabtu.com>
42400
42401 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
42402 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
42403 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
42404 the `root' parameter to Linux.
42405
51500452 424062008-05-30 Robert Millan <rmh@aybabtu.com>
42407
42408 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
42409 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
42410 --fs_uuid with --fs-uuid.
42411 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
42412 all filesystems support them).
42413
811d3878 424142008-05-30 Robert Millan <rmh@aybabtu.com>
42415
42416 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 42417 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 42418
cab63c95 424192008-05-30 Robert Millan <rmh@aybabtu.com>
42420
42421 * util/grub.d/00_header.in: Remove obsolete comment referencing
42422 convert_system_path_to_grub_path().
42423 * util/update-grub.in: Likewise.
42424 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
42425 (convert_system_path_to_grub_path): Add a warning message explaining
42426 that this function is deprecated. Rely on is_path_readable_by_grub()
42427 for the readability checks.
42428 (font_path): Use is_path_readable_by_grub() for the readability
42429 check rather than convert_system_path_to_grub_path().
42430
972e2f7a 424312008-05-30 Robert Millan <rmh@aybabtu.com>
42432
42433 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
42434 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
42435 converting it first.
42436 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
42437 grub.cfg for access to font file, and afterwards call it again to set
42438 the root device.
42439
62191274 424402008-05-30 Robert Millan <rmh@aybabtu.com>
42441
42442 * commands/search.c (options): Add --fs_uuid option.
42443 (search_fs_uuid): New function.
42444 (grub_cmd_search): Fix --set argument passing.
42445 Use search_fs_uuid() when requested via --fs_uuid.
42446 (grub_search_init): Update help message.
42447 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
42448 and redeclare it as an array of 16-bit words.
42449 (grub_ext2_uuid): New function.
42450 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
42451 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
42452 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
42453 (GRUB_DEVICE_BOOT_UUID): New variables.
42454 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
42455 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
42456 whenever possible.
42457 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
42458 just assume `root' variable has the right value.
42459 * util/grub.d/10_linux.in: Likewise.
42460 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
42461 via PRINT_FS_UUID.
42462 (main): Recognise `-t fs_uuid' argument.
42463
01b73ec8 424642008-05-30 Robert Millan <rmh@aybabtu.com>
42465
42466 * util/biosdisk.c (map): Redefine structure to hold information
42467 about GRUB drive name.
fe6b695a 42468 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 42469 drive names.
42470 (call_hook): Remove.
42471 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
42472 member. Assume drive has partitions.
42473 (grub_util_biosdisk_open): Access device names via `.device' struct
42474 member.
42475 (open_device): Likewise.
42476 (find_drive): Likewise.
42477 (read_device_map): Adjust map[] usage to match the new struct
42478 definition. Don't check for duplicates (still possible, but not cheap
42479 anymore).
42480 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
42481 (make_device_name): Remove assumption of BIOS-like drive names.
42482
22f16596 424832008-05-30 Pavel Roskin <proski@gnu.org>
42484
42485 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
42486 compiling execute.c doesn't need grub_script.tab.h anymore.
42487 (normal/command.c_DEPENDENCIES): Likewise.
42488 (normal/function.c_DEPENDENCIES): Likewise.
42489 * conf/i386-ieee1275.rmk: Likewise.
42490 * conf/i386-linuxbios.rmk: Likewise.
42491 * conf/i386-pc.rmk: Likewise.
42492 * conf/powerpc-ieee1275.rmk: Likewise.
42493 * conf/sparc64-ieee1275.rmk: Likewise.
42494
528ad8f2 424952008-05-29 Pavel Roskin <proski@gnu.org>
42496
d1dff95d 42497 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
42498 when scanning metadata for volume group name.
42499
528ad8f2 42500 * include/grub/script.h: Don't include grub_script.tab.h. It's
42501 a generated file, which may only be included from the files with
42502 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
42503 use union YYSTYPE, as the later allows forward declaration.
42504 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
42505
47248e08 425062008-05-29 Robert Millan <rmh@aybabtu.com>
42507
42508 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
42509 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
42510 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
42511 (grub_console_checkkey): Add grub_dprintf() call to report unknown
42512 scan codes.
42513
ee632529 425142008-05-29 Robert Millan <rmh@aybabtu.com>
42515
42516 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
42517 control key combinations.
42518
eee96e08 425192008-05-29 Robert Millan <rmh@aybabtu.com>
42520
42521 * util/powerpc/ieee1275/grub-install.in: Move from here ...
42522 * util/ieee1275/grub-install.in: ... to here.
42523 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
42524 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
42525 (grub_install_SOURCES): Likewise.
42526
da9a6a94 425272008-05-29 Robert Millan <rmh@aybabtu.com>
42528
42529 * fs/affs.c: Update copyright year.
42530 * fs/ext2.c: Likewise.
42531 * fs/fshelp.c: Likewise.
42532 * fs/hfsplus.c: Likewise.
42533 * fs/ntfs.c: Likewise.
42534 * fs/xfs.c: Likewise.
42535 * include/grub/fshelp.h: Likewise.
42536 * util/grub-mkdevicemap.c: Likewise.
42537
12e65f3a 425382008-05-28 Robert Millan <rmh@aybabtu.com>
42539
42540 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
42541 might need to be fatfs to support some firmware implementations
42542 (e.g. OFW or EFI).
42543
23023641 425442008-05-28 Robert Millan <rmh@aybabtu.com>
42545
42546 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
42547 devices.
42548 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42549 (make_device_map): Likewise.
42550
887d2619 425512008-05-20 Bean <bean123ch@gmail.com>
42552
42553 * fs/fshelp.c (grub_fshelp_map_block): New function.
42554 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
42555 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
42556
42557 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
42558 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
42559 (grub_fshelp_journal): New structure.
42560 (grub_fshelp_map_block): New function prototype.
42561 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
42562 (grub_fshelp_map_block): Likewise.
42563
42564 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
42565 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
42566 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
42567 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
42568 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
42569 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
42570 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
42571 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
42572 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
42573 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
42574 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
42575 (grub_ext2_sblock): New members for journal support.
42576 (grub_ext3_journal_header): New structure.
42577 (grub_ext3_journal_revoke_header): Likewise.
42578 (grub_ext3_journal_block_tag): Likewise.
42579 (grub_ext3_journal_sblock): Likewise.
42580 (grub_fshelp_node): New members logfile and journal.
42581 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
42582 grub_fshelp_map_block to get real block number.
42583 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
42584 number.
42585 (grub_ext2_read_inode): Likewise.
42586 (grub_ext3_get_journal): New function.
42587 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
42588 (grub_ext2_close): Release memory used by journal.
42589
42590 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
42591 (REISERFS_MAGIC_DESC_BLOCK): New macro.
42592 (grub_reiserfs_transaction_header): Renamed to
42593 grub_reiserfs_description_block, replace field data with real_blocks.
42594 (grub_reiserfs_commit_block): New structure.
42595 (grub_reiserfs_data): New member journal.
42596 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
42597 number.
42598 (grub_reiserfs_read_symlink): Likewise.
42599 (grub_reiserfs_iterate_dir): Likewise.
42600 (grub_reiserfs_open): Likewise.
42601 (grub_reiserfs_read): Likewise.
42602 (grub_reiserfs_get_journal): New function.
42603 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
42604 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
42605 using grub_reiserfs_get_journal.
42606 (grub_reiserfs_close): Release memory used by journal.
42607
42608 * fs/affs.c (grub_affs_read_block): Change block type to
42609 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
42610
42611 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
42612
42613 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
42614
42615 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
42616
42617 * fs/udf.c (grub_udf_read_block): Change block type to
42618 grub_disk_addr_t. Use type cast to avoid warning.
42619
42620 * fs/xfs.c (grub_xfs_read_block): Likewise.
42621
b7c6bed5 426222008-05-16 Christian Franke <franke@computer.org>
42623
42624 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
42625 to ensure that break with ESC will always work.
42626 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
42627 Remove ESC from keyboard queue.
42628
eedf167f 426292008-05-16 Christian Franke <franke@computer.org>
42630
42631 * util/biosdisk.c: [__CYGWIN__] Add includes.
42632 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
42633 (get_os_disk): Move variable declarations to OS specific
42634 parts to avoid warning.
42635 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
42636 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
42637 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
42638 Cygwin.
42639 * util/getroot.c: [__CYGWIN__] Add includes.
42640 (strip_extra_slashes): Fix "/" case.
42641 [__CYGWIN__] (get_win32_path): New function.
42642 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
42643 [__CYGWIN__] (find_root_device): Disable.
42644 [__CYGWIN__] (get_bootsec_serial): New function.
42645 [__CYGWIN__] (find_cygwin_root_device): Likewise.
42646 [__linux__] (grub_guess_root_device): Add early returns to simplify
42647 structure.
42648 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
42649 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
42650 check for Linux only.
42651
a079699e 426522008-05-15 Bean <bean123ch@gmail.com>
42653
42654 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
42655 keyboard hang problem in apple's intel mac.
42656
1cf4059a 426572008-05-09 Robert Millan <rmh@aybabtu.com>
42658
42659 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
42660 devices.
42661 * util/grub-mkdevicemap.c (get_virtio_disk_name)
42662 (make_device_map): Likewise.
42663 Reported by Aurelien Jarno <aurel32@debian.org>
42664
ed759390 426652008-05-07 Ian Campbell <ijc@hellion.org.uk>
42666
42667 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
42668 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
42669 (make_device_map): Output entries for xvd type disks.
42670
b56c4eaa 426712008-05-07 Robert Millan <rmh@aybabtu.com>
42672
42673 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
42674 devices.
42675 * util/grub-mkdevicemap.c (get_cciss_disk_name)
42676 (make_device_map): Likewise.
42677 Reported by Roland Dreier <rdreier@cisco.com>
42678
7f8866ed 426792008-05-07 Robert Millan <rmh@aybabtu.com>
42680
42681 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
42682 grub_strstr() call. Correct a few mistakes in failure path handling.
42683
b0346e0f 426842008-05-06 Robert Millan <rmh@aybabtu.com>
42685
42686 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42687 Do not print a trailing slash (therefore, the root directory is an
42688 empty string).
42689 (convert_system_path_to_grub_path): Do not remove trailing slash
42690 from make_system_path_relative_to_its_root() output.
42691
42692 * util/i386/pc/grub-install.in: Add trailing slash to output from
42693 make_system_path_relative_to_its_root().
42694
6cf12cbd 426952008-05-06 Robert Millan <rmh@aybabtu.com>
42696
42697 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
42698 ensures that output lines aren't intermangled with those sent to
42699 stderr (via grub_util_info()).
42700 * util/grub-probe.c (grub_refresh): Likewise.
42701 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
42702
0fbb3117 427032008-05-05 Christian Franke <franke@computer.org>
42704
42705 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
42706 Add Cygwin device names.
42707 (get_ide_disk_name) [__CYGWIN__]: Likewise.
42708 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
42709 (check_device): Return error instead of success on empty name.
42710 (make_device_map): Move label inside linux specific code to
42711 prevent compiler warning.
42712
8124cdb7 427132008-04-30 Robert Millan <rmh@aybabtu.com>
42714
42715 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
42716 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
42717 first boot option.
42718 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
42719
094c01d0 427202008-04-29 Robert Millan <rmh@aybabtu.com>
42721
42722 * docs/grub.cfg: New file (example GRUB configuration).
42723
f4b1fc02 427242008-04-26 Robert Millan <rmh@aybabtu.com>
42725
329ce2a5 42726 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
42727 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
42728 and `disk/ieee1275/nand.c'.
f4b1fc02 42729
25f16ec1 427302008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 42731
25f16ec1 42732 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
42733 i386-linuxbios.
42734
42735 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
42736 change the buffer size to 4096 for cdrom device.
42737
42738 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
42739 and nand.mod.
42740 (_linux_mod_SOURCES): New variable.
42741 (_linux_mod_CFLAGS): Likewise.
42742 (_linux_mod_LDFLAGS): Likewise.
42743 (linux_mod_SOURCES): Likewise.
42744 (linux_mod_CFLAGS): Likewise.
42745 (linux_mod_LDFLAGS): Likewise.
42746 (nand_mod_SOURCES): Likewise.
42747 (nand_mod_CFLAGS): Likewise.
42748 (nand_mod_LDFLAGS): Likewise.
42749
42750 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
42751 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
42752 type property. (nand device in olpc don't have this property)
42753
42754 * include/grub/disk.h (grub_disk_dev_id): New macro
42755 GRUB_DISK_DEVICE_NAND_ID.
42756
42757 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
42758 function prototype.
42759 (grub_rescue_cmd_initrd): Likewise.
42760
42761 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
42762 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
42763 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 42764
25f16ec1 42765 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
42766 GRUB_MACHINE_IEEE1275 is defined.
42767
42768 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
42769 Use NESTED_FUNC_ATTR attribute on the hook parameter.
42770
42771 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
42772 on nested function heap_init.
42773 (grub_upper_mem): New variable for i386-ieee1275.
42774 (grub_get_extended_memory): New function for i386-ieee1275.
42775 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
42776
42777 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
42778 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
42779 property.
f19dbdb7 42780
25f16ec1 42781 * loader/i386/ieee1275/linux.c: New file.
42782
42783 * loader/i386/ieee1275/linux_normal.c: New file.
42784
42785 * disk/ieee1275/nand.c: New file.
42786
e89d61e9 427872008-04-18 Thomas Schwinge <tschwinge@gnu.org>
42788
42789 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
42790 value.
42791 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
42792
602566f6 427932008-04-18 Robert Millan <rmh@aybabtu.com>
42794
42795 Restructures early code path on ieee1275 to unify grub_main() as
42796 the first C function that is executed in every platform.
42797
42798 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
42799 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
42800 cmain().
42801 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
42802 * kern/ieee1275/cmain.c (cmain): Rename to ...
42803 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
42804 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
42805 at the beginning.
42806
57490c2b 428072008-04-18 Robert Millan <rmh@aybabtu.com>
42808
42809 * util/update-grub.in: Fix syntax error when setting
42810 `GRUB_PRELOAD_MODULES'.
42811 Reported by Stephane Chazelas <stephane@artesyncp.com>
42812
1977517d 428132008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
42814
42815 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
42816 section into account, newer toolchains generate unique build ids
42817 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 42818 we want build ids to be preserved
1977517d 42819 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
42820 far from other sections don't cause the raw binary images grow
42821 size
42822
bfb1f1a2 428232008-04-15 Robert Millan <rmh@aybabtu.com>
42824
42825 * disk/lvm.c: Update copyright year.
42826 * kern/misc.c: Likewise.
42827
01979850 428282008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42829
42830 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 42831 there is no memory left for physical volume name.
01979850 42832
0a1150e2 428332008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42834
42835 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
42836 volume name mapping to support bigger than 9 character names properly.
42837
82ead3fe 428382008-04-13 Robert Millan <rmh@aybabtu.com>
42839
42840 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
42841 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
42842
e54a72f5 428432008-04-13 Christian Franke <franke@computer.org>
42844
42845 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
42846 to create a floppy emulation boot CD when non emulation mode
42847 does not work.
42848 Enable Joliet CD filesystem extension.
42849
9fe86034 428502008-04-13 Robert Millan <rmh@aybabtu.com>
42851
42852 * kern/misc.c (grub_strncat): Fix off-by-one error.
42853 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
42854
42855 * kern/env.c (grub_env_context_close): Clear current context, not
42856 previous one.
42857 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
42858
42859 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
42860
7ceeee39 428612008-04-13 Robert Millan <rmh@aybabtu.com>
42862
42863 Improve robustness when handling LVM.
42864
42865 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 42866 (and leave `*p' unmodified).
7ceeee39 42867 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
42868 through it.
42869 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
42870 iterating through it.
42871 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
42872 through it.
fe6b695a 42873 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 42874 when due) on each grub_lvm_getvalue() or grub_strstr() call.
42875 Don't assume `vg->pvs != NULL' when iterating through it.
42876
58cd3d85 428772008-04-13 Robert Millan <rmh@aybabtu.com>
42878
42879 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
42880 * genmk.rb (partmap): New variable.
42881 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
42882 (#{partmap}): New target rule.
42883 * genpartmaplist.sh: New file.
42884 * Makefile.in (pkglib_DATA): Add partmap.lst.
42885 (partmap.lst): New target rule.
42886 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
42887 modules (including all partition maps), instead of preloading them.
42888
78b51059 428892007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
42890
42891 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
42892 `linux-boot-prober' (if installed) to detect other operating
42893 systems which are installed on the computer and add them to
42894 the boot menu.
42895 * conf/common.rmk: Build and install 30_os-prober.
42896
a91627b4 428972008-04-12 Robert Millan <rmh@aybabtu.com>
42898
42899 * kern/powerpc/ieee1275/init.c: Move from here ...
42900 * kern/ieee1275/init.c: ... to here. Update all users.
42901
42902 * kern/powerpc/ieee1275/cmain.c: Move from here ...
42903 * kern/ieee1275/cmain.c: ... to here. Update all users.
42904
42905 * kern/powerpc/ieee1275/openfw.c: Move from here ...
42906 * kern/ieee1275/openfw.c: ... to here. Update all users.
42907
42908 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
42909 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
42910
322562ea 429112008-04-10 Pavel Roskin <proski@gnu.org>
42912
42913 * configure.ac: Always use "_cv_" in cache variables for
42914 compatibility with Autoconf 2.62.
42915
a02a73c5 429162008-04-07 Robert Millan <rmh@aybabtu.com>
42917
42918 Revert grub/machine/init.h addition by Pavel (since it breaks on
42919 i386-ieee1275 and others):
42920 * util/i386/pc/misc.c: Remove grub/machine/init.h.
42921 * util/powerpc/ieee1275/misc.c: Likewise.
42922
25c024b1 429232008-04-07 Robert Millan <rmh@aybabtu.com>
42924
42925 * util/grub-probe.c (probe): Improve error message.
42926
3cbd2f98 429272008-04-07 Robert Millan <rmh@aybabtu.com>
42928
42929 * util/biosdisk.c (read_device_map): Skip devices that don't exist
42930 (this prevents the presence of a bogus entry from ruining the whole
42931 thing).
42932
87a297bf 429332008-04-06 Pavel Roskin <proski@gnu.org>
42934
36747a62 42935 * util/biosdisk.c: Include grub/util/biosdisk.h.
42936 * util/grub-fstest.c (execute_command): Make static.
42937 * util/grub-mkdevicemap.c (check_device): Likewise.
42938 * util/i386/pc/misc.c: Include grub/machine/init.h.
42939 * util/powerpc/ieee1275/misc.c: Likewise.
42940 * util/lvm.c: Include grub/util/lvm.h.
42941 * util/misc.c: Include grub/kernel.h, grub/misc.h and
42942 grub/cache.h.
42943 * util/raid.c: Include grub/util/raid.h.
42944 (grub_util_getdiskname): Make static.
42945
87a297bf 42946 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
42947 grub_hostfs_fini(), as they are called from grub_init_all() and
42948 grub_fini_all() respectively. This fixes an infinite loop in
42949 grub-fstest due to double registration of hostfs.
42950 Reported by Christian Franke <Christian.Franke@t-online.de>
42951
f6ce7629 429522008-04-05 Pavel Roskin <proski@gnu.org>
42953
42954 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
42955 all 8 functions. Otherwise, probe function 0 only.
42956
070e49e4 429572008-04-04 Pavel Roskin <proski@gnu.org>
42958
8b088a4c 42959 * commands/lspci.c (grub_lspci_iter): Print the bus number
42960 correctly.
42961
4f657021 42962 * commands/lspci.c (grub_pci_classes): Fix typos.
42963 (grub_lspci_iter): Don't print func twice. Print vendor ID
42964 before device ID, as it's normally done.
42965
070e49e4 42966 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
42967 Fix signedness warnings.
42968 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
42969 Likewise.
42970 * util/ieee1275/get_disk_name.c: Include config.h so that
42971 _GNU_SOURCE is defined and getline() is declared. Mark an
42972 unused argument as such. Fix a signedness warning.
42973
ba7328dc 429742008-04-02 Pavel Roskin <proski@gnu.org>
42975
26887f22 42976 * genkernsyms.sh.in: Use more robust assignments for CC and
42977 srcdir. Quote srcdir.
42978 * gensymlist.sh.in: Likewise. Assert at the compile time that
42979 the symbol table is not empty.
42980
ba7328dc 42981 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
42982 * fs/cpio.c (grub_cpio_read): Likewise.
42983
0f582c6b 429842008-04-01 Pavel Roskin <proski@gnu.org>
42985
4b6e1995 42986 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
42987 * disk/host.c (grub_host_open): Likewise.
42988 * disk/loopback.c (grub_loopback_open): Likewise.
42989 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
42990 disk->id as in disk/host.c, not a multi-character constant.
42991
828a2768 42992 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
42993 later is obsolete, potentially dangerous and sets a bad example.
42994 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
42995 * util/misc.c (grub_util_get_image_size): Likewise.
42996
2bb4fb47 42997 * disk/loopback.c (options): Improve help for "--partitions".
42998
0f582c6b 42999 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
43000 options to align them with the short options, e.g. "echo -e".
43001
a33224e0 430022008-03-31 Bean <bean123ch@gmail.com>
43003
43004 * video/reader/png.c (grub_png_data): New member is_16bit and
43005 image_data.
43006 (grub_png_decode_image_header): Detect 16 bit png image.
43007 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
43008 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
43009 (grub_video_reader_png): Release memory occupied by image_data.
43010
43011 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
43012 4096 bytes.
43013 (grub_nfs_mount): Skip the test for sector per cluster.
43014
43015 * include/grub/ntfs.h (MAX_SPC): Removed.
43016
86cb4f54 430172008-03-31 Bean <bean123ch@gmail.com>
43018
43019 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
43020 (grub_probe_SOURCES): Add fs/afs.c.
43021 (grub_fstest_SOURCES): Likewise.
43022 (afs_mod_SOURCES): New variable.
43023 (afs_mod_CFLAGS): Likewise.
43024 (afs_mod_LDFLAGS): Likewise.
43025
43026 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
43027 (grub_emu_SOURCES): Likewise.
43028
43029 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43030
43031 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43032
43033 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43034
43035 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43036
43037 * fs/afs.c: New file.
43038
17c74c21 430392008-03-30 Pavel Roskin <proski@gnu.org>
43040
4cb68e89 43041 * disk/host.c: Include grub/misc.h to fix a warning.
43042 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
43043 warnings about implicit declarations.
43044
8790bb04 43045 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
43046 variable.
43047 * include/grub/i386/loader.h: Change declaration of
43048 grub_linux_boot() to match what grub_loader_set() expects.
43049 * util/getroot.c (grub_guess_root_device): Return const char* to
43050 fix a warning.
43051 * util/grub-probe.c (probe): Fix a warning about uninitialized
43052 abstraction_name variable.
43053 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
43054 second argument as unused to fix a warning.
43055
9a3f3296 43056 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
43057 missing grub_error() call.
43058
0ecef90d 43059 * util/update-grub_lib.in: Define datarootdir, since Autoconf
43060 2.60 and newer uses it to define datadir.
43061
0bf6d401 43062 * commands/sleep.c: Fix warning about implicit declaration.
43063 * disk/memdisk.c: Likewise.
43064 * loader/aout.c: Likewise.
43065 * loader/i386/bsd_normal.c: Likewise.
43066 * util/grub-probe.c: Likewise.
43067
7cdacf97 43068 * commands/i386/cpuid.c (has_longmode): Make static.
43069 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
43070 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
43071
17c74c21 43072 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
43073 GDT. This is more robust, as %ds can change.
43074 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
43075 calling real_to_prot().
43076 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
43077
80a3e68b 430782008-03-28 Pavel Roskin <proski@gnu.org>
43079
43080 * kern/i386/pc/startup.S: Assert that uncompressed functions
43081 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
43082 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
43083 code, as they push parts of the code (error handlers) beyond
43084 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
43085 code as correctness and size.
43086
77bcd272 430872008-03-28 Pavel Roskin <proski@gnu.org>
43088
43089 * kern/i386/pc/startup.S
43090 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
43091 data block address to the real mode, keep offset minimal. This
43092 works around a bug in AWARD BIOS on old Athlon systems, which
43093 makes CD detection hang.
43094
c5dfd43b 430952008-03-26 Pavel Roskin <proski@gnu.org>
43096
43097 * normal/color.c (grub_parse_color_name_pair): Make `name' a
43098 const.
43099 * include/grub/normal.h: Add grub_parse_color_name_pair()
43100 declaration.
43101
bf962df2 431022008-03-24 Bean <bean123ch@gmail.com>
43103
43104 * disk/i386/pc/biosdisk.c (cd_start): Removed.
43105 (cd_count): Removed.
43106 (cd_drive): New variable.
43107 (grub_biosdisk_get_drive): Don't check for (cdN) device.
43108 (grub_biosdisk_call_hook): Likewise.
43109 (grub_biosdisk_iterate): Change cdrom detection method.
43110 (grub_biosdisk_open): Replace cd_start with cd_drive.
43111 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
43112 detect cdrom device.
43113
43114 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
43115 Removed.
43116 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
43117 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
43118 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
43119 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
43120 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
43121 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
43122 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
43123 (grub_biosdisk_cdrp): New structure.
43124 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
43125
43126 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
43127
43128 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
43129 device.
43130
43131 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
43132 New function.
43133
68e7fc7a 431342008-03-20 Robert Millan <rmh@aybabtu.com>
43135
43136 Remove 2 TiB limit in ata.mod.
43137 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
43138 (grub_ata_dumpinfo): Print sector count with 0x%llx.
43139 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
43140 grub_uint64_t instead of grub_uint32_t.
43141
38ad2cf5 431422008-03-05 Bean <bean123ch@gmail.com>
43143
43144 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
43145 (grub_multiboot): Set boot device.
43146
43147 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
43148
2b89344e 431492008-03-02 Bean <bean123ch@gmail.com>
43150
43151 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
43152 symlink_buffer.
43153
87a95d1f 431542008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
43155
43156 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
43157 texinfo.tex.
43158
43159 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
43160 modified.
43161
43162 * docs/fdl.texi: New file.
f19dbdb7 43163
87a95d1f 43164 * docs/mdate-sh: New file. Copied from gnulib.
43165 * docs/texinfo.tex: Likewise.
43166
43167 * config.guess: Updated from gnulib.
43168 * install-sh: Likewise.
43169
7dc15d8e 431702008-02-28 Robert Millan <rmh@aybabtu.com>
43171
43172 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
43173 (aout_mod_SOURCES): New variable.
43174 (aout_mod_CFLAGS): Likewise.
43175 (aout_mod_LDFLAGS): Likewise.
43176
43177 * conf/i386-ieee1275.rmk: Likewise.
43178
b00ab696 431792008-02-28 Robert Millan <rmh@aybabtu.com>
43180
43181 * util/update-grub.in: Reorganise terminal validity check. Accept
43182 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
43183 Based on suggestion by Franklin PIAT.
43184
79ca2d78 431852008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
43186
43187 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
43188 function.
43189 * util/getroot.c (grub_util_check_block_device): New function that
43190 returns the given argument if it is a block device and returns NULL else.
43191 * util/grub-probe.c (argument_is_device): New variable.
43192 (probe): Promote device_name from a variable to an argument. Receive
43193 device_name from grub_util_check_block_device() if path is NULL and from
43194 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 43195 (options): Introduce new parameter '-d, --device'.
79ca2d78 43196 (main): Add description of the new parameter to the help screen.
43197 Rename path variable to argument. Set argument_is_device if the '-d'
43198 option is given. Pass argument to probe() depending on
43199 argument_is_device.
43200
0d16e571 432012008-02-24 Bean <bean123ch@gmail.com>
43202
43203 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
43204 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
43205 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
43206 (GRUB_ISO9660_VOLDESC_PART): Likewise.
43207 (GRUB_ISO9660_VOLDESC_END): Likewise.
43208 (grub_iso9660_primary_voldesc): New member escape.
43209 (grub_iso9660_data): New member joliet.
43210 (grub_iso9660_convert_string): New function.
43211 (grub_iso9660_mount): Detect joliet extension.
43212 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
43213 (grub_iso9660_iso9660_label): Likewise.
43214
43215 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
43216 (grub_setup_SOURCES): Add fs/udf.c.
43217 (grub_fstest_SOURCES): Likewise.
43218 (udf_mod_SOURCES): New variable.
43219 (udf_mod_CFLAGS): Likewise.
43220 (udf_mod_LDFLAGS): Likewise.
43221
43222 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
43223 (grub_emu_SOURCES): Likewise.
43224
43225 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43226
43227 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43228
43229 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43230
43231 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43232
43233 * fs/udf.c: New file.
43234
8a594a17 432352008-02-24 Robert Millan <rmh@aybabtu.com>
43236
43237 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
43238 (normal/lexer.c_DEPENDENCIES): New variables.
43239 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43240 (normal/lexer.c_DEPENDENCIES): Likewise.
43241 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
43242 (normal/lexer.c_DEPENDENCIES): Likewise.
43243 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
43244 (normal/lexer.c_DEPENDENCIES): Likewise.
43245 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43246 (normal/lexer.c_DEPENDENCIES): Likewise.
43247 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43248 (normal/lexer.c_DEPENDENCIES): Likewise.
43249
2dc33c03 432502008-02-23 Robert Millan <rmh@aybabtu.com>
43251
43252 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
43253 since they were intended to be in hex. This didn't break previously
43254 because of a bug in gpt_partition_map_iterate() (see below).
43255
43256 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
43257 when checking the validity of GPT header.
43258 Remove `partno', since it always provides the same information as `i'.
43259
f6f4cfb0 432602008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
43261
43262 * include/grub/efi/time.h: Fix a wrong comment.
43263
79ff665f 432642008-02-19 Pavel Roskin <proski@gnu.org>
43265
43266 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
43267 message.
43268
d38e24c2 432692008-02-19 Bean <bean123ch@gmail.com>
43270
43271 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
43272 (aout_mod_SOURCES): New variable.
43273 (aout_mod_CFLAGS): Likewise.
43274 (aout_mod_LDFLAGS): Likewise.
43275 (_bsd_mod_SOURCES): New variable.
43276 (_bsd_mod_CFLAGS): Likewise.
43277 (_bsd_mod_LDFLAGS): Likewise.
43278 (bsd_mod_SOURCES): New variable.
43279 (bsd_mod_CFLAGS): Likewise.
43280 (bsd_mod_LDFLAGS): Likewise.
43281
43282 * include/grub/aout.h: New file.
43283
43284 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
43285
43286 * include/grub/i386/bsd.h: New file.
43287
43288 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
43289 to make it public.
43290
43291 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
43292 function is called, so that it's possible to change it inside the hook.
43293 (grub_elf64_load): Likewise.
43294 (grub_elf_file): Don't close the file if elf header is not found.
43295 (grub_elf_close): Close the file if grub_elf_file fails (The new
43296 grub_elf_file won't close it).
43297 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
43298 (grub_elf64_size): Likewise.
43299
43300 * kern/i386/loader.S (grub_unix_real_boot): New function.
43301
43302 * loader/aout.c: New file.
43303
43304 * loader/i386/bsd.c: New file.
43305
43306 * loader/i386/bsd_normal.c: New file.
43307
43308 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
43309
43310 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 43311 can test other formats.
d38e24c2 43312
b93bdb0f 433132008-02-19 Robert Millan <rmh@aybabtu.com>
43314
43315 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
43316 (grub_gpt_partition_type_empty): Redefine with macro from
43317 `<grub/gpt_partition.h>'.
43318 (gpt_partition_map_iterate): Adjust partition type comparison.
43319
43320 Export `entry' as partmap-specific `part.data' struct.
43321 (grub_gpt_header, grub_gpt_partentry): Move from here ...
43322
43323 * include/grub/gpt_partition.h (grub_gpt_header)
43324 (grub_gpt_partentry): ... to here (new file).
43325
43326 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
43327
43328 (grub_gpt_partition_type_bios_boot): New const variable, defined
43329 with macro from `<grub/gpt_partition.h>'.
43330
43331 (setup): Replace `first_start' with `embed_region', which keeps
43332 track of the embed region (and is partmap-agnostic).
43333
43334 Replace find_first_partition_start() with find_usable_region(),
43335 which finds a usable region for embedding using partmap-specific
43336 knowledge (supports PC/MSDOS and GPT).
43337
43338 Fix all assumptions that the embed region start at sector 1, using
43339 `embed_region.start' from now on. Similarly, use `embed_region.end'
43340 rather than `first_start' to calculate available size.
43341
43342 In grub_util_info() message, replace "into after the MBR" with an
43343 indication of the specific sector our embed region starts at.
43344
66cb40f6 433452008-02-19 Robert Millan <rmh@aybabtu.com>
43346
43347 * DISTLIST: Replace `commands/ieee1275/halt.c' and
43348 `commands/ieee1275/reboot.c' with `commands/halt.c' and
43349 `commands/reboot.c'.
43350 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43351 (halt_mod_SOURCES): Likewise.
43352 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43353 (halt_mod_SOURCES): Likewise.
43354
b7202015 433552008-02-17 Christian Franke <franke@computer.org>
43356
43357 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
43358
32b0fc49 433592008-02-17 Robert Millan <rmh@aybabtu.com>
43360
43361 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43362 set `first_start' to 0 for non-PC/MSDOS partition maps.
43363
aca63502 433642008-02-16 Robert Millan <rmh@aybabtu.com>
43365
43366 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43367 do not assume partition map is PC/MSDOS before performing checks that
43368 are specific to that layout.
43369
0de8be86 433702008-02-13 Robert Millan <rmh@aybabtu.com>
43371
43372 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
43373 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
43374 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
43375
c3db8364 433762008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
43377
43378 * configure.ac: Only a cosmetic change on the handling of
43379 -fno-stack-protector.
43380
f714229e 433812008-02-12 Alexandre Boeglin <alex@boeglin.org>
43382
c3db8364 43383 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
43384 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
43385 reboot.c.
f714229e 43386 (grub_install_SOURCES): Add halt.mod and reboot.mod.
43387 (halt_mod_SOURCES): New variable.
43388 (halt_mod_CFLAGS): Likewise.
43389 (halt_mod_LDFLAGS): Likewise.
43390 (reboot_mod_SOURCES): Likewise.
43391 (reboot_mod_CFLAGS): Likewise.
43392 (reboot_mod_LDFLAGS): Likewise.
43393
c3db8364 43394 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
43395 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
43396 reboot.c.
f714229e 43397 (halt_mod_SOURCES): Likewise.
43398 (reboot_mod_SOURCES): Likewise.
43399
c3db8364 43400 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
43401 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 43402 (reboot_mod_SOURCES): Likewise.
43403
43404 * commands/i386/pc/reboot.c: merge this file ...
43405
43406 * commands/ieee1275/reboot.c: ... and this file ...
43407
43408 * commands/reboot.c: ... to this file.
c3db8364 43409 Add some precompiler directive to include the correct header for
43410 each machine.
f714229e 43411
43412 * commands/ieee1275/halt.c: move this file ...
43413
43414 * commands/halt.c: ... to here.
c3db8364 43415 Add some precompiler directive to include the correct header for
43416 each machine.
f714229e 43417
43418 * include/grub/efi/efi.h (grub_reboot): New function declaration.
43419 (grub_halt): Likewise.
43420
43421 * kern/efi/efi.c (grub_reboot): New function.
43422 (grub_halt): Likewise.
43423
c74493e0 434242008-02-12 Robert Millan <rmh@aybabtu.com>
43425
43426 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
43427 /dev (like it is done for /dev/mapper). This doesn't provide support
43428 for EVMS, but at least it is now easy to identify the problem when it
43429 arises.
43430
d0db4b04 434312008-02-11 Robert Millan <rmh@aybabtu.com>
43432
43433 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
43434 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
43435 comparing it with -1, not 0.
43436
bf748642 434372008-02-10 Robert Millan <rmh@aybabtu.com>
43438
43439 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
43440 `disk/lvm.c'.
43441 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43442 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
43443
43444 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
43445 `disk/lvm.c' to the end of the list.
43446 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43447 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43448
b5db202a 434492008-02-10 Robert Millan <rmh@aybabtu.com>
43450
43451 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
43452 grub_print_error() instead. This will let user know why we're entering
43453 rescue mode.
43454 Based on suggestions from Sam Morris.
43455
83abee31 434562008-02-10 Alexandre Boeglin <alex@boeglin.org>
43457
43458 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
43459 on remaining N args, instead of "--" arg N times.
43460
78d5a08b 434612008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
43462
43463 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
43464 (fill_with_default_glyph): Changed to use unknown_glyph for fill
43465 pattern for unknown glyphs.
43466
68807e5f 434672008-02-09 Robert Millan <rmh@aybabtu.com>
43468
43469 * configure.ac: Probe for `help2man'.
43470 * Makefile.in (builddir): New variable.
43471 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
43472 or otherwise add a few flags/options to it.
43473 (install-local): For every executable utility or script that is
43474 installed, invoke $(HELP2MAN) to install a manpage based on --help
43475 output.
43476
43477 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
43478 that it doesn't prevent --help from working in build tree.
43479
43480 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
43481 with `bug-grub@gnu.org'.
43482 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
43483 * util/update-grub.in (usage): New function.
43484 Implement proper argument check, with support for --help and --version
43485 (as well as existing -y).
43486
434872008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 43488
43489 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
43490 avoid overwriting previous output.
43491 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
43492
c1962162 434932008-02-09 Robert Millan <rmh@aybabtu.com>
43494
43495 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
43496 drawing the menu.
43497
3dac2e3f 434982008-02-09 Robert Millan <rmh@aybabtu.com>
43499
43500 * commands/sleep.c: New file.
43501 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
43502 (sleep_mod_SOURCES): New variable.
43503 (sleep_mod_CFLAGS): Likewise.
43504 (sleep_mod_LDFLAGS): Likewise.
43505
7a634e08 435062008-02-09 Robert Millan <rmh@aybabtu.com>
43507
43508 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
43509 situations in which we can deduce the RAID size and the superblock
43510 doesn't match it.
43511
b92f0c18 435122008-02-09 Robert Millan <rmh@aybabtu.com>
43513
43514 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
43515 and return a grub_diskmemberlist_t composed of LVM physical volumes.
43516 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
43517
43518 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
43519 and return a grub_diskmemberlist_t composed of physical array members.
43520 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
43521
43522 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
43523 prototype.
43524 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
43525 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
43526 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
43527
43528 * util/grub-probe.c (probe): Move partmap probing code from here ...
43529 (probe_partmap): ... to here.
43530 (probe): Use probe_partmap() once for the disk we're probing, and
43531 additionally, when such disk contains a memberlist() struct member,
43532 once for each disk that is contained in the structure returned by
43533 memberlist().
43534
91a4bf68 435352008-02-09 Robert Millan <rmh@aybabtu.com>
43536
43537 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
43538 environment variable to 'all' in order to obtain debug output from
43539 non-util/ code.
43540 * util/i386/pc/grub-setup.c (main): Likewise.
43541
a96f9caa 435422008-02-08 Robert Millan <rmh@aybabtu.com>
43543
43544 * disk/raid.c (grub_raid_scan_device): Check for
43545 `array->device[sb.this_disk.number]' rather than for
43546 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 43547 guaranteed to be accessible.
a96f9caa 43548
b37a9222 435492008-02-08 Robert Millan <rmh@aybabtu.com>
43550
43551 * disk/raid.c: Update copyright.
43552 * fs/cpio.c: Likewise.
43553 * include/grub/raid.h: Likewise.
43554 * loader/i386/pc/multiboot.c: Likewise.
43555 * util/hostfs.c: Likewise.
43556
5626aee1 435572008-02-08 Robert Millan <rmh@aybabtu.com>
43558
43559 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
43560 to a grub_disk_t array.
43561 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
43562 `device[x]'.
43563 (grub_raid_scan_device): Replace `device[x].name' accesses with
43564 `device[x]->name'. Simplify initialization of `array->device[x]'.
43565
554f0187 435662008-02-08 Robert Millan <rmh@aybabtu.com>
43567
43568 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
43569 grub_dprintf() calls.
43570 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
43571 error message.
43572
1ec8425d 435732008-02-07 Christian Franke <franke@computer.org>
43574
43575 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
43576 instead of fseek and ftell to support large files.
43577 (grub_hostfs_read): Likewise.
43578
f2156fda 435792008-02-07 Robert Millan <rmh@aybabtu.com>
43580
43581 Patch from Jeroen Dekkers.
43582 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 43583 failure, since successfully reading all array members might not be
f2156fda 43584 required.
43585
9216e0e7 435862008-02-06 Robert Millan <rmh@aybabtu.com>
43587
43588 * util/grub-probe.c (probe): Simplify partmap probing (with the
43589 assumption that the first word up to the underscore equals to
43590 the module name).
43591
b0dfd29a 435922008-02-06 Christian Franke <franke@computer.org>
43593
43594 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
43595 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
43596 last block of a cpio or tar stream.
43597 Check for "TRAILER!!!" instead of any empty data
43598 block to detect last block of a cpio stream.
43599 (grub_cpio_dir): Fix constness of variable np.
43600 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
43601 cpio or tar trailer is detected. This fixes a crash
43602 on open of a non existing file.
43603
c32865bf 436042008-02-05 Bean <bean123ch@gmail.com>
43605
43606 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
43607 address of entry.
43608 (grub_multiboot_load_elf64): Likewise.
43609 (grub_multiboot): Initialize mbi structure.
43610
43611 * util/grub-fstest.c: Don't include unused header file script.h.
43612
fe6b695a 43613 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 43614 of file.
43615 (grub_fstest_SOURCES): Likewise.
43616
409480b7 436172008-02-05 Robert Millan <rmh@aybabtu.com>
43618
43619 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
43620 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
43621 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
43622 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
43623
43624 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
43625 (translation_table): Replace hardcoded values with macros
43626 provided by `<grub/term.h>'.
43627
43628 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
43629 (keyboard_map): Correct/add a few values, with macros provided
43630 by `<grub/term.h>'.
43631 (keyboard_map_shift): Zero values that don't differ from their
43632 `keyboard_map' equivalents.
43633 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
43634 Discard the second scan code that is always sent by Caps lock.
43635 Only use `keyboard_map_shift' when it provides a non-zero value,
43636 otherwise fallback to `keyboard_map'.
43637
99fadbaa 436382008-02-04 Bean <bean123ch@gmail.com>
43639
43640 * Makefile.in (enable_grub_fstest): New variable.
43641
43642 * conf/common.rmk (grub_fstest_init.lst): New rule.
43643 (grub_fstest_init.h): Likewise.
43644 (grub_fstest_init.c): Likewise.
43645 (util/grub-fstest.c_DEPENDENCIES): New variable.
43646 (grub_fstest_SOURCES): Likewise.
43647
43648 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
43649
43650 * util/grub-fstest.c: New file.
43651
bf567c50 436522008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43653
43654 Make grub-setup handle a separate root device.
f19dbdb7 43655
bf567c50 43656 * util/i386/pc/grub-setup.c (setup): Always open the root device,
43657 so that the root device can be compared with the destination
43658 device.
43659 When embedding the core image, if the root and destination devices
43660 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
43661 0xFF.
43662 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 43663
9be6b98b 436642008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43665
43666 Add support for having a grub directory in a different drive. This
43667 is still only the data handling part.
f19dbdb7 43668
9be6b98b 43669 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
43670 (codestart): Save %dh in GRUB_ROOT_DRIVE.
43671 (grub_root_drive): New variable.
43672
43673 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
43674 instead of GRUB_BOOT_DRIVE to construct a device name. Set
43675 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
43676 as it was.
43677
43678 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
43679
43680 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
43681 macro.
43682 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
43683
43684 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
43685 is bogus, because PXE booting does not specify any drive
43686 correctly.
43687
43688 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
43689 am not sure if this is really correct.
43690
43691 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
43692 is always identical to the boot drive when booting from a CD.
43693
43694 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
43695 longer.
43696 (root_drive): New variable.
43697 (real_start): Unconditionally set %dh to ROOT_DRIVE.
43698 (setup_sectors): Push %dx right after popping it, because %dh will
43699 be modified later.
43700 (copy_buffer): Restore %dx.
43701
e0ca0677 437022008-02-03 Robert Millan <rmh@aybabtu.com>
43703
43704 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
43705 use `cdboot.img' for cdrom images.
43706
3b3f6629 437072008-02-03 Robert Millan <rmh@aybabtu.com>
43708
43709 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
43710 only setup gfxterm when `font' command has succeeded.
43711
d42b3672 437122008-02-03 Robert Millan <rmh@aybabtu.com>
43713
43714 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
43715 (grub_rescue_cmd_multiboot_loader)
43716 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
43717
fa370ea6 437182008-02-03 Pavel Roskin <proski@gnu.org>
43719
e0c5dacb 43720 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 43721 %edx and %esi from stack only after grub_gate_a20() is called.
43722 grub_gate_a20() clobbers %edx.
43723
f2a76e1d 437242008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43725
43726 * configure.ac (AC_INIT): Bumped to 1.96.
43727
43728 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
43729 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
43730 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
43731 video/readers/png.c.
43732
90fd32d1 437332008-02-03 Bean <bean123ch@gmail.com>
9be665dd 43734
43735 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
43736 (cdboot_img_SOURCES): New variable.
43737 (cdboot_img_ASFLAGS): New variable.
43738 (cdboot_img_LDFLAGS): New variable.
43739
43740 * boot/i386/pc/cdboot.S: New file.
43741
43742 * disk/i386/pc/biosdisk.c (cd_start): New variable.
43743 (cd_count): Likewise.
43744 (grub_biosdisk_get_drive): Add support for cd device.
43745 (grub_biosdisk_call_hook): Likewise.
43746 (grub_biosdisk_iterate): Likewise.
43747 (grub_biosdisk_open): Likewise.
43748 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
43749 (grub_biosdisk_rw): Support reading from cd device.
43750 (GRUB_MOD_INIT): Iterate cd devices.
43751
43752 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
43753 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
43754 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
43755
43756 * kern/i386/pc/init.c (make_install_device): Check for cd device.
43757
4020aa53 437582008-02-02 Robert Millan <rmh@aybabtu.com>
43759
43760 * commands/read.c: New file.
43761 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
43762 (read_mod_SOURCES): New variable.
43763 (read_mod_CFLAGS): Likewise.
43764 (read_mod_LDFLAGS): Likewise.
43765
e03a1132 437662008-02-02 Robert Millan <rmh@aybabtu.com>
43767
43768 * normal/main.c (grub_normal_execute): Check for `menu->size' when
43769 determining whether menu has to be displayed.
43770
58c69220 437712008-02-02 Marco Gerards <marco@gnu.org>
43772
43773 * bus/pci.c: New file.
43774
43775 * include/grub/pci.h: Likewise.
43776
43777 * include/grub/i386/pc/pci.h: Likewise.
43778
43779 * commands/lspci.c: Likewise.
43780
43781 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
43782 `lspci.mod'.
43783 (pci_mod_SOURCES): New variable.
43784 (pci_mod_CFLAGS): Likewise.
43785 (pci_mod_LDFLAGS): Likewise.
43786 (lspci_mod_SOURCES): Likewise.
43787 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 43788 (lspci_mod_LDFLAGS): Likewise.
58c69220 43789
c004e1b4 437902008-02-02 Bean <bean123ch@gmail.com>
43791
43792 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
43793 (grub_ufs_get_file_block): Fix indirect block calculation problem.
43794
43795 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
43796 (grub_xfs_btree_node): New structure.
43797 (grub_xfs_btree_root): New structure.
43798 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
43799 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
43800 (GRUB_XFS_EXTENT_BLOCK): Likewise.
43801 (GRUB_XFS_EXTENT_SIZE): Likewise.
43802 (grub_xfs_read_block): Support btree format type.
43803 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
43804 Use directory block as basic unit.
43805
43806 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
43807
43808 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
43809 __attribute__ ((__regparm__ (1))).
43810
f95562bf 438112008-02-01 Robert Millan <rmh@aybabtu.com>
43812
43813 Correct a mistake in previous commit.
43814
43815 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
43816 top.
43817 (normal/command.c_DEPENDENCIES): New variable.
43818
7d31f41f 438192008-02-01 Robert Millan <rmh@aybabtu.com>
43820
43821 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
43822 top.
43823 (normal/command.c_DEPENDENCIES): New variable.
43824 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
43825 * conf/i386-ieee1275.rmk: Likewise.
43826 * conf/i386-linuxbios.rmk: Likewise.
43827 * conf/i386-pc.rmk: Likewise.
43828 * conf/sparc64-ieee1275.rmk: Likewise.
43829 * conf/powerpc-ieee1275.rmk: Likewise.
43830 (grub_emu_SOURCES): Add `fs/fshelp.c'.
43831
43832 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
43833
60b6be74 438342008-02-01 Robert Millan <rmh@aybabtu.com>
43835
43836 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
43837 call at beginning of function.
43838
078522ab 438392008-01-31 Pavel Roskin <proski@gnu.org>
43840
43841 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 43842 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
43843 (grub_mkrescue_SOURCES): Likewise.
078522ab 43844 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
43845
ccaa8a5f 438462008-01-30 Robert Millan <rmh@aybabtu.com>
43847
43848 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
43849 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
43850 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
43851 (grub_probe_SOURCES): ... to here.
43852
43853 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
43854 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
43855 * conf/i386-ieee1275.rmk: Likewise.
43856 * conf/i386-linuxbios.rmk: Likewise.
43857 * conf/powerpc-ieee1275.rmk: Likewise.
43858
ae5a9cd7 438592008-01-30 Tristan Gingold <gingold@free.fr>
43860
43861 * kern/rescue.c: Silently accept empty lines.
43862
70bc2ef2 438632008-01-29 Bean <bean123ch@gmail.com>
43864
43865 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
43866 (real_code_2): Code cleanup and change comment style.
43867 (move_memory): Avoid using 32-bit address mode.
43868
6a4d50ea 438692008-01-29 Bean <bean123ch@gmail.com>
43870
43871 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
43872 (png_mod_SOURCES): New variable.
43873 (png_mod_CFLAGS): Likewise.
43874 (png_mod_LDFLAGS): Likewise.
43875
43876 * video/readers/png.c: New file.
43877
11cc30ac 438782008-01-28 Robert Millan <rmh@aybabtu.com>
43879
43880 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
43881 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
43882 `ifndef GRUB_MOD_GAP' hack.
43883 * util/elf/grub-mkimage.c (add_segments): Likewise.
43884
3abc589f 438852008-01-27 Robert Millan <rmh@aybabtu.com>
43886
43887 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
43888 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 43889 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 43890
e1907778 438912008-01-27 Robert Millan <rmh@aybabtu.com>
43892
43893 Get grub-emu to build again (including parallel builds).
43894
43895 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
43896 Split into ...
43897 (util/grub-emu.c_DEPENDENCIES): ... this, ...
43898 (normal/execute.c_DEPENDENCIES): ... this, ...
43899 (grub-emu_DEPENDENCIES): ... and this.
43900
43901 * conf/i386-efi.rmk: Likewise.
43902 * conf/i386-linuxbios.rmk: Likewise.
43903 * conf/i386-ieee1275.rmk: Likewise.
43904 * conf/powerpc-ieee1275.rmk: Likewise.
43905 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
43906
2216b101 439072008-01-27 Robert Millan <rmh@aybabtu.com>
43908
43909 * NEWS: Add a few items.
43910
f75172d9 439112008-01-27 Robert Millan <rmh@aybabtu.com>
43912
43913 Fix parallel builds with grub-emu. Based on earlier commit for
43914 grub-probe and grub-setup.
43915
43916 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43917 (util/grub-emu.c_DEPENDENCIES): ... this.
43918 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43919 (util/grub-emu.c_DEPENDENCIES): ... this.
43920 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43921 (util/grub-emu.c_DEPENDENCIES): ... this.
43922 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43923 (util/grub-emu.c_DEPENDENCIES): ... this.
43924 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43925 (util/grub-emu.c_DEPENDENCIES): ... this.
43926
3f51de77 439272008-01-27 Pavel Roskin <proski@gnu.org>
43928
43929 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
43930 to create a gap between _end and the modules added to the image
43931 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
43932 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
43933 * util/elf/grub-mkimage.c (add_segments): Likewise.
43934
2033f53e 439352008-01-26 Pavel Roskin <proski@gnu.org>
43936
43937 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
43938 just return an error.
43939
22da1f6f 439402008-01-26 Bean <bean123ch@gmail.com>
43941
43942 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
43943 (grub_reiserfs_get_item): Save offset of the next item.
43944 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
43945
2a9525e6 439462008-01-25 Robert Millan <rmh@aybabtu.com>
43947
43948 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
43949 make all filesystem sources appear together (possibly fixing omissions
43950 while at it).
43951 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43952 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43953 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43954 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43955
43956 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
43957 add `kern/file.c'.
43958 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
43959 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
43960 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
43961 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
43962
43963 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
43964 (probe): Add a sanity check to make sure of our ability to read
43965 requested files when probing for filesystem type.
43966
43967 * genmk.rb: Update copyright year (2007).
43968
43969 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
43970 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
43971 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
43972 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
43973 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
43974 : Remove function prototypes.
43975
b95f71b5 439762008-01-25 Robert Millan <rmh@aybabtu.com>
43977
43978 Revert my previous commits (based on wrong assumption of how grub_errno
43979 works).
43980
fe6b695a 43981 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 43982 * kern/file.c (grub_file_open): Likewise.
43983
d08bbb49 439842008-01-24 Pavel Roskin <proski@gnu.org>
43985
43986 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
43987 that hang if GRUB tries to setup colors.
43988 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
43989 colors for firmwares that don't support it.
43990 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
43991 Recognize Open Hack'Ware, set flags to work around its
43992 limitations.
43993
605e36ed 439942008-01-24 Robert Millan <rmh@aybabtu.com>
43995
43996 * kern/file.c (grub_file_open): Do not account previous failures of
43997 unrelated functions when grub_errno is checked for.
43998 Reported by Oleg Strikov.
43999
bac332a1 440002008-01-24 Bean <bean123ch@gmail.com>
44001
44002 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
44003 (grub_ufs_sblock): New member volume name.
44004 (grub_ufs_find_file): Fix string copy bug.
44005 (grub_ufs_label): Implement this function properly.
44006
44007 * fs/hfs.c (grub_hfs_cnid_type): New enum.
44008 (grub_hfs_iterate_records): Use the correct file number for extents
44009 and catalog file. Fix problem in next index calculation.
44010 (grub_hfs_find_node): Replace recursive function call with loop.
44011 (grub_hfs_iterate_dir): Replace recursive function call with loop.
44012
15c80c09 440132008-01-23 Robert Millan <rmh@aybabtu.com>
44014
44015 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
44016 `<grub/symbol.h>' and `<grub/multiboot.h>'.
44017 (grub_multiboot2_real_boot): New function prototype.
44018
44019 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
44020 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
44021
44022 * kern/i386/ieee1275/init.c (grub_os_area_addr)
44023 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
44024
305338fd 440252008-01-23 Robert Millan <rmh@aybabtu.com>
44026
44027 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
44028 #ifdef'ed out grub_printf().
44029
3ea52685 440302008-01-23 Robert Millan <rmh@aybabtu.com>
44031
44032 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
44033 grub_dprintf calls, since they make "debug=all" mode unusable.
44034 (grub_console_checkkey): Likewise.
44035
5882ae4b 440362008-01-23 Robert Millan <rmh@aybabtu.com>
44037
44038 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
44039 `term/i386/pc/at_keyboard.c'.
44040 (pkglib_MODULES): Add `serial.mod'.
44041 (serial_mod_SOURCES): New variable.
44042 (serial_mod_CFLAGS): Likewise.
44043 (serial_mod_LDFLAGS): Likewise.
44044
44045 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
44046 `<grub/powerpc/ieee1275/console.h>'.
44047 (grub_keyboard_controller_init): New function prototype.
44048 (grub_console_checkkey): Likewise.
44049 (grub_console_getkey): Likewise.
44050
44051 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
44052 keyboard on i386.
44053
44054 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
44055 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
44056
06ab5303 440572008-01-23 Robert Millan <rmh@aybabtu.com>
44058
44059 * kern/i386/pc/init.c (make_install_device): When memdisk image is
44060 present, "(memdisk)/boot/grub" becomes the default prefix.
44061
44062 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
44063 a memdisk tarball with all the modules. Add --overlay=DIR option that
44064 allows users to overlay additional files into the image.
44065
dbb475a4 440662008-01-23 Robert Millan <rmh@aybabtu.com>
44067
44068 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
44069 and `machine/memory.h'.
44070 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
44071 (_multiboot_mod_SOURCES): New variable.
44072 (_multiboot_mod_CFLAGS): Likewise.
44073 (_multiboot_mod_LDFLAGS): Likewise.
44074 (multiboot_mod_SOURCES): Likewise.
44075 (multiboot_mod_CFLAGS): Likewise.
44076 (multiboot_mod_LDFLAGS): Likewise.
44077
44078 * include/grub/i386/ieee1275/loader.h: New file.
44079
44080 * include/grub/i386/ieee1275/machine.h: Likewise.
44081
44082 * include/grub/i386/ieee1275/memory.h: Likewise.
44083
44084 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
44085 variable declaration.
44086 (grub_os_area_size): Likewise.
44087
44088 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
44089 (grub_lower_mem, grub_upper_mem): New variables.
44090 (grub_stop_floppy): New function (just to make
44091 grub_multiboot2_real_boot() happy).
44092
44093 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
44094 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
44095 (grub_stop): New function.
44096 Include `"../realmode.S"' and `"../loader.S"'.
44097
44098 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
44099 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
44100
44101 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
44102 rely on grub_multiboot2_real_boot() for final boot.
44103
25638629 441042008-01-22 Robert Millan <rmh@aybabtu.com>
44105
44106 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
44107 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
44108 device that doesn't look like an SD card.
44109 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
44110 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
44111 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
44112 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
44113 found.
44114
9dad816d 441152008-01-22 Robert Millan <rmh@aybabtu.com>
44116
44117 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
44118 avoid claiming over our own code.
44119
34842f2d 441202008-01-22 Bean <bean123ch@gmail.com>
44121
44122 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
44123 (jpeg_mod_SOURCES): New variable.
44124 (jpeg_mod_CFLAGS): Likewise.
44125 (jpeg_mod_LDFLAGS): Likewise.
44126
44127 * video/readers/jpeg.c : New file.
44128
44023a28 441292008-01-22 Bean <bean123ch@gmail.com>
44130
44131 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
44132 there are no more items.
44133
bc2d8ac6 441342008-01-21 Robert Millan <rmh@aybabtu.com>
44135
44136 * kern/mm.c (grub_mm_init_region): Improve debug message.
44137
261bd4bc 441382008-01-21 Robert Millan <rmh@aybabtu.com>
44139
44140 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
44141 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
44142 address.
44143 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
44144 a C macro.
44145 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
44146 Indicates start of upper memory.
44147 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
44148 (generate_image): Abort when image size is big enough to corrupt
44149 upper memory.
44150
44151 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
44152 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
44153 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44154 instead of hardcoding 0xA0000.
44155 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
44156 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44157 instead of hardcoding 0xA0000.
44158
f970b55e 441592008-01-21 Robert Millan <rmh@aybabtu.com>
44160
44161 * disk/memdisk.c (memdisk_size): New variable.
44162 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
44163 `memdisk_size'.
44164 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
44165 image to dynamic memory.
44166 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
44167 `memdisk_size'. Free memdisk block.
44168
1a8b0526 441692008-01-21 Robert Millan <rmh@aybabtu.com>
44170
44171 Fix detection of very small filesystems (like tar).
44172
44173 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
44174 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
44175 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
44176 a problem with this disk).
44177
6e9b4aab 441782008-01-21 Robert Millan <rmh@aybabtu.com>
44179
44180 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
44181 on grub_biosdisk_rw_standard() error.
44182
0d8837b2 441832008-01-21 Robert Millan <rmh@aybabtu.com>
44184
44185 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
44186 recent changes.
44187 * kern/elf.c: Likewise.
44188 * kern/ieee1275/ieee1275.c: Likewise.
44189 * kern/powerpc/ieee1275/openfw.c: Likewise.
44190 * term/ieee1275/ofconsole.c: Likewise.
44191
ffd36e34 441922008-01-21 Robert Millan <rmh@aybabtu.com>
44193
44194 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
44195
3f0093d0 44196 * include/grub/kernel.h (grub_arch_memdisk_addr)
44197 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 44198
3f0093d0 44199 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
44200 (grub_arch_memdisk_size): ... to here.
ffd36e34 44201
6c391b21 442022008-01-21 Robert Millan <rmh@aybabtu.com>
44203
44204 Mostly based on bugfix from Bean.
44205
44206 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
44207 attribute with hook() parameter.
44208 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
44209 declaration.
44210 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
44211 attribute with hook() parameter.
44212 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
44213 declaration.
44214
55a581dc 442152008-01-21 Robert Millan <rmh@aybabtu.com>
44216
44217 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
44218 (pkglib_MODULES): Add `memdisk.mod'.
44219 (memdisk_mod_SOURCES): New variable.
44220 (memdisk_mod_CFLAGS): Likewise.
44221 (memdisk_mod_LDFLAGS): Likewise.
44222
44223 * disk/memdisk.c: New file.
44224
44225 * include/grub/disk.h (grub_disk_dev_id): Add
44226 `GRUB_DISK_DEVICE_MEMDISK_ID'.
44227
44228 * include/grub/i386/pc/kernel.h
44229 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
44230 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
44231 (grub_kernel_image_size): New variable declaration.
44232 (grub_total_module_size): Likewise.
44233 (grub_memdisk_image_size): Likewise.
44234
44235 * include/grub/i386/pc/memory.h
44236 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
44237
44238 * include/grub/kernel.h: Include `<grub/symbol.h>'.
44239 (grub_arch_memdisk_addr): New variable declaration.
44240 (grub_arch_memdisk_size): Likewise.
44241
44242 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
44243 (grub_arch_memdisk_size): Likewise.
44244
44245 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
44246 (codestart): Replace hardcoded `0x100000' with
44247 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
44248
44249 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
44250 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
44251 not NULL, append the contents of the file it refers to, at the end of
44252 the compressed kernel image. Initialize `grub_memdisk_image_size'
44253 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
44254 (options): Add "memdisk"|'m' option.
44255 (main): Parse --memdisk|-m option, and pass user-provided path as
44256 parameter to generate_image().
44257
3d7f54c9 442582008-01-20 Robert Millan <rmh@aybabtu.com>
44259
44260 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
44261 grub_dprintf() calls from here ...
44262 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
44263
0bf74728 442642008-01-20 Robert Millan <rmh@aybabtu.com>
44265
44266 Fix detection of "real mode" when /options/real-mode? doesn't exist.
44267
44268 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
44269 declaration.
44270 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
44271 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
44272 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 44273 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 44274 property).
44275 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
44276 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
44277
33bf70a7 442782008-01-19 Robert Millan <rmh@aybabtu.com>
44279
fe6b695a 44280 Get rid of confusing function (superseded by
33bf70a7 44281 `grub_ieee1275_get_integer_property')
44282 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
44283 prototype.
44284 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
44285 function.
44286 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
44287 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 44288 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 44289
e2da7d26 442902008-01-19 Robert Millan <rmh@aybabtu.com>
44291
44292 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
44293 command after "shut-down", since implementations differ on which
44294 the command for halt is.
44295
59f1fd8d 442962008-01-19 Robert Millan <rmh@aybabtu.com>
44297
44298 * include/grub/i386/linuxbios/console.h: Add header protection.
44299 (grub_keyboard_controller_init): New function prototype.
44300 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
44301 (KEYBOARD_COMMAND_READ): Likewise.
44302 (KEYBOARD_COMMAND_WRITE): Likewise.
44303 (KEYBOARD_SCANCODE_SET1): Likewise.
44304 (grub_keyboard_controller_write): New function.
44305 (grub_keyboard_controller_read): Likewise.
44306 (grub_keyboard_controller_init): Likewise.
44307
44308 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
44309 (grub_console_init): On coreboot/LinuxBIOS, call
44310 grub_keyboard_controller_init().
44311
5f5a7c15 443122008-01-19 Robert Millan <rmh@aybabtu.com>
44313
44314 PowerPC changes provided by Pavel Roskin.
44315
44316 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
44317 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
44318 don't rely on cmain() doing it.
44319 * kern/i386/ieee1275/startup.S (_start): Store %eax in
44320 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
44321
1210e168 443222008-01-16 Robert Millan <rmh@aybabtu.com>
44323
44324 * include/grub/i386/linuxbios/memory.h
44325 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
44326 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
44327 receive `table_header' as argument. Instead, probe for it in the
44328 known memory ranges where it can be present.
44329 (grub_available_iterate): Do not pass a fixed `table_header' address
44330 to grub_linuxbios_table_iterate().
44331
3d04eab8 443322008-01-15 Robert Millan <rmh@aybabtu.com>
44333
44334 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
44335 * conf/i386-ieee1275.rmk: New file.
44336 * include/grub/i386/ieee1275/console.h: Likewise.
44337 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
44338 * include/grub/i386/ieee1275/kernel.h: Likewise.
44339 * include/grub/i386/ieee1275/time.h: Likewise.
44340 * kern/i386/ieee1275/init.c: Likewise.
44341 * kern/i386/ieee1275/startup.S: Likewise.
44342
d1bc1b73 443432008-01-15 Robert Millan <rmh@aybabtu.com>
44344
44345 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
44346 when pointers are 32-bit (but still do set it to one when they are
44347 64-bit).
44348
66a65807 443492008-01-15 Robert Millan <rmh@aybabtu.com>
44350
44351 * include/grub/ieee1275/ieee1275.h
44352 (grub_ieee1275_get_integer_property): New function prototype.
44353
44354 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
44355 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 44356 grub_ieee1275_get_property() to handle endianness.
66a65807 44357
44358 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
44359 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 44360 where appropriate.
66a65807 44361 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
44362 (grub_map): Likewise.
44363 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
44364
a83ccafd 443652008-01-15 Bean <bean123ch@gmail.com>
44366
44367 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
44368 (grub_script_execute_cmdline): Reset grub_errno.
44369
44370 * normal/main.c (read_config_file): Reset grub_errno.
44371
44372 * normal/parse.y (script_init): New.
44373 (script): Move function and menuentry here.
44374 (delimiter): New.
44375 (command): Add delimiter at the end of command.
44376 (commands): Adjust to match the new command.
44377 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 44378 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 44379 (if): Use the new commands.
44380
44381 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
44382
df6ecfc6 443832008-01-15 Robert Millan <rmh@aybabtu.com>
44384
44385 * normal/menu.c (run_menu): Move timeout message from here ...
44386 (print_timeout): ... to here.
44387 (run_menu): Use print_timeout() once during initial draw to print
44388 the whole message, and again in every clock tick to update only
44389 the number of seconds.
44390
87ae25eb 443912008-01-15 Robert Millan <rmh@aybabtu.com>
44392
44393 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
44394 actual size of `available' from grub_ieee1275_get_property(), and
44395 restrict parsing to that bound.
44396
47bf09a4 443972008-01-15 Christian Franke <franke@computer.org>
44398
44399 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
44400 (argp_program_version): Remove variable.
44401 (argp_program_bug_address): Likewise.
44402 (options): Convert from struct argp_option to struct option.
44403 (struct arguments): Remove.
44404 (parse_opt): Remove.
44405 (usage): New function.
44406 (main): Replace struct args members by simple variables.
44407 Replace argp_parse() by getopt_long().
44408 Add switch to evaluate options.
44409 Add missing "(...)" around root_dev in prefix string.
44410
c86f1469 444112008-01-14 Robert Millan <rmh@aybabtu.com>
44412
44413 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
44414 for grub_ieee1275_exit(), in order to improve portability.
44415
e622c559 444162008-01-14 Robert Millan <rmh@aybabtu.com>
44417
44418 * util/grub.d/10_linux.in (prefix): Define.
44419 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
44420
44cb1ec8 444212008-01-13 Pavel Roskin <proski@gnu.org>
44422
44423 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
44424 grub_errno if no errors have been detected.
44425
1eb8c802 444262008-01-12 Robert Millan <rmh@aybabtu.com>
44427
44428 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
44429 (grub_util_get_dev_abstraction): New function prototype.
44430
44431 * util/getroot.c: Include `<grub/util/getroot.h>'
44432 (grub_util_get_grub_dev): Move detection of abstraction type to ...
44433 (grub_util_get_dev_abstraction): ... here (new function).
44434
44435 * util/grub-probe.c: Convert PRINT_* to an enum. Add
44436 `PRINT_ABSTRACTION'.
44437 (probe): Probe for abstraction type when requested.
44438 (main): Understand `--target=abstraction'.
44439
44440 * util/i386/efi/grub-install.in: Add abstraction module to core
44441 image when it is found to be necessary.
44442 * util/i386/pc/grub-install.in: Likewise.
44443 * util/powerpc/ieee1275/grub-install.in: Likewise.
44444
44445 * util/update-grub_lib.in (font_path): Return system path without
44446 converting to GRUB path.
44447 * util/update-grub.in: Convert system path returned by font_path()
44448 to a GRUB path. Use `grub-probe -t abstraction' to determine what
44449 abstraction module is needed for loading fonts (if any). Export
44450 that as `GRUB_PRELOAD_MODULES'.
44451 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
44452 insmod commands).
44453
52bd3de9 444542008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
44455
44456 Remove some unused code from reiserfs.
f19dbdb7 44457
52bd3de9 44458 * fs/reiserfs.c (struct grub_reiserfs_key)
44459 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
44460 (struct grub_reiserfs_node_body): Removed.
44461 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44462 Likewise.
44463 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44464 Likewise.
44465 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44466 Likewise.
44467 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44468 Likewise.
44469 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44470 Likewise.
44471 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
44472 Likewise.
44473 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44474 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44475 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44476
2f80039d 444772008-01-10 Robert Millan <rmh@aybabtu.com>
44478
44479 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
44480 Determines if a file is garbage left by packaging systems, etc.
44481 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
44482 for processing /etc/grub.d scripts.
44483 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
44484 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
44485 as a condition for processing Linux images.
44486
87888032 444872008-01-10 Pavel Roskin <proski@gnu.org>
44488
44489 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
44490 to compile reiserfs.c on PowerPC.
44491
7e54fced 444922008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 44493
44494 * kern/device.c (grub_device_iterate): Do not abort device iteration
44495 when one of the devices cannot be opened.
44496 * kern/disk.c (grub_disk_open): Do not account previous failures of
44497 unrelated functions when grub_errno is checked for.
44498
5aa541e6 444992008-01-08 Robert Millan <rmh@aybabtu.com>
44500
44501 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
44502 `! grub_linux_is_bzimage', change order of address comparison to make
44503 it more intuitive, and improve "too big zImage" error message.
44504
7076340d 445052008-01-08 Robert Millan <rmh@aybabtu.com>
44506
44507 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
44508 `$(update-grub_DATA)'.
44509 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
44510 targets.
44511
9ca70333 445122008-01-07 Robert Millan <rmh@aybabtu.com>
44513
44514 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
44515 which instruction is modified by grub-setup during installation
44516 (since it wasn't obvious by only looking at this file).
44517
38ccf575 445182008-01-07 Robert Millan <rmh@aybabtu.com>
44519
44520 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
44521 listing actual TODO items.
44522
f5db4291 445232008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44524
868967cf 44525 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
44526 correctly.
44527 (grub_reiserfs_get_key_offset): Likewise.
44528 (grub_reiserfs_set_key_offset): Likewise.
44529 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 44530 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 44531
44532 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
44533 better to remove the bitfield version completely.
f19dbdb7 44534
868967cf 445352008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44536
f5db4291 44537 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
44538 allocated from the heap, due to the fshelp implementation.
44539 (grub_reiserfs_dir): Free NODE, due to the same reason.
44540
492e6d9d 445412008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44542
44543 Mostly from Vincent Pelletier:
f19dbdb7 44544
492e6d9d 44545 * fs/reiserfs.c: New file.
f19dbdb7 44546
492e6d9d 44547 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
44548 (reiserfs_mod_SOURCES): New variable.
44549 (reiserfs_mod_CFLAGS): Likewise.
44550 (reiserfs_mod_LDFLAGS): Likewise.
44551
44552 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
44553 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
44554 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
44555 normal/color.c.
44556
9ce3e7c1 445572008-01-06 Robert Millan <rmh@aybabtu.com>
44558
44559 * normal/color.c: Remove `<grub/env.h>'.
44560
f3b58148 445612008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
44562
44563 * include/grub/normal.h: Include <grub/env.h>.
44564
7ac3bcfa 445652008-01-05 Robert Millan <rmh@aybabtu.com>
44566
44567 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
44568 usage example with `(hd0,1)'.
fb358190 44569 Reported by Samuel Thibault.
7ac3bcfa 44570
c8ee99d7 445712008-01-05 Robert Millan <rmh@aybabtu.com>
44572
44573 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
44574 (grub_linux_boot_zimage): Rename to ...
44575 (grub_linux_boot): ... this.
44576 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
44577 (grub_linux_boot_zimage): Conditionalize zImage copy.
44578
44579 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
44580 (grub_linux_boot_bzimage): Remove prototype.
44581 (grub_linux_boot_zimage): Rename to ...
44582 (grub_linux_boot): ... this.
44583
44584 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
44585 (grub_linux_boot): Remove function.
44586
0ece25b1 445872008-01-05 Robert Millan <rmh@aybabtu.com>
44588
44589 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
44590 (grub_env_write_color_highlight): Likewise.
44591 (grub_wait_after_message): Likewise.
44592
44593 * normal/color.c: New file.
44594
44595 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44596 (normal_mod_DEPENDENCIES): Likewise.
44597
44598 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44599 (normal_mod_DEPENDENCIES): Likewise.
44600
44601 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44602 (normal_mod_DEPENDENCIES): Likewise.
44603
44604 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44605 (normal_mod_DEPENDENCIES): Likewise.
44606
44607 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
44608 for waiting after a message is printed.
44609 * normal/main.c (read_config_file): Likewise.
44610 (grub_normal_init): Register grub_env_write_color_normal() and
44611 grub_env_write_color_highlight() hooks. Mark `color_normal' and
44612 `color_highlight' variables as global.
44613
44614 * normal/menu.c (grub_wait_after_message): New function.
44615 (grub_color_menu_normal): New variable. Replaces ...
44616 (GRUB_COLOR_MENU_NORMAL): ... this macro.
44617 (grub_color_menu_highlight): New variable. Replaces ...
44618 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
44619 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
44620 `GRUB_TERM_COLOR_STANDARD'.
44621 (print_message): Use `grub_setcolorstate' to reload colors. Rename
44622 `normal_code' and `highlight_code' to `old_color_normal' and
44623 `old_color_highlight', respectively.
44624 (grub_menu_init_page): Update colors when drawing the menu, based on
44625 `menu_color_normal' and `menu_color_highlight' variables.
44626 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
44627 a message is printed.
44628
182dd4e5 446292008-01-05 Robert Millan <rmh@aybabtu.com>
44630
44631 * kern/env.c (grub_env_context_open): Propagate hooks for global
44632 variables to new context.
44633
44634 * kern/main.c (grub_set_root_dev): Export `root' variable.
44635
ddf8f6ad 446362008-01-05 Robert Millan <rmh@aybabtu.com>
44637
44638 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 44639 discs unconditionally, since udev and others have options to provide
ddf8f6ad 44640 them.
44641
d8b43d9b 446422008-01-05 Robert Millan <rmh@aybabtu.com>
44643
44644 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
44645
2bff2de3 446462008-01-04 Christian Franke <franke@computer.org>
44647
44648 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
44649 of eisa_mmap.
44650
97eab917 446512008-01-03 Pavel Roskin <proski@gnu.org>
44652
44653 * kern/i386/linuxbios/init.c: Put "void" to all function
44654 declarations with no arguments.
44655 * kern/powerpc/ieee1275/init.c: Likewise.
44656 * term/i386/pc/at_keyboard.c: Likewise.
44657 * term/i386/pc/vga_text.c: Likewise.
44658 * util/grub-mkdevicemap.c: Likewise.
44659
b9416d00 446602008-01-02 Robert Millan <rmh@aybabtu.com>
44661
44662 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
44663 message when loaded image is out of bounds.
44664 (grub_multiboot_load_elf64): Likewise.
44665
92695df9 446662008-01-02 Pavel Roskin <proski@gnu.org>
44667
44668 * util/grub.d/10_linux.in: Try version without ".old" when
44669 looking for initrd. It's better to use initrd from the newer
44670 kernel of the same version than no initrd at all.
44671
d98d9cad 446722008-01-01 Robert Millan <rmh@aybabtu.com>
44673
44674 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
44675
dbfdce36 446762008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
44677
f19dbdb7 44678 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 44679 grub_video_get_active_render_target.
44680 (grub_video_adapter): Added unmap_color and get_active_render_target.
44681
f19dbdb7 44682 * video/video.c: Added grub_video_unmap_color and
dbfdce36 44683 grub_video_get_active_render_target.
44684 (grub_video_get_info): Changed method to accept NULL pointer as an
44685 argument to allow detection of active video adapter.
44686
44687 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
44688 grub_video_vbe_unmap_color_int.
44689 Added grub_video_vbe_unmap_color and
44690 grub_video_vbe_get_active_render_target.
44691 (grub_video_vbe_adapter): Added unmap_color and
44692 get_active_render_target.
44693
f19dbdb7 44694 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 44695 with grub_video_vbe_unmap_color_int.
44696
44697 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
44698 (DEFAULT_NORMAL_COLOR): Likewise.
44699 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
44700 (DEFAULT_FG_COLOR): Removed.
44701 (DEFAULT_BG_COLOR): Likewise.
44702 (DEFAULT_CURSOR_COLOR): Changed value.
44703 (grub_virtual_screen): Added standard_color_setting,
44704 normal_color_setting, highlight_color_setting and term_color.
44705 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
44706 (bitmap_width): Added.
44707 (bitmap_height): Likewise.
44708 (bitmap): Likewise.
44709 (set_term_color): Likewise.
44710 (grub_virtual_screen_setup): Changed to use new terminal coloring
44711 settings.
44712 (grub_gfxterm_init): Added init for bitmap.
44713 (grub_gfxterm_fini): Added destroy for bitmap.
44714 (redraw_screen_rect): Updated to use background bitmap and new
44715 terminal coloring.
44716 (scroll_up): Added optimization for case when there is no bitmap.
44717 (grub_gfxterm_cls): Fixed to use correct background color.
44718 (grub_virtual_screen_setcolorstate): Changed to use new terminal
44719 coloring.
44720 (grub_virtual_screen_setcolor): Likewise.
44721 (grub_virtual_screen_getcolor): Added.
44722 (grub_gfxterm_background_image_cmd): Likewise.
44723 (grub_video_term): Added setcolor and getcolor.
44724 (MOD_INIT): Added registration of background_image command.
44725 (MOD_TERM): Added unregistration for background_image command.
44726
c3c20931 447272007-12-30 Pavel Roskin <proski@gnu.org>
44728
44729 * loader/multiboot_loader.c: Fix multiboot command
44730 unregistration. Fix all typos in the word "multiboot".
44731
df266716 447322007-12-29 Pavel Roskin <proski@gnu.org>
94239199 44733
44734 * util/grub.d/10_linux.in: Refactor search for initrd. Add
44735 support for initrd names used in Fedora.
44736
fc6e896c 447372007-12-26 Bean <bean123ch@gmail.com>
44738
44739 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
44740 (cpio_mod_SOURCES): New variable.
44741 (cpio_mod_CFLAGS): Likewise.
44742 (cpio_mod_LDFLAGS): Likewise.
44743
44744 * fs/cpio.c: New file.
44745
44746 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
44747
44748 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44749
44750 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44751
44752 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44753
533110ad 447542007-12-25 Robert Millan <rmh@aybabtu.com>
44755
44756 * include/grub/term.h (struct grub_term): Add `getcolor' function.
44757 (grub_getcolor): New function.
44758
44759 * kern/term.c (grub_getcolor): New function.
44760 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
44761 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
44762 (print_entry): Set normal and highlight colors to
44763 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
44764 respectively, before printing and restore them to old
44765 values afterwards.
44766 (grub_menu_init_page): Likewise. Fill an additional colored space
44767 that would otherwise be left blank.
44768
44769 * term/efi/console.c (grub_console_getcolor): New function.
44770 (struct grub_console_term.getcolor): New variable.
44771 * term/i386/pc/console.c (grub_console_getcolor): New function.
44772 (struct grub_console_term.getcolor): New variable.
44773 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
44774 (struct grub_console_term.getcolor): New variable.
44775
44776 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
44777 (struct grub_console_term.setcolor): Remove variable.
44778 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
44779 (struct grub_console_term.setcolor): Remove variable.
44780 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
44781 (struct grub_console_term.setcolor): Remove variable.
44782 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
44783 (struct grub_console_term.setcolor): Remove variable.
44784
4931827f 447852007-12-25 Robert Millan <rmh@aybabtu.com>
44786
44787 * configure.ac: Search for possible unifont.hex locations, and
44788 define UNIFONT_HEX if found.
44789
44790 * Makefile.in (UNIFONT_HEX): Define variable.
44791 (DATA): Rename to ...
44792 (PKGLIB): ... this. Update all users.
44793 (PKGDATA): New variable.
44794 (pkgdata_IMAGES): Rename to ...
44795 (pkglib_IMAGES): ... this. Update all users.
44796 (pkgdata_MODULES): Rename to ...
44797 (pkglib_MODULES): ... this. Update all users.
44798 (pkgdata_PROGRAMS): Rename to ...
44799 (pkglib_PROGRAMS): ... this. Update all users.
44800 (pkgdata_DATA): Rename to ...
44801 (pkglib_DATA): ... this. Update all users.
44802 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
44803 (unicode.pff, ascii.pff): New rules.
44804 (all-local): Add `$(PKGDATA)' dependency.
44805 (install-local): Process `$(PKGDATA)'.
44806
44807 * util/update-grub_lib.in (font_path): Search for *.pff files in
44808 a few more locations, including `${pkgdata}'.
44809
57e57e31 448102007-12-23 Robert Millan <rmh@aybabtu.com>
44811
44812 Patch from Bean <bean123ch@gmail.com>:
44813 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
44814 `size'.
44815
4bc72aa9 448162007-12-21 Bean <bean123ch@gmail.com>
44817
44818 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
44819 (ntfscomp_mod_SOURCES): New variable.
44820 (ntfscomp_mod_CFLAGS): Likewise.
44821 (ntfscomp_mod_LDFLAGS): Likewise.
44822
44823 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
44824 (grub_probe_SOURCES): Likewise.
44825 (grub_emu_SOURCES): Likewise.
44826
44827 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44828 (grub_emu_SOURCES): Likewise.
44829
44830 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44831 (grub_emu_SOURCES): Likewise.
44832
44833 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44834 (grub_emu_SOURCES): Likewise.
44835
44836 * fs/ntfs.c (grub_ntfscomp_func): New variable.
44837 (read_run_list): Renamed to grub_ntfs_read_run_list.
44838 (decomp_nextvcn): Moved to ntfscomp.c.
44839 (decomp_getch): Likewise.
44840 (decomp_get16): Likewise.
44841 (decomp_block): Likewise.
44842 (read_block): Likewise.
44843 (read_data): Partially moved to ntfscomp.c.
44844 (fixup): Change unsigned to grub_uint16_t.
44845 (read_mft): Change unsigned long to grub_uint32_t.
44846 (read_attr): Likewise.
44847 (read_data): Likewise.
44848 (read_run_data): Likewise.
44849 (read_run_list): Likewise.
44850 (read_mft): Likewise.
44851
44852 * fs/ntfscomp.c: New file.
44853
44854 * include/grub/ntfs.h: New file.
44855
af680a87 448562007-12-16 Robert Millan <rmh@aybabtu.com>
44857
44858 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
44859 IDE disk check, since Linux is known to support 20 IDE disks.
44860 Reported by Colin Watson.
44861
84be7599 448622007-12-15 Bean <bean123ch@gmail.com>
44863
44864 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
44865 (lnxboot_img_SOURCES): New variable.
44866 (lnxboot_img_ASFLAGS): Likewise.
44867 (lnxboot_img_LDFLAGS): Likewise.
44868
44869 * boot/i386/pc/lnxboot.S: New file.
44870
6af9db01 448712007-11-24 Pavel Roskin <proski@gnu.org>
44872
44873 * configure.ac: Test if '--build-id=none' is supported by the
44874 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
44875 objcopy to generate incorrect binary files (binutils
44876 2.17.50.0.18-1 as shipped by Fedora 8).
44877 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
44878 linking, so that build ID doesn't break the test.
44879
7361cfe6 448802007-11-24 Pavel Roskin <proski@gnu.org>
44881
44882 * include/grub/i386/time.h: use "void" in the argument list
44883 of grub_cpu_idle().
44884 * include/grub/powerpc/time.h: Likewise.
44885 * include/grub/sparc64/time.h: Likewise.
44886
1593e10c 448872007-11-18 Christian Franke <franke@computer.org>
44888
44889 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
44890 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
44891 This fixes the problem that function keys did not work in grub-emu.
44892
3b8db1a8 448932007-11-18 Christian Franke <franke@computer.org>
44894
44895 * disk/host.c (grub_host_open): Remove attribute unused from
44896 name parameter. Add check for "host". This fixes the problem
44897 that grub-emu does not find partitions.
44898
2e29408d 448992007-11-18 Christian Franke <franke@computer.org>
44900
44901 * util/hostfs.c (is_dir): New function.
44902 (grub_hostfs_dir): Handle missing dirent.d_type case.
44903 (grub_hostfs_read): Add missing fseek().
44904 (grub_hostfs_label): Clear label pointer. This fixes a crash
44905 of grub-emu on "ls (host)".
44906
398cd047 449072007-11-18 Christian Franke <franke@computer.org>
44908
44909 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
44910 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
44911 to 64 bit boundary by default.
44912
c405c391 449132007-11-18 Bean <bean123ch@gmail.com>
44914
44915 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
44916 (hexdump_mod_SOURCES): New variable.
44917 (hexdump_mod_CFLAGS): Likewise.
44918 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 44919
c405c391 44920 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44921
44922 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44923
44924 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44925
44926 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44927
44928 * include/grub/hexdump.h: New file.
44929
44930 * commands/hexdump.c: New file.
44931
5cced7fd 449322007-11-10 Robert Millan <rmh@aybabtu.com>
44933
44934 * commands/i386/pc/play.c (beep_off): Switch order of arguments
44935 in grub_outb() calls.
44936 (beep_on): Likewise.
44937
8b714eb0 449382007-11-10 Christian Franke <franke@computer.org>
44939
44940 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
44941 (grub_menu_run): Likewise.
44942
ce0f1839 449432007-11-10 Robert Millan <rmh@aybabtu.com>
44944
44945 * include/grub/i386/efi/machine.h: New file.
44946 * include/grub/i386/linuxbios/machine.h: Likewise.
44947 * include/grub/i386/pc/machine.h: Likewise.
44948 * include/grub/powerpc/ieee1275/machine.h: Likewise.
44949 * include/grub/sparc64/ieee1275/machine.h: Likewise.
44950
44951 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
44952 (serial_hw_io_addr): New variable.
44953 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
44954 instead of `(unsigned short *) 0x400'.
44955
270c237d 449562007-11-10 Bean <bean123ch@gmail.com>
44957
44958 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
44959
a87783bf 449602007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
44961
44962 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
44963 (vga_mod_SOURCES): Added.
44964 (vga_mod_CFLAGS): Likewise.
44965 (vga_mod_LDFLAGS): Likewise.
44966
44967 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
44968 grub_outb() calls.
44969 (set_map_mask): Likewise.
44970 (set_read_map): Likewise.
44971 (set_read_address): Likewise.
44972 (vga_font): Removed variable.
44973 (get_vga_glyph): Removed function.
44974 (invalidate_char): Likewise.
44975 (write_char): Changed to use grub_font_get_glyph() for font
44976 information.
44977 (grub_vga_putchar): Likewise.
44978 (grub_vga_getcharwidth): Likewise.
44979
6433b448 449802007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
44981
44982 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
44983 flags.
44984 (pxeboot_img_LDFLAGS): Likewise.
44985 (diskboot_img_LDFLAGS): Likewise.
44986 (kernel_img_LDFLAGS): Likewise.
44987
49178511 449882007-11-06 Robert Millan <rmh@aybabtu.com>
44989
44990 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
44991 in grub_outb() calls.
44992 (serial_hw_init): Likewise.
44993
53b052de 449942007-11-05 Robert Millan <rmh@aybabtu.com>
44995
44996 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
44997 spaces. Skip non-regular files.
44998
5ab33bba 449992007-11-05 Robert Millan <rmh@aybabtu.com>
45000
45001 * kern/disk.c (grub_disk_firmware_fini)
45002 (grub_disk_firmware_is_tainted): New variables.
45003
45004 * include/grub/disk.h (grub_disk_firmware_fini)
45005 (grub_disk_firmware_is_tainted): Likewise.
45006
45007 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
45008 (grub_disk_biosdisk_fini): ... to here.
45009 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
45010 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
45011 is set. Register grub_disk_biosdisk_fini() in
45012 `grub_disk_firmware_fini'.
45013
45014 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
45015 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
45016 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
45017 to finish existing firmware disk interface.
45018
45019 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
45020 (ata_mod_SOURCES): New variable.
45021 (ata_mod_CFLAGS): Likewise.
45022 (ata_mod_LDFLAGS): Likewise.
45023
0149ab7c 450242007-11-05 Robert Millan <rmh@aybabtu.com>
45025
45026 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
45027 (grub_ata_wait): Reimplement using grub_millisleep().
45028
45029 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
45030 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
45031
be7ac41e 450322007-11-03 Marco Gerards <marco@gnu.org>
45033
45034 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
45035 (CRTC_ADDR_PORT): New macro.
45036 (CRTC_DATA_PORT): Likewise.
45037 (CRTC_CURSOR): Likewise.
45038 (CRTC_CURSOR_ADDR_HIGH): Likewise.
45039 (CRTC_CURSOR_ADDR_LOW): Likewise.
45040 (update_cursor): New function.
45041 (grub_console_real_putchar): Call `update_cursor'.
45042 (grub_console_gotoxy): Likewise.
45043 (grub_console_cls): Set the default color when clearing the
45044 screen.
45045 (grub_console_setcursor): Implemented.
45046
bb06ab2e 450472007-11-03 Marco Gerards <marco@gnu.org>
45048
45049 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
45050 become activate.
45051 (grub_ata_pio_write): Likewise.
45052
45053 (grub_atapi_identify): Wait after issuing an ATA command.
45054 (grub_atapi_packet): Likewise.
45055 (grub_ata_identify): Likewise.
45056 (grub_ata_readwrite): Likewise.
45057
cf8f780b 450582007-11-03 Marco Gerards <marco@gnu.org>
45059
45060 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
45061 (grub_ata_pio_write): Likewise.
45062 (grub_ata_readwrite): Use `grub_error', instead of
45063 returning `grub_errno'.
45064
ed649e54 450652007-11-03 Marco Gerards <marco@gnu.org>
45066
45067 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
45068 grub_ata_pio_write once for every single sector, instead of for
45069 multiple sectors.
45070
ca25d8f0 450712007-10-31 Robert Millan <rmh@aybabtu.com>
45072
45073 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
45074
45075 * conf/i386-linuxbios.rmk: New file.
45076
45077 * kern/i386/pc/hardware.c: Likewise.
45078 * term/i386/pc/at_keyboard.c: Likewise.
45079 * term/i386/pc/vga_text.c: Likewise.
45080
45081 * include/grub/i386/linuxbios/boot.h: Likewise.
45082 * include/grub/i386/linuxbios/console.h: Likewise.
45083 * include/grub/i386/linuxbios/init.h: Likewise.
45084 * include/grub/i386/linuxbios/kernel.h: Likewise.
45085 * include/grub/i386/linuxbios/loader.h: Likewise.
45086 * include/grub/i386/linuxbios/memory.h: Likewise.
45087 * include/grub/i386/linuxbios/serial.h: Likewise.
45088 * include/grub/i386/linuxbios/time.h: Likewise.
45089
45090 * kern/i386/linuxbios/init.c: Likewise.
45091 * kern/i386/linuxbios/startup.S: Likewise.
45092 * kern/i386/linuxbios/table.c: Likewise.
45093
e911ecc1 450942007-10-31 Marco Gerards <marco@gnu.org>
45095
45096 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
45097 (ata_mod_SOURCES): New variable.
45098 (ata_mod_CFLAGS): Likewise.
45099 (ata_mod_LDFLAGS): Likewise.
45100
45101 * disk/ata.c: New file.
45102
45103 * include/grub/disk.h (grub_disk_dev_id): Add
45104 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 45105
7f66d0e0 451062007-10-31 Robert Millan <rmh@aybabtu.com>
45107
45108 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
45109 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
45110
45111 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
45112 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
45113
45114 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
45115 `<grub/types.h>'.
45116
45117 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
45118
5cd7dd46 451192007-10-27 Robert Millan <rmh@aybabtu.com>
45120
3236ca65 45121 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 45122
2ebfc90f 451232007-10-22 Robert Millan <rmh@aybabtu.com>
45124
45125 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
45126 `"../realmode.S"'.
45127 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
45128
73fcb0f3 451292007-10-22 Robert Millan <rmh@aybabtu.com>
45130
45131 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
45132 (pkgdata_MODULES): Add `biosdisk.mod'.
45133 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
45134 variables.
45135
45136 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
45137 (grub_biosdisk_init): Replace with ...
45138 (GRUB_MOD_INIT(biosdisk)): ... this.
45139 (grub_biosdisk_fini): Replace with ...
45140 (GRUB_MOD_FINI(biosdisk)): ... this.
45141
45142 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
45143 (grub_machine_init): Remove call to grub_biosdisk_init().
45144 (grub_machine_fini): Remove call to grub_machine_fini().
45145
45146 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
45147
3381d274 451482007-10-22 Robert Millan <rmh@aybabtu.com>
45149
45150 * include/grub/time.h: New file.
45151 * include/grub/i386/time.h: Likewise.
45152 * include/grub/powerpc/time.h: Likewise.
45153 * include/grub/sparc64/time.h: Likewise.
45154
45155 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
45156 instances to ...
45157 (KERNEL_MACHINE_TIME_HEADER): ... this.
45158 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45159 instances to ...
45160 (KERNEL_MACHINE_TIME_HEADER): ... this.
45161 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45162 instances to ...
45163 (KERNEL_MACHINE_TIME_HEADER): ... this.
45164
45165 * kern/i386/efi/init.c: Include `<grub/time.h>'.
45166 (grub_millisleep): New function.
45167 * kern/i386/pc/init.c: Include `<grub/time.h>'.
45168 (grub_millisleep): New function.
45169 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
45170 Remove `grub/machine/time.h' include.
45171 (grub_millisleep): New function.
45172 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
45173 Remove `grub/machine/time.h' include.
45174 (grub_millisleep): New function.
45175
45176 * include/grub/misc.h (grub_div_roundup): New function.
45177
45178 * kern/misc.c: Include `<grub/time.h>'.
45179 (grub_millisleep_generic): New function.
45180
45181 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
45182 Add `time.h'.
45183 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
45184 Add `time.h'.
45185 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
45186 `machine/time.h'. Add `time.h'.
45187 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45188
a39a0312 451892007-10-21 Robert Millan <rmh@aybabtu.com>
45190
45191 * include/grub/misc.h (grub_max): New function.
45192
2aad70e2 451932007-10-21 Robert Millan <rmh@aybabtu.com>
45194
45195 * util/misc.c (grub_util_info): Call fflush() before returning.
45196
54b71c4b 451972007-10-20 Robert Millan <rmh@aybabtu.com>
45198
45199 * genmk.rb (Image): Copy `extra_flags' from here ...
45200 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
45201
45202 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
45203 to `argc' and `args' arguments.
45204
a979f513 452052007-10-17 Robert Millan <rmh@aybabtu.com>
45206
45207 * kern/i386/loader.S: New file.
45208
45209 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
45210 * kern/i386/loader.S (grub_linux_prot_size)... to here.
45211 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
45212 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
45213 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
45214 * kern/i386/loader.S (grub_linux_real_addr)... to here.
45215 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
45216 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
45217 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
45218 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
45219 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
45220 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
45221 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
45222 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
45223
45224 * kern/i386/realmode.S: New file.
45225
45226 * kern/i386/pc/startup.S (protstack): Moved from here ...
45227 * kern/i386/realmode.S (protstack)... to here.
45228 * kern/i386/pc/startup.S (gdt): Moved from here ...
45229 * kern/i386/realmode.S (gdt)... to here.
45230 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
45231 * kern/i386/realmode.S (prot_to_real)... to here.
45232
45233 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
45234 `kern/i386/realmode.S'.
45235
825fc8fd 452362007-10-17 Robert Millan <rmh@aybabtu.com>
45237
45238 * include/grub/i386/loader.h: New file.
45239
45240 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
45241 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45242 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45243 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45244 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
45245 * include/grub/i386/loader.h (grub_linux_prot_size)
45246 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45247 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45248 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45249 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
45250
45251 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
45252
e179b2f4 452532007-10-15 Robert Millan <rmh@aybabtu.com>
45254
45255 * normal/misc.c (grub_normal_print_device_info): Do not probe for
45256 filesystem when dev->disk is unset.
45257 Do probe for filesystem even when dev->disk->has_partitions is set.
45258 In case a filesystem is found, always report it.
45259 In case it isn't, if dev->disk->has_partitions is set, report that
45260 a partition table was found instead of reporting that no filesystem
45261 could be identified.
45262
5db82af6 452632007-10-12 Robert Millan <rmh@aybabtu.com>
45264
45265 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
45266 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
45267
68f6ac74 45268 * include/grub/types.h (grub_host_to_target16): New macro.
45269 (grub_host_to_target32): Likewise.
45270 (grub_host_to_target64): Likewise.
45271 (grub_target_to_host16): Likewise.
45272 (grub_target_to_host32): Likewise.
45273 (grub_target_to_host64): Likewise.
5db82af6 45274
45275 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
45276 Renamed from to ...
45277 (GRUB_MOD_ALIGN): ...this. Update all users.
45278
68f6ac74 45279 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
45280 grub_host_to_target32.
45281 Replace grub_be_to_cpu32 with grub_target_to_host32.
45282 (load_modules): Likewise.
45283 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
45284 Replace grub_be_to_cpu32 with grub_target_to_host32.
45285 Replace grub_cpu_to_be16 with grub_host_to_target16.
45286 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 45287
3cf497cc 452882007-10-12 Robert Millan <rmh@aybabtu.com>
45289
45290 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
45291 * util/elf/grub-mkimage.c: ... here.
45292
45293 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
45294 `util/powerpc/ieee1275/grub-mkimage.c'.
45295
c8cc3692 452962007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 45297
c8cc3692 45298 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
45299 and make it easier to figure out.
45300 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
45301 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
45302 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
45303 leave us with less than HEAP_MIN_SIZE total heap.
45304 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 45305
5c58b791 453062007-10-03 Robert Millan <rmh@aybabtu.com>
45307
45308 * include/grub/i386/io.h: New file.
45309 * commands/i386/pc/play.c (inb): Removed.
45310 (outb): Removed.
45311 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45312 with grub_outb().
afcd2ef8 45313 * term/i386/pc/serial.c (inb): Removed.
45314 (outb): Removed.
45315 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45316 with grub_outb().
45317 * term/i386/pc/vga.c (inb): Removed.
45318 (outb): Removed.
45319 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45320 with grub_outb().
5c58b791 45321
1a477ed6 453222007-10-02 Robert Millan <rmh@aybabtu.com>
45323
45324 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
45325 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45326 Reported by Marcin Kurek.
45327
6b5d80fa 453282007-09-07 Robert Millan <rmh@aybabtu.com>
45329
45330 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
45331 SmartFirmware version updates (as released by Sven Luther), and avoid
45332 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
45333 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
45334 known broken.
45335
5618afbf 453362007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45337
45338 From Hitoshi Ozeki:
45339 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
45340 when merging two regions.
45341
6139dcd9 453422007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45343
508e39ee 45344 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
45345 * normal/completion.c (grub_normal_do_completion): Likewise.
45346 Reported by Hitoshi Ozeki.
45347
453482007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45349
6139dcd9 45350 Do not use devices at boot in chainloading.
f19dbdb7 45351
6139dcd9 45352 * loader/i386/pc/chainloader.c (boot_drive): New variable.
45353 (boot_part_addr): Likewise.
45354 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
45355 with BOOT_DRIVE and BOOT_PART_ADDR.
45356 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
45357 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
45358
38da6516 453592007-08-29 Robert Millan <rmh@aybabtu.com>
45360
45361 Patch from Simon Peter <dn.tlp@gmx.net>:
45362 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
45363 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
45364 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
45365 util/i386/pc/grub-setup.c_DEPENDENCIES.
45366 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
45367 util/grub-probe.c_DEPENDENCIES.
45368 * conf/powerpc-ieee1275.rmk: Likewise.
45369
29d0928c 453702007-08-28 Robert Millan <rmh@aybabtu.com>
45371
45372 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
45373 to tell grub-mkdevicemap how to name devices.
45374 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
45375 feature).
45376
45377 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
45378 util/i386/get_disk_name.c.
45379 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
45380 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
45381 util/ieee1275/get_disk_name.c.
45382
45383 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
45384
45385 * DISTLIST: Add util/i386/get_disk_name.c and
45386 util/ieee1275/get_disk_name.c.
45387
45388 * util/grub-mkdevicemap.c: Replace device naming logic with
45389 grub_util_get_disk_name() calls.
45390
5a0d3cca 453912007-08-20 Robert Millan <rmh@aybabtu.com>
45392
45393 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
45394 (so that it works for both plural and singular quantities).
45395
8b72db2f 453962007-08-05 Robert Millan <rmh@aybabtu.com>
45397
45398 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
45399 so that [xz] isn't taken into account when determining order.
45400
352466bf 454012007-08-02 Marco Gerards <marco@gnu.org>
45402
45403 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
45404 `include/multiboot2.h', `include/grub/elfload.h',
45405 `include/multiboot.h', `include/grub/multiboot.h',
45406 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
45407 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
45408 `kern/elf.c', `loader/multiboot_loader.c',
45409 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
45410 `loader/i386/pc/multiboot2.c',
45411 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
45412 `util/i386/pc/grub-mkrescue.in'. Remove
45413 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
45414 `include/grub/i386/pc/util/biosdisk.h' and
45415 `include/grub/powerpc/ieee1275/multiboot.h'.
45416
8f096014 454172007-08-02 Bean <bean123ch@gmail.com>
45418
45419 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
45420 (ntfs_mod_SOURCES): New variable.
45421 (ntfs_mod_CFLAGS): Likewise.
45422 (ntfs_mod_LDFLAGS): Likewise.
45423
45424 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
45425 (grub_probe_SOURCES): Likewise.
45426 (grub_emu_SOURCES): Likewise.
45427
45428 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45429 (grub_emu_SOURCES): Likewise.
45430
45431 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45432 (grub_emu_SOURCES): Likewise.
f19dbdb7 45433
8f096014 45434 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
45435
45436 * fs/ntfs.c: New file.
45437
9959f7db 454382007-08-02 Bean <bean123ch@gmail.com>
45439
45440 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
45441
45442 * file.h (grub_file): Likewise.
45443
45444 * fshelp.h (grub_fshelp_read_file): Likewise.
45445
45446 * util/i386/pc/grub-setup.c (setup): Likewise.
45447 (save_first_sector): Likewise.
45448 (save_blocklists): Likewise.
f19dbdb7 45449
9959f7db 45450 * fs/affs.c (grub_affs_read_file): Likewise.
45451
45452 * fs/ext2.c (grub_ext2_read_file): Likewise.
45453
45454 * fs/fat.c (grub_fat_read_data): Likewise.
45455
45456 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
45457
45458 * fs/hfs.c (grub_hfs_read_file): Likewise.
45459
45460 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45461
45462 * fs/jfs.c (grub_jfs_read_file): Likewise.
45463
45464 * fs/minix.c (grub_minix_read_file): Likewise.
45465
45466 * fs/sfs.c (grub_sfs_read_file): Likewise.
45467
45468 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 45469
9959f7db 45470 * fs/xfs.c (grub_xfs_read_file): Likewise.
45471
45472 * command/blocklist.c (read_blocklist): Likewise.
45473 (print_blocklist): Likewise.
45474
0a203f83 454752007-08-02 Marco Gerards <marco@gnu.org>
45476
45477 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
45478 `util/hostfs.c'.
45479
45480 * disk/host.c: New file.
45481
45482 * util/hostfs.c: Likewise.
45483
45484 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
45485 return `GRUB_ERR_BAD_FS'.
45486 * fs/sfs.c (grub_sfs_mount): Likewise.
45487 * fs/xfs.c (grub_xfs_mount): Likewise.
45488
45489 * include/grub/disk.h (enum grub_disk_dev_id): Add
45490 `GRUB_DISK_DEVICE_HOST_ID'.
45491
45492 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
45493
e5dfe777 454942007-07-24 Jerone Young <jerone@gmail.com>
45495
f19dbdb7 45496 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 45497 modules for compilation.
45498 * conf/powerpc-ieee1275.rmk: Likewise.
45499
45500 * include/multiboot.h: Move multiboot definitions to one file. Rename
45501 many definitions to not get grub specific.
45502 * include/multiboot2.h: Create header with multiboot 2 definitions.
45503 * include/grub/multiboot.h: Header for grub specific function
45504 prototypes and definitions.
45505 * include/grub/multiboot2.h: Likewise.
45506 * include/grub/multiboot_loader.h: Likewise.
45507 * include/grub/i386/pc/multiboot.h: Removed.
45508 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
45509
45510 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
45511 and 2 to allow for one multiboot and module commands.
45512 * loader/multiboot2.c: Add multiboot2 functionality.
45513 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
45514 and definition names.
45515 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
45516 2 functions.
45517 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
45518 ieee1275 specific multiboot2 code.
45519
45520 * kern/i386/pc/startup.S: Change headers and definition names for
45521 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
45522
daf0f0ba 455232007-07-22 Robert Millan <rmh@aybabtu.com>
45524
45525 * geninitheader.sh: Process file specified in first parameter rather
45526 than hardcoding grub_modules_init.lst.
fe6b695a 45527 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 45528 than hardcoding grub_modules_init.h.
45529
45530 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
45531 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
45532 grub_probe_init.[ch] and grub_setup_init.[ch].
45533
45534 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
45535 grub_modules_init.h with grub_emu_init.h.
45536 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
45537 grub_probe_init.[ch] files.
45538 * conf/i386-efi.rmk: Likewise.
45539 * conf/i386-pc.rmk: Likewise.
45540 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
45541 grub_setup_init.[ch] files.
45542
45543 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
45544 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
45545 to initialize modules rather than a list of hardcoded functions.
45546 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
45547 grub_init_all() to initialize modules rather than a list of hardcoded
45548 functions.
45549
54cdc1cc 455502007-07-22 Robert Millan <rmh@aybabtu.com>
45551
45552 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
45553 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
45554
ad0686cc 455552007-07-22 Robert Millan <rmh@aybabtu.com>
45556
45557 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45558 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
45559 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
45560 flag when running on SmartFirmware.
45561 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
45562 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
45563 was set.
45564
45565 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
45566 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
45567 rather than decreasing it.
45568
45569 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
45570 there's not enough space to do it, fail in the same way as when it
45571 can't be done because there are no partitions.
45572
45573 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
45574 when nvsetenv failed.
45575
969c02ec 455762007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45577
45578 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
45579 because this rule is automatically generated.
45580 (grub-mkrescue): Removed for the same reason as above.
45581
5a79f472 455822007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45583
45584 Migrate to GNU General Public License Version 3.
f19dbdb7 45585
5a79f472 45586 * COPYING: Replaced with the plain text version of GPLv3.
45587
45588 * config.guess: Updated from gnulib.
45589 * config.sub: Likewise.
45590
45591 * geninit.sh: Output a GPLv3 copyright notice.
45592 * geninitheader.sh: Likewise.
45593 * genmodsrc.sh: Likewise.
45594 * gensymlist.sh.in: Likewise.
45595
45596 * boot/i386/pc/boot.S: Upgraded to GPLv3.
45597 * boot/i386/pc/diskboot.S: Likewise.
45598 * boot/i386/pc/pxeboot.S: Likewise.
45599 * commands/blocklist.c: Likewise.
45600 * commands/boot.c: Likewise.
45601 * commands/cat.c: Likewise.
45602 * commands/cmp.c: Likewise.
45603 * commands/configfile.c: Likewise.
45604 * commands/echo.c: Likewise.
45605 * commands/help.c: Likewise.
45606 * commands/ls.c: Likewise.
45607 * commands/search.c: Likewise.
45608 * commands/terminal.c: Likewise.
45609 * commands/test.c: Likewise.
45610 * commands/videotest.c: Likewise.
45611 * commands/i386/cpuid.c: Likewise.
45612 * commands/i386/pc/halt.c: Likewise.
45613 * commands/i386/pc/play.c: Likewise.
45614 * commands/i386/pc/reboot.c: Likewise.
45615 * commands/i386/pc/vbeinfo.c: Likewise.
45616 * commands/i386/pc/vbetest.c: Likewise.
45617 * commands/ieee1275/halt.c: Likewise.
45618 * commands/ieee1275/reboot.c: Likewise.
45619 * commands/ieee1275/suspend.c: Likewise.
45620 * disk/loopback.c: Likewise.
45621 * disk/lvm.c: Likewise.
45622 * disk/raid.c: Likewise.
45623 * disk/efi/efidisk.c: Likewise.
45624 * disk/i386/pc/biosdisk.c: Likewise.
45625 * disk/ieee1275/ofdisk.c: Likewise.
45626 * font/manager.c: Likewise.
45627 * fs/affs.c: Likewise.
45628 * fs/ext2.c: Likewise.
45629 * fs/fat.c: Likewise.
45630 * fs/fshelp.c: Likewise.
45631 * fs/hfs.c: Likewise.
45632 * fs/hfsplus.c: Likewise.
45633 * fs/iso9660.c: Likewise.
45634 * fs/jfs.c: Likewise.
45635 * fs/minix.c: Likewise.
45636 * fs/sfs.c: Likewise.
45637 * fs/ufs.c: Likewise.
45638 * fs/xfs.c: Likewise.
45639 * hello/hello.c: Likewise.
45640 * include/grub/acorn_filecore.h: Likewise.
45641 * include/grub/arg.h: Likewise.
45642 * include/grub/bitmap.h: Likewise.
45643 * include/grub/boot.h: Likewise.
45644 * include/grub/cache.h: Likewise.
45645 * include/grub/device.h: Likewise.
45646 * include/grub/disk.h: Likewise.
45647 * include/grub/dl.h: Likewise.
45648 * include/grub/elfload.h: Likewise.
45649 * include/grub/env.h: Likewise.
45650 * include/grub/err.h: Likewise.
45651 * include/grub/file.h: Likewise.
45652 * include/grub/font.h: Likewise.
45653 * include/grub/fs.h: Likewise.
45654 * include/grub/fshelp.h: Likewise.
45655 * include/grub/gzio.h: Likewise.
45656 * include/grub/hfs.h: Likewise.
45657 * include/grub/kernel.h: Likewise.
45658 * include/grub/loader.h: Likewise.
45659 * include/grub/lvm.h: Likewise.
45660 * include/grub/misc.h: Likewise.
45661 * include/grub/mm.h: Likewise.
45662 * include/grub/net.h: Likewise.
45663 * include/grub/normal.h: Likewise.
45664 * include/grub/parser.h: Likewise.
45665 * include/grub/partition.h: Likewise.
45666 * include/grub/pc_partition.h: Likewise.
45667 * include/grub/raid.h: Likewise.
45668 * include/grub/rescue.h: Likewise.
45669 * include/grub/script.h: Likewise.
45670 * include/grub/setjmp.h: Likewise.
45671 * include/grub/symbol.h: Likewise.
45672 * include/grub/term.h: Likewise.
45673 * include/grub/terminfo.h: Likewise.
45674 * include/grub/tparm.h: Likewise.
45675 * include/grub/types.h: Likewise.
45676 * include/grub/video.h: Likewise.
45677 * include/grub/efi/api.h: Likewise.
45678 * include/grub/efi/chainloader.h: Likewise.
45679 * include/grub/efi/console.h: Likewise.
45680 * include/grub/efi/console_control.h: Likewise.
45681 * include/grub/efi/disk.h: Likewise.
45682 * include/grub/efi/efi.h: Likewise.
45683 * include/grub/efi/pe32.h: Likewise.
45684 * include/grub/efi/time.h: Likewise.
45685 * include/grub/i386/linux.h: Likewise.
45686 * include/grub/i386/setjmp.h: Likewise.
45687 * include/grub/i386/types.h: Likewise.
45688 * include/grub/i386/efi/kernel.h: Likewise.
45689 * include/grub/i386/efi/loader.h: Likewise.
45690 * include/grub/i386/efi/time.h: Likewise.
45691 * include/grub/i386/pc/biosdisk.h: Likewise.
45692 * include/grub/i386/pc/boot.h: Likewise.
45693 * include/grub/i386/pc/chainloader.h: Likewise.
45694 * include/grub/i386/pc/console.h: Likewise.
45695 * include/grub/i386/pc/init.h: Likewise.
45696 * include/grub/i386/pc/kernel.h: Likewise.
45697 * include/grub/i386/pc/loader.h: Likewise.
45698 * include/grub/i386/pc/memory.h: Likewise.
45699 * include/grub/i386/pc/multiboot.h: Likewise.
45700 * include/grub/i386/pc/serial.h: Likewise.
45701 * include/grub/i386/pc/time.h: Likewise.
45702 * include/grub/i386/pc/vbe.h: Likewise.
45703 * include/grub/i386/pc/vbeblit.h: Likewise.
45704 * include/grub/i386/pc/vbefill.h: Likewise.
45705 * include/grub/i386/pc/vbeutil.h: Likewise.
45706 * include/grub/i386/pc/vga.h: Likewise.
45707 * include/grub/ieee1275/ieee1275.h: Likewise.
45708 * include/grub/ieee1275/ofdisk.h: Likewise.
45709 * include/grub/powerpc/libgcc.h: Likewise.
45710 * include/grub/powerpc/setjmp.h: Likewise.
45711 * include/grub/powerpc/types.h: Likewise.
45712 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
45713 * include/grub/powerpc/ieee1275/console.h: Likewise.
45714 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
45715 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
45716 * include/grub/powerpc/ieee1275/loader.h: Likewise.
45717 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
45718 * include/grub/powerpc/ieee1275/time.h: Likewise.
45719 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
45720 * include/grub/sparc64/libgcc.h: Likewise.
45721 * include/grub/sparc64/setjmp.h: Likewise.
45722 * include/grub/sparc64/types.h: Likewise.
45723 * include/grub/sparc64/ieee1275/console.h: Likewise.
45724 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
45725 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
45726 * include/grub/sparc64/ieee1275/time.h: Likewise.
45727 * include/grub/util/biosdisk.h: Likewise.
45728 * include/grub/util/getroot.h: Likewise.
45729 * include/grub/util/lvm.h: Likewise.
45730 * include/grub/util/misc.h: Likewise.
45731 * include/grub/util/raid.h: Likewise.
45732 * include/grub/util/resolve.h: Likewise.
45733 * io/gzio.c: Likewise.
45734 * kern/device.c: Likewise.
45735 * kern/disk.c: Likewise.
45736 * kern/dl.c: Likewise.
45737 * kern/elf.c: Likewise.
45738 * kern/env.c: Likewise.
45739 * kern/err.c: Likewise.
45740 * kern/file.c: Likewise.
45741 * kern/fs.c: Likewise.
45742 * kern/loader.c: Likewise.
45743 * kern/main.c: Likewise.
45744 * kern/misc.c: Likewise.
45745 * kern/mm.c: Likewise.
45746 * kern/parser.c: Likewise.
45747 * kern/partition.c: Likewise.
45748 * kern/rescue.c: Likewise.
45749 * kern/term.c: Likewise.
45750 * kern/efi/efi.c: Likewise.
45751 * kern/efi/init.c: Likewise.
45752 * kern/efi/mm.c: Likewise.
45753 * kern/i386/dl.c: Likewise.
45754 * kern/i386/efi/init.c: Likewise.
45755 * kern/i386/efi/startup.S: Likewise.
45756 * kern/i386/pc/init.c: Likewise.
45757 * kern/i386/pc/lzo1x.S: Likewise.
45758 * kern/i386/pc/startup.S: Likewise.
45759 * kern/ieee1275/ieee1275.c: Likewise.
45760 * kern/powerpc/cache.S: Likewise.
45761 * kern/powerpc/dl.c: Likewise.
45762 * kern/powerpc/ieee1275/cmain.c: Likewise.
45763 * kern/powerpc/ieee1275/crt0.S: Likewise.
45764 * kern/powerpc/ieee1275/init.c: Likewise.
45765 * kern/powerpc/ieee1275/openfw.c: Likewise.
45766 * kern/sparc64/cache.S: Likewise.
45767 * kern/sparc64/dl.c: Likewise.
45768 * kern/sparc64/ieee1275/init.c: Likewise.
45769 * kern/sparc64/ieee1275/openfw.c: Likewise.
45770 * loader/efi/chainloader.c: Likewise.
45771 * loader/efi/chainloader_normal.c: Likewise.
45772 * loader/i386/efi/linux.c: Likewise.
45773 * loader/i386/efi/linux_normal.c: Likewise.
45774 * loader/i386/pc/chainloader.c: Likewise.
45775 * loader/i386/pc/chainloader_normal.c: Likewise.
45776 * loader/i386/pc/linux.c: Likewise.
45777 * loader/i386/pc/linux_normal.c: Likewise.
45778 * loader/i386/pc/multiboot.c: Likewise.
45779 * loader/i386/pc/multiboot_normal.c: Likewise.
45780 * loader/powerpc/ieee1275/linux.c: Likewise.
45781 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45782 * normal/arg.c: Likewise.
45783 * normal/cmdline.c: Likewise.
45784 * normal/command.c: Likewise.
45785 * normal/completion.c: Likewise.
45786 * normal/execute.c: Likewise.
45787 * normal/function.c: Likewise.
45788 * normal/lexer.c: Likewise.
45789 * normal/main.c: Likewise.
45790 * normal/menu.c: Likewise.
45791 * normal/menu_entry.c: Likewise.
45792 * normal/misc.c: Likewise.
45793 * normal/parser.y: Likewise.
45794 * normal/script.c: Likewise.
45795 * normal/i386/setjmp.S: Likewise.
45796 * normal/powerpc/setjmp.S: Likewise.
45797 * normal/sparc64/setjmp.S: Likewise.
45798 * partmap/acorn.c: Likewise.
45799 * partmap/amiga.c: Likewise.
45800 * partmap/apple.c: Likewise.
45801 * partmap/gpt.c: Likewise.
45802 * partmap/pc.c: Likewise.
45803 * partmap/sun.c: Likewise.
45804 * term/gfxterm.c: Likewise.
45805 * term/terminfo.c: Likewise.
45806 * term/efi/console.c: Likewise.
45807 * term/i386/pc/console.c: Likewise.
45808 * term/i386/pc/serial.c: Likewise.
45809 * term/i386/pc/vesafb.c: Likewise.
45810 * term/i386/pc/vga.c: Likewise.
45811 * term/ieee1275/ofconsole.c: Likewise.
45812 * util/biosdisk.c: Likewise.
45813 * util/console.c: Likewise.
45814 * util/genmoddep.c: Likewise.
45815 * util/getroot.c: Likewise.
45816 * util/grub-emu.c: Likewise.
45817 * util/grub-mkdevicemap.c: Likewise.
45818 * util/grub-probe.c: Likewise.
45819 * util/lvm.c: Likewise.
45820 * util/misc.c: Likewise.
45821 * util/raid.c: Likewise.
45822 * util/resolve.c: Likewise.
45823 * util/update-grub.in: Likewise.
45824 * util/update-grub_lib.in: Likewise.
45825 * util/grub.d/00_header.in: Likewise.
45826 * util/grub.d/10_hurd.in: Likewise.
45827 * util/grub.d/10_linux.in: Likewise.
45828 * util/i386/efi/grub-install.in: Likewise.
45829 * util/i386/efi/grub-mkimage.c: Likewise.
45830 * util/i386/pc/grub-install.in: Likewise.
45831 * util/i386/pc/grub-mkimage.c: Likewise.
45832 * util/i386/pc/grub-mkrescue.in: Likewise.
45833 * util/i386/pc/grub-setup.c: Likewise.
45834 * util/i386/pc/misc.c: Likewise.
45835 * util/powerpc/ieee1275/grub-install.in: Likewise.
45836 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
45837 * util/powerpc/ieee1275/misc.c: Likewise.
45838 * video/bitmap.c: Likewise.
45839 * video/video.c: Likewise.
45840 * video/i386/pc/vbe.c: Likewise.
45841 * video/i386/pc/vbeblit.c: Likewise.
45842 * video/i386/pc/vbefill.c: Likewise.
45843 * video/i386/pc/vbeutil.c: Likewise.
45844 * video/readers/tga.c: Likewise.
45845
3572d015 458462007-07-02 Robert Millan <rmh@aybabtu.com>
45847
45848 * conf/i386-efi.rmk: Replace obsolete reference to
45849 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
45850 with util/getroot.c.
45851 * conf/powerpc-ieee1275.rmk: Likewise.
45852 * conf/sparc64-ieee1275.rmk: Likewise.
45853
45854 * util/grub-emu.c (main): Fix unchecked pointer handling.
45855
2c2a681b 458562007-07-02 Robert Millan <rmh@aybabtu.com>
45857
45858 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
45859 invocation to fail, in order to support partition-less media.
45860
45861 * util/i386/pc/grub-install.in: Likewise.
45862
45863 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
45864 which fs or partmap modules are needed (akin to its sister scripts).
45865
45866 Also use grub-probe to get rid of unportable /proc/mounts check.
45867
45868 Print the same informational message that the other scripts do, before
fe6b695a 45869 exiting.
2c2a681b 45870
6193defe 458712007-06-23 Robert Millan <rmh@aybabtu.com>
45872
fe6b695a 45873 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 45874 a font file can be found and, if so, echo the GRUB path to it.
45875
45876 * util/update-grub.in: Handle multiple terminals depending on user
45877 input, platform availability and font file presence. Propagate
45878 variables of our findings to /etc/grub.d/ children.
45879
45880 * util/grub.d/00_header.in: Handle multiple terminals, based on
45881 environment setup by update-grub.
45882
eface1dc 458832007-06-23 Robert Millan <rmh@aybabtu.com>
45884
ba50d28f 45885 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 45886
bf697e28 458872007-06-21 Robert Millan <rmh@aybabtu.com>
45888
45889 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
45890 indicate end of data section in kernel image.
45891 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
45892 GRUB_KERNEL_MACHINE_DATA_END.
45893
45894 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
45895 space for it.
45896 * kern/i386/efi/startup.S: Likewise.
45897
45898 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
45899 during image generation. Implement --prefix option to override this
45900 patch.
45901 * util/i386/efi/grub-mkimage.c: Likewise.
45902
45903 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
45904 code to make path relative to its root into a separate function.
45905
45906 * util/i386/pc/grub-install.in: Use newly provided
45907 make_system_path_relative_to_its_root() to convert ${grubdir}, then
45908 pass the result to grub-install --prefix.
45909
baa574b4 459102007-06-13 Robert Millan <rmh@aybabtu.com>
45911
45912 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
45913 DEFAULT_DEVICE_MAP.
45914 * util/grub-emu.c: Use above definitions from misc.h instead of
45915 defining them.
45916 * util/grub-mkdevicemap.c: Likewise.
45917 * util/i386/pc/grub-setup.c: Likewise.
45918 * util/grub-probe.c: Likewise.
45919 (probe): Abort with grub_util_error() when either
45920 grub_guess_root_device or grub_util_get_grub_dev fails.
45921
0215dcbf 459222007-06-12 Robert Millan <rmh@aybabtu.com>
45923
45924 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
45925 "pager" assignment.
45926 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
45927 "pcdata".
45928 * util/grub-probe.c (probe): Likewise for "drive_name".
45929
8af2ab7b 459302007-06-11 Robert Millan <rmh@aybabtu.com>
45931
45932 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
45933 not just the cdrom one.
45934
59d31694 459352007-06-11 Robert Millan <rmh@aybabtu.com>
45936
45937 * util/i386/pc/grub-mkrescue.in: Add "set -e".
45938 Add --pkglibdir=DIR option to override pkglibdir.
45939 Mention --image-type=TYPE in help output.
45940 Fix --grub-mkimage (it was a no-op).
fe6b695a 45941 Abort gracefully when no parameter is given.
59d31694 45942
7ee367e4 459432007-06-11 Robert Millan <rmh@aybabtu.com>
45944
45945 * util/i386/pc/grub-mkrescue.in: New file.
45946 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
45947 * Makefile.in: Handle bin_SCRIPTS.
45948
29b0ed46 459492007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
45950
45951 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
45952 list of video modes.
45953
c0f90770 459542007-06-06 Robert Millan <rmh@aybabtu.com>
45955
45956 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
45957 file doesn't exist, or if it is in a filesystem grub can't read.
45958
45959 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
45960 not abort if GRUB_DRIVE could not be defined. Rearrange generated
45961 header comment to fit in 80 columns when the variables are resolved.
45962
45963 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
45964 could be identified by update-grub. Remove redundant check for
fe6b695a 45965 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 45966 handles that).
45967
fb36dc26 459682007-06-04 Robert Millan <rmh@aybabtu.com>
45969
45970 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
45971
45972 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
45973
45974 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
45975
0c68c93e 459762007-06-04 Robert Millan <rmh@aybabtu.com>
45977
45978 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
45979
45980 * include/grub/partition.h: Declare grub_apple_partition_map_init and
45981 grub_apple_partition_map_fini.
45982
45983 * util/biosdisk.c
45984 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
45985 to access >2 TiB disks).
45986
45987 Print disk->total_sectors with %llu instead of %lu, since this
45988 variable is always 64-bit (prevents wrong disk size from being displayed
45989 on either >2 TiB disk or big-endian CPU).
45990
45991 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
45992 into a generic case that supports all (sane) partition maps.
45993
45994 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
45995 breaks big-endian.
45996
45997 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
45998 and grub_apple_partition_map_fini() after that.
45999
0f23eb74 460002007-06-01 Robert Millan <rmh@aybabtu.com>
46001
46002 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
46003
46004 * util/grub.d/00_header.in: Only enable gfxterm when
46005 convert_system_path_to_grub_path() succeeds.
46006
42c71976 460072007-05-20 Robert Millan <rmh@aybabtu.com>
46008
46009 * util/update-grub_lib.in: New file.
46010 * DISTLIST: Add update-grub_lib.in.
46011 * conf/common.rmk: Generate update-grub_lib and install it in
46012 $(lib_DATA).
46013 * Makefile.in: Add install routine for $(lib_DATA).
46014
46015 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
46016 function provided by update-grub_lib to support arbitrary paths of
46017 unifont.pff.
46018 * util/update-grub.in: Use convert_system_path_to_grub_path() to
46019 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
46020
5beb2291 460212007-05-19 Robert Millan <rmh@aybabtu.com>
46022
46023 * commands/i386/cpuid.c: New module.
46024 * DISTLIST: Add it.
46025 * conf/i386-efi.rmk: Enable cpuid.mod.
46026 * conf/i386-pc.rmk: Likewise.
46027
7262eca1 460282007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46029
46030 * kern/disk.c (grub_disk_read): Check return value of
46031 grub_realloc().
46032
260ba823 460332007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46034
46035 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
46036 arrays.
46037 * disk/raid.c (grub_raid_open): Likewise.
46038
1ecb6cf2 460392007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46040
46041 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
46042 stack instead of on the heap.
46043
46044 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
46045 before doing a read on it.
46046
46047 * configure.ac: Only use -fno-stack-protector for the target
46048 environment.
f19dbdb7 46049
21c8cbb1 460502007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46051
46052 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
46053 __attribute_ ((unused)) to mode_type argument.
46054
46055 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 46056
21c8cbb1 46057 * kern/misc.c (memcmp): Fix prototype.
46058
46059 * include/grub/partition.h [GRUB_UTIL]
46060 (grub_gpt_partition_map_init): Add prototype.
46061 (grub_gpt_partition_map_fini): Likewise.
46062
46063 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
46064 at the right place.
46065
46066 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
46067 (grub_fat_read_data): Likewise.
46068 (grub_fat_find_dir): Likewise.
46069
46070 * font/manager.c (find_glyph): Make table a const.
46071 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 46072
849d55d3 460732007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
46074
46075 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
46076 code, first search for device in /dev/mapper, then in /dev.
46077 (grub_util_get_grub_dev): New function.
46078 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
46079 prototype.
46080 * util/grub-probe.c (probe): Remove check for RAID, call
46081 grub_util_get_grub_dev() instead of
46082 grub_util_biosdisk_get_grub_dev().
46083 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
46084 grub_util_biosdisk_get_grub_dev().
46085 * util/i386/pc/grub-setup.c (main): Likewise.
46086
8fff7c2f 460872007-05-16 Robert Millan <rmh@aybabtu.com>
46088
46089 * DISTLIST: Update for the latest changes.
46090 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
46091 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
46092 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
46093 grub/util/biosdisk.h.
46094 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
46095 grub/util/biosdisk.h.
46096
48e12b52 460972007-05-16 Robert Millan <rmh@aybabtu.com>
46098
46099 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
46100
46b9d128 461012007-05-16 Robert Millan <rmh@aybabtu.com>
46102
46103 * util/i386/efi/grub-install.in: New.
46104 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
46105 newly added grub-install.
46106 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
46107 include.
46108 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
46109 grub/util/biosdisk.h.
46110 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
46111 grub/util/biosdisk.h.
46112
2d1a40a9 461132007-05-16 Robert Millan <rmh@aybabtu.com>
46114
46115 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
46116 * include/grub/util/biosdisk.h: ... here.
46117 * util/i386/pc/biosdisk.c: Moved to ...
46118 * util/biosdisk.c: ... here.
46119 * util/i386/pc/getroot.c: Moved to ...
46120 * util/getroot.c: ... here.
46121 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
46122 * util/grub-mkdevicemap.c: ... here.
46123 * util/i386/pc/grub-probe.c: Moved to ...
46124 * util/grub-probe.c: ... here.
46125
9e26e3bc 461262007-05-15 Robert Millan <rmh@aybabtu.com>
46127
46128 * util/update-grub.in: Remove duplicated line in grub.cfg header
46129 message.
46130
57f96397 461312007-05-13 Robert Millan <rmh@aybabtu.com>
46132
46133 * util/update-grub.in: Fix a few assumptions about the devices holding
46134 /, /boot and /boot/grub being the same.
46135 * util/grub.d/00_header.in: Likewise.
46136 * util/grub.d/10_hurd.in: Likewise.
46137 * util/grub.d/10_linux.in: Likewise.
46138
46139 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
46140 patterns. Use that to define the `.old' suffix as older than `'.
46141
46142 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
46143
46144 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
46145 the grub.cfg header message.
46146
2e610d62 461472007-05-11 Robert Millan <rmh@aybabtu.com>
46148
46149 * util/update-grub.in: Create device.map if it doesn't already exist,
46150 before attempting to run grub-probe.
46151 Check for grub-probe and grub-mkdevicemap with the same code
46152 grub-install is using.
46153 Remove test mode.
46154
3f6a10ef 461552007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
46156
46157 * Makefile.in: Add the datarootdir autoconf variable.
46158
02e7b75e 461592007-05-09 Robert Millan <rmh@aybabtu.com>
46160
46161 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 46162 fail gracefully if dev->disk->partition == NULL.
02e7b75e 46163
75f396cc 461642007-05-07 Robert Millan <rmh@aybabtu.com>
46165
46166 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
46167 determine partition map module.
46168 * util/i386/pc/grub-install.in: Use this feature to decide which
46169 partition module to load, instead of hardcoding pc and gpt.
46170
da65cb36 461712007-05-07 Robert Millan <rmh@aybabtu.com>
46172
46173 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
46174 source directory differs from build directory.
46175
b57d6a91 461762007-05-05 Robert Millan <rmh@aybabtu.com>
46177
46178 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
46179 initialisation.
46180
509d00f1 461812007-05-05 Robert Millan <rmh@aybabtu.com>
46182
46183 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
46184
c48f23ef 461852007-05-05 Robert Millan <rmh@aybabtu.com>
46186
46187 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
46188 command-line arguments via ${GRUB_CMDLINE_LINUX}.
46189
20b97658 461902007-05-05 Robert Millan <rmh@aybabtu.com>
46191
46192 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
46193 (grub_probe_SOURCES): Likewise.
46194 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
46195 GPT and initialize dos_part and bsd_part accordingly.
46196 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
46197 install_bsd_part.
46198 (main): Activate gpt module for use during partition identification,
46199 and deactivate it afterwards.
46200 * util/i386/pc/grub-install.in: Add gpt module to core.img.
46201 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
46202 partition identification, and deactivate it afterwards.
46203
99123174 462042007-05-05 Robert Millan <rmh@aybabtu.com>
46205
46206 * term/i386/pc/console.c (grub_console_fini): Call
46207 grub_term_set_current() before grub_term_unregister().
46208
ebd97f6e 462092007-05-04 Robert Millan <rmh@aybabtu.com>
46210
46211 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
46212 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
46213 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
46214 and update-grub_DATA.
46215 * conf/common.rmk: Build and install update-grub components.
46216 * conf/common.mk: Regenerate.
46217 * util/update-grub.in: New. Core of update-grub.
46218 * util/grub.d/00_header.in: New. Generates grub.cfg header.
46219 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
46220 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
46221 * util/grub.d/README: New. Document grub.d directory layout.
46222
b06a264d 462232007-05-01 Robert Millan <rmh@aybabtu.com>
46224
46225 * util/grub-emu.c: Move initialization functions
46226 grub_util_biosdisk_init() and grub_init_all() before
46227 grub_util_biosdisk_get_grub_dev(), which relies on them.
46228
41f0050e 462292007-04-19 Robert Millan <rmh@aybabtu.com>
46230
46231 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
46232 it is used later.
46233
04582bb3 462342007-04-18 Jerone Young <jerone@gmail.com>
46235
f19dbdb7 46236 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 46237 stanza.
46238
08db4632 462392007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 46240
08db4632 46241 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
46242 continue on and look for device node with real device name.
46243
801b76be 462442007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 46245
fe6b695a 46246 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 46247 ability.
46248 * Makefile.in: Add autoconf package transformation code.
46249 * util/i386/pc/grub-install.in: Likewise.
46250 * util/powerpc/ieee1275/grub-install.in: Likewise.
46251
6795c4e1 462522007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
46253
46254 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
46255 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
46256 (EXT2_REVISION): Likewise.
46257 (EXT2_INODE_SIZE): Likewise.
46258 (struct grub_ext2_block_group): Added a missing member
46259 "used_dirs".
46260 (grub_ext2_read_inode): Divide by the inode size in a superblock
46261 instead of 128 to obtain INODES_PER_BLOCK.
46262 Use the macro EXT2_INODE_SIZE instead of directly using
46263 SBLOCK->INODE_SIZE.
46264
d70af616 462652007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
46266
46267 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
46268 superblock instead of the structure size to compute an
46269 offset. This fixes the problem that GRUB could not read a
46270 filesystem when inode size is different from 128-byte.
46271
3b801603 462722007-03-05 Marco Gerards <marco@gnu.org>
46273
46274 * normal/main.c (read_config_file): When "menu" is not set, create
46275 an initial context.
46276
4785bfe4 462772007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46278
46279 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
46280 (HEAP_LIMIT): New macro.
46281 (grub_claim_heap): Claim memory up to `heaplimit'.
46282
a0cbb023 462832007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46284
46285 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
46286 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
46287 (_start): Likewise.
46288 (grub_arch_modules_addr): Return address after `_end'.
46289 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
46290 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
46291 (add_segments): Calculate `_end' from phdr size and location.
46292 (ALIGN_UP): Moved to ...
46293 * include/grub/misc.h: here.
46294 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46295 New macro.
46296 (GRUB_IEEE1275_MODULE_BASE): Removed.
46297
fd7d8eba 462982007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46299
46300 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
46301 loop boundary.
46302
9b09e6fc 463032007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46304
46305 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
46306 All users updated.
46307 (grub_elf64_load_hook_t): Likewise.
46308 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
46309 debug output.
46310
3ce27299 463112007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46312
46313 * kern/mm.c: Update copyright.
46314 (grub_mm_debug): Correct syntax error.
46315 (grub_mm_dump_free): New function.
46316 (grub_debug_free): Call `grub_free'.
46317 * include/grub/mm.h: Update copyright.
46318 (grub_mm_dump_free): Add declaration.
46319
077d5fee 463202007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46321
46322 * include/grub/ieee1275/ieee1275.h: Update copyright.
46323 * kern/powerpc/ieee1275/init.c: Likewise.
46324 * kern/powerpc/ieee1275/openfw.c: Likewise.
46325
46326 * loader/powerpc/ieee1275/linux.c: Likewise.
46327 * include/grub/elfload.h: Likewise.
46328 * kern/elf.c: Likewise.
46329 (grub_elf32_load): Pass `base' and `size' parameters. Update all
46330 callers.
46331 (grub_elf64_load): Likewise.
46332 (grub_elf32_load_segment): Move to a nested function.
46333 (grub_elf64_load_segment): Likewise.
46334
dc946850 463352007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46336
46337 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
46338 prototype.
46339 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
46340 (grub_heap_len): Likewise.
46341 (HEAP_SIZE): New macro.
46342 (grub_claim_heap): New function.
46343 (grub_machine_init): Don't claim heap directly. Call
46344 `grub_claim_heap'.
46345 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
46346 (grub_available_iterate): New function.
46347
baa2a121 463482007-02-03 Thomas Schwinge <tschwinge@gnu.org>
46349
46350 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
46351 * configure.ac: Use it for testing the HOST and TARGET compilers.
46352
4fe9862e 463532006-12-13 Thomas Schwinge <tschwinge@gnu.org>
46354
46355 * Makefile.in (enable_grub_emu): New variable.
46356 * configure.ac (--enable-grub-emu): New option.
46357 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
46358 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
46359 * conf/i386-pc.rmk: Likewise.
46360 * conf/powerpc-ieee1275.rmk: Likewise.
46361 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
46362
a8aa5762 463632006-12-12 Marco Gerards <marco@gnu.org>
46364
46365 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
46366
46367 * kern/env.c (grub_env_unset): Don't free the member `value' when
46368 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
46369 pointer.
46370
46371 * normal/main.c (current_menu): Removed.
46372 (free_menu): Unset the `menu' environment variable.
46373 (grub_normal_menu_addentry): Make use of the environment variable
46374 `menu', instead of using the global `current_menu'. Allocate
46375 memory for the sourcecode of this entry.
46376 (read_config_file): New argument `nested', changed all callers.
46377 Only in the case of a new context, initialize a new menu. Set the
46378 `menu' environment variable.
46379 (grub_normal_execute): Don't set and unset the environment
46380 variable `menu' here anymore. Only free the menu when leaving the
46381 context.
46382
46383 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
46384 leak.
46385
957b3a3e 463862006-12-11 Marco Gerards <marco@gnu.org>
46387
46388 * normal/menu_entry.c (run): Fix off by one bug so the last line
46389 is executed. Move the loader check to outside the loop.
46390
ef875714 463912006-12-08 Hollis Blanchard <hollis@penguinppc.org>
46392
46393 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
46394
4e739985 463952006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
46396
46397 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
46398 the number of sectors. Reported by Andrey Shuvikov
46399 <mr_hyro@yahoo.com>.
f19dbdb7 46400
790707f2 464012006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
46402
46403 * kern/disk.c (grub_disk_read): When there is a read error, always
46404 try to read only the necessary data.
f19dbdb7 46405
790707f2 46406 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
46407 disk/raid.c.
46408 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
46409 prototype.
46410 [GRUB_UTIL] (grub_raid_fini): Likewise.
46411 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 46412 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 46413 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
46414 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
46415 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
46416 and grub_raid_fini().
f19dbdb7 46417
03e58196 464182006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46419
46420 * include/grub/types.h (__unused): Rename to UNUSED.
46421 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
46422 (grub_elf64_size): Likewise.
f19dbdb7 46423
ae4f23bf 464242006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46425
46426 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
46427 grub_error_push and grub_error_pop in the error-handling path.
46428 (grub_elf32_load_segment): Only call grub_file_read with non-zero
46429 length.
46430
2166cc83 464312006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46432
46433 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
46434 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
46435 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46436 (kernel_elf_SOURCES): Likewise.
46437 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
46438 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
46439 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46440 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46441 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
46442 (elf_mod_SOURCES): New variable.
46443 (elf_mod_CFLAGS): Likewise.
46444 (elf_mod_LDFLAGS): Likewise.
46445 * include/grub/types.h (__unused): New macro.
46446 * include/grub/elfload.h: New file.
46447 * kern/elf.c: Likewise.
46448 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
46449 (ELF32_LOADMASK): New macro.
46450 (ELF64_LOADMASK): Likewise.
46451 (vmlinux): Removed.
46452 (grub_linux_load32): New function.
46453 (grub_linux_load64): Likewise.
46454 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
46455 Use grub_elf_t instead of grub_file_t.
46456
a09d5aa5 464572006-11-02 Hollis Blanchard <hollis@penguinppc.org>
46458
46459 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
46460 `catch_result' to struct set_color_args.
46461
d976fc51 464622006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46463
46464 * normal/menu.c: Include grub/script.h.
46465 * normal/menu_entry.c: Likewise.
46466 * include/grub/normal.h: Do not include grub/script.h.
46467
67507549 464682006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46469
46470 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
46471
69203a99 464722006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46473
46474 * kern/disk.c (grub_disk_open): Print debug messages when opening a
46475 disk.
46476 (grub_disk_close): Print debug messages when closing a disk.
46477 (grub_disk_read): Print debug messages when disk read fails.
46478 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
46479 filesystem type.
46480 * kern/partition.c: Include misc.h.
46481 (grub_partition_iterate): Print debug messages when detecting
46482 partition type.
46483
e2b8278c 464842006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46485
46486 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
46487 is negative.
46488 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
46489
97b2f2ff 464902006-10-26 Hollis Blanchard <hollis@penguinppc.org>
46491
46492 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46493 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
46494
6555d655 464952006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
46496
46497 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
46498 instead of sizeof(lv). Patch by Michael Guntsche.
46499
4d42b77f 465002006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
46501
46502 * disk/lvm.c: Rename VGS to VG_LIST.
46503 (grub_lvm_iterate): Change VGS->LV to VG-LV.
46504 (grub_lvm_open): Likewise.
46505 Thanks to Michael Guntsche for finding this bug.
46506
5d74d927 465072006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46508
46509 * configure.ac (AC_INIT): Bumped to 1.95.
46510
a1bb27e4 465112006-10-14 Robert Millan <rmh@aybabtu.com>
46512
46513 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
46514 with "/dev/.static/dev/md".
46515
e0994b8b 465162006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46517
46518 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
46519 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
46520 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
46521 DRIVE_NAME are always freed.
46522
46523 * util/i386/pc/biosdisk.c (make_device_name): Add one into
46524 DOS_PART, as a DOS partition is counted from one instead of zero
46525 now. Reported by Robert Millan.
46526
ddd5cee9 465272006-10-14 Robert Millan <rmh@aybabtu.com>
46528
46529 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
46530 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
46531 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
46532 string returned by grub_guess_root_device.
46533 * util/i386/pc/grub-setup.c: Likewise.
46534 * util/i386/pc/grub-probefs.c: Likewise.
46535
46536 * util/i386/pc/grub-probefs.c: Rename to ...
46537 * util/i386/pc/grub-probe.c: ... this.
46538 * DISTLIST: Remove grub-probefs, add grub-probe.
46539 * conf/i386-efi.rmk: Likewise.
46540 * conf/i386-pc.rmk: Likewise.
46541 * util/i386/pc/grub-install.in: Likewise.
46542
46543 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
46544 choose which information we want to print.
46545
2b002173 465462006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46547
46548 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
46549 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
46550 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
46551 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
46552 video/readers/tga.c and video/i386/pc/vbeutil.c.
46553
465542006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
46555
46556 Added support for RAID and LVM.
f19dbdb7 46557
2b002173 46558 * disk/lvm.c: New file.
46559 * disk/raid.c: Likewise.
46560 * include/grub/lvm.h: Likewise.
f19dbdb7 46561 * include/grub/raid.h: Likewise.
2b002173 46562 * include/grub/util/lvm.h: Likewise.
46563 * include/grub/util/raid.h: Likewise.
46564 * util/lvm.c: Likewise.
46565 * util/raid.c: Likewise.
46566
46567 * include/grub/disk.h (grub_disk_dev_id): Add
46568 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
46569 (grub_disk_get_size): New prototype.
46570 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
46571 returns a partition.
46572 (grub_disk_get_size): New function.
f19dbdb7 46573
2b002173 46574 * kern/i386/pc/init.c (make_install_device): Copy the prefix
46575 verbatim if grub_install_dos_part is -2.
46576
46577 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
46578 and LVM devices.
46579
46580 * util/i386/pc/grub-setup.c (setup): New argument
46581 MUST_EMBED. Force embedding of GRUB when the argument is
46582 true. Close FILE before returning.
46583 (main): Add support for RAID and LVM.
f19dbdb7 46584
2b002173 46585 * conf/common.rmk: Add RAID and LVM modules.
46586 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
46587 util/lvm.c.
46588 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
46589
46590 * kern/misc.c (grub_strstr): New function.
46591 * include/grub/misc.h (grub_strstr): New prototype.
46592
050548d0 465932006-10-10 Tristan Gingold <tristan.gingold@bull.net>
46594
46595 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
46596
da849d2d 465972006-10-05 Tristan Gingold <tristan.gingold@bull.net>
46598
46599 * kern/misc.c (grub_strtoull): Guess the base only if not
46600 specified.
46601
97b2f2ff 466022006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 46603
46604 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
46605 PowerMac support.
46606
97b2f2ff 466072006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 46608
46609 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
46610
46611 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
46612 Remove `flags' argument. All callers changed.
46613 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
46614 (IEEE1275_IHANDLE_INVALID): New variable.
46615 (IEEE1275_CELL_INVALID): New variable.
46616 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
46617 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
46618 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
46619 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
46620 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
46621 codes from Open Firmware. All callers updated.
46622 (grub_ieee1275_next_property): Directly return Open Firmware return
46623 code.
46624 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
46625 Standardize error checking from `grub_ieee1275_get_property'.
46626 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
46627 `devalias' to `aliases'. Correct comments. Consolidate error paths.
46628
97b2f2ff 466292006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 46630
46631 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
46632 `instance_to_package_args' to `instance_to_path_args'.
46633
46634 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
46635 `grub_ieee1275_chosen'.
46636
46637 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
46638 `grub_ieee1275_interpret'.
46639
97b2f2ff 466402006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 46641
46642 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
46643
97b2f2ff 466442006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 46645
46646 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
46647 (__cmpdi): Likewise.
46648
46649 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
46650 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
46651 `grub_ssize_t'.
46652
02bb8acc 46653 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 46654
46655 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
46656 to type `grub_ssize_t'.
46657 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
46658
7f9a8531 466592006-09-22 Marco Gerards <marco@gnu.org>
46660
46661 * normal/script.c (grub_script_create_cmdmenu): Skip leading
46662 newlines.
46663
b5ef1102 466642006-09-22 Marco Gerards <marco@gnu.org>
46665
46666 * commands/echo.c: New file.
46667
46668 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
46669
46670 * conf/common.rmk (echo_mod_SOURCES): New variable.
46671 (echo_mod_CFLAGS): Likewise.
46672 (echo_mod_LDFLAGS): Likewise.
46673
2cff3677 466742006-09-22 Marco Gerards <marco@gnu.org>
46675
46676 * normal/main.c (get_line): Malloc memory instead of using
46677 preallocated memory. Removed the arguments `cmdline' and
46678 `max_len'. Updated all callers.
46679
6ba4688b 466802006-09-22 Marco Gerards <marco@gnu.org>
46681
46682 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
46683 (normal_mod_DEPENDENCIES): Likewise.
46684
46685 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
46686 (normal_mod_DEPENDENCIES): Likewise.
46687
46688 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
46689
e02ac02c 466902006-09-22 Johan Rydberg <jrydberg@gnu.org>
46691
46692 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
46693 programs.
46694 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
46695 (normal_mod_DEPENDENCIES): Likewise.
46696 * conf/i386-pc.mk: Regenerate.
46697 * conf/i386-efi.mk: Likewise
46698 * conf/common.mk: Likewise.
46699 * conf/powerpc-ieee1275.mk: Likewise.
46700 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46701
8d252e44 467022006-09-22 Robert Millan <rmh@aybabtu.com>
46703
46704 Sync with i386 version.
46705 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
46706 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
46707
209bf7ac 467082006-09-21 Robert Millan <rmh@aybabtu.com>
46709
46710 Import from GRUB Legacy (lib/device.c):
46711 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
46712 (init_device_map) [__linux__]: Add support for I2O devices.
46713
6b146090 467142006-09-14 Marco Gerards <marco@gnu.org>
46715
46716 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
46717 `-melf_i386'.
46718
e38600a8 467192006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 46720
46721 * util/i386/pc/grub-install.in: Skip menu.lst when removing
46722 /boot/grub/*.lst.
78fa1790 46723
2952da5d 46724 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 46725
2952da5d 46726 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
46727 before adding it to device.map.
46728
01b82a64 467292006-08-15 Johan Rydberg <jrydberg@gnu.org>
46730
fe6b695a 46731 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 46732 compiles a file; using the -MD option.
46733 * conf/common.mk: Regenerate.
46734 * conf/i386-pc.mk: Likewise.
46735 * conf/i386-efi.mk: Likewise.
46736 * conf/powerpc-ieee1275.mk: Likewise.
46737 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46738
1064790d 467392006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
46740
46741 Move the prototypes of grub_setjmp and grub_longjmp to
46742 cpu/setjmp.h, so that each architecture may specify different
46743 attributes.
f19dbdb7 46744
1064790d 46745 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
46746 (grub_longjmp): Likewise.
46747 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
46748 (grub_longjmp): Likewise.
46749 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
46750 (grub_longjmp): Likewise.
46751
46752 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
46753 [!GRUB_UTIL] (grub_longjmp): Removed.
46754
29dda3ed 467552006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
46756
46757 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
46758 "color!" method does not return any value.
46759
ad2a06ed 467602006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46761
46762 * include/grub/bitmap.h: New file.
46763
46764 * include/grub/i386/pc/vbeutil.h: Likewise.
46765
46766 * video/bitmap.c: Likewise.
46767
46768 * video/readers/tga.c: Likewise.
46769
46770 * video/i386/pc/vbeutil.c: Likewise.
46771
46772 * commands/videotest.c: Code cleanup and updated to reflect to new
46773 video API.
46774
46775 * term/gfxterm.c: Likewise.
46776
46777 * video/video.c: Likewise.
46778
46779 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
46780 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
46781 (bitmap_mod_SOURCES): New entry.
46782 (bitmap_mod_CFLAGS): Likewise.
46783 (bitmap_mod_LDFLAGS): Likewise.
46784 (tga_mod_SOURCES): Likewise.
46785 (tga_mod_CFLAGS): Likewise.
46786 (tga_mod_LDFLAGS): Likewise.
46787
46788 * include/grub/video.h (grub_video_blit_operators): New enum type.
46789 (grub_video_render_target): Changed as forward declaration and moved
46790 actual definition to be video driver specific.
46791 (grub_video_adapter.blit_bitmap): Added blitting operator.
46792 (grub_video_adapter.blit_render_target): Likewise.
46793 (grub_video_blit_bitmap): Likewise.
46794 (grub_video_blit_render_target): Likewise.
46795
46796 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
46797 driver specific render target definition.
46798 (grub_video_vbe_map_rgba): Added driver internal helper.
46799 (grub_video_vbe_unmap_color): Updated to use
46800 grub_video_i386_vbeblit_info.
46801 (grub_video_vbe_get_video_ptr): Likewise.
46802
46803 * include/grub/i386/pc/vbeblit.h
46804 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
46805 grub_video_i386_vbeblit_info.
46806 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
46807 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
46808 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
46809 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
46810 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
46811 (grub_video_i386_vbeblit_index_index): Likewise.
46812 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
46813 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
46814 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
46815 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
46816 operator.
46817 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
46818 operator.
46819
46820 * video/i386/pc/vbeblit.c: Updated to reflect changes on
46821 include/grub/i386/pc/vbeblit.h.
46822
46823 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
46824 Updated to use grub_video_i386_vbeblit_info.
46825 (grub_video_i386_vbefill_R8G8B8): Likewise.
46826 (grub_video_i386_vbefill_index): Likewise.
46827 (grub_video_i386_vbefill): Added generic filler.
46828
46829 * video/i386/pc/vbefill.c: Updated to reflect changes on
46830 include/grub/i386/pc/vbefill.h.
46831
46832 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
46833 grub_video_i386_vbeblit_info.
46834 (grub_video_vbe_unmap_color): Likewise.
46835 (grub_video_vbe_blit_glyph): Likewise.
46836 (grub_video_vbe_scroll): Likewise.
46837 (grub_video_vbe_draw_pixel): Removed function.
46838 (grub_video_vbe_get_pixel): Likewise.
46839 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
46840 updated code to use it.
46841 (common_blitter): Added common blitter for render target and bitmap.
46842 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
46843 (grub_video_vbe_blit_render_target): Likewise.
46844
bc8c036d 468452006-07-30 Johan Rydberg <jrydberg@gnu.org>
46846
46847 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
46848 is in text mode if there is no console control protocol instance
46849 available.
46850
684a8eff 468512006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46852
46853 * include/grub/video.h: Code cleanup.
46854
46855 * include/grub/i386/pc/vbe.h: Likewise.
46856
46857 * video/i386/pc/vbe.c: Likewise.
46858
46859 * video/i386/pc/vbeblit.c: Likewise.
46860
46861 * video/i386/pc/vbefill.c: Likewise.
46862
46863 * video/video.c: Likewise. Also added more comments.
46864
5915059b 468652006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46866
46867 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
46868 (struct grub_biosdisk_dap): Likewise.
46869
46870 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
46871 linkage settings for all functions.
46872
90ce5d56 468732006-07-12 Marco Gerards <marco@gnu.org>
46874
46875 * configure.ac (--enable-mm-debug): Fix typo.
46876
46877 * genkernsyms.sh.in: Use proper quoting for `CC'.
46878
43e7f879 468792006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
46880
46881 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
46882 (normal_mod_ASFLAGS): Remove "-m32".
46883
4889bdec 468842006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
46885
46886 * util/misc.c: Include config.h.
46887 [!HAVE_MEMALIGN]: Do not include malloc.h.
46888 (grub_memalign): Use posix_memalign, if present. Then, use
46889 memalign, if present. Otherwise, emit an error.
46890
46891 * util/grub-emu.c: Do not include malloc.h.
46892
46893 * include/grub/util/misc.h: Include unistd.h. This is required for
46894 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
46895 D. Eades III <hde@foobar-qux.org>.
46896
46897 * configure.ac (AC_GNU_SOURCE): Added.
46898 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
46899 type.
46900
fd39d4da 469012006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
46902
46903 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
46904 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
46905
b786f3b5 469062006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
46907
46908 * include/grub/types.h (grub_host_addr_t): Rename to
46909 grub_target_addr_t.
46910 (grub_host_off_t): Rename to grub_target_off_t.
46911 (grub_host_size_t): Rename to grub_target_size_t.
46912 (grub_host_ssize_t): Rename to grub_target_ssize_t.
46913 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
46914
46915 * include/grub/kernel.h (struct grub_module_header): Change type
46916 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
46917 (grub_module_info): Likewise.
f19dbdb7 46918
051988bb 469192006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
46920
46921 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
46922 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
46923 Velazquez <jesus.velazquez@gmail.com>.
46924
deae281b 469252006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
46926
46927 Count partitions from 1 instead of 0 in the string representation
46928 of partitions. Still use 0-based internally.
f19dbdb7 46929
deae281b 46930 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
46931 (sun_partition_map_iterate): Use grub_partition_t instead of
46932 struct grub_partition *. Cast DESC->START_CYLINDER to
46933 grub_uint64_t after converting the endian.
46934 (sun_partition_map_probe): Subtract 1 for PARTNUM.
46935 (sun_partition_map_get_name): Add 1 to P->INDEX.
46936
46937 * partmap/pc.c (grub_partition_parse): Subtract 1 for
46938 PCDATA->DOS_PART.
46939 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
46940
46941 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
46942 zero instead of one.
46943 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
46944 (gpt_partition_map_get_name): Add 1 into P->INDEX.
46945
46946 * partmap/apple.c (apple_partition_map_iterate): Change the type
46947 of POS to unsigned.
46948 (apple_partition_map_probe): Subtract 1 for PARTNUM.
46949 (apple_partition_map_get_name): Add 1 into P->INDEX.
46950
46951 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
46952 of POS to unsigned.
46953 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
46954 calculate the offset of a partition.
46955 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
46956 (amiga_partition_map_get_name): Add 1 into P->INDEX.
46957
46958 * partmap/acorn.c (acorn_partition_map_find): Change the type of
46959 SECTOR to grub_disk_addr_t.
46960 (acorn_partition_map_iterate): Likewise.
46961 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
46962 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
46963 top.
46964 (acorn_partition_map_get_name): Add 1 into P->INDEX.
46965
46966 * kern/i386/pc/init.c (make_install_device): Add 1 into
46967 GRUB_INSTALL_DOS_PART.
46968
46969 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
46970 conditional.
46971
524a1e6a 469722006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
46973
46974 Clean up the code to support 64-bit addressing in disks and
46975 files. This change is not enough for filesystems yet.
f19dbdb7 46976
524a1e6a 46977 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
46978 type of "start" to grub_uint64_t.
46979 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
46980 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
46981 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
46982 convert addresses.
46983
46984 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
46985 to grub_disk_addr_t.
46986
46987 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
46988 string.
46989
46990 * partmap/pc.c (pc_partition_map_iterate): Likewise.
46991
46992 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
46993 to char *.
46994
46995 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
46996
46997 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
46998
46999 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
47000
47001 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
47002 to grub_off_t, to detect an error from grub_file_seek.
47003 (grub_multiboot_load_elf32): Likewise.
47004
47005 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
47006 maximum unsigned long value when an overflow is detected.
47007 (grub_strtoull): New function.
47008 (grub_divmod64): Likewise.
47009 (grub_lltoa): use grub_divmod64.
47010
47011 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
47012 grub_disk_addr_t.
47013 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
47014 the pointer to next character. Use grub_strtoull instead of
47015 grub_strtoul.
47016 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
47017 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
47018 respectively.
47019
fe6b695a 47020 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 47021 return value is signed.
47022 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
47023 test if OFFSET is less than zero, as OFFSET is unsigned now.
47024
47025 * kern/disk.c (struct grub_disk_cache): Change the type of
47026 "sector" to grub_disk_addr_t.
47027 (grub_disk_cache_get_index): Change the type of SECTOR to
47028 grub_disk_addr_t. Calculate the hash with SECTOR casted to
47029 unsigned after shifting.
47030 (grub_disk_cache_invalidate): Change the type of SECTOR to
47031 grub_disk_addr_t.
47032 (grub_disk_cache_unlock): Likewise.
47033 (grub_disk_cache_store): Likewise.
47034 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
47035 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
47036 grub_disk_addr_t and grub_uint64_t, respectively.
47037 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
47038 body, as the value of OFFSET is tweaked by
47039 grub_disk_check_range. Change the types of START_SECTOR, LEN and
47040 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
47041 respectively.
47042 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
47043 body, as the value of OFFSET is tweaked by
47044 grub_disk_check_range. Change the types of LEN and N to
47045 grub_size_t.
47046
47047 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
47048 and "saved_offset" to grub_off_t.
47049 (test_header): Cast BUF to char *.
47050 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
47051 to char *.
47052 (grub_gzio_read): Change the types of OFFSET and SIZE to
47053 grub_off_t and grub_size_t, respectively.
47054
47055 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
47056 Removed.
47057 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
47058 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
47059 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
47060 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
47061 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
47062
47063 * include/grub/types.h (grub_off_t): Unconditionally set to
47064 grub_uint64_t.
47065 (grub_disk_addr_t): Changed to grub_uint64_t.
47066
47067 * include/grub/partition.h (struct grub_partition): Change the
47068 types of "start", "len" and "offset" to grub_disk_addr_t,
47069 grub_uint64_t and grub_disk_addr_t, respectively.
47070 (grub_partition_get_start): Return grub_disk_addr_t.
47071 (grub_partition_get_len): Return grub_uint64_t.
47072
47073 * include/grub/misc.h (grub_strtoull): New prototype.
47074 (grub_divmod64): Likewise.
47075
47076 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
47077 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
47078 grub_off_t, respectively.
47079 All callers and references changed.
47080
47081 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
47082 grub_size_t in "read".
47083 All callers and references changed.
47084
47085 * include/grub/file.h (struct grub_file): Change the types of
47086 "offset" and "size" to grub_off_t and grub_off_t,
47087 respectively. Change the type of SECTOR to grub_disk_addr_t in
47088 "read_hook".
47089 (grub_file_read): Change the type of LEN to grub_size_t.
47090 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
47091 grub_off_t.
47092 (grub_file_size): Return grub_off_t.
47093 (grub_file_tell): Likewise.
47094 All callers and references changed.
47095
47096 * include/grub/disk.h (struct grub_disk_dev): Change the types of
47097 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
47098 "write".
47099 (struct grub_disk): Change the type of "total_sectors" to
47100 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 47101 "read_hook".
524a1e6a 47102 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
47103 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
47104 (grub_disk_write): Likewise.
47105 All callers and references changed.
47106
47107 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
47108 char * for grub_strncmp to silence gcc.
47109 (grub_iso9660_mount): Likewise.
47110 (grub_iso9660_mount): Likewise.
47111 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
47112 return statement.
47113 (grub_iso9660_iterate_dir): Likewise.
47114 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
47115
47116 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
47117 LEN to grub_disk_addr_t and grub_size_t, respectively.
47118
47119 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47120
47121 * fs/jfs.c (grub_jfs_read_file): Likewise.
47122
47123 * fs/minix.c (grub_jfs_read_file): Likewise.
47124
47125 * fs/sfs.c (grub_jfs_read_file): Likewise.
47126
47127 * fs/ufs.c (grub_jfs_read_file): Likewise.
47128
47129 * fs/xfs.c (grub_jfs_read_file): Likewise.
47130
47131 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
47132 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
47133 respectively.
47134
47135 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
47136 BLKNR to -1 instead of returning GRUB_ERRNO.
47137 (grub_ext2_read_file): Change the types of SECTOR and
47138 LEN to grub_disk_addr_t and grub_size_t, respectively.
47139
47140 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
47141 LEN to grub_disk_addr_t and grub_size_t, respectively.
47142
47143 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
47144 grub_file_read.
47145
47146 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
47147 string. Do not cast SECTOR explicitly.
47148
47149 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
47150 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
47151 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
47152 grub_disk_addr_t and grub_size_t, respectively. If the sector is
47153 over 2TB and LBA mode is not supported, raise an error.
47154 (get_safe_sectors): New function.
47155 (grub_biosdisk_read): Use get_safe_sectors.
47156 (grub_biosdisk_write): Likewise.
47157
47158 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
47159 (grub_efidisk_write): Likewise.
47160
47161 * disk/loopback.c (delete_loopback): Cosmetic changes.
47162 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
47163 correctly.
47164 (grub_loopback_open): Likewise.
47165 (grub_loopback_read): Likewise. Also, change the type of POS to
47166 grub_off_t, and fix the usage of grub_memset.
47167
47168 * commands/i386/pc/play.c: Include grub/machine/time.h.
47169
47170 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
47171 print FILE->SIZE.
47172
47173 * commands/configfile.c: Include grub/env.h.
47174
47175 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
47176 GRUB_ERRNO directly instead. Change the type of POS to
47177 grub_off_t. Follow the coding standard.
47178
47179 * commands/blocklist.c: Include grub/partition.h.
47180 (grub_cmd_blocklist): Return an error if the underlying device is
47181 not a disk. Take the starting sector of a partition into account,
47182 if a partition is used.
47183
47184 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
47185 a length field.
47186 (lba_mode): Support 64-bit addresses.
47187 (chs_mode): Likewise.
47188 (copy_buffer): Adapted to the new offsets of a length field and a
47189 segment field.
47190 (blocklist_default_start): Allocate 64-bit space.
47191
47192 * boot/i386/pc/boot.S (force_lba): Removed.
47193 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 47194 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 47195 space.
47196 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
47197 is useless.
47198 (lba_mode): Refactored to support a 64-bit address. More size
47199 optimization.
47200 (setup_sectors): Likewise.
47201
53af98ad 472022006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47203
47204 * DISTLIST: Added include/grub/i386/linux.h. Removed
47205 include/grub/i386/pc/linux.h
47206
47207 * configure.ac (AC_INIT): Bumped to 1.94.
47208
47209 * config.guess: Updated from gnulib.
47210 * config.sub: Likewise.
47211 * install-sh: Likewise.
47212 * mkinstalldirs: Likewise.
47213
b4c1940a 472142006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47215
47216 * conf/common.rmk (grub_modules_init.lst): Depended on
47217 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
47218 MODSRCFILES.
47219
47220 * genmk.rb (PModule::rule): Reverted the previous change.
47221
cfca1cfd 472222006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47223
47224 * conf/common.rmk (grub_modules_init.lst): Depends on
47225 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
47226 that the target does not exist before producing.
47227 (grub_modules_init.h): Remove the target before generating.
47228 (grub_emu_init.c): Likewise.
47229
47230 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
47231
aa6d7826 472322006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
47233
47234 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
47235 for the target-specific tests. Make sure that we also have the
47236 up-to-date target variables for those tests.
47237
26c607b9 472382006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47239
47240 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
47241 (PModule::rule): Likewise.
47242
0162321a 472432006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47244
47245 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
47246 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
47247 target-specific flags should be prefixed.
47248 (PModule::rule): Likewise.
47249
6c826348 472502006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
47251
47252 * configure.ac (CMP): Check if cmp is available explicitly.
47253
b977bf01 472542006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
47255
47256 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
47257 (target_cpu): New variable.
47258 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 47259
b977bf01 47260 * util/i386/pc/grub-install.in (host_cpu): Removed.
47261 (target_cpu): New variable.
47262 (pkglibdir): Use target_cpu instead of host_cpu.
47263
47264 * util/genmoddep.c: Removed.
f19dbdb7 47265
b977bf01 47266 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
47267 instead of GRUB_HOST_SIZEOF_VOID_P.
47268 * kern/dl.c: Likewise.
47269
47270 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
47271 ...
47272 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47273 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47274 (GRUB_TARGET_SIZEOF_LONG): ... this.
47275 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47276 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47277 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47278 to ...
47279 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47280 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47281 (GRUB_TARGET_SIZEOF_LONG): ... this.
47282 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47283 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47284 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47285 to ...
47286 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47287 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47288 (GRUB_TARGET_SIZEOF_LONG): ... this.
47289 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47290 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47291
47292 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
47293 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
47294 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
47295 instead of GRUB_HOST_SIZEOF_LONG.
47296 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
47297 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
47298 GRUB_CPU_WORDS_BIGENDIAN.
47299 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
47300 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
47301 grub_host_ssize_t.
47302
47303 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
47304 (genmoddep_SOURCES): Likewise.
47305 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
47306 (genmoddep_SOURCES): Likewise.
47307 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
47308 (genmoddep_SOURCES): Likewise.
47309 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
47310 Likewise.
47311 (genmoddep_SOURCES): Likewise.
47312
47313 * genmoddep.awk: New file.
47314
47315 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
47316 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
47317 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
47318 (PModule::rule): Likewise.
47319 (Program::rule): Likewise.
47320 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
47321 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
47322 respectively.
47323
47324 * configure.ac: Rewritten intensively to use host and target
47325 instead of build and host, respectively.
47326
47327 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
47328 (host_cpu): Removed.
47329 (target_cpu): New variable.
47330 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
47331 (BUILD_CC): Removed.
47332 (BUILD_CFLAGS): Likewise.
47333 (BUILD_CPPFLAGS): Likewise.
47334 (TARGET_CC): New variable.
47335 (TARGET_CFLAGS): Likewise.
47336 (TARGET_CPPFLAGS): Likewise.
47337 (TARGET_LDFLAGS): Likewise.
47338 (AWK): Likewise.
47339 (include): Use target_cpu instead of host_cpu.
47340 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 47341
b977bf01 47342 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
47343
f09771a1 473442006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
47345
47346 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
47347 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
47348 field 'false' to 'exec_on_false'.
47349 (grub_script_create_cmdif): Renamed argument names to reflect above
47350 changes.
47351
47352 * normal/execute.c (grub_script_execute_cmdif): Likewise.
47353
47354 * normal/script.c (grub_script_create_cmdif): Likewise.
47355
118f4fb3 473562006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
47357
47358 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
47359 top.
47360 (grub_hfsplus_btree_recptr): Likewise.
47361 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
47362 FILEBLOCK both to pass a block number and store next block
47363 number.
47364 (grub_hfsplus_read_block): Rewritten heavily to support an extent
47365 overflow file correctly. Specify errors appropriately, because
47366 fshelp expects that GRUB_ERRNO is set when fails. Reuse
47367 grub_hfsplus_btree_recptr to get the pointer to a found key.
47368 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
47369 is found.
47370
47371 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
47372 linux.mod.
47373 (_linux_mod_SOURCES): New variable.
47374 (_linux_mod_CFLAGS): Likewise.
47375 (_linux_mod_LDFLAGS): Likewise.
47376 (linux_mod_SOURCES): Likewise.
47377 (linux_mod_CFLAGS): Likewise.
47378 (linux_mod_LDFLAGS): Likewise.
47379
47380 * DISTLIST: Added loader/i386/efi/linux.c,
47381 loader/i386/efi/linux_normal.c and
47382 include/grub/i386/efi/loader.h.
47383
47384 * loader/i386/efi/linux.c: New file.
47385 * loader/i386/efi/linux_normal.c: Likewise.
47386 * include/grub/i386/efi/loader.h: Likewise.
47387
89a7d726 473882006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
47389
47390 * commands/blocklist.c: New file.
47391
47392 * DISTLIST: Added commands/blocklist.c.
47393
47394 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 47395 color for the background, and a darker color for the foreground.
89a7d726 47396 (grub_console_checkkey): Return READ_KEY.
47397 (grub_console_cls): Set the background to
47398 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
47399
47400 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
47401
47402 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
47403 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
47404
47405 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
47406 prototype.
47407
47408 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
47409 BG. The spec is wrong again.
47410
47411 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
47412 prototype.
47413 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
47414
47415 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47416 commands/blocklist.c.
47417 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 47418
89a7d726 47419 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
47420 (blocklist_mod_SOURCES): New variable.
47421 (blocklist_mod_CFLAGS): Likewise.
47422 (blocklist_mod_LDFLAGS): Likewise.
47423
75c8f258 474242006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
47425
47426 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
47427 duplication.
47428 (lba_mode): Use %eax more intensively to reduce the code size.
47429
da2eb181 474302006-05-20 Marco Gerards <marco@gnu.org>
47431
47432 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
47433
47434 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
47435 for `menuentry'.
47436 (script): Accept leading newlines.
47437 (newlines): New rule to describe 0 or more newlines.
47438 (commands): Accept `command' with trailing newline. Fixed the
47439 order in which arguments were passed to `grub_script_add_cmd'.
47440 Accept commands separated by newlines.
47441 (function): Changed to accept newlines.
47442 (menuentry) Rewritten.
47443
47444 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
47445 front of the list, instead of to the end.
47446
577b4050 474472006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
47448
47449 * util/i386/pc/grub-install.in (bindir): New variable.
47450 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
47451 Shaver <lbgwjl@gmail.com>.
47452
0d6e1189 474532006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
47454
47455 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
47456 grub/machine/linux.h
47457 * loader/i386/pc/linux.c: Likewise.
47458
47459 * include/grub/i386/pc/linux.h: Moved to ...
47460 * include/grub/i386/linux.h: ... here.
47461
47462 * include/grub/i386/linux.h (struct linux_kernel_params): New
47463 struct.
f19dbdb7 47464
31b86e9f 474652006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
47466
47467 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
47468 checking.
47469 (grub_video_vbe_blit_glyph): Likewise.
47470 (grub_video_vbe_blit_bitmap): Likewise.
47471 (grub_video_vbe_blit_render_target): Likewise.
47472
83b984de 474732006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
47474
47475 * configure.ac (--with-platform): Properly quote the square
47476 brackets.
47477
5f0413bd 474782006-05-08 Marco Gerards <marco@gnu.org>
47479
47480 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
47481 this...
47482 (kernel_elf_HEADERS): ...to this. Updated all users.
47483 (grubof_symlist.c): Renamed from this...
47484 (kernel_elf_symlist.c): ...to this. Updated all users.
47485 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47486 (grubof_SOURCES): Renamed from this...
47487 (kernel_elf_SOURCES): ...to this.
47488 (grubof_HEADERS): Renamed from this...
47489 (kernel_elf_HEADERS): ...to this.
47490 (grubof_CFLAGS): Renamed from this...
47491 (kernel_elf_CFLAGS): ...to this.
47492 (grubof_ASFLAGS): Renamed from this...
47493 (kernel_elf_ASFLAGS): ...to this.
47494 (grubof_LDFLAGS): Renamed from this...
47495 (kernel_elf_LDFLAGS): ...to this.
47496
47497 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
47498 this...
47499 (kernel_elf_HEADERS): ...to this. Updated all users.
47500 (grubof_symlist.c): Renamed from this...
47501 (kernel_elf_symlist.c): ...to this. Updated all users.
47502 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47503 (grubof_SOURCES): Renamed from this...
47504 (kernel_elf_SOURCES): ...to this.
47505 (grubof_HEADERS): Renamed from this...
47506 (kernel_elf_HEADERS): ...to this.
47507 (grubof_CFLAGS): Renamed from this...
47508 (kernel_elf_CFLAGS): ...to this.
47509 (grubof_ASFLAGS): Renamed from this...
47510 (kernel_elf_ASFLAGS): ...to this.
47511 (grubof_LDFLAGS): Renamed from this...
47512 (kernel_elf_LDFLAGS): ...to this.
47513
47514 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
47515 `kernel.elf' instead of `grubof'.
47516
05568c2e 475172006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
47518
47519 Add --with-platform to configure. Use pkglibdir instead of
47520 pkgdatadir. This is reported by Roger Leigh.
47521
47522 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
47523 (host_vendor): Likewise.
47524 (host_os): Likewise.
47525 (pkgdatadir): Likewise.
47526 (platform): New variable.
47527 (pkglibdir): Likewise.
47528 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 47529
05568c2e 47530 * util/i386/pc/grub-install.in (datadir): Removed.
47531 (host_vendor): Likewise.
47532 (host_os): Likewise.
47533 (pkgdatadir): Likewise.
47534 (platform): New variable.
47535 (pkglibdir): Likewise.
47536 Use PKGLIBDIR instead of PKGDATADIR.
47537
47538 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
47539 instead of GRUB_DATADIR.
47540 (main): Likewise.
47541 * util/i386/pc/grub-mkimage.c (usage): Likewise.
47542 (main): Likewise.
47543 * util/i386/efi/grub-mkimage.c (usage): Likewise.
47544 (main): Likewise.
47545
47546 * configure.ac (--with-platform): New option.
47547 Use PLATFORM instead of HOST_VENDOR to specify a platform.
47548
47549 * Makefile.in: Include a makefile based on PLATFORM instead of
47550 HOST_VENDOR.
47551 (pkgdatadir): Not appended by the machine type.
47552 (pkglibdir): Appended by the machine type.
47553 (host_vendor): Removed.
47554 (platform): New variable.
47555 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
47556 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
47557 (uninstall): Likewise.
47558
4e93851c 475592006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
47560
47561 Use the environment context in the menu. Remove the commands
47562 "default" and "timeout", and use variables instead.
f19dbdb7 47563
4e93851c 47564 * normal/menu.c: Include grub/env.h.
47565 (print_entry): Cast TITLE to silence gcc.
47566 (get_timeout): New function.
47567 (set_timeout): Likewise.
47568 (get_entry_number): Likewise.
47569 (run_menu): Use a default entry, a fallback entry and a timeout
47570 in the environment variables "default", "fallback" and
47571 "timeout". Also, tweak the default entry if it is not within the
47572 current menu entries.
47573 (grub_menu_run): Use a fallback entry in the environment variable
47574 "fallback".
47575
47576 * normal/main.c (read_config_file): Do not initialize
47577 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
47578 NEWMENU->TIMEOUT.
47579 (grub_normal_execute): Use a data slot to store the menu.
47580
47581 * include/grub/normal.h (struct grub_menu): Removed default_entry,
47582 fallback_entry and timeout.
47583 (struct grub_menu_list): Removed.
47584 (grub_menu_list_t): Likewise.
47585 (struct grub_context): Likewise.
47586 (grub_context_t): Likewise.
47587 (grub_context_get): Likewise.
47588 (grub_context_get_current_menu): Likewise.
47589 (grub_context_push_menu): Likewise.
47590 (grub_context_pop_menu): Likewise.
47591 (grub_default_init): Likewise.
47592 (grub_default_fini): Likewise.
47593 (grub_timeout_init): Likewise.
47594 (grub_timeout_fini): Likewise.
47595
47596 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
47597 and timeout.mod.
47598 (normal_mod_SOURCES): Removed normal/context.c.
47599
47600 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
47601 commands/default.c, commands/timeout.c and normal/context.c.
47602 (normal_mod_SOURCES): Removed normal/context.c.
47603
47604 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
47605 commands/timeout.c and normal/context.c.
47606 (normal_mod_SOURCES): Removed normal/context.c.
47607
47608 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
47609 commands/default.c, commands/timeout.c and normal/context.c.
47610 (normal_mod_SOURCES): Removed normal/context.c.
47611
47612 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
47613 timeout.mod.
47614 (default_mod_SOURCES): Removed.
47615 (default_mod_CFLAGS): Likewise.
47616 (default_mod_LDFLAGS): Likewise.
47617 (timeout_mod_SOURCES): Removed.
47618 (timeout_mod_CFLAGS): Likewise.
47619 (timeout_mod_LDFLAGS): Likewise.
47620
47621 * DISTLIST: Removed commands/default.c, commands/timeout.c and
47622 normal/context.c.
47623
47624 * commands/default.c: Removed.
47625 * commands/timeout.c: Likewise.
47626 * normal/context.c: Likewise.
47627
1eb9cc1d 476282006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
47629
47630 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
47631
385bd9c1 476322006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
47633
47634 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
47635 "next" to "prev" for readability.
47636 (struct grub_env_sorted_var): New struct.
47637 (grub_env_context): Renamed to ...
47638 (initial_context): ... this.
47639 (grub_env_var_context): Renamed to ...
47640 (current_context): ... this.
47641 (grub_env_find): Look only at CURRENT_CONTEXT.
47642 (grub_env_context_open): Rewritten to copy exported variables from
47643 previous context.
47644 (grub_env_context_close): Rewritten according to the new
47645 scheme. Also, add an assertion to prevent the initial context from
47646 removed.
47647 (grub_env_insert): Removed the code for the sorted list.
47648 (grub_env_remove): Likewise.
47649 (grub_env_export): Simply mark the variable with
47650 GRUB_ENV_VAR_GLOBAL.
47651 (grub_env_set): A cosmetic change for naming consistency.
47652 (grub_env_get): Likewise.
47653 (grub_env_unset): Likewise.
47654 (grub_env_iterate): Rewritten to sort variables within this
47655 function.
47656 (grub_register_variable_hook): Fixed for naming consistency. Call
47657 grub_env_find again, only if NAME is not found at the first time.
47658 (mangle_data_slot_name): New function.
47659 (grub_env_set_data_slot): Likewise.
47660 (grub_env_get_data_slot): Likewise.
47661 (grub_env_unset_data_slot): Likewise.
47662
47663 * include/grub/env.h (grub_env_var_type): New enum.
47664 (GRUB_ENV_VAR_LOCAL): New constant.
47665 (GRUB_ENV_VAR_GLOBAL): Likewise.
47666 (GRUB_ENV_VAR_DATA): Likewise.
47667 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
47668 "type".
47669 (grub_env_set): Replace VAR with NAME for consistency.
47670 (grub_register_variable_hook): Likewise.
47671 (grub_env_export): Specify the name of the argument.
47672 (grub_env_set_data_slot): New prototype.
47673 (grub_env_get_data_slot): Likewise.
47674 (grub_env_unset_data_slot): Likewise.
47675
7f362539 476762006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47677
47678 Extend the loader so that GRUB can accept a loader which comes
47679 back to GRUB when a loaded image exits. Also, this change adds
47680 support for a chainloader on EFI.
f19dbdb7 47681
7f362539 47682 * term/efi/console.c: Include grub/misc.h.
47683 (grub_console_checkkey): Display a scan code on the top for
47684 debugging. This will be removed once the EFI port gets stable.
47685 Correct the scan code mapping.
47686
47687 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
47688 allocate memory from larger regions, in order to reduce the number
47689 of allocated regions. Otherwise, the MacOSX loader panics.
47690 (filter_memory_map): Avoid less than 1MB for compatibility with
47691 other loaders.
47692 (add_memory_regions): Allocate from the tail of a region, if
47693 possible, to avoid allocating a region near to 1MB, for the MacOSX
47694 loader.
47695
47696 * kern/efi/init.c (grub_efi_set_prefix): Specify
47697 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
47698
47699 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
47700 argument IMAGE_HANDLE and specify it to get a loaded image.
47701 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
47702 grub_efi_get_loaded_image.
fe6b695a 47703 (grub_efi_get_filename): Divide the length by the size of
7f362539 47704 grub_efi_char16_t.
47705 (grub_efi_get_device_path): New function.
47706 (grub_efi_print_device_path): Print End Device Path nodes. Divide
47707 the length by the size of grub_efi_char16_t for a file path device
47708 path node.
47709
47710 * kern/loader.c (grub_loader_noreturn): New variable.
47711 (grub_loader_set): Accept a new argument NORETURN. Set
47712 GRUB_LOADER_NORETURN to NORETURN.
47713 All callers changed.
47714 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
47715 grub_machine_fini.
47716
47717 * include/grub/efi/efi.h (grub_efi_get_device_path): New
47718 prototype.
47719 (grub_efi_get_loaded_image): Take an argument to specify an image
47720 handle.
47721
47722 * include/grub/loader.h (grub_loader_set): Added one more argument
47723 NORETURN.
47724
47725 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
47726 instead of grub_efi_open_protocol.
47727 (grub_efidisk_get_device_name): Likewise.
47728 (grub_efidisk_close): Print a newline.
47729 (grub_efidisk_get_device_handle): Fixed to use
47730 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
47731 GRUB_EFI_DEVICE_PATH_TYPE.
47732
47733 * disk/efi/efidisk.c (device_path_guid): Moved to ...
47734 * kern/efi/efi.c (device_path_guid): ... here.
47735
47736 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
47737 chain.mod.
47738 (kernel_mod_HEADERS): Added efi/disk.h.
47739 (_chain_mod_SOURCES): New variable.
47740 (_chain_mod_CFLAGS): Likewise.
47741 (_chain_mod_LDFLAGS): Likewise.
47742 (chain_mod_SOURCES): Likewise.
47743 (chain_mod_CFLAGS): Likewise.
47744 (chain_mod_LDFLAGS): Likewise.
47745
47746 * DISTLIST: Added include/grub/efi/chainloader.h,
47747 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
47748
47749 * include/grub/efi/chainloader.h: New file.
47750 * loader/efi/chainloader.c: Likewise.
47751 * loader/efi/chainloader_normal.c: Likewise.
47752
c0111d6e 477532006-04-30 Marco Gerards <marco@gnu.org>
47754
47755 * commands/configfile.c (grub_cmd_source): New function.
47756 (GRUB_MOD_INIT): Register the commands `source' and `.'.
47757 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
47758
df5341da 477592006-04-30 Marco Gerards <marco@gnu.org>
47760
47761 * normal/execute.c (grub_script_execute_cmd): Change the return
47762 type to `grub_err_t'. Correctly return the error.
47763 (grub_script_execute_cmdline): In case a command line is not a
47764 command or a function, try to interpret it as an assignment.
47765
f85934bd 477662006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47767
47768 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
47769 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
47770 skip a node whose name is obviously invalid as UTF-16,
47771 i.e. contains a NUL character. Stop the iteration when the last
47772 directory entry is found. Instead of using the return value of
47773 grub_hfsplus_btree_iterate_node, store the value in RET and use
47774 it, because the iterator can be stopped by the last directory
47775 entry.
47776
8f8a2cf8 477772006-04-30 Marco Gerards <marco@gnu.org>
47778
47779 * include/grub/env.h (grub_env_export): New prototype. Reported
47780 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
47781
a27e84ce 477822006-04-30 Marco Gerards <marco@gnu.org>
47783
47784 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
47785 size of the extents in a catalog file record.
47786
eaef0553 477872006-04-29 Marco Gerards <marco@gnu.org>
47788
47789 * commands/configfile.c (grub_cmd_configfile): Execute the
47790 configfile within its own context.
47791
47792 * include/grub/env.h (grub_env_context_open): New prototype.
47793 (grub_env_context_close): Likewise.
47794
47795 * kern/env.c (grub_env): Removed.
47796 (grub_env_sorted): Likewise.
47797 (grub_env_context): New variable.
47798 (grub_env_var_context): Likewise.
47799 (grub_env_find): Search both the active context and the global
47800 context.
47801 (grub_env_context_open): New function.
47802 (grub_env_context_close): Likewise.
47803 (grub_env_insert): Likewise.
47804 (grub_env_remove): Likewise.
47805 (grub_env_export): Likewise.
47806 (grub_env_set): Changed to use helper functions to avoid code
47807 duplication.
47808 (grub_env_iterate): Rewritten so both the current context and the
47809 global context are being used.
47810
47811 * normal/command.c (export_command): New function.
47812 (grub_command_init): Register the `export' function.
47813
7b455f4d 478142006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
47815
47816 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
47817 explicitly to suppress gcc's warnings.
47818 * fs/fat.c (grub_fat_find_dir): Likewise.
47819 (grub_fat_label): Likewise.
47820 * fs/xfs.c (grub_xfs_read_inode): Likewise.
47821 (grub_xfs_mount): Likewise.
47822 (grub_xfs_label): Likewise.
47823 * fs/affs.c (grub_affs_mount): Likewise.
47824 (grub_affs_label): Likewise.
47825 (grub_affs_iterate_dir): Likewise.
47826 * fs/sfs.c (grub_sfs_mount): Likewise.
47827 (grub_sfs_iterate_dir): Likewise.
47828 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
47829 * fs/hfs.c (grub_hfs_mount): Likewise.
47830 (grub_hfs_cmp_catkeys): Likewise.
47831 (grub_hfs_find_dir): Likewise.
47832 (grub_hfs_dir): Likewise.
47833 (grub_hfs_label): Likewise.
47834 * fs/jfs.c (grub_jfs_mount): Likewise.
47835 (grub_jfs_opendir): Likewise.
47836 (grub_jfs_getent): Likewise.
47837 (grub_jfs_lookup_symlink): Likewise.
47838 (grub_jfs_label): Likewise.
47839 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
47840 (grub_hfsplus_iterate_dir): Likewise.
47841 (grub_hfsplus_btree_iterate_node): Made static.
47842
47843 * util/grub-emu.c (prefix): New variable.
47844 (grub_machine_set_prefix): New function.
47845 (main): Do not set the environment variable "prefix" here. Only
47846 set PREFIX, which is used later by grub_machine_set_prefix.
47847
47848 * include/grub/video.h: Do not include grub/symbol.h.
47849 (grub_video_register): Not exported. This symbol is not defined in
47850 the kernel.
47851 (grub_video_unregister): Likewise.
47852 (grub_video_iterate): Likewise.
47853 (grub_video_setup): Likewise.
47854 (grub_video_restore): Likewise.
47855 (grub_video_get_info): Likewise.
47856 (grub_video_get_blit_format): Likewise.
47857 (grub_video_set_palette): Likewise.
47858 (grub_video_get_palette): Likewise.
47859 (grub_video_set_viewport): Likewise.
47860 (grub_video_get_viewport): Likewise.
47861 (grub_video_map_color): Likewise.
47862 (grub_video_map_rgb): Likewise.
47863 (grub_video_map_rgba): Likewise.
47864 (grub_video_fill_rect): Likewise.
47865 (grub_video_blit_glyph): Likewise.
47866 (grub_video_blit_bitmap): Likewise.
47867 (grub_video_blit_render_target): Likewise.
47868 (grub_video_scroll): Likewise.
47869 (grub_video_swap_buffers): Likewise.
47870 (grub_video_create_render_target): Likewise.
47871 (grub_video_delete_render_target): Likewise.
47872 (grub_video_set_active_render_target): Likewise.
47873
47874 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
47875 Undefined.
47876 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
47877
47878 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
47879 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47880 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47881 instead of $(srcdir)/genkernsyms.sh.
47882
47883 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
47884 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47885 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47886 instead of $(srcdir)/genkernsyms.sh.
47887
47888 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
47889 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47890 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47891 instead of $(srcdir)/genkernsyms.sh.
47892
47893 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
47894 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47895 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47896 instead of $(srcdir)/genkernsyms.sh.
47897
47898 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
47899 genkernsyms.sh.
47900
47901 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
47902 genkernsyms.sh.
47903 (gensymlist.sh): New target.
47904 (genkernsyms.sh): Likewise.
47905
47906 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
47907 genkernsyms.sh.in and gensymlist.sh.in.
47908
47909 * genkernsyms.sh: Removed.
47910 * gensymlist.sh: Likewise.
f19dbdb7 47911
7b455f4d 47912 * genkernsyms.sh.in: New file.
47913 * gensymlist.sh.in: Likewise.
47914
1885bb27 479152006-04-25 Hollis Blanchard <hollis@penguinppc.org>
47916
47917 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
47918 clobber "prefix", since we may have already set it manually.
47919
71538dff 479202006-04-25 Hollis Blanchard <hollis@penguinppc.org>
47921
47922 * kern/misc.c (abort): New alias for grub_abort.
47923
2965c7cc 479242006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
47925
47926 A new machine-specific function "grub_machine_set_prefix" is
47927 defined. This is called after loading modules, so that a prefix
47928 initialization can use modules. Also, this change adds an
47929 intensive debugging feature for the memory manager via the
47930 configure option "--enable-mm-debug".
f19dbdb7 47931
2965c7cc 47932 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
47933 PART.LEN.
47934
47935 * kern/sparc64/ieee1275/init.c (abort): Removed.
47936 (grub_stop): Likewise.
47937 (grub_exit): New function.
47938 (grub_set_prefix): Renamed to ...
47939 (grub_machine_set_prefix): ... this.
47940 (grub_machine_init): Do not call grub_set_prefix.
47941
47942 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
47943 (grub_machine_set_prefix): ... this.
47944 (grub_machine_init): Do not call grub_set_prefix.
47945
47946 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
47947 (grub_machine_init): Do not set the prefix here.
47948
47949 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
47950
47951 * kern/efi/init.c: Include grub/mm.h.
47952 (grub_efi_set_prefix): New function.
47953
47954 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
47955 (grub_efi_get_filename): New function.
47956 (grub_print_device_path): Renamed to ...
47957 (grub_efi_print_device_path): ... this.
47958
47959 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
47960 [MM_DEBUG] (grub_realloc): Likewise.
47961 [MM_DEBUG] (grub_free): Likewise.
47962 [MM_DEBUG] (grub_memalign): Likewise.
47963 [MM_DEBUG] (grub_mm_debug): New variable.
47964 [MM_DEBUG] (grub_debug_malloc): New function.
47965 [MM_DEBUG] (grub_debug_free): New function.
47966 [MM_DEBUG] (grub_debug_realloc): New function.
47967 [MM_DEBUG] (grub_debug_memalign): New function.
47968
47969 * kern/misc.c (grub_abort): Print a newline to distinguish
47970 the message.
47971
47972 * kern/main.c (grub_main): Call grub_machine_set_prefix and
47973 grub_set_root_dev after loading modules. This is necessary when
47974 setting a prefix depends on modules.
47975
47976 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
47977 (grub_efi_print_device_path): ... this.
47978 (grub_efi_get_filename): New prototype.
47979 (grub_efi_set_prefix): Likewise.
47980
47981 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
47982 and grub/disk.h.
47983 (grub_efidisk_get_device_handle): New prototype.
47984 (grub_efidisk_get_device_name): Likewise.
47985
47986 * include/grub/mm.h: Include config.h.
47987 (MM_DEBUG): Removed.
47988 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
47989 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
47990 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
47991 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
47992 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
47993 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
47994 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
47995 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
47996 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
47997
47998 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
47999
48000 * disk/efi/efidisk.c: Include grub/partition.h.
48001 (iterate_child_devices): New function.
48002 (add_device): First, compare only last device path nodes, so that
48003 devices are sorted by the types.
48004 (grub_efidisk_get_device_handle): New function.
48005 (grub_efidisk_get_device_name): Likewise.
48006
48007 * configure.ac (--enable-mm-debug): New option to enable the
48008 memory manager debugging feature. This makes the binary much
48009 bigger, so is disabled by default.
48010
9cacaa17 480112006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
48012
48013 Use grub_abort instead of grub_stop, and grub_exit must be
48014 define in each architecture now. Also, this change adds support
48015 for EFI disks.
f19dbdb7 48016
9cacaa17 48017 * util/i386/pc/grub-probefs.c: Include grub/term.h.
48018 (grub_getkey): New function.
48019 (grub_term_get_current): Likewise.
48020
48021 * util/i386/pc/grub-setup.c: Include grub/term.h.
48022 (grub_getkey): New function.
48023 (grub_term_get_current): Likewise.
48024
48025 * util/misc.c (grub_stop): Renamed to ...
48026 (grub_exit): ... this.
48027
48028 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
48029 (grub_exit): ... this.
48030 (grub_machine_init): Use grub_abort instead of abort.
48031 (grub_stop): Removed.
48032
48033 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
48034 abort.
48035
48036 * kern/i386/pc/startup.S (grub_exit): New function.
48037 (cold_reboot): New label.
48038
48039 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
48040 (grub_efi_init): Call grub_efidisk_init.
48041 (grub_efi_fini): Call grub_efidisk_fini.
48042
48043 * kern/efi/efi.c: Include grub/mm.h.
48044 (grub_efi_console_control_guid): Renamed to ...
48045 (console_control_guid): ... this.
48046 (grub_efi_loaded_image_guid): Renamed to ...
48047 (loaded_image_guid): ... this.
48048 (grub_efi_locate_handle): New function.
48049 (grub_efi_open_protocol): Likewise.
48050 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
48051 GRUB_EFI_CONSOLE_CONTROL_GUID.
48052 (grub_efi_exit): Removed.
48053 (grub_stop): Likewise.
48054 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
48055 (grub_exit): New function.
48056 (grub_print_device_path): Likewise.
48057
48058 * kern/rescue.c (grub_rescue_cmd_exit): New function.
48059 (grub_enter_rescue_mode): Register "exit".
48060
48061 * kern/misc.c (grub_real_dprintf): A cosmetic change.
48062 (grub_abort): New function.
48063
48064 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
48065
48066 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
48067
48068 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
48069
48070 * include/grub/efi/efi.h (grub_efi_exit): Removed.
48071 (grub_print_device_path): New prototype.
48072 (grub_efi_locate_handle): Likewise.
48073 (grub_efi_open_protocol): Likewise.
48074
48075 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
48076 * disk/efi/efidisk.c: Likewise.
48077
48078 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
48079
48080 * include/grub/efi/console_control.h
48081 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
48082
48083 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
48084 last 8 bytes as an array.
48085 (GRUB_EFI_DISK_IO_GUID): New macro.
48086 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
48087 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
48088 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
48089 grub_uint8_t.
48090 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
48091 (struct grub_efi_device_path): Rename the member "sub_type" to
48092 "subtype".
48093 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
48094 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
48095 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
48096 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
48097 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
48098 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
48099 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
48100 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
48101 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
48102 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
48103 (struct grub_efi_pci_device_path): New structure.
48104 (grub_efi_pci_device_path_t): New type.
48105 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
48106 (struct grub_efi_pccard_device_path): New structure.
48107 (grub_efi_pccard_device_path_t): New type.
48108 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
48109 (struct grub_efi_memory_mapped_device_path): New structure.
48110 (grub_efi_memory_mapped_device_path_t): New type.
48111 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
48112 (struct grub_efi_vendor_device_path): New structure.
48113 (grub_efi_vendor_device_path_t): New type.
48114 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
48115 (struct grub_efi_controller_device_path): New structure.
48116 (grub_efi_controller_device_path_t): New type.
48117 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
48118 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
48119 (struct grub_efi_acpi_device_path): New structure.
48120 (grub_efi_acpi_device_path_t): New type.
48121 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
48122 (struct grub_efi_expanded_acpi_device_path): New structure.
48123 (grub_efi_expanded_acpi_device_path_t): New type.
48124 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
48125 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
48126 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
48127 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
48128 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
48129 (struct grub_efi_atapi_device_path): New structure.
48130 (grub_efi_atapi_device_path_t): New type.
48131 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
48132 (struct grub_efi_fibre_channel_device_path): New structure.
48133 (grub_efi_fibre_channel_device_path_t): New type.
48134 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
48135 (struct grub_efi_1394_device_path): New structure.
48136 (grub_efi_1394_device_path_t): New type.
48137 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
48138 (struct grub_efi_usb_device_path): New structure.
48139 (grub_efi_usb_device_path_t): New type.
48140 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
48141 (struct grub_efi_usb_class_device_path): New structure.
48142 (grub_efi_usb_class_device_path_t): New type.
48143 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
48144 (struct grub_efi_i2o_device_path): New structure.
48145 (grub_efi_i2o_device_path_t): New type.
48146 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
48147 (struct grub_efi_mac_address_device_path): New structure.
48148 (grub_efi_mac_address_device_path_t): New type.
48149 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
48150 (struct grub_efi_ipv4_device_path): New structure.
48151 (grub_efi_ipv4_device_path_t): New type.
48152 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
48153 (struct grub_efi_ipv6_device_path): New structure.
48154 (grub_efi_ipv6_device_path_t): New type.
48155 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
48156 (struct grub_efi_infiniband_device_path): New structure.
48157 (grub_efi_infiniband_device_path_t): New type.
48158 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
48159 (struct grub_efi_uart_device_path): New structure.
48160 (grub_efi_uart_device_path_t): New type.
48161 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
48162 (struct grub_efi_vendor_messaging_device_path): New structure.
48163 (grub_efi_vendor_messaging_device_path_t): New type.
48164 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
48165 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
48166 (struct grub_efi_hard_drive_device_path): New structure.
48167 (grub_efi_hard_drive_device_path_t): New type.
48168 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
48169 (struct grub_efi_cdrom_device_path): New structure.
48170 (grub_efi_cdrom_device_path_t): New type.
48171 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
48172 (struct grub_efi_vendor_media_device_path): New structure.
48173 (grub_efi_vendor_media_device_path_t): New type.
48174 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
48175 (struct grub_efi_file_path_device_path): New structure.
48176 (grub_efi_file_path_device_path_t): New type.
48177 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
48178 (struct grub_efi_protocol_device_path): New structure.
48179 (grub_efi_protocol_device_path_t): New type.
48180 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
48181 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
48182 (struct grub_efi_bios_device_path): New structure.
48183 (grub_efi_bios_device_path_t): New type.
48184 (struct grub_efi_disk_io): New structure.
48185 (grub_efi_disk_io_t): New type.
48186 (struct grub_efi_block_io_media): New structure.
48187 (grub_efi_block_io_media_t): New type.
48188 (struct grub_efi_block_io): New structure.
48189 (grub_efi_block_io_t): New type.
48190
48191 * include/grub/misc.h (grub_stop): Removed.
48192 (grub_exit): New prototype.
48193 (grub_abort): Likewise.
48194
48195 * include/grub/disk.h (enum grub_disk_dev_id): Added
48196 GRUB_DISK_DEVICE_EFIDISK_ID.
48197
48198 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
48199 disk/efi/efidisk.c.
48200 (kernel_syms.lst): Remove the target if an error occurs.
48201
49986a9f 482022006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
48203
48204 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
48205 as it was simply too buggy.
48206
970d3b8a 482072006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
48208
48209 * kern/misc.c (grub_lltoa): New function.
48210 (grub_vsprintf): Added support for the long long suffix,
48211 i.e. "ll".
48212
ff04ec24 482132006-04-20 Hollis Blanchard <hollis@penguinppc.org>
48214
48215 * Makefile.in (LDFLAGS): Add variable.
48216 (LD): Remove variable.
48217 * configure.ac: Add -m32 to LDFLAGS.
48218 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
48219 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
48220 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
48221 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
48222 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
48223 variables.
48224 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
48225 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
48226 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
48227
37e5e1a4 482282006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
48229
48230 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
48231 length for unknown glyph.
48232
c352d8dd 482332006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
48234
2eab1c0d 48235 Add support for pre-loaded modules into the EFI port.
f19dbdb7 48236
2eab1c0d 48237 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
48238 completely. Accept one more argument DIR. The caller has changed.
48239
48240 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
48241
48242 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
48243 (grub_efi_loaded_image_guid): New variable.
48244 (grub_efi_get_loaded_image): New function.
48245 (grub_arch_modules_addr): Likewise.
48246
48247 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
48248 prototype.
48249
48250 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
48251 (struct grub_efi_loaded_image): New structure.
48252 (grub_efi_loaded_image_t): New type.
48253
482542006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 48255
c352d8dd 48256 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
48257 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
48258 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
48259
6d01d6b4 482602006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
48261
48262 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
48263
976a4ea0 482642006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
48265
48266 * DISTLIST: Added include/grub/efi/console.h,
48267 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
48268 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48269
48270 * include/grub/efi/console.h: New file.
48271 * include/grub/efi/time.h: Likewise.
48272 * include/grub/i386/efi/kernel.h: Likewise.
48273 * kern/efi/init.c: Likewise.
48274 * kern/efi/mm.c: Likewise.
48275 * term/efi/console.c: Likewise.
f19dbdb7 48276
976a4ea0 48277 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
48278 (grub_stop): Removed.
48279 (grub_get_rtc): Likewise.
48280 (grub_machine_init): Simply call grub_efi_init.
48281 (grub_machine_fini): Call grub_efi_fini.
48282
48283 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
48284 (grub_efi_output_string): Removed.
48285 (grub_efi_stall): New function.
48286 (grub_stop): Likewise.
48287 (grub_get_rtc): Likewise.
48288
48289 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
48290 (grub_efi_stall): New prototype.
48291 (grub_efi_allocate_pages): Likewise.
48292 (grub_efi_free_pages): Likewise.
48293 (grub_efi_get_memory_map): Likewise.
48294 (grub_efi_mm_init): Likewise.
48295 (grub_efi_mm_fini): Likewise.
48296 (grub_efi_init): Likewise.
48297 (grub_efi_fini): Likewise.
48298
48299 * include/grub/i386/efi/time.h: Do not include
48300 grub/symbol.h. Include grub/efi/time.h.
48301 (GRUB_TICKS_PER_SECOND): Removed.
48302 (grub_get_rtc): Likewise.
48303
48304 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
48305 Added padding. The EFI spec is buggy.
48306 (GRUB_EFI_BLACK): New macro.
48307 (GRUB_EFI_BLUE): Likewise.
48308 (GRUB_EFI_GREEN): Likewise.
48309 (GRUB_EFI_CYAN): Likewise.
48310 (GRUB_EFI_RED): Likewise.
48311 (GRUB_EFI_MAGENTA): Likewise.
48312 (GRUB_EFI_BROWN): Likewise.
48313 (GRUB_EFI_LIGHTGRAY): Likewise.
48314 (GRUB_EFI_BRIGHT): Likewise.
48315 (GRUB_EFI_DARKGRAY): Likewise.
48316 (GRUB_EFI_LIGHTBLUE): Likewise.
48317 (GRUB_EFI_LIGHTGREEN): Likewise.
48318 (GRUB_EFI_LIGHTCYAN): Likewise.
48319 (GRUB_EFI_LIGHTRED): Likewise.
48320 (GRUB_EFI_LIGHTMAGENTA): Likewise.
48321 (GRUB_EFI_YELLOW): Likewise.
48322 (GRUB_EFI_WHITE): Likewise.
48323 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
48324 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
48325 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
48326 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
48327 (GRUB_EFI_BACKGROUND_RED): Likewise.
48328 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
48329 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
48330 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
48331 (GRUB_EFI_TEXT_ATTR): Likewise.
48332
48333 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
48334 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48335 (kernel_mod_HEADERS): Added efi/time.h.
48336
83709125 483372006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
48338
48339 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
48340 include/grub/efi/api.h, include/grub/efi/console_control.h,
48341 include/grub/efi/efi.h, include/grub/efi/pe32.h,
48342 include/grub/i386/efi/time.h, kern/efi/efi.c,
48343 kern/i386/efi/init.c, kern/i386/efi/startup.S,
48344 and util/i386/efi/grub-mkimage.c.
48345
48346 * Makefile.in (RMKFILES): Added i386-efi.rmk.
48347
48348 * genmk.rb (PModule#rule): Do not export symbols if
48349 #{prefix}_EXPORTS is set to "no".
48350
48351 * conf/i386-efi.mk: New file.
48352 * conf/i386-efi.rmk: Likewise.
48353 * include/grub/efi/api.h: Likewise.
48354 * include/grub/efi/console_control.h: Likewise.
48355 * include/grub/efi/efi.h: Likewise.
48356 * include/grub/efi/pe32.h: Likewise.
48357 * include/grub/i386/efi/time.h: Likewise.
48358 * kern/efi/efi.c: Likewise.
48359 * kern/i386/efi/init.c: Likewise.
48360 * kern/i386/efi/startup.S: Likewise.
48361 * util/i386/efi/grub-mkimage.c: Likewise.
48362
483632006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 48364
48365 * include/grub/script.h: Include <grub/parser.h> and
48366 "grub_script.tab.h".
48367 (struct grub_lexer_param): New struct.
48368 (struct grub_parser_param): Likewise.
48369 (grub_script_create_arglist): Pass the state in an argument.
48370 (grub_script_add_arglist): Likewise.
48371 (grub_script_create_cmdline): Likewise.
48372 (grub_script_create_cmdblock): Likewise.
48373 (grub_script_create_cmdif): Likewise.
48374 (grub_script_create_cmdmenu): Likewise.
48375 (grub_script_add_cmd): Likewise.
48376 (grub_script_arg_add): Likewise.
48377 (grub_script_lexer_ref): Likewise.
48378 (grub_script_lexer_deref): Likewise.
48379 (grub_script_lexer_record_start): Likewise.
48380 (grub_script_lexer_record_stop): Likewise.
48381 (grub_script_mem_record): Likewise.
48382 (grub_script_mem_record_stop): Likewise.
48383 (grub_script_malloc): Likewise.
48384 (grub_script_yylex): Likewise.
48385 (grub_script_yyparse): Likewise.
48386 (grub_script_yyerror): Likewise.
48387 (grub_script_yylex): Likewise.
48388 (grub_script_lexer_init): Return the state.
48389
48390 * normal/lexer.c (grub_script_lexer_state): Removed variable.
48391 (grub_script_lexer_done): Likewise.
48392 (grub_script_lexer_getline): Likewise.
48393 (grub_script_lexer_refs): Likewise.
48394 (script): Likewise.
48395 (newscript): Likewise.
48396 (record): Likewise.
48397 (recording): Likewise.
48398 (recordpos): Likewise.
48399 (recordlen): Likewise.
48400 (grub_script_lexer_init): Return the state instead of setting
48401 global variables.
48402 (grub_script_lexer_ref): Use the newly added argument for state
48403 instead of globals.
48404 (grub_script_lexer_deref): Likewise.
48405 (grub_script_lexer_record_start): Likewise.
48406 (grub_script_lexer_record_stop): Likewise.
48407 (recordchar): Likewise.
48408 (nextchar): Likewise.
48409 (grub_script_yylex2): Likewise.
48410 (grub_script_yylex): Likewise.
48411 (grub_script_yyerror): Likewise.
48412
48413 * normal/parser.y (func_mem): Removed variable.
48414 (menu_entry): Likewise.
48415 (err): Likewise.
48416 (%lex-param): New parser option.
48417 (%parse-param): Likewise.
48418 (script): Always return the AST.
48419 (argument): Pass the state around.
48420 (arguments): Likewise.
48421 (grubcmd): Likewise.
48422 (commands): Likewise.
48423 (function): Likewise.
48424 (menuentry): Likewise.
48425 (if_statement): Likewise.
48426 (if): Likewise.
48427
48428 * normal/script.c (grub_script_memused): Removed variable.
48429 (grub_script_parsed): Likewise.
48430 (grub_script_malloc): Added a state argument. Use that instead of
48431 global variables.
48432 (grub_script_mem_record): Likewise.
48433 (grub_script_mem_record_stop): Likewise.
48434 (grub_script_arg_add): Likewise.
48435 (grub_script_add_arglist): Likewise.
48436 (grub_script_create_cmdline): Likewise.
48437 (grub_script_create_cmdif): Likewise.
48438 (grub_script_create_cmdmenu): Likewise.
48439 (grub_script_add_cmd): Likewise.
48440 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 48441
e2a8c904 484422006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 48443
48444 * normal/command.c (grub_command_init): Remove the title command.
48445
48446 * normal/lexer.c (grub_script_yylex): Renamed from this...
48447 (grub_script_yylex2): ... to this.
48448 (grub_script_yylex): New function. Temporary
48449 introduced to filter some tokens.
48450 (grub_script_yyerror): Print a newline.
48451
48452 * normal/main.c (read_config_file): Output information about the
48453 lines that contain errors. Wait for a key after all lines have
48454 been processed. Don't return an empty menu.
48455
48456 * normal/parser.y (func_mem): Don't initialize.
48457 (menu_entry): Likewise.
48458 (err): New variable.
48459 (script): Don't return anything when an error was encountered.
48460 (ws, returns): Removed rules.
48461 (argument): Disabled concatenated variable support.
48462 (arguments): Remove explicit separators.
48463 (grubcmd): Likewise.
48464 (function): Likewise.
48465 (menuentry): Likewise.
48466 (if): Likewise.
48467 (commands): Likewise. Add error handling.
48468
48469 * normal/script.c (grub_script_create_cmdline): If
48470 `grub_script_parsed' is 0, assume the parser encountered an error.
48471
c9a86192 484722006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
48473
48474 * configure.ac: Add support for EFI. Fix the typo
48475 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
48476
70f3b243 484772006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48478
48479 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
48480 foreign multibyte characters should be shown correctly.
48481
65f201ad 484822006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48483
48484 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
48485 calculation.
48486 (read_config_file): Made it to close file before returning.
48487
b4b93674 484882006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
48489
48490 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
48491 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
48492 video/i386/pc/vbefill.c.
48493
48494 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
48495 video/i386/pc/vbefill.c.
48496
48497 * include/grub/video.h (grub_video_blit_format): New enum.
48498 (grub_video_mode_info): Added new member blit_format.
48499 (grub_video_get_blit_format): New function prototype.
48500
48501 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
48502 function prototype.
48503 (grub_video_vbe_map_rgb): Likewise.
48504 (grub_video_vbe_unmap_color): Likewise.
48505
48506 * include/grub/i386/pc/vbeblit.h: New file.
48507
48508 * include/grub/i386/pc/vbefill.h: New file.
48509
48510 * video/video.c (grub_video_get_blit_format): New function.
48511 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
48512 (grub_video_vbe_map_rgb): Likewise.
48513 (grub_video_vbe_unmap_color): Likewise.
48514
48515 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
48516 optimized fills.
48517 (grub_video_vbe_blit_render_target): Changed to use more optimized
48518 blits.
48519 (grub_video_vbe_setup): Added detection for optimized settings.
48520 (grub_video_vbe_create_render_target): Likewise.
48521
48522 * video/i386/pc/vbeblit.c: New file.
48523
48524 * video/i386/pc/vbefill.c: New file.
48525
c2379b9c 485262006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
48527
48528 * font/manager.c (grub_font_get_glyph): Removed font fixup from
48529 here...
48530
48531 * util/unifont2pff.rb: ... and moved it to here. Improved argument
48532 parsing to support both hex and dec ranges. If filename was missing
48533 show usage information.
48534
bd0d7896 485352006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
48536
48537 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
48538 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
48539
48540 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
48541 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
48542 (video_mod_SOURCES): Added.
48543 (video_mod_CFLAGS): Likewise.
48544 (video_mod_LDFLAGS): Likewise.
48545 (gfxterm_mod_SOURCES): Likewise.
48546 (gfxterm_mod_CFLAGS): Likewise.
48547 (gfxterm_mod_LDFLAGS): Likewise.
48548 (videotest_mod_SOURCES): Likewise.
48549 (videotest_mod_CFLAGS): Likewise.
48550 (videotest_mod_LDFLAGS): Likewise.
48551 (vesafb_mod_SOURCES): Removed.
48552 (vesafb_mod_CFLAGS): Likewise.
48553 (vesafb_mod_LDFLAGS): Likewise.
48554 (vga_mod_SOURCES): Likewise.
48555 (vga_mod_CFLAGS): Likewise.
48556 (vga_mod_LDFLAGS): Likewise.
48557
48558 * commands/videotest.c: New file.
48559
48560 * font/manager.c (fill_with_default_glyph): Modified to use
48561 grub_font_glyph.
48562 (grub_font_get_glyph): Likewise.
48563 (fontmanager): Renamed from this...
48564 (font_manager): ... to this.
48565
48566 * include/grub/font.h (grub_font_glyph): Added new structure.
48567 (grub_font_get_glyph): Modified to use grub_font_glyph.
48568
48569 * include/grub/misc.h (grub_abs): Added as inline function.
48570
48571 * include/grub/video.h: New file.
48572
48573 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
48574 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
48575 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
48576 (grub_vbe_get_controller_info): Renamed from this...
48577 (grub_vbe_bios_get_controller_info): ... to this.
48578 (grub_vbe_get_mode_info): Renamed from this...
48579 (grub_vbe_bios_get_mode_info): ... to this.
48580 (grub_vbe_set_mode): Renamed from this...
48581 (grub_vbe_bios_set_mode): ... to this.
48582 (grub_vbe_get_mode): Renamed from this...
48583 (grub_vbe_bios_get_mode): ... to this.
48584 (grub_vbe_set_memory_window): Renamed from this...
48585 (grub_vbe_bios_set_memory_window): ... to this.
48586 (grub_vbe_get_memory_window): Renamed from this...
48587 (grub_vbe_bios_get_memory_window): ... to this.
48588 (grub_vbe_set_scanline_length): Renamed from this...
48589 (grub_vbe_set_scanline_length): ... to this.
48590 (grub_vbe_get_scanline_length): Renamed from this...
48591 (grub_vbe_bios_get_scanline_length): ... to this.
48592 (grub_vbe_set_display_start): Renamed from this...
48593 (grub_vbe_bios_set_display_start): ... to this.
48594 (grub_vbe_get_display_start): Renamed from this...
48595 (grub_vbe_bios_get_display_start): ... to this.
48596 (grub_vbe_set_palette_data): Renamed from this...
48597 (grub_vbe_bios_set_palette_data): ... to this.
48598 (grub_vbe_set_pixel_rgb): Removed.
48599 (grub_vbe_set_pixel_index): Likewise.
48600
48601 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
48602 from this...
48603 (grub_vbe_bios_get_controller_info): ... to this.
48604 (grub_vbe_get_mode_info): Renamed from this...
48605 (grub_vbe_bios_get_mode_info): ... to this.
48606 (grub_vbe_set_mode): Renamed from this...
48607 (grub_vbe_bios_set_mode): ... to this.
48608 (grub_vbe_get_mode): Renamed from this...
48609 (grub_vbe_bios_get_mode): ... to this.
48610 (grub_vbe_set_memory_window): Renamed from this...
48611 (grub_vbe_bios_set_memory_window): ... to this.
48612 (grub_vbe_get_memory_window): Renamed from this...
48613 (grub_vbe_bios_get_memory_window): ... to this.
48614 (grub_vbe_set_scanline_length): Renamed from this...
48615 (grub_vbe_set_scanline_length): ... to this.
48616 (grub_vbe_get_scanline_length): Renamed from this...
48617 (grub_vbe_bios_get_scanline_length): ... to this.
48618 (grub_vbe_set_display_start): Renamed from this...
48619 (grub_vbe_bios_set_display_start): ... to this.
48620 (grub_vbe_get_display_start): Renamed from this...
48621 (grub_vbe_bios_get_display_start): ... to this.
48622 (grub_vbe_set_palette_data): Renamed from this...
48623 (grub_vbe_bios_set_palette_data): ... to this.
48624 (grub_vbe_bios_get_controller_info): Fixed problem with registers
48625 getting corrupted after calling it. Added more pushes and pops.
48626 (grub_vbe_bios_set_mode): Likewise.
48627 (grub_vbe_bios_get_mode): Likewise.
48628 (grub_vbe_bios_get_memory_window): Likewise.
48629 (grub_vbe_bios_set_scanline_length): Likewise.
48630 (grub_vbe_bios_get_scanline_length): Likewise.
48631 (grub_vbe_bios_get_display_start): Likewise.
48632 (grub_vbe_bios_set_palette_data): Likewise.
48633
48634 * normal/cmdline.c (cl_set_pos): Refresh the screen.
48635 (cl_insert): Likewise.
48636 (cl_delete): Likewise.
48637
48638 * term/gfxterm.c: New file.
48639
48640 * term/i386/pc/vesafb.c: Removed file.
48641
48642 * video/video.c: New file.
48643
48644 * video/i386/pc/vbe.c (real2pm): Added new function.
48645 (grub_video_vbe_draw_pixel): Likewise.
48646 (grub_video_vbe_get_video_ptr): Likewise.
48647 (grub_video_vbe_get_pixel): Likewise
48648 (grub_video_vbe_init): Likewise.
48649 (grub_video_vbe_fini): Likewise.
48650 (grub_video_vbe_setup): Likewise.
48651 (grub_video_vbe_get_info): Likewise.
48652 (grub_video_vbe_set_palette): Likewise.
48653 (grub_video_vbe_get_palette): Likewise.
48654 (grub_video_vbe_set_viewport): Likewise.
48655 (grub_video_vbe_get_viewport): Likewise.
48656 (grub_video_vbe_map_color): Likewise.
48657 (grub_video_vbe_map_rgb): Likewise.
48658 (grub_video_vbe_map_rgba): Likewise.
48659 (grub_video_vbe_unmap_color): Likewise.
48660 (grub_video_vbe_fill_rect): Likewise.
48661 (grub_video_vbe_blit_glyph): Likewise.
48662 (grub_video_vbe_blit_bitmap): Likewise.
48663 (grub_video_vbe_blit_render_target): Likewise.
48664 (grub_video_vbe_scroll): Likewise.
48665 (grub_video_vbe_swap_buffers): Likewise.
48666 (grub_video_vbe_create_render_target): Likewise.
48667 (grub_video_vbe_delete_render_target): Likewise.
48668 (grub_video_vbe_set_active_render_target): Likewise.
48669 (grub_vbe_set_pixel_rgb): Remove function.
48670 (grub_vbe_set_pixel_index): Likewise.
48671 (index_color_mode): Remove static variable.
48672 (active_mode): Likewise.
48673 (framebuffer): Likewise.
48674 (bytes_per_scan_line): Likewise.
48675 (grub_video_vbe_adapter): Added new static variable.
48676 (framebuffer): Likewise.
48677 (render_target): Likewise.
48678 (initial_mode): Likewise.
48679 (mode_in_use): Likewise.
48680 (mode_list): Likewise.
48681
5f97350b 486822006-03-10 Marco Gerards <marco@gnu.org>
48683
48684 * configure.ac (AC_INIT): Bumped to 1.93.
48685
48686 * DISTLIST: Added `include/grub/hfs.h'.
48687
a3c5c6f8 486882006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
48689
48690 * boot/i386/pc/boot.S (general_error): Before looping, try INT
48691 18H, which might help the BIOS falling back to next boot media.
48692
6de53d26 486932006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
48694
48695 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
48696 Poe Chen <poe.poechen@gmail.com>.
48697
77c4a393 486982006-01-17 Marco Gerards <marco@gnu.org>
48699
48700 * include/grub/normal.h: Include <grub/script.h>.
48701 (grub_command_list): Removed struct.
48702 (grub_command_list_t): Removed type.
48703 (grub_menu_entry): Remove members `num' and `command_list'. Add
48704 members `commands' and `sourcecode'.
48705 * include/grub/script.h: Add inclusion guards.
48706 (grub_script_cmd_menuentry): New struct.
48707 (grub_script_execute_menuentry): New prototype.
48708 (grub_script_lexer_record_start): Likewise.
48709 (grub_script_lexer_record_stop): Likewise.
48710 * normal/execute.c (grub_script_execute_menuentry): New function.
48711 * normal/lexer.c (record, recording, recordpos, recordlen): New
48712 variables.
48713 (grub_script_lexer_record_start): New function.
48714 (grub_script_lexer_record_stop): Likewise.
48715 (recordchar): Likewise.
48716 (nextchar): Likewise.
48717 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
48718 2048 as the buffer size. Add the tokens `menuentry' and `@'.
48719 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
48720 (current_menu): New variable.
48721 (free_menu): Mainly rewritten.
48722 (grub_normal_menu_addentry): New function.
48723 (read_config_file): Rewritten.
48724 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 48725 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 48726 the menu entry.
48727 (run): Mainly rewritten.
48728 * normal/parser.y (menu_entry): New variable.
48729 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
48730 (menuentry): New rule.
48731 (command): Add `menuentry'.
48732 (if_statement): Allow additional returns before `fi'.
48733 * normal/script.c (grub_script_create_cmdmenu): New function.
48734
144f1f98 487352006-01-03 Marco Gerards <marco@gnu.org>
48736
48737 * INSTALL: GNU Bison is required.
48738 * configure.ac: Rewritten the test to detect Bison.
48739 * Makefile.in (YACC): New variable. Reported by Xun Sun
48740 <xun.sun.cn@gmail.com>.
48741
af4b2d89 487422006-01-03 Marco Gerards <marco@gnu.org>
48743
48744 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
48745 the HFS+ filesystem to filesystem blocks.
48746 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
48747 GCC warning is silenced.
48748
15643b71 487492006-01-03 Marco Gerards <marco@gnu.org>
48750
48751 * partmap/apple.c (apple_partition_map_iterate): Convert the data
48752 read from disk from big endian to host byte order.
48753
00905879 487542006-01-03 Hollis Blanchard <hollis@penguinppc.org>
48755
48756 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
48757 documentation.
48758 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
48759 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
48760 embedded HFS+ filesystem.
48761 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
48762 (grub_hfs_sblock): Move from here...
48763 * include/grub/hfs.h: To here... New file.
48764 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
48765 documentation.
48766 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
48767 New macros.
48768 (grub_hfsplus_volheader): Change type of member `magic' to
48769 `grub_uint16_t'.
48770 (grub_hfsplus_data): Add new member `embedded_offset'.
48771 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
48772 returned block.
48773 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
48774 Calculate the offset.
48775
8899bc3e 487762005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48777
48778 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
48779 Removed.
48780 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
48781
ae8c0277 487822005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48783
48784 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
48785 ENV->NAME is NULL after allocating ENV->VALUE.
48786
07084456 487872005-12-25 Marco Gerards <marco@gnu.org>
48788
48789 * kern/env.c (grub_env_set): Rewritten the error handling code.
48790
4750f5f1 487912005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48792
48793 * geninit.sh: Made more robust, and more portable.
48794
50214199 487952005-12-25 Marco Gerards <marco@gnu.org>
48796
48797 Add support for Apple HFS+ filesystems.
f19dbdb7 48798
50214199 48799 * fs/hfsplus.c: New file.
48800
48801 * DISTLIST: Added `fs/hfsplus.c'.
48802
48803 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
48804 (hfsplus_mod_SOURCES): New variable.
48805 (hfsplus_mod_CFLAGS): Likewise.
48806 (hfsplus_mod_LDFLAGS): Likewise.
48807 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
48808 (grub_setup_SOURCES): Likewise.
48809 (grub_mkdevicemap_SOURCES): Likewise.
48810 (grub_emu_SOURCES): Likewise.
48811 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48812
48813 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
48814
48815 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
48816
befaed6c 488172005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48818
48819 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
48820 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
48821 include/grub/parser.h, include/grub/script.h, kern/parser.c,
48822 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
48823 normal/lexer.c, normal/parser.y, normal/script.c, and
48824 partmap/gpt.c.
48825 Removed kern/sparc64/cache.c.
48826
48827 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
48828 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
48829 grub_emu_init.c.
48830
48831 * configure.ac (AC_INIT): Bumped to 1.92.
48832
6a124103 488332005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
48834
48835 * kern/err.c (grub_error_push): Added new function to support error
48836 stacks.
48837 (grub_error_pop): Likewise.
48838 (grub_error_stack_items): New local variable to support error stacks.
48839 (grub_error_stack_pos): Likewise.
48840 (grub_error_stack_assert): Likewise.
48841 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
48842 stack depth.
48843 (grub_print_error): Added support to print errors from error stack.
48844
48845 * include/grub/err.h (grub_error_push): Added function prototype.
48846 (grub_error_pop): Likewise.
48847
be973c1b 488482005-12-09 Hollis Blanchard <hollis@penguinppc.org>
48849
48850 * configure.ac: Accept `powerpc64' as host_cpu.
48851 (amd64): Rename to `biarch32'.
48852
48853 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
48854 non-cacheline-aligned addresses.
48855
48856 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
48857 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
48858 if `size' is non-zero.
48859
b04216ab 488602005-12-03 Marco Gerards <mgerards@xs4all.nl>
48861
48862 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
48863 and `cd' to make sure the filename is not prefixed with a
48864 directory name.
48865 (pkgdata_MODULES): Add `gpt.mod'.
48866 (gpt_mod_SOURCES): New variable.
48867 (gpt_mod_CFLAGS): Likewise.
48868 (gpt_mod_LDFLAGS): Likewise.
48869
48870 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
48871
48872 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
48873 New macro.
48874
48875 * partmap/gpt.c: New file.
48876
48877 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
48878 GPT partition map is detected.
48879
41730ed9 488802005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
48881
48882 * commands/i386/pc/play.c: New file.
48883 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
48884 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
48885 macros.
f19dbdb7 48886
95dc3643 488872005-11-27 Marco Gerards <mgerards@xs4all.nl>
48888
48889 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
48890 ((unused))' to silence gcc warning.
48891
1569ec51 488922005-11-26 Hollis Blanchard <hollis@penguinppc.org>
48893
48894 * configure.ac: Correct `AC_PROG_YACC' test.
48895
9abde152 488962005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48897
48898 * util/powerpc/ieee1275/grub-install.in: Run the mount point
48899 check before installing files.
48900
44b83271 489012005-11-22 Mike Small <smallm@panix.com>
48902
48903 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
48904 number regex so multidigit numbers are recognized correctly.
48905
489062005-11-22 Mike Small <smallm@panix.com>
48907
48908 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
48909 debugging message before attempting to claim memory.
48910 (grub_rescue_cmd_initrd): Add a claim debugging message and try
48911 multiple addresses in case of failure.
48912
9c12956b 489132005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48914
48915 * term/tparm.c (get_space): Remove empty `if' statement.
48916
48917 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
48918
48919 * kern/parser.c (check_varstate): Rename `state' to 's'.
48920
aeaf81d9 489212005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48922
48923 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
48924 variable definitions to the beginning of each function. Sort stack
48925 variables by size.
48926 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
48927 `buf' argument to `char *'.
48928
79bbb63f 489292005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48930
48931 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
48932 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 48933 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 48934 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
48935 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
48936 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
48937 configfile.mod, search.mod, gzio.mod and test.mod.
48938 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
48939 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
48940 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
48941 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
48942 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
48943 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
48944 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
48945 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
48946 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
48947 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
48948 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48949 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48950 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
48951 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
48952 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
48953 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
48954 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48955 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
48956 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
48957 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
48958 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
48959 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
48960 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
48961
48962 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
48963 `grep --include'.
48964 (pkgdata_MODULES): Add test.mod.
48965
233b1628 489662005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48967
48968 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
48969 appending to variables with "+=".
48970 (PModule): Use full pathname to generate *.lst filenames.
48971
48972 * Makefile.in: Fixed list rules moved from genmk.rb.
48973 (.DELETE_ON_ERROR): New special target.
48974 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
48975
48976 * conf/i386-pc.rmk: Include conf/common.mk.
48977 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 48978 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 48979 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
48980 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
48981 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
48982 configfile.mod, search.mod, gzio.mod and test.mod.
48983 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
48984 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
48985 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
48986 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
48987 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
48988 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
48989 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
48990 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
48991 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
48992 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
48993 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48994 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48995 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
48996 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
48997 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
48998 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
48999 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49000 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49001 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49002 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49003 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49004 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49005 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
49006 here...
49007 * conf/common.rmk: ... to here. New file.
49008
49009 * conf/common.mk: New file.
49010
16f820c8 490112005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
49012
49013 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
49014 (grub_script.tab.c): ... here.
49015
49016 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
49017 (grub_script.tab.c): ... here.
49018
49019 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
49020 (grub_script.tab.c): ... here.
49021
49022 * normal/command.c (grub_command_find): Fixed a memory leak of
49023 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
49024
63ba1554 490252005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49026
49027 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
49028 "@" which marks the start of a comment on ARM.
49029 (VARIABLE): Likewise.
49030
7f67dc13 490312005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49032
79bbb63f 49033 Add support for Linux/ADFS partition tables.
7f67dc13 49034
49035 * partmap/acorn.c: New file.
49036
49037 * include/grub/acorn_filecore.h: Likewise.
49038
49039 * DISTLIST: Added `partmap/acorn.c' and
49040 `include/grub/acorn_filecore.h'.
f19dbdb7 49041
7f67dc13 49042 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49043 `partmap/acorn.c'.
49044 (pkgdata_MODULES): Add `acorn.mod'.
49045 (acorn_mod_SOURCES): New variable.
49046 (acorn_mod_CFLAGS): Likewise.
49047
49048 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49049 `partmap/acorn.c'.
49050 (pkgdata_MODULES): Add `acorn.mod'.
49051 (acorn_mod_SOURCES): New variable.
49052 (acorn_mod_CFLAGS): Likewise.
49053
49054 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
49055 (pkgdata_MODULES): Add `acorn.mod'.
49056 (acorn_mod_SOURCES): New variable.
49057 (acorn_mod_CFLAGS): Likewise.
49058 (acorn_mod_LDFLAGS): Likewise.
49059
49060 * include/types.h (grub_disk_addr_t): New typedef.
49061
6d099807 490622005-11-13 Marco Gerards <mgerards@xs4all.nl>
49063
49064 * geninit.sh: New file.
49065
49066 * geninitheader.sh: Likewise.
49067
49068 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
49069 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
49070 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
49071 * commands/configfile.c (grub_configfile_init)
49072 (grub_configfile_fini): Likewise.
49073 * commands/default.c (grub_default_init, grub_default_fini):
49074 Likewise.
49075 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
49076 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
49077 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
49078 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
49079 Likewise.
49080 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
49081 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
49082 Likewise.
49083 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 49084 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 49085 Likewise.
49086 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
49087 Likewise.
fe6b695a 49088 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 49089 Likewise.
49090 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
49091 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
49092 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
49093 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
49094 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
49095 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
49096 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
49097 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
49098 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
49099 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
49100 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
49101 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
49102 * partmap/amiga.c (grub_amiga_partition_map_init)
49103 (grub_amiga_partition_map_fini): Likewise.
49104 * partmap/apple.c (grub_apple_partition_map_init)
49105 (grub_apple_partition_map_fini): Likewise.
49106 * partmap/pc.c (grub_pc_partition_map_init)
49107 (grub_pc_partition_map_fini): Likewise.
49108 * partmap/sun.c (grub_sun_partition_map_init,
49109 grub_sun_partition_map_fini): Likewise.
49110 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
49111 Likewise.
49112
49113 * util/grub-emu.c: Include <grub_modules_init.h>.
49114 (main): Don't initialize and de-initialize any modules directly,
49115 use `grub_init_all' and `grub_fini_all' instead.
49116
49117 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
49118 `grub_vesafb_mod_init'.
49119 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
49120 all users.
49121 * term/i386/pc/vga.c (grub_vga_init): Renamed to
49122 `grub_vga_mod_init'. Updated all users.
49123 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 49124
6d099807 49125 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
49126 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
49127 rules.
49128
49129 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
49130 Generate a function to initialize the module in utilities.
49131 Updated all callers.
49132 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
49133 initialize the module in utilities. Updated all callers.
49134
9046bcf0 491352005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49136
49137 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
49138 escape sequence and a literal ^L to clear the screen.
49139
49140 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
49141 when returning from Open Firmware.
49142
d13ea639 491432005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49144
49145 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
49146 (grub_ofconsole_height): Likewise.
49147 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
49148 manually insert a '\n'.
49149 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
49150 `grub_ofconsole_height'. Return early if these are already set.
49151
a8fcf206 491522005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
49153
49154 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49155 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
49156 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
49157 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
49158 and `normal/script.c'.
49159 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49160 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49161 (test_mod_SOURCES): New variable.
49162 (test_mod_CFLAGS): Likewise.
49163 (test_mod_LDFLAGS): Likewise.
49164 (pkgdata_MODULES): Add `test.mod'.
49165 (grub_script.tab.c): New rule.
49166 (grub_script.tab.h): Likewise.
49167
b6b32745 491682005-11-07 Marco Gerards <mgerards@xs4all.nl>
49169
49170 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49171 `commands/test.c', `normal/execute.c', `normal/lexer.c',
49172 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49173 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49174 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49175 (test_mod_SOURCES): New variable.
49176 (test_mod_CFLAGS): Likewise.
49177 (pkgdata_MODULES): Add `test.mod'.
49178 (grub_script.tab.c): New rule.
49179 (grub_script.tab.h): Likewise.
49180
daac212a 491812005-11-06 Marco Gerards <mgerards@xs4all.nl>
49182
49183 Add initial scripting support.
49184
49185 * commands/test.c: New file.
49186 * include/grub/script.h: Likewise.
49187 * normal/execute.c: Likewise.
49188 * normal/function.c: Likewise.
49189 * normal/lexer.c: Likewise.
49190 * normal/parser.y: Likewise.
49191 * normal/script.c: Likewise.
49192
49193 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 49194
daac212a 49195 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
49196 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
49197 `normal/function.c' and `normal/script.c'.
49198 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49199 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 49200 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
49201 variables.
daac212a 49202 (pkgdata_MODULES): Add `test.mod'.
49203 (grub_script.tab.c): New rule.
49204 (grub_script.tab.h): Likewise.
49205
49206 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
49207
49208 * include/grub/normal.h (grub_test_init): New prototype.
49209 (grub_test_fini): Likewise.
f19dbdb7 49210
daac212a 49211 * normal/command.c: Include <grub/script.h>.
49212 (grub_command_execute): Rewritten.
f19dbdb7 49213
daac212a 49214 * util/grub-emu.c (main): Call `grub_test_init' and
49215 `grub_test_fini'.
49216
77500b2b 492172005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49218
49219 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
49220 to 0.
49221 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
49222 there are no pending characters.
49223
e45deb9e 492242005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49225
49226 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
49227 `grub_strndup' to drop device arguments. Replace unnecessary
49228 `grub_strndup' with `grub_strdup'.
49229
4ce32619 492302005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49231
49232 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
49233 `debug' environment variable has been set.
49234
492352005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49236
4ce32619 49237 * Makefile.in (install-local): Use $(DATA).
49238 (uninstall): Likewise.
49239 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
49240 (sbin_UTILITIES): ... to here.
49241 (sbin_SCRIPTS): New variable.
49242 (grub_install_SOURCES): New variable.
49243 * util/powerpc/ieee1275/grub-install.in: New file.
49244 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
49245 variable.
49246 (add_segments): Call `grub_util_get_path'.
49247
25fe6f03 492482005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
49249
49250 From Timothy Baldwin:
49251 * commands/ls.c (grub_ls_list_files): Close FILE with
49252 grub_file_close.
49253 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
49254
04ccf3ec 492552005-10-24 Marco Gerards <mgerards@xs4all.nl>
49256
49257 * include/grub/parser.h: New file.
49258
49259 * kern/parser.c: Likewise.
49260
49261 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
49262 (grub_setup_SOURCES): Likewise.
49263 (grub_probefs_SOURCES): Likewise.
49264 (grub_emu_SOURCES): Likewise.
49265 (kernel_img_HEADERS): Add `parser.h'.
49266
49267 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49268 (grub_emu_SOURCES): Add `kern/parser.c'.
49269 (grubof_SOURCES): Likewise.
49270
49271 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49272 (grubof_SOURCES): Add `kern/parser.c'.
49273
49274 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
49275
49276 * kern/misc.c (grub_split_cmdline): Removed function.
49277
49278 * kern/rescue.c: Include <grub/parser.h>.
49279 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
49280 of `grub_split_cmdline'.
49281
49282 * normal/command.c: Include <grub/parser.h>.
49283 (grub_command_execute): Use `grub_parser_split_cmdline' instead
49284 of `grub_split_cmdline'.
49285
49286 * normal/completion.c: Include <grub/parser.h>.
49287 (cmdline_state): New variable.
49288 (iterate_dir): End the filename with a quote depending on the
49289 command line state.
49290 (get_state): new function.
49291 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
49292 split the arguments and determine the current argument. When the
49293 argument string is not quoted, escape all spaces.
49294
6d8f4b0e 492952005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49296
49297 * normal/sparc64/setjmp.S: New file.
49298
15cf03ed 492992005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49300
49301 * include/grub/sparc64/libgcc.h: New file.
49302 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
49303 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
49304 normal/sparc64/setjmp.c.
49305
03e8661a 493062005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49307
49308 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
49309 * kern/sparc64/cache.S: New file.
49310 * kern/sparc64/cache.c: Removed.
49311 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
49312 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
49313 -mtune=ultrasparc.
49314 (COMMON_LDFLAGS): Add -melf64_sparc.
49315 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
49316 (grubof_SOURCES): Use cache.S instead of cache.c.
49317 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
49318 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
49319 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
49320 commented though.
49321 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
49322 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
49323 (linux_mod_CFLAGS): Commented out.
49324 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
49325 out because module isn't built.
49326 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
49327 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
49328 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
49329 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
49330 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
49331 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49332 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49333 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
49334 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
49335 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
49336 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49337 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49338 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
49339 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
49340
34eeec8a 493412005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
49342
49343 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
49344 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
49345 longer, because HFS should not be used on PC.
49346
708367a3 493472005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49348
49349 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
49350 consistently within the loop.
49351
6fa1251a 493522005-10-15 Marco Gerards <mgerards@xs4all.nl>
49353
49354 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
49355 directory can not be read.
49356
4801580b 493572005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49358
49359 * configure.ac (AC_INIT): Increase the version number to 1.91.
49360
49361 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
49362 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
49363 term/i386/pc/serial.c.
49364
219ad426 493652005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49366
49367 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
49368 file size must be permitted.
49369
49370 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
49371 between %ah and %al.
49372
688e5699 493732005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49374
49375 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
49376 grub_uint64_t.
49377 Call the hook with a NUL-terminated filename.
49378 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
49379 grub_cpu_to_be32.
49380
49381 * kern/term.c (cursor_state): New variable.
49382 (grub_term_set_current): Reset the cursor state on a new
49383 terminal.
49384 (grub_setcursor): Rewritten to use CURSOR_STATE.
49385 (grub_getcursor): New function.
49386
49387 * include/grub/term.h (grub_getcursor): New prototype.
49388
49389 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
49390 integers on ARM. Reported by Timothy Baldwin
49391 <T.E.Baldwin99@members.leeds.ac.uk>.
49392
bb34586c 493932005-10-11 Marco Gerards <mgerards@xs4all.nl>
49394
49395 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
49396 allocated.
49397 (grub_sfs_dir): Likewise.
49398
9a909877 493992005-10-09 Marco Gerards <mgerards@xs4all.nl>
49400
49401 Add support for the SFS filesystem.
49402
49403 * fs/sfs.c: New file.
49404
49405 * DISTLIST: Added `fs/sfs.c'.
49406
49407 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
49408 (grub_probefs_SOURCES): Likewise.
49409 (grub_emu_SOURCES): Likewise.
49410 (pkgdata_MODULES): Add `sfs.mod'.
49411 (sfs_mod_SOURCES): New variable.
49412 (sfs_mod_CFLAGS): Likewise.
49413 (sfs_mod_LDFLAGS): Likewise.
49414
49415 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
49416 (pkgdata_MODULES): Add `sfs.mod'.
49417 (sfs_mod_SOURCES): New variable.
49418 (sfs_mod_CFLAGS): Likewise.
49419
49420 * util/grub-emu.c (main): Call `grub_sfs_init' and
49421 `grub_sfs_fini'.
49422
49423 * include/grub/fs.h (grub_sfs_init): New prototype.
49424 (grub_sfs_fini): Likewise.
49425
57bdbde3 494262005-10-07 Marco Gerards <mgerards@xs4all.nl>
49427
49428 Add support for the AFFS filesystem.
49429
49430 * fs/affs.c: New file.
49431
49432 * DISTLIST: Added `fs/affs.c'.
49433
49434 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
49435 (grub_probefs_SOURCES): Likewise.
49436 (grub_emu_SOURCES): Likewise.
49437 (pkgdata_MODULES): Add `affs.mod'.
49438 (affs_mod_SOURCES): New variable.
49439 (affs_mod_CFLAGS): Likewise.
49440 (affs_mod_LDFLAGS): Likewise.
49441
49442 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
49443 (pkgdata_MODULES): Add `affs.mod'.
49444 (affs_mod_SOURCES): New variable.
49445 (affs_mod_CFLAGS): Likewise.
49446
49447 * util/grub-emu.c (main): Call `grub_affs_init' and
49448 `grub_affs_fini'.
49449
49450 * include/grub/fs.h (grub_affs_init): New prototype.
49451 (grub_affs_fini): Likewise.
49452
047b67e0 494532005-10-01 Marco Gerards <mgerards@xs4all.nl>
49454
49455 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
49456
59b8208a 494572005-10-01 Marco Gerards <mgerards@xs4all.nl>
49458
49459 * configure.ac: Accept `x86_64' as host_cpu. In that case add
49460 `-m32' to CFLAGS.
49461
49462 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
49463 linking.
f19dbdb7 49464
59b8208a 49465 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
49466 (COMMON_LDFLAGS): New variable.
49467 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
49468 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
49469 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
49470 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
49471 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
49472 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
49473 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
49474 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
49475 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
49476 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
49477 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49478 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49479 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
49480 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
49481 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
49482 variables.
49483 (normal_mod_ASFLAGS): Add `-m32'.
49484
49485 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
49486 (grub_host_size_t, grub_host_ssize_t): New types.
49487 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 49488 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 49489 `GRUB_HOST_SIZEOF_VOID_P'.
49490
49491 * include/grub/kernel.h (struct grub_module_header): Type of
49492 member offset changed to `grub_host_off_t'. Type of member size
49493 changed to `grub_host_size_t'.
49494 (struct grub_module_info): Type of member offset changed to
49495 `grub_host_off_t'. Type of member size changed to
49496 `grub_host_size_t'.
49497
b4093103 494982005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
49499
49500 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 49501
b4093103 49502 * kern/i386/pc/startup.S (multiboot_header): New label.
49503 (multiboot_entry): Likewise.
49504 (multiboot_trampoline): Likewise.
49505
49506 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
49507 Increased to 0x4A0.
49508
49509 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
49510 put parentheses after a question mark.
49511 [!GRUB_UTIL] (my_mod): New variable.
49512
49513 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
49514
b2499b29 495152005-09-28 Marco Gerards <mgerards@xs4all.nl>
49516
49517 Adds support for the XFS filesystem. Btrees are not supported
49518 yet.
49519
49520 * fs/xfs.c: New file.
49521
49522 * DISTLIST: Added `fs/xfs.c'.
49523
49524 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
49525 (grub_probefs_SOURCES): Likewise.
49526 (grub_emu_SOURCES): Likewise.
49527 (pkgdata_MODULES): Add `xfs.mod'.
49528 (xfs_mod_SOURCES): New variable.
49529 (xfs_mod_CFLAGS): Likewise.
49530
49531 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
49532 (pkgdata_MODULES): Add `xfs.mod'.
49533 (xfs_mod_SOURCES): New variable.
49534 (xfs_mod_CFLAGS): Likewise.
49535
49536 * util/grub-emu.c (main): Call `grub_xfs_init' and
49537 `grub_xfs_fini'.
49538
49539 * include/grub/fs.h (grub_xfs_init): New prototype.
49540 (grub_xfs_fini): Likewise.
49541
f19dbdb7 49542
83d37a62 495432005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
49544
49545 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
49546 color modes, allow greater than 16 colors to be configured as
49547 a default palette.
49548
47d2d65e 495492005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
49550
49551 * normal/completion.c (complete_arguments): Add the qualifier
49552 const into OPTIONS.
49553
49554 From Omniflux <omniflux+lists@omniflux.com>:
49555 * include/grub/terminfo.h: New file.
49556 * include/grub/tparm.h: Likewise.
49557 * include/grub/i386/pc/serial.h: Likewise.
49558 * term/terminfo.c: Likewise.
49559 * term/tparm.c: Likewise.
49560 * term/i386/pc/serial.c: Likewise.
49561 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
49562 serial.mod.
49563 (terminfo_mod_SOURCES): New variable.
49564 (terminfo_mod_CFLAGS): Likewise.
49565 (serial_mod_SOURCES): Likewise.
49566 (serial_mod_CFLAGS): Likewise.
49567
48b671ff 495682005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
49569
49570 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
49571 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
49572 and kern/powerpc/ieee1275/cmain.c, respectively.
49573
49574 * boot/powerpc/ieee1275/crt0.S: Moved to ...
49575 * kern/powerpc/ieee1275/crt0.S: ... here.
49576
49577 * boot/powerpc/ieee1275/cmain.c: Moved to ...
49578 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 49579
48b671ff 49580 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
49581 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
49582 instead of boot/powerpc/ieee1275/crt0.S and
49583 boot/powerpc/ieee1275/cmain.c, respectively.
49584
49585 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
49586 sectors. It was not used anyway.
49587
09fc77a7 495882005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49589
49590 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
49591 `unused parameter' warning.
49592
003789c7 495932005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49594
49595 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
49596 function.
49597 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
49598 getcharwidth.
49599
67f44c86 496002005-08-28 Marco Gerards <metgerards@student.han.nl>
49601
49602 * include/grub/normal.h (enum grub_completion_type): Added
49603 `GRUB_COMPLETION_TYPE_ARGUMENT'.
49604
49605 * normal/cmdline.c (print_completion): Handle
49606 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
49607 * normal/menu_entry.c (store_completion): Likewise.
49608
49609 * normal/completion.c (complete_arguments): New function.
49610 (grub_normal_do_completion): Call `complete_arguments' when the
49611 current words start with a dash.
49612
0b5abe02 496132005-08-27 Marco Gerards <metgerards@student.han.nl>
49614
49615 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
49616 `gzio.mod' instead of `io.mod').
49617
d9864ee1 496182005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
49619
49620 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
49621 (DISTDIRS): Added io and video.
49622 Rewrite the search routine to make an output consistently.
49623
49624 * DISTLIST: Added conf/sparc64-ieee1275.mk,
49625 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
49626 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
49627 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
49628 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
49629 util/powerpc/ieee1275/misc.c.
f19dbdb7 49630
d9864ee1 49631 * include/grub/gzio.h: New file.
49632 * io/gzio.c: Likewise.
f19dbdb7 49633
d9864ee1 49634 * kern/file.c (grub_file_close): Call grub_device_close only if
49635 FILE->DEVICE is not NULL.
49636
49637 * include/grub/mm.h [!NULL] (NULL): New macro.
49638
49639 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
49640
49641 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
49642 (pkgdata_MODULES): Added gzio.mod.
49643 (gzio_mod_SOURCES): New variable.
49644 (gzio_mod_CFLAGS): Likewise.
49645
49646 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
49647 (pkgdata_MODULES): Added gzio.mod.
49648 (gzio_mod_SOURCES): New variable.
49649 (gzio_mod_CFLAGS): Likewise.
49650
49651 * commands/cat.c: Include grub/gzio.h.
49652 (grub_cmd_cat): Use grub_gzfile_open instead of
49653 grub_file_open.
f19dbdb7 49654
d9864ee1 49655 * commands/cmp.c: Include grub/gzio.h.
49656 (grub_cmd_cmp): Use grub_gzfile_open instead of
49657 grub_file_open.
49658
49659 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
49660 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
49661 grub_file_open.
49662 (grub_rescue_cmd_module): Likewise.
49663
fa46f4b5 496642005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49665
49666 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
49667 kern/sparc64/ieee1275/init.c because it contains _start.
49668 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
49669
e9211b5d 496702005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49671
49672 * configure.ac: Add support for sparc64 host with ieee1275
49673 firmware.
49674 * configure: Generated from configure.ac.
49675 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
49676 instead of int.
49677 (grub_ofdisk_read): Likewise.
49678 (grub_ofdisk_open): Use %p to print pointer values, and cast the
49679 pointers as (void *) to remove a warning.
49680 (grub_ofdisk_close): Likewise.
49681 (grub_ofdisk_read): Likewise.
49682 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
49683 returns, so make it return void to remove a warning.
49684 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
49685 Corresponding prototype change.
49686 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
49687 values, and cast the pointers as (void *) to remove a warning.
49688 (grub_mm_dump): Likewise.
49689 * conf/sparc64-ieee1275.mk: New file.
49690 * conf/sparc64-ieee1275.rmk: Likewise.
49691 * include/grub/sparc64/setjmp.h: Likewise.
49692 * include/grub/sparc64/types.h: Likewise.
49693 * include/grub/sparc64/ieee1275/console.h: Likewise.
49694 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
49695 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
49696 * include/grub/sparc64/ieee1275/time.h: Likewise.
49697 * kern/sparc64/cache.c: Likewise.
49698 * kern/sparc64/dl.c: Likewise.
49699 * kern/sparc64/ieee1275/init.c: Likewise.
49700 * kern/sparc64/ieee1275/openfw.c: Likewise.
49701
385c6a92 497022005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49703
49704 * util/console.c (grub_ncurses_putchar): If C is greater than
49705 0x7f, set C to a question mark.
49706 (grub_ncurses_getcharwidth): New function.
49707 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
49708 getcharwidth.
49709
49710 * normal/menu.c (print_entry): Made aware of Unicode. First,
49711 convert TITLE to UCS-4, and predict the cursor position by
49712 grub_getcharwidth.
49713
49714 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
49715 const to SRC.
49716 * kern/misc.c (grub_utf16_to_utf8): Likewise.
49717
16ccb8b1 497182005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49719
49720 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
49721 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49722 grub_strcat.
49723
49724 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
49725 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49726 grub_strcpy and grub_strlen. Take it into account that a space
49727 character is inserted as a delimiter.
49728
6a85ce79 497292005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49730
49731 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 49732 invalid magic in the error.
6a85ce79 49733
49734 * commands/search.c: New file.
f19dbdb7 49735
6a85ce79 49736 * util/grub-emu.c (main): Call grub_search_init and
49737 grub_search_fini.
49738
49739 * kern/rescue.c (grub_rescue_print_disks): Removed.
49740 (grub_rescue_print_devices): New function.
49741 (grub_rescue_cmd_ls): Use grub_device_iterate with
49742 grub_rescue_print_devices instead of grub_disk_dev_iterate with
49743 grub_rescue_print_disks.
49744
49745 * kern/partition.c (grub_partition_iterate): Return the result of
49746 PARTMAP->ITERATE instead of GRUB_ERRNO.
49747
49748 * kern/device.c: Include grub/partition.h.
49749 (grub_device_iterate): New function.
49750
49751 * include/grub/partition.h (grub_partition_iterate): Return int
49752 instead of grub_err_t.
49753
49754 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
49755 prototype.
49756 [GRUB_UTIL] (grub_search_fini): Likewise.
49757
49758 * include/grub/device.h (grub_device_iterate): New prototype.
49759
49760 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49761 commands/search.c.
49762 (pkgdata_MODULES): Added search.mod.
49763 (search_mod_SOURCES): New variable.
49764 (search_mod_CFLAGS): Likewise.
49765
49766 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
49767 (pkgdata_MODULES): Added search.mod.
49768 (search_mod_SOURCES): New variable.
49769 (search_mod_CFLAGS): Likewise.
49770
49771 * commands/ls.c (grub_ls_list_disks): Renamed to ...
49772 (grub_ls_list_devices): ... this, and use grub_device_iterate.
49773 All callers changed.
49774
49775 * DISTLIST: Added commands/search.c.
49776
ef095434 497772005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49778
49779 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
49780 conversion.
49781 (grub_getcharwidth): New function.
49782
49783 * kern/misc.c (grub_utf8_to_ucs4): New function.
49784
49785 * include/grub/term.h (struct grub_term): Added a new member
49786 "getcharwidth".
49787 (grub_getcharwidth): New prototype.
49788
49789 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
49790
49791 * term/i386/pc/console.c (map_char): New function. Segregated from
49792 grub_console_putchar.
49793 (grub_console_putchar): Use map_char.
49794 (grub_console_getcharwidth): New function.
49795 (grub_console_term): Specified grub_console_getcharwidth as
49796 getcharwidth.
49797
49798 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
49799 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
49800
49801 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
49802 GRUB_ERRNO.
49803 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
49804 on grub_strtoul completely.
49805 (write_char): Declare local variables in the beginning of the
49806 function.
49807 (grub_vesafb_getcharwidth): New function.
49808 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
49809 getcharwidth.
49810
1f0a95e4 498112005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
49812
49813 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
49814 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
49815 commands/i386/pc/vbetest.c.
49816
49817 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
49818 call grub_vbe_get_controller_info again, because the returned
49819 information is volatile.
49820 (grub_vbe_set_video_mode): Mostly rewritten.
49821 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
49822 grub_vbe_status_t correctly.
49823 (grub_vbe_get_video_mode_info): Likewise.
49824 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
49825 several if statements.
49826
49827 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
49828 * commands/i386/pc/vbeinfo.c: ... this.
49829
49830 * commands/i386/pc/vbe_test.c: Renamed to ...
49831 * commands/i386/pc/vbetest.c: ... this.
49832
49833 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
49834 ...
49835 (grub_cmd_vbeinfo): ... this. Save video modes before
49836 iterating. Skip a video mode, if it is not available, not enough
49837 information is given or it is monochrome. Show the memory
49838 model. Leave the interpretation of MODEVAR to grub_strtoul
49839 completely.
49840 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
49841 (GRUB_MOD_FINI): Likewise.
49842
49843 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
49844 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
49845 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
49846 duplicated grub_env_get. Leave the interpretation of MODEVAR to
49847 grub_strtoul completely.
49848 (real2pm): Removed.
49849 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
49850 (GRUB_MOD_FINI): Likewise.
49851
49852 * normal/misc.c: Include grub/mm.h.
49853
49854 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
49855 vbe_list_modes with vbetest.mod and vbeinfo.mod.
49856 (vbe_list_modes_mod_SOURCES): Removed.
49857 (vbe_list_modes_mod_CFLAGS): Likewise.
49858 (vbe_test_mod_SOURCES): Likewise.
49859 (vbe_test_mod_CFLAGS): Likewise.
49860 (vbeinfo_mod_SOURCES): New variable.
49861 (vbeinfo_mod_CFLAGS): Likewise.
49862 (vbetest_mod_SOURCES): Likewise.
49863 (vbetest_mod_CFLAGS): Likewise.
49864
992ffbbe 498652005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
49866
49867 * normal/misc.c: New file.
49868
49869 * DISTLIST: Added normal/misc.c.
f19dbdb7 49870
992ffbbe 49871 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
49872 DISK to HOOK. Call HOOK with DISK.
49873 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49874 * partmap/pc.c (pc_partition_map_iterate): Likewise.
49875 * partmap/sun.c (sun_partition_map_iterate): Likewise.
49876
49877 * normal/menu_entry.c (struct screen): Added a new member
49878 "completion_shown".
49879 (completion_buffer): New global variable.
49880 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
49881 (store_completion): New function.
49882 (complete): Likewise.
49883 (clear_completions): Likewise.
49884 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
49885 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
49886 a tab, call complete.
49887
49888 * normal/completion.c (disk_dev): Removed.
49889 (print_simple_completion): Likewise.
49890 (print_partition_completion): Likewise.
49891 (print_func): New global variable.
49892 (add_completion): Do not take the arguments WHAT or PRINT any
49893 longer. Added a new argument TYPE. Instead of printing directly,
49894 call PRINT_FUNC if not NULL.
49895 All callers changed.
49896 (complete_device): Use a local variable DEV instead of
49897 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
49898 (grub_normal_do_completion): Take a new argument HOOK. Do not
49899 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
49900 empty string, return NULL instead.
49901 All callers changed.
49902
49903 * normal/cmdline.c (print_completion): New function.
49904
49905 * kern/partition.c (grub_partition_iterate): Add an argument DISK
49906 to HOOK.
49907 All callers changed.
49908
49909 * kern/disk.c (grub_print_partinfo): Removed.
49910
49911 * include/grub/partition.h (struct grub_partition_map): Add a new
49912 argument DISK into HOOK of ITERATE.
49913 (grub_partition_iterate): Add a new argument DISK to HOOK.
49914
49915 * include/grub/normal.h (enum grub_completion_type): New enum.
49916 (grub_completion_type_t): New type.
49917 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
49918 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
49919 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
49920 (GRUB_COMPLETION_TYPE_FILE): Likewise.
49921 (grub_normal_do_completion): Added a new argument HOOK.
49922 (grub_normal_print_device_info): New prototype.
49923
49924 * include/grub/disk.h (grub_print_partinfo): Removed.
49925
49926 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
49927 (normal_mod_SOURCES): Likewise.
49928 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49929 (normal_mod_SOURCES): Likewise.
49930
49931 * commands/ls.c (grub_ls_list_disks): Use
49932 grub_normal_print_device_info instead of grub_print_partinfo. Free
49933 PNAME.
49934 (grub_ls_list_files): Use grub_normal_print_device_info instead of
49935 duplicating the code.
49936
0bd41162 499372005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
49938
49939 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 49940 follow GCS more precisely.
49941 * commands/i386/pc/vbe_test.c: Likewise.
49942 * include/grub/i386/pc/vbe.h: Likewise.
49943 * term/i386/pc/vesafb.c: Likewise.
49944 * video/i386/pc/vbe.c: Likewise.
0bd41162 49945
6323696a 499462005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
49947
49948 * DISTLIST: Added term/i386/pc/vesafb.c
49949 DISTLIST: Added video/i386/pc/vbe.c
49950 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
49951 DISTLIST: Added commands/i386/pc/vbe_test.c.
49952 * commands/i386/pc/vbe_list_modes.c: New file.
49953 * commands/i386/pc/vbe_test.c: Likewise.
49954 * term/i386/pc/vesafb.c: Likewise.
49955 * video/i386/pc/vbe.c: Likewise.
49956 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
49957 (grub_vbe_probe) Added prototype.
49958 (grub_vbe_set_video_mode) Likewise.
49959 (grub_vbe_get_video_mode) Likewise.
49960 (grub_vbe_get_video_mode_info) Likewise.
49961 (grub_vbe_set_pixel_rgb) Likewise.
49962 (grub_vbe_set_pixel_index) Likewise.
49963 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
49964 (pkgdata_MODULES): Added vesafb.mod.
49965 (pkgdata_MODULES): Added vbe_list_modes.mod.
49966 (pkgdata_MODULES): Added vbe_test.mod.
49967 (vbe_mod_SOURCES): Added.
49968 (vbe_mod_CFLAGS): Likewise.
49969 (vesafb_mod_SOURCES): Likewise.
49970 (vesafb_mod_CFLAGS): Likewise.
49971 (vbe_list_modes_mod_SOURCES): Likewise.
49972 (vbe_list_modes_mod_CFLAGS): Likewise.
49973 (vbe_test_mod_SOURCES): Likewise.
49974 (vbe_test_mod_CFLAGS): Likewise.
49975
0a74e62f 499762005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
49977
0a74e62f 49978 * normal/command.c (grub_command_execute): If INTERACTIVE is
49979 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
49980 CMDLINE. Disable the pager if INTERACTIVE is true.
49981 All callers are changed.
49982
49983 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
49984 before reading a config file.
49985 * normal/main.c (read_config_file): Even if a command is not
49986 found, register it if it is within an entry.
49987
49988 * util/grub-emu.c: Include sys/types.h and unistd.h.
49989 (options): Added --hold.
49990 (struct arguments): Added a new member "hold".
49991 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
49992 missing.
49993 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
49994 cleared by a debugger, if it is not zero.
49995
49996 * include/grub/normal.h (grub_command_execute): Add an argument
49997 INTERACTIVE.
49998
e51f85ae 499992005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
50000
50001 * DISTLIST: Added include/grub/i386/pc/vbe.h.
50002
e9c6f39b 500032005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
50004
50005 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
50006 program with another one, because the old one didn't detect a bug
50007 in gcc-3.4. Always use regparm 2, because the new test is still
50008 not enough for gcc-4.0. Someone must investigate a simple test
50009 case which detects a bug in gcc-4.0.
50010
8de3495c 500112005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
50012
50013 * DISTLIST: Added normal/completion.c.
50014
50015 * normal/completion.c: New file.
f19dbdb7 50016
8de3495c 50017 * term/i386/pc/console.c (grub_console_getwh): New function.
50018 (grub_console_term): Assign grub_console_getwh to getwh.
50019
50020 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
50021 function is defined in normal/completion.c as
50022 grub_normal_do_completion.
50023 (grub_cmdline_get): Use grub_normal_do_completion instead of
50024 grub_tab_complete.
50025
50026 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
50027 returns non-zero, otherwise return 0.
50028 (grub_partition_iterate): First, probe the partition map. Then,
50029 call ITERATE only for this partition map.
50030
50031 * kern/misc.c (grub_strncmp): Rewritten.
50032
50033 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
50034 returns non-zero. Otherwise return 0.
50035
50036 * include/grub/partition.h (grub_partition_map_iterate): Return
50037 int instead of void.
50038
50039 * include/grub/normal.h (grub_normal_do_completion): New prototype.
50040
50041 * include/grub/misc.h (grub_strncmp): Change the type of N to
50042 grub_size_t.
50043
50044 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
50045 of void.
50046
50047 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 50048 unsigned explicitly before comparing it with I.
8de3495c 50049
50050 * kern/main.c (grub_env_write_root): Add the attribute unused into
50051 VAR.
50052
50053 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50054 normal/completion.c.
50055 (normal_mod_SOURCES): Likewise.
50056 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
50057 (normal_mod_SOURCES): Likewise.
50058
50059 * normal/command.c (grub_iterate_commands): If ITERATE returns
50060 non-zero, return one immediately.
50061
e85e144b 500622005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
50063
50064 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
50065 * kern/i386/pc/startup.S: Updated Global Descriptor table's
50066 descriptions.
50067 (grub_vbe_get_controller_info): New function.
50068 (grub_vbe_get_mode_info): Likewise.
50069 (grub_vbe_set_mode): Likewise.
50070 (grub_vbe_get_mode): Likewise.
50071 (grub_vbe_set_memory_window): Likewise.
50072 (grub_vbe_get_memory_window): Likewise.
50073 (grub_vbe_set_scanline_length): Likewise.
50074 (grub_vbe_get_scanline_length): Likewise.
50075 (grub_vbe_set_display_start): Likewise.
50076 (grub_vbe_get_display_start): Likewise.
50077 (grub_vbe_set_palette_data): Likewise.
50078 * include/grub/i386/pc/vbe.h: New file.
50079
c46153d2 500802005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50081
50082 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50083 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
50084 * DISTLIST: Likewise.
50085 * kern/ieee1275/of.c: Moved to ...
50086 * kern/ieee1275/ieee1275.c: ... here.
50087
0cb90c45 500882005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50089
50090 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
50091 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
50092 Pass 0 as `end' parameter to grub_strtoul().
50093
a19fb360 500942005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50095
50096 * include/grub/powerpc/ieee1275/console.h: Do not include
50097 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
50098 ifdef.
50099 (grub_console_cur_color): Remove i386-specific prototype.
50100 (grub_console_real_putchar): Likewise.
50101 (grub_console_checkkey): Likewise.
50102 (grub_console_getkey): Likewise.
50103 (grub_console_getxy): Likewise.
50104 (grub_console_gotoxy): Likewise.
50105 (grub_console_cls): Likewise.
50106 (grub_console_setcursor): Likewise.
50107 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
50108 Include <grub/machine/console.h>.
50109 * term/ieee1275/ofconsole.c: Likewise.
50110
4ac9bd04 501112005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
50112
50113 * Makefile.in (LIBLZO): New variable.
50114
50115 * configure.ac: Check for LZO version 2.
50116
50117 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
50118 lzo/lzo1x.h instead of lzo1x.h.
50119
50120 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
50121 of -llzo.
50122
50123 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
50124 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
50125
50126 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
50127 copying the data from PARTITION to P.
50128
f4917dfd 501292005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50130
50131 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
50132 negative, unload the module.
50133
50134 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
50135 map is "pc_partition_map" but not "pc".
50136 (usage): Fix the description. The options are --boot-image and
50137 --core-image but not --boot-file or --core-file.
50138 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
50139 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
50140 DEFAULT_DIRECTORY.
50141
50142 * util/i386/pc/grub-install.in: Do not specify --boot-file or
50143 --core-file. Specify INSTALL_DEVICE as an argument.
50144
50145 * util/console.c: Include config.h.
50146 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
50147 [HAVE_NCURSES_H]: Include ncurses.h.
50148 [HAVE_CURSES_H]: Include curses.h.
50149 [!A_NORMAL] (A_NORMAL): Defined as zero.
50150 [!A_STANDOUT] (A_STANDOUT): Likewise.
50151
50152 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
50153 -lncurses.
50154 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
50155
50156 * configure.ac: Check for curses libraries and headers.
50157
50158 * Makefile.in (LIBCURSES): New variable.
50159
50160 * genmk.rb (Script::rule): Set the executable bits.
50161
50162 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
50163 name of the PC partition map is "pc_partition_map" but not "pc".
50164
0e143073 501652005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50166
50167 * util/i386/pc/grub-install.in (grub_probefs): New variable.
50168 (modules): Likewise.
50169 (usage): Added descriptions for --modules and --grub-probefs.
50170 Handle --modules and --grub-probefs. Save the arguments in MODULES
50171 and GRUB_PROBEFS, respectively.
50172 Auto-detect a filesystem module against GRUBDIR. If the result is
50173 empty and modules are not specified explicitly, abort the
50174 installation. Add the result to MODULES.
50175
50176 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
50177 disk/powerpc/ieee1275/ofdisk.c,
50178 include/grub/powerpc/ieee1275/init.h and
50179 term/powerpc/ieee1275/ofconsole.c.
50180 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
50181 term/ieee1275/ofconsole.c.
50182
50183 * include/grub/powerpc/ieee1275/console.h: Resurrected.
50184
50185 * COPYING: Upgraded to the latest version. Only the address of the
50186 FSF office has changed.
f19dbdb7 50187
efd6e6d5 501882005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50189
50190 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50191 kern/ieee1275.c with kern/ieee1275/of.c.
50192
50193 * kern/ieee1275.c: Moved to ...
50194 * kern/ieee1275/of.c: ... here.
50195
8ceafda2 501962005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
50197
50198 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 50199 readability.
8ceafda2 50200
50201 * config.guess: Updated to the latest version from gnulib.
50202 * config.sub: Likewise.
50203 * install.sh: Likewise.
50204 * mkinstalldirs: Likewise.
50205
50206 * include/grub/console.h: Removed. This file is arch-specific. Do
50207 not put this in include/grub.
50208
50209 * include/grub/i386/pc/console.h: Resurrected.
50210
50211 * util/console.c: Include grub/machine/console.h instead of
50212 grub/console.h.
50213 * util/grub-emu.c: Likewise.
50214
267f6cd9 502152005-08-04 Marco Gerards <metgerards@student.han.nl>
50216
50217 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
50218 hardcoded value.
f19dbdb7 50219
267f6cd9 50220 From Vincent Pelletier <subdino2004@yahoo.fr>
50221 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
50222 Redefined to use grub_getwh.
50223 (grub_term): New member named getwh.
50224 (grub_getwh): New prototype.
50225 * kern/term.c (grub_getwh): New function.
50226 * term/i386/pc/console.c (grub_console_getwh): New function.
50227 (grub_console_term): New member `getwh'.
50228 * term/i386/pc/vga.c (grub_vga_getwh): New function.
50229 (grub_vga_term): New member `getwh'.
0b5abe02 50230 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 50231 grub_ssize_t.
50232 (grub_ofconsole_getw): New function.
50233 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
50234 (grub_ofconsole_term): New field named getwh and new initial
50235 value.
50236
3be7266d 502372005-08-03 Hollis Blanchard <hollis@penguinppc.org>
50238
50239 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
50240 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
50241 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
50242 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
50243 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
50244 of <grub/machine/ieee1275.h>.
50245 * commands/ieee1275/reboot.c: Likewise.
50246 * boot/powerpc/ieee1275/ieee1275.c: Move ...
50247 * kern/ieee1275.c: ... to here. All users updated. Change all
50248 parameter structs to use new type `grub_ieee1275_cell_t'.
50249 * term/powerpc/ieee1275/ofconsole.c: Move ...
50250 * term/ieee1275/ofconsole.c: ... to here. All users updated.
50251 * disk/powerpc/ieee1275/ofdisk.c: Move ...
50252 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
50253 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
50254 to return int.
50255 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
50256 Remove unused prototypes. All users updated.
50257 * include/grub/powerpc/ieee1275/console.h: Removed.
50258 * include/grub/powerpc/ieee1275/ieee1275.h: Define
50259 `grub_ieee1275_cell_t'.
50260 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
50261 Cast comparisons with -1 to the correct type.
50262 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
50263 type to match `grub_ieee1275_entry_fn'.
50264
8b5f3938 502652005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
50266
50267 * DISTLIST: Added util/i386/pc/grub-probefs.c.
50268
50269 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
50270 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
50271 partmap/sun.c.
50272 (grub_probefs_SOURCES): New variable.
50273
50274 * util/i386/pc/grub-probefs.c: New file.
50275
50276 * util/i386/pc/grub-setup.c (main): Call
50277 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
50278 grub_hfs_init and grub_jfs_init to initialize the system. Call
50279 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
50280 grub_pc_partition_map_fini to finish the system.
50281
ea409713 502822005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
50283
50284 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
50285 function.
50286 (grub_multiboot_load_elf32): Likewise.
50287 (grub_multiboot_is_elf64): Likewise.
50288 (grub_multiboot_load_elf64): Likewise.
50289 (grub_multiboot_load_elf): Likewise.
50290 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
50291 an ELF32 or ELF64 file.
50292 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
50293
50294 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
50295 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
50296 NULL before calling FS->LABEL.
50297 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
50298 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
50299 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
50300 before calling FS->LABEL.
50301
141a288b 503022005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
50303
50304 * util/i386/pc/grub-install.in (datadir): New variable.
50305 (libdir): Removed.
50306 (pkgdatadir): New variable.
50307 (pkglibdir): Removed.
50308
0d5f8a54 503092005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
50310
50311 * DISTLIST: Added util/i386/pc/grub-install.in.
50312
50313 * util/i386/pc/grub-install.in: New file.
50314
50315 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
50316 (grub_install_SOURCES): Likewise.
50317
50318 * genmk.rb: Added support for scripts.
50319 (Script): New class.
50320 (scripts): New variable.
50321
50322 * Makefile.in (install-local): Install sbin_SCRIPTS by
50323 INSTALL_SCRIPT.
50324 (uninstall): Remove sbin_SCRIPTS.
50325
50326 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
50327 device, try to get a GRUB device by
50328 grub_util_biosdisk_get_grub_dev.
50329 Free DEST_DEV.
50330
50331 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
50332 description for --device-map.
50333
5f968e1e 503342005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50335
50336 Change the semantics of variable hooks. They now return strings
50337 instead of error values.
f19dbdb7 50338
5f968e1e 50339 * util/i386/pc/grub-setup.c: Include grub/env.h.
50340 (setup): Use grub_device_set_root instead of grub_env_set.
50341
50342 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
50343 grub_env_get instead of grub_device_set_root and
50344 grub_device_get_root, respectively.
50345
50346 * kern/main.c (grub_env_write_root): New function.
50347 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
50348 grub_env_set instead of grub_device_set_root.
50349
50350 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
50351 many variables.
50352 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
50353 rather than calling ENV->WRITE_HOOK afterwards.
50354 (grub_env_get): Return the result of ENV->READ_HOOK rather than
50355 passing a pointer of a pointer.
50356 (grub_register_variable_hook): Change the types of "read_hook" and
50357 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
50358 respectively.
50359 Allocate the default empty string on the heap, because this string
50360 may be freed later.
50361
50362 * kern/device.c: Include grub/env.h.
50363 (grub_device_set_root): Removed.
50364 (grub_device_get_root): Likewise.
50365 (grub_device_open): Use grub_env_get instead of
50366 grub_device_get_root.
50367
50368 * include/grub/env.h (grub_env_read_hook_t): New type.
50369 (grub_env_write_hook_t): Likewise.
50370 (grub_env_var): Change the types of "read_hook" and "write_hook"
50371 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
50372 (grub_register_variable_hook): Likewise.
50373
50374 * include/grub/device.h (grub_device_set_root): Removed.
50375 (grub_device_set_root): Likewise.
50376
50377 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
50378 make sure that DIRNAME terminates with '/', so that
50379 grub_fat_find_dir will fail if PATH is not a directory.
50380
50381 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
50382 from DIRNAME.
50383 Use the qualifier auto for print_files and print_files_long.
50384 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
50385 as a regular file.
50386 Put a newline only if there is no error.
50387 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
50388 used.
50389
896f0afd 503902005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50391
50392 * kern/partition.c (grub_partition_probe): Initialize PART to
50393 NULL. Otherwise, when no partition map is registered, this returns
50394 a garbage.
50395
b28b81b2 503962005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
50397
50398 * partmap/apple.c (apple_partition_map_iterate): Check if POS
50399 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
50400 valid.
50401
5f3607e0 504022005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
50403
50404 * commands/ls.c (grub_ls_list_disks): Print the filesystem
50405 information on each device, if it does not have partitions. Print
50406 "Device" instead of "Disk", because this function is not specific
50407 to disk devices.
50408
50409 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
50410 static to ensure that it is put on the memory rather than a
50411 register.
50412
502c87e8 504132005-07-17 Yoshinori Okuji <okuji@enbug.org>
50414
50415 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
50416 (grub_cat_init): Likewise.
50417 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
50418 (options): Likewise.
50419 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
50420 (grub_configfile_init): Likewise.
50421 * font/manager.c (GRUB_MOD_INIT): Likewise.
50422 * commands/help.c (GRUB_MOD_INIT): Likewise.
50423 (grub_help_init): Likewise.
50424 * normal/command.c (grub_command_init): Likewise.
50425 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
50426 * disk/loopback.c (grub_loop_init): Likewise.
50427 (GRUB_MOD_INIT): Likewise.
50428 * commands/ls.c (grub_ls_init): Likewise.
50429 (GRUB_MOD_INIT): Likewise.
50430 (options): Likewise.
50431 * commands/boot.c (grub_boot_init): Likewise.
50432 (GRUB_MOD_INIT): Likewise.
50433 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
50434 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
50435 (GRUB_MOD_INIT): Likewise.
50436 * commands/cmp.c (grub_cmp_init): Likewise.
50437 (GRUB_MOD_INIT): Likewise.
50438
50439 * normal/arg.c: Use <> instead of "" to include header files.
50440 (SHORT_ARG_HELP): New macro.
50441 (SHORT_ARG_USAGE): Likewise.
50442 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
50443 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
50444 descriptions.
50445 (find_short): Check if C is 'h' or 'u' explicitly.
50446 (grub_arg_show_help): Use space characters instead of tabs. Treat
50447 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
50448 are shown with --help and --usage only if they are not used for
50449 the command itself.
50450 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
50451 'h' and 'u'.
50452
50453 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
50454 const into "longarg". Change the type of "shortarg" to int.
50455
f806d18e 504562005-07-17 Yoshinori Okuji <okuji@enbug.org>
50457
50458 * boot/i386/pc/boot.S (boot_drive_check): New label.
50459
50460 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
50461 macro.
50462
50463 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
50464 which do not pass a boot drive correctly. Copied from GRUB Legacy.
50465
e293232b 504662005-07-17 Yoshinori Okuji <okuji@enbug.org>
50467
50468 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
50469 When turning off Gate A20, skip the check and return immediately,
50470 because this is not fatal usually.
50471
ebedfd00 504722005-07-17 Yoshinori Okuji <okuji@enbug.org>
50473
50474 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
50475 be 0x7C00 instead of 0x8000.
50476
50477 * boot/i386/pc/pxeboot.S: Rewritten.
50478
50479 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
50480 EXT_C.
50481 (gate_a20_check_state): Read a byte from 0x108000. Invert the
50482 result.
50483
654fc59f 504842005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
50485
50486 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
50487 robustness. This routine now supports a BIOS call and System
50488 Control Port A to modify the gate A20.
50489
50490 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50491 Increased to 0x440.
50492
09f9923f 504932005-07-12 Hollis Blanchard <hollis@penguinppc.org>
50494
50495 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
50496 device path and resulting ihandle.
50497 (grub_ofdisk_close): dprintf the ihandle being closed.
50498 (grub_ofdisk_read): dprintf function parameters.
50499 * kern/mm.c (grub_mm_init_region): Likewise.
50500 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
50501 (grub_linux_boot): dprintf the Linux entry point, initrd address and
50502 size, and boot arguments.
50503 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
50504 before loading into memory.
50505 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
50506 before loading into memory.
50507
7ef504d8 505082005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
50509
50510 * kern/mm.c: Added much documentation.
50511 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
50512 8, set to 5 instead of 8.
50513
e0f050c2 505142005-07-10 Yoshinori Okuji <okuji@enbug.org>
50515
50516 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
50517
50518 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
50519 (grub_mkdevicemap_SOURCES): New variable.
50520
50521 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
50522 lib/device.c of GRUB Legacy.
50523
7224189a 505242005-07-10 Yoshinori Okuji <okuji@enbug.org>
50525
50526 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
50527 instead of PATH is NULL.
50528
68c864eb 505292005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
50530
50531 * commands/cmp.c (BUFFER_SIZE): New macro.
50532 (grub_cmd_cmp): Close the right file at the right time. Compare
50533 only data just read. Don't report files of different size as
50534 identical. Dynamically allocate buffers. Move variable
50535 declarations at the beginning of function.
50536
e6f3e614 505372005-07-09 Yoshinori Okuji <okuji@enbug.org>
50538
50539 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
50540 reverse.
50541
f8f1559a 505422004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
50543
50544 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
50545 when backspace is pressed at beginning of line.
50546
39c9d41d 505472005-07-03 Yoshinori Okuji <okuji@enbug.org>
50548
50549 * DISTLIST: Added genfslist.sh.
50550
50551 * normal/main.c (fs_module_list): New variable.
50552 (autoload_fs_module): New function.
50553 (read_fs_list): Likewise.
50554 (grub_normal_execute): Call read_fs_list.
50555
50556 * kern/fs.c (grub_fs_autoload_hook): New variable.
50557 (grub_fs_probe): Added support for auto-loading.
50558
50559 * include/grub/normal.h (struct grub_fs_module_list): New struct.
50560 (grub_fs_module_list_t): New type.
50561
50562 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
50563 (grub_fs_autoload_hook): New prototype.
50564
50565 * genfslist.sh: New file.
f19dbdb7 50566
39c9d41d 50567 * genmk.rb: Added a rule to generate a filesystem list.
50568
121c1d83 505692005-06-30 Marco Gerards <metgerards@student.han.nl>
50570
50571 * configure.ac: Fix the test for cross-compiling.
50572
50573 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
50574 define GRUB_UTIL anymore.
50575
50576 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
50577 so this function works on other systems than just big endian.
50578 (load_modules): Likewise.
50579 (add_segments): Likewise.
50580
e75d76e1 505812005-06-23 Hollis Blanchard <hollis@penguinppc.org>
50582
50583 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
50584 contains `l' modifier, get a long from va_arg().
50585
50b5a0a7 505862005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
50587
50588 * kern/mm.c (grub_free): If the next free block which is being
50589 merged is the first free block, set the first block to the block
50590 being freed.
50591 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
50592
89371b20 505932005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50594
50595 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
50596 `grub_ieee1275_chosen'.
50597
168d6e58 505982005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50599
50600 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
50601 (grub_ieee1275_chosen): New variable.
50602 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
50603 `chosen'.
50604 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
50605 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
50606 Rename first argument to `phandle' for consistency.
50607 (grub_ieee1275_get_property_length): Likewise.
50608 (grub_ieee1275_next_property): Likewise. Change type of first argument
50609 to grub_ieee1275_phandle_t.
50610 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
50611 Move export next to declaration.
50612 (grub_ieee1275_chosen): New variable.
50613 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
50614 Correct cosmetic typo.
50615 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
50616 `grub_ieee1275_chosen'.
50617 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
50618 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
50619 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
50620 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
50621 `grub_ieee1275_chosen'.
50622
ca5baa3f 506232005-05-10 Hollis Blanchard <hollis@penguinppc.org>
50624
50625 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
50626 /chosen/bootargs.
50627 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
50628 /chosen/bootargs as "variable=value" pairs.
50629
708b345f 506302005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
50631
50632 * include/grub/misc.h (grub_dprintf): New macro.
50633 (grub_real_dprintf): New prototype.
50634 (grub_strword): Likewise.
50635 (grub_iswordseparator): Likewise.
50636 * kern/misc.c (grub_real_dprintf): New function.
50637 (grub_strword): Likewise.
50638 (grub_iswordseparator): Likewise.
50639
f4c5e67c 506402005-04-30 Hollis Blanchard <hollis@penguinppc.org>
50641
50642 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
50643 (roundup): Remove macro.
50644 (grub_ieee1275_flags): Make static.
50645 (grub_ieee1275_realmode): Remove.
50646 (grub_ieee1275_test_flag): New function.
50647 (grub_ieee1275_set_flag): Likewise.
50648 (find_options): Rename to `grub_ieee1275_find_options'; update
50649 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
50650 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
50651 (cmain): New prototype.
50652 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
50653 `grub_ieee1275_flags' directly.
50654 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
50655 machine/biosdisk.h.
50656 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
50657 Don't include grub/machine/init.h.
50658 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
50659 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
50660 Remove prototype.
50661 (grub_ieee1275_realmode): Likewise.
50662 (grub_ieee1275_flag): New enum.
50663 (grub_ieee1275_test_flag): New prototype.
50664 (grub_ieee1275_set_flag): New prototype.
50665 * include/grub/powerpc/ieee1275/init.h: Remove file.
50666 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
50667 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
50668 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
50669 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
50670 comment.
50671 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
50672 `grub_ieee1275_test_flag'.
50673 (grub_ieee1275_encode_devname): Likewise.
50674
ed16607e 506752005-04-21 Hollis Blanchard <hollis@penguinppc.org>
50676
50677 * include/grub/powerpc/ieee1275/ieee1275.h
50678 (grub_ieee1275_encode_devname): New prototype.
50679 (grub_ieee1275_get_filename): Likewise.
50680 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
50681 function.
50682 (grub_set_prefix): Likewise.
50683 (grub_machine_init): Call grub_set_prefix.
50684 * kern/powerpc/ieee1275/openfw.c: Fix typos.
50685 (grub_parse_type): New enum.
50686 (grub_ieee1275_get_devargs): New function.
50687 (grub_ieee1275_get_devname): Likewise.
50688 (grub_ieee1275_parse_args): Likewise.
50689 (grub_ieee1275_get_filename): Likewise.
50690 (grub_ieee1275_encode_devname): Likewise.
50691
be369920 506922005-03-30 Marco Gerards <metgerards@student.han.nl>
50693
50694 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
50695 `grub_loader_unset'.
50696
a5ce3a4a 506972005-03-26 Hollis Blanchard <hollis@penguinppc.org>
50698
50699 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
50700 instead of grub_ieee1275_interpret.
50701 (grub_halt_init): New function.
50702 (grub_halt_fini): Likewise.
50703 (GRUB_MOD_INIT): Correct message grammar.
50704 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
50705 instead of grub_ieee1275_interpret.
50706 (grub_reboot_init): New function.
50707 (grub_reboot_fini): Likewise.
50708 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
50709 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
50710 util/i386/pc/misc.c with commands/ieee1275/halt.c,
50711 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
50712 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
50713 function.
50714 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
50715 Add prototype.
50716 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
50717 prototype.
50718 (grub_halt): Likewise.
50719 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
50720 (cmain): Remove __attribute__((unused)).
50721 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
50722 (grub_heap_len): Likewise.
50723 (grub_machine_fini): New function.
50724 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
50725 (grub_halt): Likewise.
50726 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
50727 function.
50728 * util/powerpc/ieee1275/misc.c: New file.
50729
0058f771 507302005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
50731
50732 * DISTLIST: New file.
50733 * gendistlist.sh: Likewise.
f19dbdb7 50734
0058f771 50735 * Makefile.in (COMMON_DISTFILES): Removed.
50736 (BOOT_DISTFILES): Likewise.
50737 (CONF_DISTFILES): Likewise.
50738 (DISK_DISTFILES): Likewise.
50739 (FS_DISTFILES): Likewise.
50740 (INCLUDE_DISTFILES): Likewise.
50741 (KERN_DISTFILES): Likewise.
50742 (LOADER_DISTFILES): Likewise.
50743 (TERM_DISTFILES): Likewise.
50744 (UTIL_DISTFILES): Likewise.
50745 (DISTFILES): Likewise.
50746 (uninstall): Uninstall files in $(pkgdata_DATA).
50747 (DISTLIST): New target.
50748 (distdir): Use the contents of the file DISTLIST to get a list of
50749 distributed files.
50750
46b3b8a5 507512005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
50752
50753 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
50754 descriptor. This is ported from GRUB Legacy.
50755
50756 * gencmdlist.sh: Added an extra semicolon to make it work with
50757 old sed versions. Reported by Robert Bihlmeyer
50758 <robbe@orcus.priv.at>.
50759
5822ff87 507602005-03-08 Yoshinori Okuji <okuji@enbug.org>
50761
50762 Automatic loading of commands is supported.
f19dbdb7 50763
5822ff87 50764 * normal/main.c (read_command_list): New function.
50765 (grub_normal_execute): Call read_command_list.
50766
50767 * normal/command.c (grub_register_command): Return zero or CMD.
50768 Allocate CMD->NAME from the heap.
50769 Initialize CMD->MODULE_NAME to zero.
50770 Find the same name as well. If the same command is found and it is
50771 a dummy command, overwrite members. If it is not a dummy command,
50772 return zero.
50773 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
50774 (grub_command_find): If a dummy command is found, load a module
50775 and retry to find a command only once.
50776
50777 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
50778 make sure that each command is loaded.
50779
50780 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
50781 macro.
50782 (struct grub_command): Remove const from the member `name'.
50783 Add a new member `module_name'.
50784 (grub_register_command): Return grub_command_t.
50785
50786 * commands/help.c (grub_cmd_help): Call grub_command_find to make
50787 sure that each command is loaded.
50788
50789 * genmk.rb (PModule::rule): Specify a module name without the
50790 suffix ".mod" to gencmdlist.sh.
50791
7b1f4b57 507922005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50793
50794 * gencmdlist.sh: New file.
f19dbdb7 50795
7b1f4b57 50796 * genmk.rb (PModule::rule): Generate a rule for a command list.
50797 Clean command.lst.
50798 Generate command.lst from $(COMMANDFILES).
50799
50800 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
50801 (DATA): Added $(pkgdata_DATA).
50802 (install-local): Install files in $(pkgdata_DATA).
50803
062aaf39 508042005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50805
50806 * term/i386/pc/vga.c (debug_command): Removed.
50807 (GRUB_MOD_INIT): Do not register the command "debug".
50808
50809 From Hollis Blanchard:
50810 * commands/configfile.c: New file.
50811 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50812 commands/configfile.c.
50813 (pkgdata_MODULES): Added configfile.mod.
50814 (configfile_mod_SOURCES): New variable.
50815 (configfile_mod_CFLAGS): Likewise.
50816 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50817 commands/configfile.c.
50818 (pkgdata_MODULES): Added configfile.mod.
50819 (configfile_mod_SOURCES): New variable.
50820 (configfile_mod_CFLAGS): Likewise.
50821 * util/grub-emu.c (main): Call grub_configfile_init and
50822 grub_configfile_fini.
50823 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
50824 prototype.
50825 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 50826
cee01aa6 508272005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50828
50829 * normal/arg.c (grub_arg_show_help): Do not show the bug report
50830 address.
50831
50832 * commands/help.c (grub_cmd_help): Do not print newlines after
50833 the last command in print_command_help.
50834
93f3a1d8 508352005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50836
50837 * commands/default.h: New file.
50838 * commands/timeout.h: Likewise.
50839 * normal/context.c: Likewise.
f19dbdb7 50840
93f3a1d8 50841 * util/misc.c: Do not include sys/times.h.
50842 Include sys/time.h and grub/machine/time.h.
50843 (grub_get_rtc): Rewritten with gettimeofday.
50844
50845 * util/grub-emu.c (main): Call grub_default_init and
50846 grub_timeout_init before grub_normal_init, and call
50847 grub_timeout_fini and grub_default_fini after grub_main.
50848
50849 * util/console.c (grub_ncurses_checkkey): Return the read
50850 character or -1.
50851
50852 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
50853 timeouts.
50854
50855 * normal/main.c (read_config_file): Push MENU. If this fails,
50856 print an error and wait for a user input.
50857 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
50858 If a menu is empty or an error occurs, pop MENU.
50859 (grub_normal_execute): Pop and free MENU after grub_menu_run
50860 returns.
50861
50862 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
50863
50864 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
50865 include time.h.
50866 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50867 without GRUB_UTIL.
50868 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
50869 time.h.
50870 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50871 without GRUB_UTIL.
50872
50873 * include/grub/normal.h (struct grub_menu_list): New struct.
50874 (grub_menu_list_t): New type.
50875 (struct grub_context): New struct.
50876 (grub_context_t): New type.
50877 (grub_register_command): Got rid of EXPORT_FUNC.
50878 (grub_unregister_command): Likewise.
50879 (grub_context_get): New prototype.
50880 (grub_context_get_current_menu): Likewise.
50881 (grub_context_push_menu): Likewise.
50882 (grub_context_pop_menu): Likewise.
50883 [GRUB_UTIL] (grub_default_init): Likewise.
50884 [GRUB_UTIL] (grub_default_fini): Likewise.
50885 [GRUB_UTIL] (grub_timeout_init): Likewise.
50886 [GRUB_UTIL] (grub_timeout_fini): Likewise.
50887
50888 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
50889 commands/timeout.c and normal/context.c.
50890 (pkgdata_MODULES): Added default.mod and timeout.mod.
50891 (normal_mod_SOURCES): Added normal/context.c.
50892 (default_mod_SOURCES): New variable.
50893 (default_mod_CFLAGS): Likewise.
50894 (timeout_mod_SOURCES): Likewise.
50895 (timeout_mod_CFLAGS): Likewise.
50896 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
50897 conf/i386-pc.rmk.
50898 (pkgdata_MODULES): Added default.mod and timeout.mod.
50899 (normal_mod_SOURCES): Added normal/context.c.
50900 (default_mod_SOURCES): New variable.
50901 (default_mod_CFLAGS): Likewise.
50902 (timeout_mod_SOURCES): Likewise.
50903 (timeout_mod_CFLAGS): Likewise.
50904
50905 * Makefile.in (all-local): Added $(MKFILES).
50906
4ed2e1dd 509072005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
50908
50909 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
50910 (grub_emu_SOURCES): Likewise.
50911 (pkgdata_MODULES): Add `sun.mod'.
50912 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
50913 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50914 `partmap/sun.c'.
50915 (pkgdata_MODULES): Add `sun.mod'.
50916 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
50917 * include/grub/partition.h (grub_sun_partition_map_init): New
50918 prototype.
50919 (grub_sun_partition_map_fini): Likewise.
50920 * partmap/sun.c: New file.
50921 * util/grub-emu.c (main): Initialize and de-initialize the sun
50922 partitionmap support.
50923
4d4e372e 509242005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
50925
50926 This implements an Emacs-like menu entry editor.
f19dbdb7 50927
4d4e372e 50928 * normal/menu_entry.c: New file.
f19dbdb7 50929
4d4e372e 50930 * util/console.c (grub_ncurses_putchar): Translate some Unicode
50931 characters to ASCII.
50932 (saved_char): New variable.
50933 (grub_ncurses_checkkey): Rewritten completely.
50934 (grub_ncurses_getkey): Likewise.
50935 (grub_ncurses_init): Call raw instead of cbreak.
50936
50937 * normal/menu.c (print_entry): Do not put a space.
50938 (init_page): Renamed to ...
50939 (grub_menu_init_page): ... this. All callers changed.
50940 (edit_menu_entry): Removed.
50941 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
50942
50943 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
50944
50945 * kern/misc.c (grub_vprintf): Call grub_refresh.
50946
50947 * normal/menu.c (DISP_LEFT): Renamed to ...
50948 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
50949 * normal/menu.c (DISP_UP): Renamed to ...
50950 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
50951 * normal/menu.c (DISP_RIGHT): Renamed to ...
50952 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
50953 * normal/menu.c (DISP_DOWN): Renamed to ...
50954 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
50955 * normal/menu.c (DISP_HLINE): Renamed to ...
50956 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
50957 * normal/menu.c (DISP_VLINE): Renamed to ...
50958 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
50959 * normal/menu.c (DISP_UL): Renamed to ...
50960 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
50961 * normal/menu.c (DISP_UR): Renamed to ...
50962 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
50963 * normal/menu.c (DISP_LL): Renamed to ...
50964 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
50965 * normal/menu.c (DISP_LR): Renamed to ...
50966 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
50967 * normal/menu.c (TERM_WIDTH): Renamed to ...
50968 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
50969 * normal/menu.c (TERM_HEIGHT): Renamed to ...
50970 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
50971 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
50972 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
50973 * normal/menu.c (TERM_MARGIN): Renamed to ...
50974 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
50975 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
50976 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
50977 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
50978 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
50979 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
50980 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
50981 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
50982 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
50983 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
50984 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
50985 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
50986 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
50987 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
50988 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
50989 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
50990 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
50991 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
50992 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
50993 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
50994 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
50995 All callers changed.
50996
50997 * include/grub/normal.h: New prototype.
50998
50999 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51000 normal/menu_entry.c.
51001 (normal_mod_SOURCES): Likewise.
51002 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51003 (normal_mod_SOURCES): Likewise.
51004
e6b92c8a 510052005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
51006
51007 * include/grub/normal.h (grub_halt_init): New prototype.
51008 (grub_halt_fini): Likewise.
51009 (grub_reboot_init): Likewise.
51010 (grub_reboot_fini): Likewise.
51011
51012 * util/grub-emu.c: Include signal.h.
51013 (main_env): New global variable.
51014 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
51015 catch C-c.
51016 (grub_machine_fini): New function.
51017 (main): Call grub_halt_init and grub_reboot_init before
51018 grub_main, and grub_reboot_fini and grub_halt_fini after it.
51019 Call setjmp with MAIN_ENV to go back afterwards.
51020 Call grub_machine_fini right before return.
51021
51022 * include/grub/util/misc.h: Include setjmp.h.
51023 (main_env): New prototype.
51024
51025 * include/grub/kernel.h (grub_machine_fini): New prototype.
51026 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
51027 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
51028
51029 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
51030 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
51031 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 51032
e6b92c8a 51033 * util/i386/pc/misc.c: New file.
f19dbdb7 51034
e6b92c8a 51035 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51036 util/i386/pc/misc.c, commands/i386/pc/halt.c and
51037 commands/i386/pc/reboot.c.
51038
c642636f 510392005-02-14 Guillem Jover <guillem@hadrons.org>
51040
51041 * include/grub/dl.h (grub_dl_check_header): New prototype.
51042 (grub_arch_dl_check_header): Change return type to grub_err_t,
51043 remove size parameter and export function. Update all callers.
51044 * kern/dl.c (grub_dl_check_header): New function.
51045 (grub_dl_load_core): Use `grub_dl_check_header' instead of
51046 `grub_arch_dl_check_header'. Check ELF type. Check if sections
51047 are inside the core.
51048 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
51049 independent ELF header checks.
51050 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51051 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
51052 `grub_dl_check_header' instead of explicit checks. Check for the
51053 ELF type.
51054 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
51055 `grub_dl_check_header' instead of explicit checks. Remove arch
51056 specific ELF header checks.
51057
e6b92c8a 51058 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
51059 argument SIZE.
51060
5eabe94b 510612005-02-13 Hollis Blanchard <hollis@penguinppc.org>
51062
51063 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
51064 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
51065
1b14a681 510662005-02-12 Hollis Blanchard <hollis@penguinppc.org>
51067
51068 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 51069 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 51070 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 51071 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 51072 * partmap/amiga.c (amiga_partition_map_iterate): Return
51073 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
51074 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51075
aca108aa 510762005-02-01 Guillem Jover <guillem@hadrons.org>
51077
51078 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
51079 help info.
51080
c9f9c556 510812005-01-31 Marco Gerards <metgerards@student.han.nl>
51082
51083 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
51084 Removed prototype.
51085 (grub_rescue_cmd_linux): New prototype.
51086 (grub_rescue_cmd_initrd): Likewise.
51087 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
51088 `bi_rec'.
51089 (grub_linux_release_mem): Release the memory for the initrd.
51090 (grub_load_linux): Renamed from this...
51091 (grub_rescue_cmd_linux): ...To this. Changed all callers.
51092 Changed `entry' not to be static. Loop over memory regions to
51093 find another one when the default fails.
51094 (grub_rescue_cmd_initrd): New function.
51095 (grub_linux_init): Remove function.
51096 (grub_linux_fini): Likewise.
51097 (GRUB_MOD_INIT): Register `initrd'.
51098 (GRUB_MOD_FINI): Unregister `initrd'.
51099 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
51100 Function removed.
51101 (grub_linux_normal_fini): Likewise.
51102 (GRUB_MOD_INIT): Register `initrd'.
51103 (GRUB_MOD_FINI): Unregister `initrd'.
51104
990cf3aa 511052005-01-31 Marco Gerards <metgerards@student.han.nl>
51106
51107 * commands/help.c: New file.
51108 * normal/arg.c (show_help): Renamed to...
51109 (grub_arg_show_help): ... this.
51110 * commands/i386/pc/halt.c: New file.
51111 * commands/i386/pc/reboot.c: Likewise.
51112 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
51113 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
51114 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
51115 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
51116 variables.
51117 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51118 `commands/help.c'.
51119 (pkgdata_MODULES): Add `help.mod'.
51120 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
51121 * grub/i386/pc/init.h (grub_reboot): New prototype.
51122 (grub_halt): Likewise.
51123 * include/grub/normal.h (grub_arg_show_help): New prototype.
51124 (grub_help_init): Likewise.
51125 (grub_help_fini): Likewise.
51126 * util/grub-emu.c (main): Initialize and deinitialize the help
51127 command.
51128
51129 * normal/cmdline.c (grub_cmdline_get): Doc fix.
51130
51131 * normal/command.c (grub_command_init): Fixed the description of
51132 the `set' and `unset' commands.
51133
511342005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 51135
51136 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
51137 function.
51138 * commands/ieee1275/halt.c: New file.
51139 * commands/ieee1275/reboot.c: Likewise.
51140 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
51141 `__attribute__ ((unused))'. Some GCS related fixed.
51142 (grub_suspend_init) [GRUB_UTIL]: Function removed.
51143 (grub_suspend_fini): Likewise.
51144 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
51145 and `halt.mod'.
51146 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
51147 (halt_mod_CFLAGS): New variables.
51148 * include/grub/powerpc/ieee1275/ieee1275.h
51149 (grub_ieee1275_interpret): New prototype.
51150
1ab09cc7 511512005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
51152
51153 * include/grub/misc.h (memmove): New prototype.
51154 (memcpy): Likewise.
51155
8b8cbdb2 511562005-01-22 Hollis Blanchard <hollis@penguinppc.org>
51157
51158 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
51159 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
51160
e3741a27 511612005-01-22 Marco Gerards <metgerards@student.han.nl>
51162
51163 * kern/misc.c (grub_strndup): Function rewritten.
51164
776bd780 511652005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
51166
51167 * normal/menu.c (TERM_WIDTH): Macro redefined.
51168 (TERM_TOP_BORDER_Y): Likewise.
51169 (draw_border): Replaced while-loop by a for-loop. Make the number
51170 of lines consistent with the number of lines displayed in
51171 print_entries. Added a margin below the rectangle.
51172 (print_entry): Make the entry fit in the rectangle.
51173 (print_entries): Display the scroll arrows next to the right
51174 border.
51175
78026bce 511762005-01-21 Marco Gerards <metgerards@student.han.nl>
51177
51178 * fs/minix.c (grub_minix_find_file): Reserve more space for
51179 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
51180 `grub_strncpy' to copy `path' into it.
51181
67bbaf0f 511822005-01-21 Marco Gerards <metgerards@student.han.nl>
51183
51184 Add the loopback device, a device via which files can be accessed
51185 as devices.
f19dbdb7 51186
67bbaf0f 51187 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
51188 (pkgdata_MODULES): Add loopback.mod.
51189 (loopback_mod_SOURCES): New variable.
51190 (loopback_mod_CFLAGS): Likewise.
51191 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51192 `disk/loopback.c'.
51193 (pkgdata_MODULES): Add loopback.mod.
51194 (loopback_mod_SOURCES): New variable.
51195 (loopback_mod_CFLAGS): Likewise.
51196 * disk/loopback.c: new file.
51197 * include/grub/normal.h (grub_loop_init): New prototype.
51198 (grub_loop_fini): New prototype.
51199 * util/grub-emu.c (main): Initialize and de-initialize loopback
51200 support.
51201 * include/grub/disk.h (grub_disk_dev_id): Add
51202 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
51203
6f1c18bd 512042005-01-20 Hollis Blanchard <hollis@penguinppc.org>
51205
51206 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
51207 function.
51208 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
51209 (suspend_mod_SOURCES): New variable.
51210 (suspend_mod_CFLAGS): Likewise.
51211 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
51212 New prototype.
51213 * commands/ieee1275/suspend.c: New file.
51214
b38551da 512152005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51216
51217 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 51218 ((unused))' to `__attribute__ ((used))'.
b38551da 51219 (GRUB_MOD_FINI): Likewise.
51220 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
51221 * genmk.rb (PModule): Assign space to common symbols when linking
51222 modules.
51223
777aff39 512242005-01-20 Marco Gerards <metgerards@student.han.nl>
51225
51226 * include/grub/mm.h (grub_mm_init_region): Change the type of the
51227 `unsigned' arguments to `grub_size_t'.
51228 (grub_malloc): Likewise.
51229 (grub_realloc): Likewise.
51230 (grub_memalign): Likewise.
51231 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
51232 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51233 * util/misc.c (grub_malloc): Likewise.
51234 (grub_realloc): Likewise.
51235 * kern/mm.c (get_header_from_pointer): Change the casts to
51236 `unsigned' into a cast to `grub_size_t'.
51237
51238 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
51239 point to `currnode' when `currnode' is changed.
51240
51241 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
51242 Schottelius <nico-linux@schottelius.org>.
51243
d0ff18e1 512442005-01-09 Hollis Blanchard <hollis@penguinppc.org>
51245
51246 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
51247 (note_path): Remove variable.
51248 (GRUB_IEEE1275_NOTE_NAME): New macro.
51249 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
51250 (grub_ieee1275_note_hdr): New structure.
51251 (grub_ieee1275_note_desc): Likewise.
51252 (grub_ieee1275_note): Likewise.
51253 (load_note): Remove `dir' argument. All callers updated. Remove
51254 `note_img' and `path'. Do not load a file from `note_path'.
51255 Initialize a struct grub_ieee1275_note and write that to `out'.
51256 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
51257
4ca7004c 512582005-01-05 Marco Gerards <metgerards@student.han.nl>
51259
51260 * util/misc.c (grub_util_read_image): Revert last change. It
51261 called `grub_util_read_at', which seeks from the beginning of the
51262 file.
51263
0b412211 512642005-01-04 Hollis Blanchard <hollis@penguinppc.org>
51265
51266 * TODO: Add note about endianness in grub-mkimage.
51267 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
51268 section.
51269 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
51270 (grub_mkimage_SOURCES): New target.
51271 * include/grub/kernel.h (grub_start_addr): Remove variable.
51272 (grub_end_addr): Likewise.
51273 (grub_total_module_size): Likewise.
51274 (grub_kernel_image_size): Likewise.
51275 (GRUB_MODULE_MAGIC): New constant.
51276 (grub_module_info): New structure.
51277 (grub_arch_modules_addr): New prototype.
51278 (grub_get_end_addr): Remove prototype.
51279 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
51280 * include/grub/powerpc/ieee1275/kernel.h: New file.
51281 * include/grub/util/misc.h (grub_util_get_fp_size): New
51282 prototype.
51283 (grub_util_read_at): Likewise.
51284 (grub_util_write_image_at): Likewise.
51285 * kern/main.c (grub_get_end_addr): Remove function.
51286 (grub_load_modules): Call grub_arch_modules_addr instead of using
51287 grub_end_addr. Look for a grub_module_info struct in memory. Use
51288 the grub_module_info fields instead of calling grub_get_end_addr
51289 as loop conditions. Move grub_add_unused_region code here.
51290 (grub_add_unused_region): Remove function.
51291 * kern/i386/pc/init.c: Include grub/cache.h.
51292 (grub_machine_init): Remove call to grub_get_end_addr. Remove
51293 one call to add_mem_region.
51294 (grub_arch_modules_addr): New function.
51295 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
51296 (grub_total_module_size): Likewise.
51297 Include grub/machine/kernel.h.
51298 (grub_arch_modules_addr): New function.
51299 * util/grub-emu.c (grub_end_addr): Remove variable.
51300 (grub_total_module_size): Likewise.
51301 (grub_arch_modules_addr): New function.
51302 * util/misc.c: Include unistd.h.
51303 (grub_util_get_fp_size): New function.
51304 (grub_util_read_at): Likewise.
51305 (grub_util_write_image_at): Likewise.
51306 (grub_util_read_image): Call grub_util_read_at.
51307 (grub_util_write_image): Call grub_util_write_image_at.
51308 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
51309 additional memory in kernel_img for a struct grub_module_info.
51310 Fill in that grub_module_info.
51311 * util/powerpc/ieee1275/grub-mkimage.c: New file.
51312
458786f8 513132005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51314
51315 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
51316 New function.
51317 * include/grub/powerpc/ieee1275/ieee1275.h
51318 (grub_ieee1275_milliseconds): New prototype.
51319 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
51320 Change to 1000.
51321 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
51322 grub_ieee1275_milliseconds.
51323
ac507d1b 513242005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51325
51326 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
51327 variable.
51328 (find_options): New function.
51329 (cmain): Call find_options.
51330 * include/grub/powerpc/ieee1275/ieee1275.h
51331 (grub_ieee1275_realmode): New extern variable.
51332 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
51333 grub_map if grub_ieee1275_realmode is false.
51334
6b8fd1c4 513352004-12-29 Marco Gerards <metgerards@student.han.nl>
51336
51337 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
51338 lines are inserted and make it work like readline. Reported by
51339 Vincent Pelletier <subdino2004@yahoo.fr>.
51340
8514a1e0 513412004-12-28 Marco Gerards <metgerards@student.han.nl>
51342
51343 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
51344
51345 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
51346 `kern/powerpc/cache.S'.
51347
924b6140 513482004-12-27 Marco Gerards <metgerards@student.han.nl>
51349
51350 * genmk.rb: Handle the `Program' class in the main loop. Written
51351 by Johan Rydberg <jrydberg@gnu.org>.
51352 (Program): New class.
51353 (programs): New variable.
51354 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
51355 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
51356 instead of "grub/kernel.h". Include <grub/machine/init.h>.
51357 (help_arch): Function removed.
51358 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
51359 `powerpc/libgcc.h' and `loader.h'.
51360 (pkgdata_PROGRAMS): New variable.
51361 (sbin_UTILITIES): Variable removed.
51362 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
51363 (grubof_SOURCES): Variable re-defined so it only includes the
51364 core functionality.
51365 (grubof_CFLAGS): Remove `-DGRUBOF'.
51366 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
51367 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
51368 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
51369 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
51370 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
51371 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
51372 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
51373 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
51374 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
51375 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
51376 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51377 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
51378 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
51379 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
51380 (pc_mod_CFLAGS): New variables.
51381 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
51382 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
51383 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
51384 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
51385 Moved from here...
51386 * include/grub/i386/pc/init.h (grub_os_area_addr)
51387 (rub_os_area_size): ... to here.
51388 * include/grub/powerpc/ieee1275/ieee1275.h
51389 (grub_ieee1275_entry_fn): Export symbol.
51390 * include/grub/powerpc/ieee1275/init.h: New file.
51391 * include/grub/powerpc/libgcc.h: Likewise.
51392 * include/grub/cache.h: Likewise.
51393 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
51394 <hollis@penguinppc.org>.
51395 * kern/dl.c: Include <grub/cache.h>.
51396 (grub_dl_flush_cache): New function.
51397 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
51398 for this module.
51399 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
51400 (grub_console_init): Removed prototypes.
51401 (grub_machine_init): Don't initialize the modules anymore.
51402 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
51403 static.
51404 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
51405 Macro undef removed.
51406 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
51407 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
51408 relocation `R_PPC_REL32'. Return an error when the relocation is
51409 unknown.
51410 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
51411 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
51412 * util/misc.c (grub_arch_sync_caches): Likewise.
51413
e4b47e0c 514142004-12-19 Marco Gerards <metgerards@student.han.nl>
51415
51416 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
51417 `symlist.c', add `grubof_symlist.c'.
51418 (symlist.c): Variable removed.
51419 (grubof_HEADERS): Variable added.
51420 (grubof_symlist.c): New target.
51421 (kernel_syms.lst): Use `grubof_HEADERS' instead of
51422 `kernel_img_HEADERS'.
51423 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
51424 * kern/powerpc/dl.c: New file.
51425 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
51426 Function removed.
51427 (grub_arch_dl_relocate_symbols): Likewise.
51428 (grub_register_exported_symbols): Likewise.
51429
4ceb3636 514302004-12-13 Marco Gerards <metgerards@student.han.nl>
51431
51432 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
51433 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
51434 to fail instead. Reported by Vincent Pelletier
51435 <subdino2004@yahoo.fr>.
51436
51437 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
51438 it is not allocated. Reported by Vincent Pelletier
51439 <subdino2004@yahoo.fr>.
51440
51441 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
51442 output so the output looks better.
f19dbdb7 51443
3f1578fe 514442004-12-04 Marco Gerards <metgerards@student.han.nl>
51445
51446 Modulize the partition map support and add support for the amiga
51447 partition map.
f19dbdb7 51448
3f1578fe 51449 * commands/ls.c: Include <grub/partition.h> instead of
51450 <grub/machine/partition.h>.
51451 * kern/disk.c: Likewise.
51452 * kern/rescue.c: Likewise.
51453 * loader/i386/pc/chainloader.c: Likewise.
51454 * normal/cmdline.c: Likewise.
51455 * kern/powerpc/ieee1275/init.c: Likewise.
51456 (grub_machine_init): Call `grub_pc_partition_map_init',
51457 `grub_amiga_partition_map_init' and
51458 `grub_apple_partition_map_init'.
51459 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
51460 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
51461 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
51462 `partition.h' and `pc_partition.h'.
51463 (grub_setup_SOURCES): Remove
51464 `disk/i386/pc/partition.c'. Add `kern/partition.c',
51465 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51466 (grub_emu_SOURCES): Likewise.
51467 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
51468 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
51469 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
51470 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51471 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
51472 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51473 (grubof_SOURCES): Likewise.
51474 * disk/i386/pc/partition.c: File removed.
51475 * disk/powerpc/ieee1275/partition.c: Likewise.
51476 * include/grub/powerpc/ieee1275/partition.h: Likewise.
51477 * include/grub/i386/pc/partition.h: Likewise.
51478 * kern/partition.c: New file.
51479 * partmap/amiga.c: Likewise.
51480 * partmap/apple.c: Likewise.
51481 * partmap/pc.c: Likewise.
51482 * include/grub/partition.h: Likewise..
51483 * include/grub/pc_partition.h: Likewise.
51484 * util/grub-emu.c: Include <grub/partition.h> instead of
51485 <grub/machine/partition.h>.
51486 (main): Call `grub_pc_partition_map_init',
51487 `grub_amiga_partition_map_init' and
51488 `grub_apple_partition_map_init' and deinitialize afterwards.
51489 * util/i386/pc/biosdisk.c: Include `#include
51490 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51491 `<grub/machine/partition.h>'.
51492 * util/i386/pc/grub-setup.c: Likewise.
51493 * util/i386/pc/biosdisk.c: Likewise.
51494 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
51495 partition information in case of a PC partition.
51496 * util/i386/pc/grub-setup.c: Include `#include
51497 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51498 `<grub/machine/partition.h>'.
51499 (setup): Only access the PC specific partition information in case
51500 of a PC partition.
51501
0ef4ced9 515022004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 51503
0ef4ced9 51504 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
51505 (grub_longjmp): Likewise.
51506 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
51507 20.
51508 * normal/powerpc/setjmp.S: New file.
51509 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51510 `normal/powerpc/setjmp.S'.
51511 (grubof_CFLAGS): Add `-DGRUBOF'.
51512 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
51513 [GRUB_UTIL && !GRUBOF].
f19dbdb7 51514
19950e29 515152004-11-16 Marco Gerards <metgerards@student.han.nl>
51516
51517 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
51518 property named `name'. Correctly handle the error returned by
51519 `grub_ieee1275_finddevice' if a device can not be opened.
51520
a2fea427 515212004-11-02 Hollis Blanchard <hollis@penguinppc.org>
51522
51523 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
51524 `actual' for negativity.
51525 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51526 kern/fshelp.c.
51527
41ea0ea3 515282004-11-01 Marco Gerards <metgerards@student.han.nl>
51529
51530 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
51531 (PAGE_OFFSET): New macro.
51532 (CRTC_ADDR_PORT): Likewise.
51533 (CRTC_DATA_PORT): Likewise.
51534 (START_ADDR_HIGH_REGISTER): Likewise.
51535 (START_ADDR_LOW_REGISTER): Likewise.
51536 (GRAPHICS_ADDR_PORT): Likewise.
51537 (GRAPHICS_DATA_PORT): Likewise.
51538 (READ_MAP_REGISTER): Likewise.
51539 (INPUT_STATUS1_REGISTER): Likewise.
51540 (INPUT_STATUS1_VERTR_BIT): Likewise.
51541 (page): New variable.
51542 (wait_vretrace): New function.
51543 (set_read_map): Likewise.
51544 (set_start_address): Likewise.
51545 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
51546 the right page.
51547 (check_vga_mem): Take the page into account.
51548 (write_char): Likewise.
51549 (write_cursor): Likewise.
51550 (scroll_up): Likewise. Copy the page to the page that is not
51551 shown and switch between both pages.
51552 (grub_vga_putchar): Fix off by one error.
51553 (grub_vga_cls): Wait for the vertical retrace. Take the page into
51554 account.
51555
ad0bd20b 515562004-11-01 Marco Gerards <metgerards@student.han.nl>
51557
51558 Add support for iso9660 (including rockridge).
f19dbdb7 51559
ad0bd20b 51560 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51561 (iso9660_mod_SOURCES): New variable.
51562 (iso9660_mod_CFLAGS): Likewise.
51563 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51564 * include/grub/fs.h (grub_iso9660_init): New prototype.
51565 * util/grub-emu.c (main): Call `grub_iso9660_init'.
51566 * fs/iso9660.c: New file.
51567
51568 * include/grub/misc.h (grub_strncat): New prototype.
51569 * kern/misc.c (grub_strncat): New function.
f19dbdb7 51570
ad0bd20b 51571 * fs/hfs.c (grub_hfs_mount): Translate the error
51572 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
51573 * fs/jfs.c (grub_jfs_mount): Likewise.
51574 * fs/ufs.c (grub_ufs_mount): Likewise.
51575
a5477a59 515762004-10-28 Hollis Blanchard <hollis@penguinppc.org>
51577
51578 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
51579 which initialized BAT registers.
51580 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
51581 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51582 Move from here...
51583 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
51584 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51585 ... to here.
51586 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
51587 (grub_mapclaim): Likewise.
51588 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
51589 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
51590 hand.
51591
9304c1f8 515922004-10-19 Hollis Blanchard <hollis@penguinppc.org>
51593
51594 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
51595 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
51596 -ffreestanding and -msoft-float.
51597
86f4ae25 515982004-10-15 Hollis Blanchard <hollis@penguinppc.org>
51599
51600 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
51601 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
51602 set in grub_ieee1275_flags.
51603
38912228 516042004-10-14 Hollis Blanchard <hollis@penguinppc.org>
51605
51606 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
51607 prototype.
51608 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
51609 grub_console_init first.
51610 Change the memory range used for grub_ieee1275_claim and
51611 grub_mm_init_region.
51612 Print an error message if the claim fails.
51613 Include <grub/misc.h>.
51614
d1923dc8 516152004-10-13 Hollis Blanchard <hollis@penguinppc.org>
51616
51617 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
51618 Call grub_children_iterate for device nodes of type `scsi',
51619 `ide', or `ata'.
51620 (grub_ofdisk_open): Remove manual device alias resolution.
51621 Fix memory leak when device cannot be opened.
f19dbdb7 51622 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 51623 (grub_children_iterate): New prototype.
51624 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
51625 New function.
51626 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51627 Return -1 if args.size was -1.
51628
4512e4f3 516292004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51630
51631 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
51632 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
51633 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
51634 Open Firmware's memory for it; claim memory from _start to _end.
51635 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
51636 (_end): New extern.
51637 (_start): Zero BSS from __bss_start to _end.
51638 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51639 New extern.
51640 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
51641
4d61feb0 516422004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51643
ad0bd20b 51644 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
51645 -1 if args.base was -1.
4d61feb0 51646
026fa2f9 516472004-10-08 Hollis Blanchard <hollis@penguinppc.org>
51648
51649 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
51650 escape sequence instead of a literal ^L. Also call
51651 grub_ofconsole_gotoxy.
51652
9f2220ef 516532004-10-03 Hollis Blanchard <hollis@penguinppc.org>
51654
51655 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
51656 void * arguments to grub_addr_t. All callers updated. Also make
51657 the `result' argument optional.
51658 (grub_ieee1275_release): change void * arguments to grub_addr_t.
51659 All callers updated.
51660
8a572cd7 516612004-09-22 Hollis Blanchard <hollis@penguinppc.org>
51662
51663 * commands/ls.c (grub_ls_list_files): Use the string following the
51664 initial ')', if present, as the filesystem path.
51665 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
51666
51667 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
51668
18aa81f2 516692004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
51670
51671 Make the source code of the menu interface more readable.
f19dbdb7 51672
18aa81f2 51673 * normal/menu.c: Include grub/mm.h.
51674 (TERM_WIDTH): New macro.
51675 (TERM_HEIGHT): Likewise.
51676 (TERM_INFO_HEIGHT): Likewise.
51677 (TERM_MARGIN): Likewise.
51678 (TERM_SCROLL_WIDTH): Likewise.
51679 (TERM_TOP_BORDER_Y): Likewise.
51680 (TERM_LEFT_BORDER_X): Likewise.
51681 (TERM_BORDER_WIDTH): Likewise.
51682 (TERM_MESSAGE_HEIGHT): Likewise.
51683 (TERM_BORDER_HEIGHT): Likewise.
51684 (TERM_NUM_ENTRIES): Likewise.
51685 (TERM_FIRST_ENTRY_Y): Likewise.
51686 (TERM_ENTRY_WIDTH): Likewise.
51687 (TERM_CURSOR_X): Likewise.
51688 (draw_border): Use macros instead of magic numbers.
51689 (print_entry): Likewise.
51690 (print_entries): Likewise.
51691 (run_menu): Likewise. Also, handle the key 'e'.
51692 (run_menu_entry): Ignore empty command lines.
51693 (print_message): Added a new argument EDIT. If EDIT is true,
51694 print a different message.
51695 (init_page): Likewise.
51696 (edit_menu_entry): New function. Not implemented yet.
51697
b47efe30 516982004-09-17 Marco Gerards <metgerards@student.han.nl>
51699
51700 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
51701 can be loaded from normal mode.
f19dbdb7 51702
b47efe30 51703 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
51704 `multiboot.mod'.
51705 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
51706 (multiboot_mod_CFLAGS): New variables.
51707 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 51708 * loader/i386/pc/multiboot_normal.c: Likewise.
51709
b47efe30 51710 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
51711 attribute `unused'.
f19dbdb7 51712
b47efe30 51713 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
51714 `fdiro' to read the mode information from instead of `diro'.
51715
51716 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
51717 looking up a symlink.
51718
51719 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
51720 macro.
51721 * normal/command.c (grub_command_execute): Don't parse the
51722 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
51723 flags of the command.
51724
51725 * normal/menu.c (grub_menu_run): Fix typo.
51726
da75ac71 517272004-09-14 Hollis Blanchard <hollis@penguinppc.org>
51728
51729 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
51730
51731 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
51732 `y + 1' instead of `y - 1'.
51733
51734 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 51735
062b24c2 517362004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
51737
51738 From Hollis Blanchard <hollis@penguinppc.org>:
51739 * kern/misc.c (memmove): New alias for grub_memmove.
51740 (memcmp): New alias for grub_memcmp.
51741 (memset): New alias for grub_memset.
f19dbdb7 51742 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 51743 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 51744 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 51745 (grub_ieee1275_get_property): Likewise.
f19dbdb7 51746
8ddad845 517472004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
51748
51749 Added normal mode command `chainloader' as module chain.mod, which
51750 depends on normal.mod and _chain.mod.
f19dbdb7 51751
8ddad845 51752 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
51753 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
51754 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
51755 Deleted prototype.
51756 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
51757 but arguments parsing moved to ...
51758 (grub_chainloader_cmd): ... here. New function.
51759 * include/grub/i386/pc/chainloader.h: New file.
51760 * loader/i386/pc/chainloader_normal.c: Likewise.
51761
2c1f4ce3 517622004-09-11 Marco Gerards <metgerards@student.han.nl>
51763
51764 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
51765 (grub_mkimage_LDFLAGS): Likewise.
51766 (grub_emu_SOURCES): Likewise.
51767 (kernel_img_HEADERS): Added fshelp.h.
51768 * fs/ext2.c: Include <grub/fshelp.h>.
51769 (FILETYPE_REG): New macro.
51770 (FILETYPE_INO_REG): Likewise.
51771 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
51772 Changed all users.
51773 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
51774 all users.
51775 (grub_fshelp_node): New struct.
51776 (grub_ext2_data): Added member `diropen'. Changed member `inode'
51777 to a pointer.
51778 (grub_ext2_get_file_block): Removed function.
51779 (grub_ext2_read_block): New function.
51780 (grub_ext2_read_file): Replaced parameter `data' by `node'.
51781 This function was written.
51782 (grub_ext2_mount): Read the root inode. Create a diropen struct.
51783 (grub_ext2_find_file): Removed function.
51784 (grub_ext2_read_symlink): New function.
51785 (grub_ext2_iterate_dir): Likewise.
51786 (grub_ext2_open): Rewritten.
51787 (grub_ext2_dir): Rewritten.
51788 * include/grub/fshelp.h: New file.
51789 * fs/fshelp.c: Likewise.
51790
3c52136a 517912004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
51792
51793 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
51794 (print_message): Add a missing newline.
51795 (run_menu): Added timeout support.
51796 (run_menu_entry): New local function.
51797 (grub_menu_run): Added support for booting.
51798
51799 * kern/loader.c (grub_loader_is_loaded): New function.
51800
51801 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
51802 (grub_get_rtc): Exported.
51803
51804 * include/grub/i386/pc/time.h: Include grub/symbol.h.
51805 (grub_get_rtc): Exported.
51806
51807 * include/grub/normal.h (struct grub_command_list): Remove
51808 constant from the member `command'.
51809
51810 * include/grub/loader.h (grub_loader_is_loaded): Declared.
51811
51812 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
51813
51814 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
51815
aa033560 518162004-08-28 Marco Gerards <metgerards@student.han.nl>
51817
51818 Add support for the JFS filesystem.
51819
51820 * fs/jfs.c: New file.
51821 * include/grub/fs.h (grub_jfs_init): New prototype.
51822 (grub_jfs_fini): New prototype.
51823 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
51824 (grub_emu_SOURCES): Likewise.
51825 (pkgdata_MODULES): Add jfs.mod.
51826 (jfs_mod_SOURCES): New variable.
51827 (jfs_mod_CFLAGS): Likewise.
51828 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
51829 (grubof_SOURCES): Likewise.
51830 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
51831
51832 * fs/fat.c (grub_fat_find_dir): Convert the filename little
51833 endian to the host endian.
51834 (grub_fat_utf16_to_utf8): Move function from there...
51835 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 51836 the endianness of the source string anymore.
aa033560 51837 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
51838
94bc45af 518392004-08-24 Marco Gerards <metgerards@student.han.nl>
51840
51841 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
51842 (grub_boot_fini) [GRUB_UTIL]: Likewise.
51843 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
51844 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 51845
94bc45af 51846 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
51847 (grub_hfs_iterate_dir): Make the function static. Add prototypes
51848 for `node_found' and `it_dir'.
51849 (grub_hfs_dir): Add prototype for `dir_hook'.
51850
51851 * fs/minix.c (grub_minix_get_file_block): Add prototype for
51852 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
51853 and `indir32' to silence a gcc warning.
51854
51855 * include/grub/fs.h (grub_hfs_init): New prototype.
51856 (grub_hfs_fini): Likewise.
f19dbdb7 51857
51858
97543f08 518592004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
51860
51861 Each disk device has its own id now. This is useful to make use
51862 of multiple disk devices.
f19dbdb7 51863
97543f08 51864 * include/grub/disk.h (grub_disk_dev_id): New enum.
51865 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
51866 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
51867
51868 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
51869 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
51870
51871 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
51872 GRUB_DISK_DEVICE_OFDISK_ID as an id.
51873
51874 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
51875 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
51876
51877 * include/grub/disk.h (struct grub_disk_dev): Added a new member
51878 "id" which is used by the cache manager.
51879
51880 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
51881 of just "GRUB".
51882
64372eb4 518832004-08-18 Marco Gerards <metgerards@student.han.nl>
51884
51885 * fs/hfs.c: New file.
51886 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
51887 (grub_emu_SOURCES): Likewise.
51888 (pkgdata_MODULES): Add hfs.mod.
51889 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
51890 (grubof_SOURCES): Likewise.
51891 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
51892
51893 * include/grub/misc.h (grub_strncasecmp): Add prototype.
51894 * kern/misc.c (grub_strncasecmp): Add function.
51895
cc61b58f 518962004-08-14 Marco Gerards <metgerards@student.han.nl>
51897
51898 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
51899 with parentheses.
51900
51901 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
51902 (grub_ext2_dir): In case the directory entry type is unknown, read
51903 it from the inode.
51904
0ef123f6 519052004-08-02 Peter Bruin <pjbruin@dds.nl>
51906
51907 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
51908 grub_load_linux instead of grub_rescue_cmd_linux as second
51909 argument of grub_rescue_register_command.
51910
51911 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
51912
a447c5df 519132004-07-27 Marco Gerards <metgerards@student.han.nl>
51914
51915 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
51916 function.
51917 * commands/boot.c: Remove the check for `GRUB_UTIL'.
51918 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51919 `loader/powerpc/ieee1275/linux.c',
51920 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
51921 * include/grub/powerpc/ieee1275/ieee1275.h
51922 (grub_ieee1275_release): New prototype.
51923 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
51924 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
51925 normal, boot, linux and linux_normal.
51926 * loader/powerpc/ieee1275/linux.c: New file.
51927 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
51928
5a9e3546 519292004-07-12 Marco Gerards <metgerards@student.han.nl>
51930
51931 * normal/arg.c (grub_arg_parse): Correct error handling after
51932 reallocating the argumentlist (check if `argl' is not null instead
51933 of checking if `args' is not null).
51934 * kern/mm.c (grub_realloc): Return the same pointer when using the
51935 same region, instead of returning the header address.
51936
e15199cb 519372004-07-11 Marco Gerards <metgerards@student.han.nl>
51938
51939 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
51940 one block instead of two when looking for the initial partition.
51941 (grub_partition_probe): Initialize the local variable `p' with 0.
51942 Use base 10 for the grub_strtoul call.
51943 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
51944 need for one local variable.
51945 (grub_strtoul): Don't add the new value to `num', instead of that
51946 just assign it.
51947
020616c2 519482004-07-11 Marco Gerards <metgerards@student.han.nl>
51949
51950 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
51951 (pxeboot_img_SOURCES): New variable.
51952 (pxeboot_img_ASFLAGS): Likewise.
51953 (pxeboot_img_LDFLAGS): Likewise.
51954 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
51955 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
51956 <lode_leroy@hotmail.com>.
51957
6c51eb64 519582004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51959
51960 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
51961 there was no input.
51962
cfb12aff 519632004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51964
51965 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
51966 the history buffer logic.
51967
6eabba74 519682004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51969
51970 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
51971 (FILETYPE_INO_SYMLINK): New macros.
51972 (grub_ext2_find_file): Check if the node is a directory using the
51973 inode stat information instead of using the filetype in the
51974 dirent. Exclude the first character of an absolute symlink.
51975 (grub_ext2_dir): Mask out the filetype part of the mode member of
51976 the inode.
51977
66e19ef8 519782004-05-24 Marco Gerards <metgerards@student.han.nl>
51979
51980 Add support for UFS version 1 and 2. Add support for the minix
51981 filesystem version 1 and 2, both the variants with 14 and 30 long
51982 filenames.
f19dbdb7 51983
66e19ef8 51984 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
51985 fs/minix.c.
51986 (grub_emu_SOURCES): Likewise.
51987 (pkgdata_MODULES): Add ufs.mod and minix.mod.
51988 (ufs_mod_SOURCES): New variable.
51989 (ufs_mod_CFLAGS): Likewise.
51990 (minix_mod_SOURCES): Likewise.
51991 (minix_mod_CFLAGS): Likewise.
51992 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
51993 fs/minix.c.
51994 (grubof_SOURCES): Likewise.
51995 * fs/ufs.c: New file.
51996 * fs/minix.c: New file.
51997 * include/grub/fs.h (grub_ufs_init): New prototype.
51998 (grub_ufs_fini): Likewise.
51999 (grub_minix_init): Likewise.
52000 (grub_minix_fini): Likewise.
52001 * util/grub-emu.c (main): Initialize and deinitialize UFS and
52002 minix fs.
52003
cc2e748a 520042004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
52005
52006 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
52007 commands/ls.c, commands/terminal.c, commands/boot.c,
52008 commands/cmp.c and commands/cat.c.
52009 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
52010
52011 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
52012 "env.h"
52013
4b13b216 520142004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52015
52016 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
52017 and grub_, respectively. Because the conversion is trivial and
52018 mechanical, I omit the details here. Please refer to the CVS
52019 if you need more information.
52020
6a142551 520212004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52022
52023 * include/pupa: Renamed to ...
52024 * include/grub: ... this.
52025 * util/i386/pc/pupa-mkimage.c: Renamed to ...
52026 * util/i386/pc/grub-mkimage.c: ... this.
52027 * util/i386/pc/pupa-setup.c: Renamed to ...
52028 * util/i386/pc/grub-setup.c: ... this.
52029 * util/pupa-emu.c: Renamed to ...
52030 * util/grub-emu.c: ... this.
52031
e56cdf21 520322004-03-29 Marco Gerards <metgerards@student.han.nl>
52033
52034 Add support for the newworld apple macintosh (PPC). This has been
52035 tested on the powerbook 2000 only. It only adds support for
52036 generic ieee1275 functions, console and disk support. This should
52037 be easy to port to other architectures with support for Open
52038 Firmware.
f19dbdb7 52039
e56cdf21 52040 * configure.ac: Accept the powerpc as host_cpu. In the case of
52041 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
52042 specific tests are only executed while building for the i386.
52043 Inverse test for crosscompile.
52044 * genmk.rb (Utility): Allow assembler files.
52045 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
52046 * conf/powerpc-ieee1275.rmk: New file.
52047 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
52048 * disk/powerpc/ieee1275/partition.c: Likewise.
52049 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
52050 * include/pupa/powerpc/ieee1275/console.h: Likewise.
52051 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
52052 * include/pupa/powerpc/ieee1275/time.h: Likewise.
52053 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
52054 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
52055 * include/pupa/powerpc/ieee1275/loader.h
52056 * include/pupa/powerpc/setjmp.h: Likewise.
52057 * include/pupa/powerpc/types.h: Likewise.
52058 * kern/powerpc/ieee1275/init.c: Likewise.
52059 * kern/powerpc/ieee1275/openfw.c: Likewise.
52060 * term/powerpc/ieee1275/ofconsole.c: Likewise.
52061
52062 These files were written by Johan Rydberg
52063 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 52064
e56cdf21 52065 * boot/powerpc/ieee1275/cmain.c: New file.
52066 * boot/powerpc/ieee1275/crt0.S: Likewise.
52067 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
52068 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
52069
8c8cc205 520702004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
52071
52072 * Makefile.in: Update copyright.
52073 * genmodsrc.sh: Likewise.
52074 * gensymlist.sh: Likewise.
52075 * term/i386/pc/vga.c: Indent correctly.
52076
52077 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
52078 bugreporting address.
52079 * util/i386/pc/pupa-setup.c (usage): Likewise,
52080 (main): Call pupa_ext2_init and pupa_ext2_fini.
52081
f19dbdb7 52082 * fs/fat.c (log2): Renamed to ...
8c8cc205 52083 (fat_log2): ... this.
52084 All callers changed.
52085 * kern/misc.c (memcpy): Alias to pupa_memmove.
52086 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
52087 lvalue cast.
52088 * util/console.c (pupa_ncurses_fini): Return 0.
52089
52090 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
52091 Move fail label here.
52092 [__GNU__]: Don't warn when using stat.
52093 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
52094 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
52095 long int. Use strtol instead of strtoul.
f19dbdb7 52096
db1771cf 520972004-03-14 Marco Gerards <metgerards@student.han.nl>
52098
52099 * commands/boot.c: New file.
52100 * commands/cat.c: Likewise.
52101 * commands/cmp.c: Likewise.
52102 * commands/ls.c: Likewise.
52103 * commands/terminal.c: Likewise.
52104 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
52105 (pupa_register_command): Changed interface to match the new
52106 argument parser.
52107 (pupa_command_execute): Changed (almost rewritten) so it uses
52108 pupa_split_command. Added support for setting variables using the
52109 syntax `foo=bar'.
52110 (rescue_command): Changed to work with the new argument parser.
52111 (terminal_command): Moved from here to commands/terminal.c.
52112 (set_command): New function.
52113 (unset_command): New function.
52114 (insmod_command): New function.
52115 (rmmod_command): New function.
52116 (lsmod_command): New function.
52117 (pupa_command_init): Don't initialize the command terminal
52118 anymore. Initialize the commands set, unset, insmod, rmmod and
52119 lsmod.
52120 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
52121 (kernel_img_HEADERS): Add arg.h and env.h.
52122 (pupa_mkimage_LDFLAGS): Add kern/env.c.
52123 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
52124 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
52125 normal/arg.c.
52126 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
52127 terminal.mod.
52128 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
52129 (boot_mod_SOURCES): New variable.
52130 (terminal_mod_SOURCES): Likewise.
52131 (ls_mod_SOURCES): Likewise.
52132 (cmp_mod_SOURCES): Likewise.
52133 (cat_mod_SOURCES): Likewise.
52134
52135 * normal/arg.c: New file.
52136 * kern/env.c: Likewise.
52137 * include/pupa/arg.h: Likewise.
52138 * include/pupa/env.h: Likewise.
52139 * font/manager.c (font_command): Changed to match argument parsing
52140 interface changes.
52141 (PUPA_MOD_INIT): Likewise.
52142 * hello/hello.c (pupa_cmd_hello): Likewise.
52143 (PUPA_MOD_INIT): Likewise.
52144 * include/pupa/disk.h: Include <pupa/device.h>.
52145 (pupa_print_partinfo): New prototype.
52146 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
52147 (pupa_dl_get_prefix): Likewise.
52148 * include/pupa/misc.h: Include <pupa/err.h>.
52149 (pupa_isgraph): New prototype.
52150 (pupa_isdigit): Likewise.
52151 (pupa_split_cmdline): Likewise.
52152 * include/pupa/normal.h: Include <pupa/arg.h>.
52153 (pupa_command): Changed the prototype of the member `func' to
52154 match the argument parsing interface. Added member `options'.
52155 (pupa_register_command): Updated to match function.
52156 (pupa_arg_parse): New prototype.
52157 (pupa_hello_init) [PUPA_UTIL]: New prototype.
52158 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
52159 (pupa_ls_init) [PUPA_UTIL]: Likewise.
52160 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
52161 (pupa_cat_init) [PUPA_UTIL]: Likewise.
52162 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
52163 (pupa_boot_init) [PUPA_UTIL]: Likewise.
52164 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
52165 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
52166 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
52167 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
52168 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
52169 * kern/disk.c: Include <pupa/file.h>.
52170 (pupa_print_partinfo): New function.
52171 * kern/dl.c: Include <pupa/env.h>.
52172 (pupa_dl_dir): Variable removed.
52173 (pupa_dl_load): Use the environment variable `prefix' instead of
52174 the variable pupa_dl_dir.
52175 (pupa_dl_set_prefix): Function removed.
52176 (pupa_dl_get_prefix): Likewise.
52177 * kern/i386/pc/init.c: Include <pupa/env.h>.
52178 (pupa_machine_init): Use the environment variable `prefix' instead of
52179 using pupa_dl_set_prefix to set the prefix.
52180 * kern/main.c: Include <pupa/env.h>.
52181 (pupa_set_root_dev): Use the environment variable `prefix' instead of
52182 using pupa_dl_get_prefix to get the prefix.
52183 * kern/misc.c: Include <pupa/env.h>.
52184 (pupa_isdigit): New function.
52185 (pupa_isgraph): Likewise.
52186 (pupa_ftoa): Likewise.
52187 (pupa_vsprintf): Added support for printing values of the type
52188 `double'. Make it possible to format variable output when using
52189 formatting like `%1.2%f'.
52190 (pupa_split_cmdline): New function.
52191 * kern/rescue.c: Include <pupa/env.h>.
52192 (next_word): Removed function.
52193 (pupa_rescue_cmd_prefix): Likewise.
52194 (pupa_rescue_cmd_set): New function.
52195 (pupa_rescue_cmd_unset): New function.
52196 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
52197 split the command line instead of splitting it here. Added
52198 support for setting variables using the syntax `foo=bar'. Don't
52199 initialize the prefix command anymore. Initialized the set and
52200 unset commands.
52201 * normal/cmdline.c: Include <pupa/env.h>.
52202 (pupa_tab_complete): Added prototypes for print_simple_completion,
52203 print_partition_completion, add_completion, iterate_commands,
52204 iterate_dev, iterate_part and iterate_dir. Moved code to print
52205 partition information from here to kern/disk.c.
fe6b695a 52206 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 52207 * normal/main.c: Include <pupa/env.h>.
52208 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
52209 instead of using pupa_dl_get_prefix to get the prefix.
52210 * term/i386/pc/vga.c: Include <pupa/arg.h>.
52211 (check_vga_mem): Cast pointers to `void *' to silence a gcc
52212 warning.
52213 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
52214 (pupa_vga_setcolor): Declare unused variables with `__attribute__
52215 ((unused))' to silence a gcc warning.
52216 (pupa_vga_setcolor): Likewise.
52217 (debug_command): Changed to match argument parsing
52218 interface changes.
52219 * util/pupa-emu.c: Include <pupa/env.h>.
52220 (options): Added 0's for unused fields to silence a gcc warning.
52221 (argp): Likewise.
52222 (main): Use the environment variable `prefix' instead of using
52223 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
52224 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
52225 and terminal.
52226
52227 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
52228 * util/misc.c: Include <malloc.h>.
52229 (pupa_malloc): Rewritten so errors are correctly reported.
52230 (pupa_realloc): Likewise.
52231 (pupa_memalign): Likewise.
52232 (pupa_mm_init_region): Declare unused variables with
52233 `__attribute__ ((unused))' to silence a gcc warning.
52234 * normal/i386/setjmp.S: Remove tab at the end of the file to
52235 silence a gcc warning.
52236 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
52237 variables with `__attribute__ ((unused))' to silence a gcc
52238 warning.
52239 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
52240 local variable i unsigned to silence a gcc warning.
52241
52242 * kern/term.c: Include <pupa/misc.h>.
52243 (pupa_more_lines): New variable.
52244 (pupa_more): Likewise.
52245 (pupa_putcode): When the pager is active pause at the end of every
52246 screen.
52247 (pupa_set_more): New function.
52248 * include/pupa/term.h (pupa_set_more): New prototype.
52249
52250
3b1139cb 522512004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
52252
52253 Now this project is GRUB 2 rather than PUPA. The location of
52254 the CVS repository was moved to GRUB's.
f19dbdb7 52255
3b1139cb 52256 * configure.ac: Use bug-grub as the reporting address.
52257 Use GRUB instead of PUPA.
52258 Change the version number to 1.90.
52259
8367695c 522602004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
52261
52262 * genkernsyms.sh: Updated copyright information.
52263 * genmk.rb: Likewise.
52264 * genmodsrc.sh: Likewise.
52265 * gensymlist.sh: Likewise.
52266 * boot/i386/pc/boot.S: Likewise.
52267 * boot/i386/pc/diskboot.S: Likewise.
52268 * disk/i386/pc/biosdisk.c: Likewise.
52269 * disk/i386/pc/partition.c: Likewise.
52270 * font/manager.c: Likewise.
52271 * fs/ext2.c: Likewise.
52272 * fs/fat.c: Likewise.
52273 * include/pupa/boot.h: Likewise.
52274 * include/pupa/device.h: Likewise.
52275 * include/pupa/disk.h: Likewise.
52276 * include/pupa/dl.h: Likewise.
52277 * include/pupa/elf.h: Likewise.
52278 * include/pupa/err.h: Likewise.
52279 * include/pupa/file.h: Likewise.
52280 * include/pupa/font.h: Likewise.
52281 * include/pupa/fs.h: Likewise.
52282 * include/pupa/kernel.h: Likewise.
52283 * include/pupa/loader.h: Likewise.
52284 * include/pupa/misc.h: Likewise.
52285 * include/pupa/mm.h: Likewise.
52286 * include/pupa/net.h: Likewise.
52287 * include/pupa/normal.h: Likewise.
52288 * include/pupa/rescue.h: Likewise.
52289 * include/pupa/setjmp.h: Likewise.
52290 * include/pupa/symbol.h: Likewise.
52291 * include/pupa/term.h: Likewise.
52292 * include/pupa/types.h: Likewise.
52293 * include/pupa/i386/setjmp.h: Likewise.
52294 * include/pupa/i386/types.h: Likewise.
52295 * include/pupa/i386/pc/biosdisk.h: Likewise.
52296 * include/pupa/i386/pc/boot.h: Likewise.
52297 * include/pupa/i386/pc/console.h: Likewise.
52298 * include/pupa/i386/pc/init.h: Likewise.
52299 * include/pupa/i386/pc/kernel.h: Likewise.
52300 * include/pupa/i386/pc/linux.h: Likewise.
52301 * include/pupa/i386/pc/loader.h: Likewise.
52302 * include/pupa/i386/pc/memory.h: Likewise.
52303 * include/pupa/i386/pc/multiboot.h: Likewise.
52304 * include/pupa/i386/pc/partition.h: Likewise.
52305 * include/pupa/i386/pc/time.h: Likewise.
52306 * include/pupa/i386/pc/vga.h: Likewise.
52307 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
52308 * include/pupa/util/getroot.h: Likewise.
52309 * include/pupa/util/misc.h: Likewise.
52310 * include/pupa/util/resolve.h: Likewise.
52311 * kern/device.c: Likewise.
52312 * kern/disk.c: Likewise.
52313 * kern/dl.c: Likewise.
52314 * kern/err.c: Likewise.
52315 * kern/file.c: Likewise.
52316 * kern/fs.c: Likewise.
52317 * kern/loader.c: Likewise.
52318 * kern/main.c: Likewise.
52319 * kern/misc.c: Likewise.
52320 * kern/mm.c: Likewise.
52321 * kern/rescue.c: Likewise.
52322 * kern/term.c: Likewise.
52323 * kern/i386/dl.c: Likewise.
52324 * kern/i386/pc/init.c: Likewise.
52325 * kern/i386/pc/lzo1x.S: Likewise.
52326 * kern/i386/pc/startup.S: Likewise.
52327 * loader/i386/pc/chainloader.c: Likewise.
52328 * loader/i386/pc/linux.c: Likewise.
52329 * loader/i386/pc/multiboot.c: Likewise.
52330 * normal/cmdline.c: Likewise.
52331 * normal/command.c: Likewise.
52332 * normal/main.c: Likewise.
52333 * normal/menu.c: Likewise.
52334 * normal/i386/setjmp.S: Likewise.
52335 * term/i386/pc/console.c: Likewise.
52336 * term/i386/pc/vga.c: Likewise.
52337 * util/console.c: Likewise.
52338 * util/genmoddep.c: Likewise.
52339 * util/misc.c: Likewise.
52340 * util/pupa-emu.c: Likewise.
52341 * util/resolve.c: Likewise.
52342 * util/unifont2pff.rb: Likewise.
52343 * util/i386/pc/biosdisk.c: Likewise.
52344 * util/i386/pc/getroot.c: Likewise.
52345 * util/i386/pc/pupa-mkimage.c: Likewise.
52346 * util/i386/pc/pupa-setup.c: Likewise.
52347
e6eced71 523482004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
52349
52350 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
52351 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
52352 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
52353 reading and reset it after reading.
52354 (pupa_ext2_close): Return PUPA_ERR_NONE.
52355
52356 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
52357 Correct value.
52358 (struct linux_kernel_header): Add kernel_version and
52359 initrd_addr_max.
52360 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
52361 pupa_file_read succeeds.
52362 (pupa_rescue_cmd_initrd): Implement.
52363
5aded270 523642003-12-03 Marco Gerards <metgerards@student.han.nl>
52365
52366 * fs/ext2.c (pupa_ext2_label): New function.
52367 (pupa_ext2_fs): Added label.
52368 * fs/fat.c (pupa_fat_label): New function.
52369 (pupa_fat_fs): Added label.
52370 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
52371
52372 * kern/misc.c (pupa_strndup): New function.
52373 * include/pupa/misc.h (pupa_strndup): New prototype.
52374
52375 * include/pupa/normal.h: Include <pupa/err.h>.
52376 (pupa_set_history): New prototype.
52377 (pupa_iterate_commands): New prototype.
52378 * normal/cmdline.c: Include <pupa/machine/partition.h>,
52379 <pupa/disk.h>, <pupa/file.h>.
52380 (hist_size): New variable.
52381 (hist_lines): Likewise.
52382 (hist_end): Likewise.
52383 (hist_used): Likewise.
52384 (pupa_set_history): New function.
52385 (pupa_history_get): Likewise.
52386 (pupa_history_add): Likewise.
52387 (pupa_history_replace): Likewise.
52388 (pupa_tab_complete): Likewise.
52389 (pupa_cmdline_run): Added tab completion and history buffer. Tab
52390 completion shows partitionnames while completing partitions, this
52391 feature was suggested by Jeff Bailey.
52392 * normal/command.c (pupa_iterate_commands): New function.
52393 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
52394 (pupa_normal_init): Initialize history buffer.
52395 (PUPA_MOD_INIT): Likewise.
52396 (pupa_normal_fini): Free the history buffer.
52397 (PUPA_MOD_FINI): Likewise.
52398
52399 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
52400 key.
52401
52402 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
52403 * configure.ac [i386]: Check for regparam bug.
52404 (NESTED_FUNC_ATTR) [! i386]: Defined.
52405
1f7315a3 524062003-11-17 Marco Gerards <metgerards@student.han.nl>
52407
52408 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
52409 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
52410 (pupa_emu_SOURCES): New variable.
52411 (pupa_emu_LDFLAGS): Likewise.
52412 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
52413 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
52414 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
52415 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52416 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
52417 (pupa_jmp_buf): New typedef.
52418 (pupa_setjmp) [PUPA_UTIL]: New macro.
52419 (pupa_longjmp) [PUPA_UTIL]: Likewise.
52420 * include/pupa/term.h (struct pupa_term): New member `refresh'.
52421 (pupa_refresh): New prototype.
52422 * include/pupa/util/getroot.h: New file.
52423 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
52424 it.
52425 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
52426 (pupa_rescue_cmd_cat): Likewise.
52427 (pupa_rescue_cmd_ls): Likewise.
52428 (pupa_rescue_cmd_testload): Likewise.
52429 (pupa_rescue_cmd_lsmod): Likewise.
52430 * normal/cmdline.c (pupa_cmdline_get): Likewise.
52431 * normal/menu.c (run_menu): Likewise.
52432 * kern/term.c (pupa_cls): Likewise.
52433 (pupa_refresh): New function.
52434 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
52435 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52436 * util/console.c: New file.
f19dbdb7 52437
1f7315a3 52438 * util/i386/pc/getroot.c: New file.
52439 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
52440 (pupa_putchar): New function.
52441 (pupa_refresh): Likewise.
52442 (xgetcwd): Function moved to ...
52443 (strip_extra_slashes): Likewise.
52444 (get_prefix): Likewise.
f19dbdb7 52445 * util/i386/pc/getroot.c: ... here.
1f7315a3 52446 (find_root_device): Function moved and renamed to...
52447 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
52448 Changed all callers.
52449 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
52450 and renamed to...
52451 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
52452 Changed all callers.
52453 * util/misc.c (pupa_memalign): New function.
52454 (pupa_mm_init_region): Likewise.
52455 (pupa_register_exported_symbols): Likewise.
52456 (pupa_putchar): Function removed.
52457 * util/pupa-emu.c: New file.
52458
9a5c1ade 524592003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
52460
52461 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
52462 (_multiboot_mod_SOURCES): New variable.
52463 (_multiboot_mod_CFLAGS): Likewise.
52464 * loader/i386/pc/multiboot.c: New file.
52465 * include/pupa/i386/pc/multiboot.h: Likewise.
52466 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
52467 (pupa_multiboot_real_boot): New function.
52468 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
52469 (pupa_multiboot_real_boot): New prototype.
52470 (pupa_rescue_cmd_multiboot): Likewise
52471 (pupa_rescue_cmd_module): Likewise.
52472
52473 * kern/loader.c (pupa_loader_set): Continue when
52474 pupa_loader_unload_func() fails.
52475 (pupa_loader_unset): New function.
52476 * include/pupa/loader.h (pupa_loader_unset): New prototype.
52477
52478 * kern/misc.c (pupa_stpcpy): New function.
52479 * include/pupa/misc.h (pupa_stpcpy): New prototype.
52480
8e72a9c0 524812003-11-12 Marco Gerards <metgerards@student.han.nl>
52482
52483 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
52484 for available extensions.
52485
52486 * include/pupa/i386/pc/time.h: New file.
52487 * kern/disk.c: Include <pupa/machine/time.h>.
52488 (PUPA_CACHE_TIMEOUT): New macro.
52489 (pupa_last_time): New variable.
52490 (pupa_disk_open): Flush the cache when there was a timeout.
52491 (pupa_disk_close): Reset the timer.
52492 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
52493 pupa_currticks.
52494 * util/misc.c: Include <sys/times.h>
52495 (pupa_get_rtc): New function.
52496
c4adbd32 524972003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
52498
52499 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
52500 as blocks.
52501 (pupa_ext2_get_file_block): Use blocks member.
52502
52503 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
52504 first block. Return -1 instead of pupa_errno on error.
52505
bfd30f06 525062003-10-27 Marco Gerards <metgerards@student.han.nl>
52507
52508 * README: In the pupa-mkimage example use _chain instead of chain
52509 and ext2 instead of fat.
52510 * TODO: Replace ext2fs with jfs as an example. Add an item for
52511 adding journal playback for ext2fs.
52512 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
52513 (pkgdata_MODULES): Added ext2.mod.
52514 (ext2_mod_SOURCES): New variable.
52515 (ext2_mod_CFLAGS): Likewise.
52516 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
52517 * include/pupa/misc.h (pupa_strncpy): New prototype.
52518 (pupa_strcat): Likewise.
52519 (pupa_strncmp): Likewise.
52520 * kern/misc.c (pupa_strcat): Enable function.
52521 (pupa_strncpy): New function.
52522 (pupa_strncmp): Likewise.
52523 * fs/ext2.c: New file.
f19dbdb7 52524
bfd30f06 52525 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
52526 when the read failed before retrying.
52527 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
52528 (_FILE_OFFSET_BITS): Likewise.
52529 * configure.ac: Added AC_SYS_LARGEFILE.
52530
98d15063 525312003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52532
52533 * genmk.rb (PModule#rule): Make sure to get only symbol names
52534 from the output of nm.
59cad637 52535 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 52536
18d9c7cd 525372003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52538
52539 I forgot to check in these changes for a long time. This adds
52540 incomplete support for VGA console, and this is still very
52541 buggy. Also, a lot of consideration is required for I18N,
52542 UNICODE, and VGA font issues. Therefore, assume that this is
52543 such that "better than nothing".
f19dbdb7 52544
18d9c7cd 52545 * font/manager.c: New file.
52546 * include/pupa/font.h: Likewise.
52547 * include/pupa/i386/pc/vga.h: Likewise.
52548 * term/i386/pc/vga.c: Likewise.
52549 * util/unifont2pff.rb: Likewise.
52550
52551 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
52552 (pkgdata_MODULES): Added vga.mod and font.mod.
52553 (vga_mod_SOURCES): New variables.
52554 (vga_mod_CFLAGS): Likewise.
52555 (font_mod_SOURCES): Likewise.
52556 (font_mod_CFLAGS): Likewise.
52557
52558 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
52559
52560 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 52561 (struct pupa_term): Added init and fini.
18d9c7cd 52562 Changed the argument of putchar to pupa_uint32_t.
52563
52564 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
52565 (pupa_console_real_putchar): New prototype.
52566 (pupa_console_putchar): Removed.
52567 (pupa_console_checkkey): Exported.
52568 (pupa_console_getkey): Likewise.
52569
52570 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
52571 characters.
52572
52573 * kern/term.c (pupa_term_set_current): Rewritten.
52574 (pupa_putchar): Likewise.
52575 (pupa_putcode): New function.
52576
52577 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
52578 (pupa_console_real_putchar): ... this.
52579 (pupa_vga_set_mode): New function.
52580 (pupa_vga_get_font): Likewise.
52581
52582 * normal/command.c: Include pupa/term.h.
52583 (terminal_command): New function.
52584 (pupa_command_init): Register the command "terminal".
52585
52586 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
52587 (DISP_UP): Likewise.
52588 (DISP_RIGHT): Likewise.
52589 (DISP_DOWN): Likewise.
52590 (DISP_HLINE): Likewise.
52591 (DISP_VLINE): Likewise.
52592 (DISP_UL): Likewise.
52593 (DISP_UR): Likewise.
52594 (DISP_LL): Likewise.
52595 (DISP_LR): Likewise.
52596
52597 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 52598
977329f5 525992003-02-08 NIIBE Yutaka <gniibe@m17n.org>
52600
52601 * util/resolve.c (pupa_util_resolve_dependencies): BUG
52602 FIX. Reverse the path_list.
52603
52604 * include/pupa/normal.h: Export pupa_register_command and
52605 pupa_unregister_command.
52606
52607 * hello/hello.c (pupa_cmd_hello): New module.
52608 * conf/i386-pc.rmk: Added hello.mod.
52609
1f5ab428 526102003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
52611
52612 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 52613
1f5ab428 52614 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
52615 (compress_kernel): New variable.
52616 (generate_image): Heavily modified to support compressing a
52617 large part of the core image.
52618
52619 * util/misc.c (pupa_util_read_image): Fix a file descriptor
52620 leak.
52621 (pupa_util_load_image): New function.
52622
52623 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
52624 (pupa_compressed_size): New variable.
52625 (codestart): Enable Gate A20 here.
52626 Decompress the compressed part of the core image.
52627 Rearrange the code to put functions and variables which are
52628 required for initialization in the non-compressed part.
52629 Include lzo1x.S.
52630
52631 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
52632 here.
52633
52634 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
52635
f19dbdb7 52636 * include/pupa/i386/pc/kernel.h
1f5ab428 52637 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
52638 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
52639 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52640 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52641 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
52642
52643 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
52644
52645 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
52646 (Utility#rule): Likewise.
52647
52648 * configure.ac: Check if LZO is available.
52649
ce5bf700 526502003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
52651
52652 * include/pupa/normal.h: New file.
52653 * include/pupa/setjmp.h: Likewise.
52654 * include/pupa/i386/setjmp.h: Likewise.
52655 * normal/cmdline.c: Likewise.
52656 * normal/command.c: Likewise.
52657 * normal/main.c: Likewise.
52658 * normal/menu.c: Likewise.
52659 * normal/i386/setjmp.S: Likewise.
f19dbdb7 52660
ce5bf700 52661 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
52662 (pupa_rescue_cmd_initrd): Likewise.
52663
52664 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
52665 Likewise.
52666
52667 * kern/i386/pc/startup.S (translation_table): New variable.
52668 (translate_keycode): New function.
52669 (pupa_console_getkey): Call translate_keycode.
52670
52671 * kern/rescue.c (attempt_normal_mode): New function.
52672 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
52673 it failed, print a message.
52674
52675 * kern/mm.c (pupa_real_malloc): Print more information when a
52676 free magic is broken.
52677 (pupa_free): If the first free header is not free actually, set
52678 it to P.
52679
52680 * kern/main.c (pupa_load_normal_mode): Just load the module
52681 "normal".
52682 (pupa_main): Don't print the message
52683 "Entering into rescue mode..." here.
52684
52685 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
52686 Declared.
52687 (pupa_rescue_cmd_initrd): Likewise.
52688 (pupa_rescue_cmd_initrd): Likewise.
52689
52690 * include/pupa/symbol.h (FUNCTION): Specify the type.
52691 (VARIABLE): Likewise.
52692
52693 * include/pupa/err.h (pupa_err_t): Added
52694 PUPA_ERR_UNKNOWN_COMMAND.
52695
52696 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
52697 (pupa_dl_get_prefix): Likewise.
52698
52699 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
52700 Added _chain.mod and _linux.mod instead of chain.mod and
52701 linux.mod.
52702 (chain_mod_SOURCES): Renamed to ...
52703 (_chain_mod_SOURCES): ... this.
52704 (chain_mod_CFLAGS): Renamed to ...
52705 (_chain_mod_CFLAGS): ... this.
52706 (linux_mod_SOURCES): Renamed to ...
52707 (_linux_mod_SOURCES): ... this.
52708 (linux_mod_CFLAGS): Renamed to ...
52709 (_linux_mod_CFLAGS): ... this.
52710 (normal_mod_SOURCES): New variable.
52711 (normal_mod_CFLAGS): Likewise.
52712 (normal_mod_ASFLAGS): Likewise.
52713
527142003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
52715
52716 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
52717 possible.
52718
fe6b695a 52719 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 52720 recursively.
52721 (pupa_dl_unref): Unrefer depending modules recursively.
52722 Don't call pupa_dl_unload implicitly, because PUPA can crash if
52723 a module is unloaded before one depending on that module is
52724 unloaded.
52725 (pupa_dl_unload): Unload depending modules explicitly,
52726 if possible.
52727
c04da074 527282003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
52729
52730 * include/pupa/i386/pc/linux.h: New file.
52731 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 52732
c04da074 52733 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
52734 Removed.
52735 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
52736 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
52737 of PUPA_CHAINLOADER_BOOT_SECTOR.
52738
52739 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
52740 (pupa_linux_prot_size): New variable.
52741 (pupa_linux_tmp_addr): Likewise.
52742 (pupa_linux_real_addr): Likewise.
52743 (pupa_linux_boot_zimage): New function.
52744 (pupa_linux_boot_bzimage): Likewise.
52745
52746 * kern/i386/pc/init.c (struct mem_region): New structure.
52747 (MAX_REGIONS): New macro.
52748 (mem_regions): New variable.
52749 (num_regions): Likewise.
52750 (pupa_os_area_addr): Likewise.
52751 (pupa_os_area_size): Likewise.
52752 (pupa_lower_mem): Likewise.
52753 (pupa_upper_mem): Likewise.
52754 (add_mem_region): New function.
52755 (compact_mem_regions): Likewise.
52756 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
52757 the size of the conventional memory and that of so-called upper
52758 memory (before the first memory hole).
52759 Instead of adding each found region to free memory, use
52760 add_mem_region and add them after removing overlaps.
52761 Also, add only 1/4 of the upper memory to free memory. The rest
52762 is used for loading OS images. Maybe this is ad hoc, but this
52763 makes it much easier to relocate OS images when booting.
52764
52765 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
52766 (pupa_enter_rescue_mode): Don't register initrd and module.
52767
52768 * kern/mm.c: Include pupa/dl.h.
52769
52770 * kern/main.c: Include pupa/file.h and pupa/device.h.
52771
52772 * kern/loader.c (pupa_loader_load_module_func): Removed.
52773 (pupa_loader_load_module): Likewise.
52774
52775 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
52776 ``.o''.
52777
52778 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
52779 (pupa_linux_tmp_addr): Likewise.
52780 (pupa_linux_real_addr): Likewise.
52781 (pupa_linux_boot_zimage): Likewise.
52782 (pupa_linux_boot_bzimage): Likewise.
52783
52784 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
52785 (pupa_upper_mem): Likewise.
52786 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
52787 module is too dangerous.
52788
52789 * include/pupa/loader.h (pupa_os_area_addr): Declared.
52790 (pupa_os_area_size): Likewise.
52791 (pupa_loader_set): Remove the first argument. Loader doesn't
52792 manage modules or initrd any longer.
52793 (pupa_loader_load_module): Removed.
52794
52795 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
52796 (linux_mod_SOURCES): New variable.
52797 (linux_mod_CFLAGS): Likewise.
52798
a13f9237 527992003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
52800
52801 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
52802 the length of a blocklist correctly.
52803
52804 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
52805 Use ioctl only if the OS file is a block device.
52806 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
52807 not very useful for normal files.
52808
52809 * kern/main.c (pupa_set_root_dev): New function.
52810 (pupa_load_normal_mode): Likewise.
52811 (pupa_main): Call those above.
52812
52813 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
52814 pupa_uint16_t.
52815
52816 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
52817
a5ffe966 528182003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
52819
52820 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
52821 (setup): Configure the installed partition information and the
52822 dl prefix.
52823
52824 * loader/i386/pc/chainloader.c (my_mod): New variable.
52825 (pupa_chainloader_unload): New function.
52826 (pupa_rescue_cmd_chainloader): Refer itself.
52827 (PUPA_MOD_INIT): Save its own module in MY_MOD.
52828
52829 * kern/i386/pc/startup.S (install_partition): Removed.
52830 (version_string): Likewise.
52831 (config_file): Likewise.
52832 (pupa_install_dos_part): New variable.
52833 (pupa_install_bsd_part): Likewise.
52834 (pupa_prefix): Likewise.
52835 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
52836
52837 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
52838 and pupa/misc.h.
52839 (make_install_device): New function.
52840 (pupa_machine_init): Set the dl prefix.
52841
52842 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
52843 (buf): Renamed to ...
52844 (linebuf): ... this.
52845 (pupa_rescue_cmd_prefix): New function.
52846 (pupa_rescue_cmd_insmod): Likewise.
52847 (pupa_rescue_cmd_rmmod): Likewise.
52848 (pupa_rescue_cmd_lsmod): Likewise.
52849 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
52850 rmmod and lsmod.
52851
52852 * kern/mm.c (pupa_memalign): If failed even after invalidating
52853 disk caches, unload unneeded modules and retry.
52854
52855 * kern/misc.c (pupa_memmove): New function.
52856 (pupa_memcpy): Removed.
52857 (pupa_strcpy): New function.
52858 (pupa_itoa): Made static.
52859
52860 * kern/dl.c (pupa_dl_iterate): New function.
52861 (pupa_dl_ref): Likewise.
52862 (pupa_dl_unref): Likewise.
52863 (pupa_dl_unload): Return if succeeded or not.
52864 (pupa_dl_unload_unneeded): New function.
52865 (pupa_dl_unload_all): Likewise.
52866 (pupa_dl_init): Renamed to ...
52867 (pupa_dl_set_prefix): ... this.
52868 (pupa_dl_get_prefix): New function.
52869
52870 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
52871 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
52872 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52873 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52874 (pupa_install_dos_part): Declared.
52875 (pupa_install_bsd_part): Likewise.
52876 (pupa_prefix): Likewise.
52877 (pupa_boot_drive): Likewise.
52878
52879 * include/pupa/types.h: Fix a typo.
52880
52881 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
52882 pupa_memmove.
52883 (pupa_memmove): Declared.
52884 (pupa_strcpy): Likewise.
52885
52886 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
52887 pupa_mod_init takes one argument, its own module.
52888 (pupa_dl_unload_unneeded): Declared.
52889 (pupa_dl_unload_all): Likewise.
52890 (pupa_dl_ref): Likewise.
52891 (pupa_dl_unref): Likewise.
52892 (pupa_dl_iterate): Likewise.
52893 (pupa_dl_init): Renamed to ...
52894 (pupa_dl_set_prefix): ... this.
52895 (pupa_dl_get_prefix): Declared.
52896
52897 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 52898 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 52899 unloaded.
52900 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
52901 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
52902
52903 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
52904 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
52905
012d7999 529062003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
52907
52908 * util/i386/pc/pupa-setup.c (setup): Define the internal
52909 function find_first_partition_start at the top level, because GCC
52910 3.0.x cannot compile internal functions in deeper scopes
52911 correctly.
52912 (find_root_device): Use lstat instead of stat.
52913 Don't follow symbolic links.
52914 Fix the path-constructing code.
52915
52916 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
52917 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
52918 by a BLKGETSIZE ioctl first, because block devices don't fill
52919 the member st_mode of the structure stat on Linux.
52920 [__linux__] (linux_find_partition): Use a temporary buffer
52921 REAL_DEV for the working space. Copy it to DEV before returning.
52922 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
52923 buffer cache consistent.
52924 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
52925 strncmp. The previous value was merely wrong.
52926 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
52927
52928 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
52929 FAT size is 12. The previous value was merely wrong.
52930
52931 * kern/main.c (pupa_main): Don't split the starting message from
52932 newlines.
52933
52934 * kern/term.c (pupa_putchar): Put CR after LF instead of before
52935 LF, because BIOS goes crazy about character attributes in this
52936 case.
52937
1cc73a62 529382003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
52939
52940 * include/i386/pc/util/biosdisk.h: New file.
52941 * util/i386/pc/biosdisk.c: Likewise.
52942 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 52943
1cc73a62 52944 * Makefile.in (INCLUDE_DISTFILES): Added
52945 include/pupa/i386/pc/util/biosdisk.h.
52946 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
52947 directory util/i386/pc.
52948 (install-local): Added a rule for sbin_UTILITIES.
52949 (uninstall): Likewise.
52950
52951 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
52952
52953 * util/misc.c (xrealloc): New function.
52954 (pupa_malloc): Likewise.
52955 (pupa_free): Likewise.
52956 (pupa_realloc): Likewise.
52957 (pupa_stop): Likewise.
52958 (pupa_putchar): Likewise.
52959
52960 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
52961
52962 * include/pupa/util/misc.h (xrealloc): Declared.
52963
52964 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
52965 macro.
52966 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
52967 (PUPA_BOOT_MACHINE_BPB_END): ... this.
52968
52969 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
52970 [PUPA_UTIL] (pupa_fat_fini): Likewise.
52971
52972 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
52973 way should be implemented.
52974 [PUPA_UTIL] (pupa_fat_fini): Likewise.
52975
52976 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
52977 the size of NAME for safety.
52978 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
52979 0x88.
52980
52981 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
52982 (pupa_setup_SOURCES): Likewise.
52983
52984 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
52985
08b70fe8 529862002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
52987
52988 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
52989 bunch of pushl's from pusha, because this destroys the return
52990 value.
52991
62ddcc8f 529922002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
52993
52994 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
52995 This means that any missing prototypes could be fatal. Also, you
52996 must take care when writing assembly code. See the comments at
52997 the beginning of startup.S, for more details.
f19dbdb7 52998
62ddcc8f 52999 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
53000 compilation mechanism.
53001 (pupa_chainloader_real_boot): Likewise.
53002 (pupa_biosdisk_rw_int13_extensions): Likewise.
53003 (pupa_biosdisk_rw_standard): Likewise.
53004 (pupa_biosdisk_check_int13_extensions): Likewise.
53005 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
53006 (pupa_biosdisk_get_diskinfo_standard): Likewise.
53007 (pupa_get_memsize): Likewise.
53008 (pupa_get_mmap_entry): Likewise.
53009 (pupa_console_putchar): Likewise.
53010 (pupa_console_setcursor): Likewise.
53011 (pupa_getrtsecs): Use pushl instead of push.
53012
53013 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
53014 memory instead of the stack for a mmap entry, because some
53015 BIOSes may ignore the maximum size and overflow.
53016
53017 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
53018
53019 * genmk.rb (PModule#rule): Compile automatically generated
53020 sources with module-specific CFLAGS as well as other sources.
53021
9962ed99 530222002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53023
53024 * configure.ac: Check ld.
53025 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
53026 respectively, before checking endianness and sizes.
53027
53028 * Makefile.in (LD): New variable.
f19dbdb7 53029
abdfc3c5 530302002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53031
53032 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
53033
6a161fa9 530342002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53035
53036 * Changelog: New file.
53037