]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* configure.ac: Compile with -fPIC when compiling with clang on
[grub2.git] / ChangeLog
CommitLineData
9cf12b20
VS
12013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * configure.ac: Compile with -fPIC when compiling with clang on
4 mips.
5
63a45330
VS
62013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
9 when compiling with clang.
10
4a0aaad0
VS
112013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
12
13 clang emits calls to abort () under some unknown conditions.
14 Export abort () when compiling with clang.
15
095bb1bf
VS
162013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * docs/grub-dev.texi: Document stack and heap sizes.
19
3937bd96
VS
202013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
21
22 * include/grub/i386/pc/memory.h: Decrease
23 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
24 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
25 The binary doesn't change (checked). It's more to better reflect actual
26 usage.
27
ddb3efc9
VS
282013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
29
30 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
31 at compile time that enough of scratch size is available.
32
4e42521d
VS
332013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
34
35 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
36 Previously we misaligned stack by 8 in startup.S and compensated
37 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
38 right behaviour is to align stack in startup.S and keep it aligned
39 in callwrap.S. startup.S part was committed few commits before. This
40 takes care of callwrap.S.
41 Reported by: Gary Lin.
42
054efe54
VS
432013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
46 .data and .bss. May happen if compiler and assembly use different
47 alignment.
48
a0e1befb
VS
492013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
50
51 On MIPS handle got16 relocations to local symbols in an ABI-compliant
52 way.
53
c36c73f6
VS
542013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
55
56 Add support for a new magic symbol _gp_disp on mips to handle PIC
57 binaries.
58
6f4a19f5
VS
592013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
60
61 Use $t9 for indirect calls from asm to C as PIC ABI requires.
62
0d8f04cd
VS
632013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
64
65 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
66 when rest of GRUB is compiled for hisher stepping. Instead use
67 .set mips3/.set mips1 around cache and sync opcodes.
68
49060520
VS
692013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
70
71 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
72 do essentially the same thing, do it in similar way.
73
c6a823e2
CW
742013-11-21 Colin Watson <cjwatson@ubuntu.com>
75
76 * util/grub-mkrescue.c (main): If a source directory is not
77 specified, read platform-specific files from subdirectories of
78 pkglibdir, not pkgdatadir.
79
b7f9aedf
CW
802013-11-21 Colin Watson <cjwatson@ubuntu.com>
81
82 * grub-core/normal/progress.c: Remove unused file.
83
7dd0a303
VS
842013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
85
86 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
87 array.
88
ca120e31
VS
892013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
90
91 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
92 than grub.cfg.
93
48eb35cd
VS
942013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
95
96 * coreboot.cfg: Add missing file.
97
7f20dbbc
VS
982013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
99
100 * Makefile.am: Allow STRIP to be empty when creating windowszip.
101
55e706c9
AK
1022013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
103
104 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
105 selectively skipping systems.
106
4e7d433d
CW
1072013-11-19 Colin Watson <cjwatson@ubuntu.com>
108
109 * Makefile.util.def (grub-mkimage): Add
110 grub-core/osdep/aros/config.c to extra_dist.
111 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
112 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
113 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
114 grub-core/gnulib-no-gets.diff.
115
7d44ff7d
VS
1162013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
117
118 Add automated filesystem checking based on scripts I've used now for
119 quite some time locally. Most of the test require root so they are
120 skipped when run without necessarry privelegies.
121
a8c3e5e3
CW
1222013-11-19 Colin Watson <cjwatson@ubuntu.com>
123
124 * util/grub-install.c (main): Adjust info messages to match
125 installed paths of grub-bios-setup and grub-sparc64-setup.
126
4402db3e
CW
1272013-11-19 Colin Watson <cjwatson@ubuntu.com>
128
129 * util/grub-install-common.c (copy_locales): Consistently use
130 grub_util_get_localedir () rather than LOCALEDIR.
131 (grub_install_copy_files): Likewise.
132
7960d3e1
JT
1332013-11-19 Josh Triplett <josh@joshtriplett.org>
134
135 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
136 16-byte boundary, as required by the x86-64 ABI, before calling
137 grub_main. In some cases, GCC emits code that assumes this
138 alignment, which crashes if not aligned. The EFI firmware is also
139 entitled to assume that stack alignment without checking.
140
d53f4900
JT
1412013-11-18 Josh Triplett <josh@joshtriplett.org>
142
143 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
144 4k page boundaries as expected by firmware rather than 1k
145 boundaries.
146 (grub_mmap_malign_and_register): Likewise.
147
bb2b275b
VS
1482013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
149
150 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
151 fragmentation 512M is enough.
152
45bf8b3a
VS
1532013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
154
155 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
156 pointer to 32K. This is the size of cache element which is the most
157 common allocation >1K. This way the pointer is always around blocks
158 of 32K and so we keep performance while decreasing fragmentation.
159
39ff43c5
VS
1602013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
161
162 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
163 current memory when allocating large chunks. This significantly
164 decreases memory fragmentation.
165
60870be8
CW
1662013-11-18 Colin Watson <cjwatson@ubuntu.com>
167
168 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
169 but for symmetry).
170 * tests/lzocompress_test.in: Skip if lzop is not installed.
171 * tests/xzcompress_test.in: Skip if xz is not installed.
172
a1f00cc5
CW
1732013-11-18 Colin Watson <cjwatson@ubuntu.com>
174
175 * util/grub-mkrescue.c (main): Fix typo.
176
74e632fe
VS
1772013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
178
179 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
180 clock frequency to 200 MHz,
181
efb8de49
VS
1822013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * tests/util/grub-shell.in: Increase console size to 1024x1024.
185
b7526e78
VS
1862013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
187
188 * Makefile.am (default_payload.elf): Add pata to loaded modules.
189 Load config file from (cbfsdisk)/etc/grub.cfg.
190
b40ce651
VS
1912013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * util/grub-install-common.c (grub_install_copy_files): Fix module
194 destination directory.
195
1e8e2e78
CW
1962013-11-18 Colin Watson <cjwatson@ubuntu.com>
197
198 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
199 files have not been built.
200
3bf4088b
CW
2012013-11-18 Colin Watson <cjwatson@ubuntu.com>
202
203 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
204 Handle errors from mkstemp.
205 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
206
35c2851c
VS
2072013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
208
209 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
210 on primary master on pseries.
211
ea7c1a7d
VS
2122013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
213
214 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
215 already loaded. This saves memory needed for tests,
216
96adefdb
VS
2172013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
218
219 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
220 work again.
221
5e3cb8a7
VS
2222013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
223
224 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
225 work again.
226
256ee7ac
VS
2272013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
228
229 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
230 master since with some combinations of qemu and firmware only primary
231 IDE channel is available.
232
f8b4c3b6
VS
2332013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
236 low-memory platforms where we don't have enough memory for them.
237 * grub-core/tests/videotest_checksum.c: Likewise.
238
4bf70320
VS
2392013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
242 already loaded. This saves memory needed for tests,
243
a284320e
VS
2442013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
245
246 Fix handling of install lists.
247
2df8f43d
VS
2482013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
249
250 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
251
6f1bc8bc
VS
2522013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
253
254 On i386-ieee1275 we run in paged mode. So we need to explicitly map
255 the devices before accessing them.
256
04f39f6d
VS
2572013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
258
259 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
260 as file argument.
261
35d4761c
VS
2622013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
263
264 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
265
33d02a42
VS
2662013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
267
268 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
269 (grub_file_close): Free file->name.
270
7bbb60cf
VS
2712013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
272
273 * grub-core/commands/verify.c (free_pk): Plug memory leak.
274 (grub_load_public_key): Likewise.
275 (grub_verify_signature_real): Likewise.
276 (grub_cmd_verify_signature): Likewise.
277
da93d675
VS
2782013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
279
280 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
281 memory leak.
282
59c943ec
VS
2832013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
286 (grub_longjmp): Restore r31.
287 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
288
4336b5d8
VS
2892013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
292 modules to be in line with make_image_abs.
293
44ce3a93
VS
2942013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
295
296 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
297
298 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
299
7d400406
IC
3002013-11-17 Ian Campbell <ijc@hellion.org.uk>
301
302 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
303
77dae919
VS
3042013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
307 to leave some memory to firmware.
308
0ab8e025
VS
3092013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
312 of loading gfxterm as gfxterm is embed in kernel on some platforms.
313 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
314 Load gfxmenu.
315
b80c2d6d
VS
3162013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
317
318 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
319 now needs full arguments.
320
6aa6077b
VS
3212013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
322
323 * util/grub-mkrescue.c (main): Add trailing \n in
324 .disk_label.contentDetails to be in line with previous shell script.
325
66c00cb1
VS
3262013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
327
328 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
329
3a129dba
VS
3302013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
331
332 * util/grub-install-common.c (grub_install_parse): Recognize
333 --compress=none like shell script did.
334
8df6eff6
VS
3352013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
336
337 * include/grub/misc.h: Replace check for __sparc64__ with one for
338 __sparc__ as __sparc64__ isn't actually defined.
339
889ebe92
VS
3402013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
341
342 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
343 counterpart of fixing the naming of escc ports.
344
d4d55b29
VS
3452013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
346
347 * util/grub-install-common.c (platforms): Fix the order of entries and
348 remove useless field val.
349
55e2c84f
VS
3502013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
351
352 * util/grub-install.c: Add new option --no-bootsector to skip
353 installing of bootsector. Accept --grub-setup=/bin/true as
354 backwards-compatible synonym.
355
cd46aa6c
VS
3562013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
357
358 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
359 order of qsort arguments (number of elements vs. element size).
360
3612013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
362
363 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
364 the function of these files exceeds what can be sanely handled in shell
365 in posix-comaptible way. Also writing it in C extends the functionality
366 to non-UNIX-like OS and minimal environments.
367
9ef81064
VS
3682013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
371 compiling to thumb2.
372 * grub-core/kern/arm/cache_armv7.S: Likewise.
373 * grub-core/lib/arm/setjmp.S: Likewise.
374
11a77932
LL
3752013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
376
377 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
378 in grub_uboot_syscall
379
080603f0
VS
3802013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
381
382 Decrease stack usage in lexer.
383
384 We have only 92K of stack and using over 4K per frame is wasteful
385
386 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
387 as macros so that compiler would remove useless structure on stack.
388 Better solution would be to fix flex not to put this structure on
389 the stack but flex is external program.
390
4f84ae0e
VS
3912013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
392
393 Decrease stack usage in signature verification.
394
395 We have only 92K of stack and using over 4K per frame is wasteful
396
397 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
398 rather than stack.
399 (grub_verify_signature_real): Likewise.
400
e6a6182d
VS
4012013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
402
403 Decrease stack usage in mdraid 0.9x.
404
405 We have only 92K of stack and using over 4K per frame is wasteful
406
407 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
408 rather than stack.
409
1a454efe
VS
4102013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
411
412 Decrease stack usage in BtrFS.
413
414 We have only 92K of stack and using over 4K per frame is wasteful
415
416 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
417 rather than stack.
418
7b5d51d8
VS
4192013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
420
421 Decrease stack usage in JFS.
422
423 We have only 92K of stack and using over 4K per frame is wasteful
424
425 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
426 stack. Note: this function is recursive.
427 (grub_jfs_read_inode): Read only part we care about.
428
593865b9
LL
4292013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
430
431 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
432 handling
7b5d51d8 433
31c0cd43
AB
4342013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
435
436 * configure.ac: Restore -nostdlib for libgcc symbols tests.
437
c2fdb331
AB
4382013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
439
440 * docs/grub.texi (Environment): Document cmdpath.
441
9e18dfe2
AB
4422013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
443
444 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
445 Remove "unused" attribute from arguments, they are used.
446
59ba9d14
CW
4472013-11-15 Colin Watson <cjwatson@debian.org>
448
449 * .gitignore: Only ignore grub-mk* at the top level.
450
23012db9
CW
4512013-11-15 Colin Watson <cjwatson@ubuntu.com>
452
453 * util/grub-reboot.in (usage): Fix a typo.
454
6fcec439
VS
4552013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
456
457 Replace libgcc version of ctz with our own.
458
459 On upcoming arm64 port libgcc ctz* are not usable in standalone
460 environment. Since we need ctz* for this case and implementation is
461 in C we may as well use it on all concerned platforms.
462
a9f25a08
VS
4632013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
464
465 * configure.ac: Probe for linking format rather than guessing it based
466 on target_os.
467
c7995256
VS
4682013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
469
470 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
471 "1" prior to handoff.
472
473 Reported by: M A Young.
474
e1aa5b66
VS
4752013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
476
477 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
478 \0 to all files.
479
480 Reported by: M A Young.
481
da5ed5cf
VS
4822013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
483
484 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
485 compilation on NetBSD.
486
5757a93e
VS
4872013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
488
489 * acinclude.m4: Don't add -P on initial nm test.
490
491 Note: even though this patch postdates Andrey's it bears 14 Nov as
492 date due to timezone difference.
493
a5986276
AB
4942013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
495
496 * grub-core/Makefile.core.def (signature_test): Add missing
497 tests/signatures.h.
498
0de172a0
CW
4992013-11-14 Colin Watson <cjwatson@ubuntu.com>
500
501 * util/grub-install_header: Set localedir here, since this file is
502 where it's used.
503 * util/grub-install.in: Remove setting of localedir.
504 * util/grub-mkrescue.in: Likewise.
505
da45f43c
VS
5062013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
507
508 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
509
20aea949
VS
5102013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
511
512 * configure.ac: Move nm checks to the end.
513 Call grub_PROG_NM_WORKS.
514 * acinclude.m4: New check grub_PROG_NM_WORKS.
515 Use $TARGET_CFLAGS -c when compiling test binary.
516
1326b9ae
CW
5172013-11-14 Colin Watson <cjwatson@ubuntu.com>
518
519 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
520 unused variables.
521
1fe26ab4
MG
5222013-11-14 Matthew Garrett <mjg@redhat.com>
523
524 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
525 cmdpath to firmware directory.
526
83e9c273
VS
5272013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
528
529 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
530 at the start of second iteration.
531
ec525c18
VS
5322013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
533
534 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
535
93fcc7ad
VS
5362013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
537
538 * Makefile.am (default_payload.elf): New target for easier coreboot
539 build.
540
57ffe934
VS
5412013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
542
543 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
544 clang (not necessarry with -no-integrated-as).
545 * include/grub/symbol.h [__arm__]: Likewise.
546
2312f06c
VS
5472013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
548
549 * configure.ac: Use -no-integrated-as on arm with clang.
550 * INSTALL: Mention ARM compilation with clang.
551
2416415c
VS
5522013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
555 -mthumb-interwork.
556
5da55172
CW
5572013-11-14 Colin Watson <cjwatson@ubuntu.com>
558
559 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
560 code for indirect block handling.
561
562 Saves 185 bytes on compressed image.
563
da770328
PFS
5642013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
565
566 Fix make clean.
567
568 * Makefile.am: Remove build-grub-* in make clean.
569
f02e6b56
PFS
5702013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
571
572 New files to gitignore.
573
574 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
575 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
576
035a26c1
LL
5772013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
578
579 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
580
bc8a6137
LL
5812013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
582
583 * .gitignore: fix rules for .dep* and add *.a post git migration
584
6fe506b0
CW
5852013-11-13 Colin Watson <cjwatson@ubuntu.com>
586
587 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
588 to match INSTALL.
589
81a2e438
CW
5902013-11-13 Colin Watson <cjwatson@ubuntu.com>
591
592 * grub-core/kern/misc.c: Don't redirect divisions in the
593 GRUB_UTIL case.
594 * include/grub/misc.h: Likewise.
595
9b45c073
CW
5962013-11-13 Colin Watson <cjwatson@ubuntu.com>
597
598 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
599 systems that require checking the return value of write.
600
11b2a9b7
CW
6012013-11-13 Colin Watson <cjwatson@ubuntu.com>
602
603 * util/grub-install.in (efi_quiet): Fix inverted logic: make
604 efibootmgr quiet when --debug is not used, rather than when it is.
605
d743d22d
CW
6062013-11-13 Colin Watson <cjwatson@ubuntu.com>
607
608 * gentpl.py (define_macro_for_platform_dependencies): Remove
609 first (and thus unused) of two definitions for this function.
610 (platform_dependencies): Likewise.
611
11da14b5
CW
6122013-11-13 Colin Watson <cjwatson@ubuntu.com>
613
614 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
615 functions, we only need to check this for the target, not the host.
616 * configure.ac (grub_apple_cc): Likewise.
617
2bdd0719
VS
6182013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
619
620 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
621 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
622 asm to stay in arm even if surrounding is thumb.
623
5e77d9cf
VS
6242013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
625
626 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
627 helper functions are needed for thumb.
628
7d511625
VS
6292013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
630
631 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
632 level / 3 division explicitly unsigned. Saves few bytes.
633
81023dbd
VS
6342013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
635
636 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
637
b2e9294f
VS
6382013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
639
640 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
641 division.
642
16a22c38
VS
6432013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
644
645 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
646 grub_uboot_boot_data to asm part.
647
c9cd02c9
VS
6482013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
649
650 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
651 literal load.
652 (grub_uboot_syscall): Save/restore r9 and align stack.
653
81498615
VS
6542013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
655
656 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
657
ea57de18
VS
6582013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
659
660 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
661 occurencies with END.
662
d0d1e3da
CW
6632013-11-13 Colin Watson <cjwatson@ubuntu.com>
664
665 * util/grub-editenv.c (help_filter, argp): Document how to delete
666 the whole environment block.
667 Reported by Dan Jacobson. Fixes Debian bug #726265.
668
3809f016
CW
6692013-11-13 Colin Watson <cjwatson@ubuntu.com>
670
671 * docs/grub.texi (Internationalisation, Supported kernels): Fix
672 sectioning.
673
46d8a203
JT
6742013-11-13 Josh Triplett <josh@joshtriplett.org>
675
676 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
677 increment/decrement.
678
513eeb61
VS
6792013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
680
681 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
682 compiling with clang.
683
bc379c1a
VS
6842013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
685
686 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
687 ".".
688
6892013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
286551b4 690
16057d6b
VS
691 Redirect all divisions to grub_divmod64.
692
f649a6a8
VS
6932013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
696
ef28ee8b
VS
6972013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
698
699 Add missing includes of loader.h.
700
300f48c5
VS
7012013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
702
703 * configure.ac: Allow disabling themes.
704
2d357558
LS
7052013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
706
707 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
708
0c62a5b2
VS
7092013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
710
711 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
712 until it becomes operational.
713
b0720b49
VS
7142013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
715
716 * grub-core/Makefile.core.def (legacy_password_test): Disable
717 on platforms where no legacycfg is compiled.
718 * grub-core/tests/lib/functional_test.c: Tolerate failure to
719 load legacy_password_test.
720
d5bab2c0
VS
7212013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
724
3ea0ccb3
VS
7252013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
726
727 * grub-core/efiemu/prepare.c: Remove variable length arrays.
728
08772054
VS
7292013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
730
731 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
732 strict-aliasing warning.
733 (fsync): Silence cast warning.
734
1dcb2715
VS
7352013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
736
737 * grub-core/commands/verify.c: Remove variable length arrays.
738 Load gcry_dsa/gcry_rsa automatically.
739
61c22fdf
VS
7402013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
741
742 * grub-core/tests/signature_test.c: New test.
743
431e57a7
VS
7442013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
747 API.
748
b521bb81
VS
7492013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * grub-core/tests/legacy_password_test.c (vectors): Make static.
752 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
753
7d06b24e
VS
7542013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
755
756 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
757
3bbeade4
VS
7582013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * grub-core/fs/proc.c: Allow \0 in proc files.
761
ba82db7a
VS
7622013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
763
764 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
765
801564c8
VS
7662013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
767
768 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
769
ac8cac1d
VS
7702013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
771
772 * grub-core/fs/ext2.c: Remove variable length arrays.
773
4b85f122
VS
7742013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
777 length arrays.
778
c35fcdc0
VS
7792013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
780
781 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
782 * grub-core/disk/cryptodisk.c: Likewise.
783 * grub-core/disk/geli.c: Likewise.
784 * grub-core/disk/luks.c: Likewise.
785
15decd26
VS
7862013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * grub-core/tests/legacy_password_test.c: New test.
789 * grub-core/commands/legacycfg.c: Remove variable length arrays.
790
9c6482b8
VS
7912013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
794
41f26e0e
VS
7952013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
796
797 * grub-core/tests/pbkdf2_test.c: New test.
798
2def6616
VS
7992013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
800
801 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
802
9e34a34e
VS
8032013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
804
805 * grub-core/io/lzopio.c: Remove variable length arrays.
806
5ccaf904
VS
8072013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * include/grub/crypto.h: Add maximums on hash size and cipher block
810 size.
811
44a387e0
VS
8122013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
815
a388e255
VS
8162013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * grub-core/tests/xnu_uuid_test.c: New test.
819
a1ef7718
VS
8202013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
821
822 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
823 covers it).
824
65ddb300
VS
8252013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * grub-core/commands/hashsum.c: Remove variable length arrays.
828
31747dd5
VS
8292013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
830
831 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
832 condition.
833 * tests/grub_func_test.in: Increase memory allocation.
834
6a74c4df
VS
8352013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
838 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
839 sys/mount.h.
840
394c3e0a
VS
8412013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
842
843 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
844 (grub_util_get_fd_size_os): ...this.
845 (grub_hostdisk_flush_initial_buffer): New empty function.
846
60d31116
VS
8472013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
848
849 * grub-core/gensyminfo.sh.in: Handle the case of portable output
850 without --defined-only.
851
8445b011
VS
8522013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
853
854 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
855 rip-relative addressing in prologue.
856
8506a641
VS
8572013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
860 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
861
66acd9d6
VS
8622013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
865 Add missing semicolon.
866
348d0535
VS
8672013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
870
0d2d30bb
VS
8712013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * configure.ac: Check for lzma.h for enabling liblzma and allow
874 manual disabling.
875
631187be
VS
8762013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
877
878 Add missing includes of loader.h.
879
e756ec82
FZ
8802013-11-11 Fam Zheng <famcool@gmail.com>
881
882 * util/grub.d/30_os-prober.in: Add minix entry.
883
87d62d7d
VS
8842013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
887 right buffer for temporary load.
888
5460cfeb
VS
8892013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
890
891 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
892
89977306
VS
8932013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
894
895 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
896 payload.
897
3617c59b
VS
8982013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
901 not Types.h.
902 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
903 environment.
904 (LzmaDec_InitDicAndState): Make static.
905
881c6a10
VS
9062013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
907
908 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
909
2024ade2
VS
9102013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
911
912 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
913
914 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
915
674ad4f6
VS
9162013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
917
918 * docs/grub-dev.texi: Replace bzr references with git ones.
919
5b99970e
AB
9202013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
921
922 * docs/grub.texi (Simple configuration): Remove reference to
923 grub-reboot from saved default entry description - grub-default
924 does not use it anymore.
925
3c2304d5
VS
9262013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
927
928 * configure.ac: Make efiemu test cflags match the cflags efiemu is
929 compiled with.
930
80cfd940
AB
9312013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
932
933 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
934
33690255
VS
9352013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
936
937 Fix grub_machine_fini bitrot.
938
939 Reported by: Glenn Washburn.
940
c61471fc
VS
9412013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
942
943 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
944
54da019f
VS
9452013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
946
947 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
948 -DELF.
949 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
950 instead of ELF*.
951
9522013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
28668d80
VS
953
954 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
955 Add -march=core2 when testing compile of efiemu64.
956
957 Thanks Andrey Borzenkov for spotting this.
958
9612ebc0
VS
9592013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
960
961 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
962 XEN PV environment and load kernels.
963
1a46a3a4
VS
9642013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
965
966 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
967 * grub-core/loader/multiboot_mbi2.c: Likewise.
968
2df12551
VS
9692013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
970
971 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
972 handling.
973
3c980381
VS
9742013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
975
976 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
977
978 Tested by: Denis 'GNUtoo' Carikli.
979
800f63d3
VS
9802013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
983
9f8acdaa
VS
9842013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
985
5620eb53
VS
986 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
987 Use to get rounded angle rather than truncated.
988
9892013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * grub-core/term/serial.c: Add option for enabling/disabling
9f8acdaa
VS
992 RTS/CTS flow control.
993
2dc1eb6c
VS
9942013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
997 divisions.
998
b9563c94
VS
9992013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
1002 Use grub_fatal rather than divide by zero.
1003 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
1004
d6d8e9a9
VS
10052013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1006
1007 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
1008 truncate.
1009 (grub_fixed_fsf_divide): Likewise.
1010
d06de6c8
VS
10112013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
1014 division by-zero and senseless negative divisions.
1015
6af7d49b
VS
10162013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1017
1018 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
1019 division by-zero and senseless negative divisions.
1020 (circprog_set_property): Don't accept negative num_ticks.
1021
bcfa6d72
VS
10222013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
1025 division by-zero and senseless negative divisions.
1026
dd7f792c
VS
10272013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 * configure.ac: Use elf_*_fbsd on kfreebsd.
1030
d061fda7
VS
10312013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * grub-core/tests/div_test.c: New test.
1034
4db22500
VT
10352013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1036
1037 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
1038 * grub-core/gfxmenu/gui_canvas.c: Likewise.
1039 * grub-core/gfxmenu/view.c: Likewise.
1040 * grub-core/video/fb/video_fb.c: Introduce new functions:
1041 grub_video_set_area_status, grub_video_get_area_status,
1042 grub_video_set_region, grub_video_get_region.
1043 * grub-core/video/bochs.c: Likewise.
1044 * grub-core/video/capture.c: Likewise.
1045 * grub-core/video/video.c: Likewise.
1046 * grub-core/video/cirrus.c: Likewise.
1047 * grub-core/video/efi_gop.c: Likewise.
1048 * grub-core/video/efi_uga.c: Likewise.
1049 * grub-core/video/emu/sdl.c: Likewise.
1050 * grub-core/video/radeon_fuloong2e.c: Likewise.
1051 * grub-core/video/sis315pro.c: Likewise.
1052 * grub-core/video/sm712.c: Likewise.
1053 * grub-core/video/i386/pc/vbe.c: Likewise.
1054 * grub-core/video/i386/pc/vga.c: Likewise.
1055 * grub-core/video/ieee1275.c: Likewise.
1056 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
1057 * include/grub/video.h: Likewise.
1058 * include/grub/video_fb.h: Likewise.
1059 * include/grub/fbfill.h: Updated render_target structure.
1060 grub_video_rect_t viewport, region, area
1061 int area_offset_x, area_offset_y, area_enabled
1062 * include/grub/gui.h: New helper function
1063 grub_video_bounds_inside_region.
1064 * docs/grub-dev.texi: Added information about new functions.
1065
c6b755df
VS
10662013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
1069 for alignment.
1070
e2a68100
VS
10712013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1072
1073 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
1074 missing attribute.
1075 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
1076
c4f11a2a
VS
10772013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
1080 simple division on arm and ia64.
1081
e0a7bffa
VS
10822013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
1085 link with libgcc.
1086
38b864ea
VS
10872013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
1090
12359faf
VS
10912013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
1094 prefix symbol, not @.
1095
9fdc64a9
VS
10962013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * INSTALL: Add note about older gcc and clang.
1099
665c575b
VS
11002013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
1103
47dcf7b1
VS
11042013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
1107 NULL pointer dereference.
1108
d59849b2
VS
11092013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
1112 clang.
1113
7a3f4a18
VS
11142013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
1117 warnings.
1118
7f084087
VS
11192013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1120
1121 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
1122 function.
1123 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
1124 * grub-core/disk/geli.c (ascii2hex): Likewise.
1125
d5524ca8
VS
11262013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * configure.ac: Run linker tests without -Werror.
1129 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
1130 Change all occurences of -static-libgcc resp -lgcc to
1131 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
1132
390cd7ca
VS
11332013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
1136
60375a88
VS
11372013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 Allow compiling with clang (not really supported though).
1140
1141 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
1142 unconditionally.
1143 * configure.ac: Add -no-integrated-as when using clangfor asm files.
1144 Add -mrtd -mregparm=3 on i386 when not using clang.
1145 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
1146
dd07e0c4
VS
11472013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
1150 bindings.
1151 * grub-core/lib/reed_solomon.c: Likewise.
1152 * include/grub/i386/gdb.h: Likewise.
1153 * include/grub/i386/pc/int.h: Likewise.
1154 * include/grub/i386/pc/pxe.h: Likewise.
1155 * include/grub/ieee1275/ieee1275.h: Likewise.
1156
9d3ae8ec
VS
11572013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1158
1159 Import libgcrypt 1.5.3.
1160
c12936c5
VS
11612013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 * configure.ac: Don't add -Wcast-align on x86.
1164
cdc17f60
VS
11652013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 * configure.ac: Add -freg-struct-return on all platforms that
1168 support it.
1169
b35ec299
VS
11702013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * acinclude.m4: Use -Werror on parameter tests.
1173 * configure.ac: Likewise.
1174
05f3a0d7
VS
11752013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
1178
c966a489
VS
11792013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * configure.ac: Check that -malign-loops works rather than assuming that
1182 either -falign-loops or -malign-loops work.
1183
bb0c57ec
VS
11842013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 * configure.ac: Remove -fnested-functions. We don't need it anymore.
1187
24f4e57c
VS
11882013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 * configure.ac: Prevent cflags leaking to subsequent tests by always
1191 resetting cflags to target_cflags in target tests.
1192
ac319fbc
VS
11932013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
1196 function.
1197
4bfe934c
VS
11982013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
1201
40a5bfde
VS
12022013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
1205
a67c755e
VS
12062013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1207
1208 * grub-core/normal/cmdline.c (grub_cmdline_get):
1209 Remove nested functions.
1210
87a04a2d
VS
12112013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 * tests/test_sha512sum.in: Make it work on emu.
1214
c03995d2
VS
12152013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1216
1217 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
1218 functions.
1219 (grub_bidi_line_logical_to_visual): Likewise.
1220
ec0ebb3f
VS
12212013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1222
1223 Remove vestiges of -Wunsafe-loop-optimisations.
1224
1225 * conf/Makefile.common (CFLAGS_GNULIB): Remove
1226 -Wno-unsafe-loop-optimisations.
1227 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
1228 pragma.
1229 * grub-core/io/gzio.c: Likewise.
1230 * grub-core/script/parser.y: Likewise.
1231 * grub-core/script/yylex.l: Likewise.
1232 * util/grub-mkfont.c: Likewise.
1233
6ab537e3
VS
12342013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1235
1236 * util/grub-mkfont.c (process_cursive): Remove nested function.
1237
e6c368d4
VS
12382013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
1241 (grub_boot_time): Likewise.
1242
4f1cfd22
VS
12432013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * include/grub/symbol.h (FUNCTION): Use @function rather than
1246 "function".
1247 (VARIABLE): Likewise.
1248
6d5a4cee
VS
12492013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1250
1251 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
1252
f06c2172
VS
12532013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
1256 (parse_dhcp_vendor): Likewise.
1257
7cb24eb5
VS
12582013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
1261
f30c692c
VS
12622013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1263
1264 * grub-core/gettext/gettext.c (main_context), (secondary_context):
1265 Define after defining type and not before.
1266
8b66bb5d
VS
12672013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
1270 type.
1271 (grub_gcm_decrypt): Likewise.
1272 (algo_decrypt): Likewise.
1273 (grub_zfs_decrypt_real): Transform error type.
1274
5d17fd0f
VS
12752013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
1278
ac35a0f7
VS
12792013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1280
1281 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
1282 (grub_usbms_cbi_reset): Likewise.
1283 (grub_usbms_bo_reset): Likewise.
1284 (grub_usbms_reset): Likewise.
1285 (grub_usbms_attach): Likewise.
1286 (grub_usbms_transfer_cbi): Likewise.
1287
3ee08697
VS
12882013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1289
1290 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
1291 "checksum = checksum;".
1292
70bb6c85
VS
12932013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
1296 entry_type.
1297
c7f34744
VS
12982013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
1301 BIOS disk check.
1302
3f63b4d8
VS
13032013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
1306 type.
1307 (grub_ehci_fini_hw): Likewise.
1308 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
1309
dac6ce73
VS
13102013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
1313 return grub_usb_err_t for cosistency. All users updated.
1314
5701750c
VS
13152013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
1318 assigning to itself.
1319
9e236169
GLD
13202013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
13212013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1322
1323 Issue separate DNS queries for ipv4 and ipv6
1324
1325 Adding multiple questions on a single DNS query is not supportted by
1326 most DNS servers. This patch issues two separate DNS queries
1327 sequentially for ipv4 and then for ipv6.
1328
1329 Fixes: https://savannah.gnu.org/bugs/?39710
1330
1331 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
1332 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
1333 * (grub_net_dns_lookup): Now using separated dns packages.
1334 * (grub_cmd_nslookup): Add error condition.
1335 * (grub_cmd_list_dns): Print DNS option.
1336 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
1337 --prefer-ipv4, and --prefer-ipv6.
1338 * include/grub/net.h (grub_dns_option_t): New enum.
1339 * (grub_net_network_level_address): option added.
1340
339eacce
VT
13412013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
1342
1343 * grub-core/video/fb/video_fb.c: Merge two blit functions
1344 into one.
1345
810f991b
VS
13462013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1347
1348 * grub-core/term/terminfo.c: Add sequences for home and end.
1349
386571a2
VS
13502013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1351
1352 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
1353 graphics console.
1354
3fe63754
VS
13552013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
1358 add mode 0x12.
1359
76681e71
VS
13602013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
1363 e-mail by Per Öberg.
1364
46522fb7
VS
13652013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
1368 name.
1369
e7d09ac4
AB
13702013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
1371
1372 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
1373 emu platforms.
1374 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
1375
67508925
VS
13762013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * docs/grub.texi: Document usage of menuentry id.
1379
0c62124e
VS
13802013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1381
1382 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
1383
9b5d4eed
PL
13842013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
1385
1386 * grub-core/commands/i386/nthibr.c: New command.
1387
79054c1d
VS
13882013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1389
1390 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
1391
44d47bbe
VS
13922013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1393
1394 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
1395 coordinate.
1396
323de05b
VS
13972013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 Support GRUB_DISABLE_SUBMENU config.
1400
1401 Inspired by patch from Prarit Bhargava.
1402
5a01722e
VS
14032013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * docs/grub.texi: Mention RSA support.
1406
1106c3f0
VS
14072013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 * grub-core/commands/verify.c: Add RSA support.
1410
a1dcc2cb
VS
14112013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
1414 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
1415 device is known to be ATAPI.
1416
ee7fb780
MF
14172013-11-03 Mike Frysinger <vapier>
1418
1419 * configure.ac: Don't add target-prefix.
1420
5ade4a42
VS
14212013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
1424 variables.
1425
6cd66043
VS
14262013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
1429 if language is English.
1430
090d7c81
VS
14312013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
1434
dd614590
VS
14352013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 * configure.ac: Don't add -m32/-m64 on emu.
1438
a8686589 14392013-11-02 neil
1440
1441 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
1442 broken linux headers.
1443
fb9f12a0
VS
14442013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
1447
e25f8e1f
VS
14482013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1449
1450 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
1451 Reed-Solomon recovery if more than half of redundancy info is 0.
1452
4685200f
VS
14532013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 * util/grub-mount.c: Handle symlinks to directories.
1456
1397f0b5
VS
14572013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
1460 find_file recursively for symlink.
1461
8b3e6eb6
VS
14622013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1463
1464 * tests/util/grub-shell.in: Copy themes.
1465
a0c9d5c6
VS
14662013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
1469
5cf9459c
VS
14702013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 * configure.ac: Use 0x8000 for address instead of 8000.
1473
e7b66a28
VS
14742013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
1477 signature.
1478
203f53fb
VS
14792013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
1482 variable.
1483
02663ee9
VS
14842013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1485
1486 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
1487
f169f65e
VS
14882013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
1491 file_progress_read_hook.
1492 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
1493
2855a0fc
VS
14942013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
1497 and double.
1498
bf0f3a8c
VS
14992013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
1502
cb72aa18
VS
15032013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1504
1505 Rewrite blocklist functions in order to get progress when
1506 reading large extents and decrease amount of blocklist hook calls.
1507
896f9135
VS
15082013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1509
1510 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
1511 of SI suffixes.
1512
89295a06
VS
15132013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 Support --base-clock for serial command to handle weird cards with
1516 non-standard base clock.
1517
eb03ede0
VS
15182013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1519
1520 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
1521 strncpy.
1522 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
1523 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
1524 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
1525 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
1526 + strcpy rather than strncpy.
1527
8fbe5c7d
VS
15282013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1529
1530 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
1531 (check_pool_label): Likewise. Fixes overflow.
1532 (nvlist_find_value): Fix comparison.
1533
e54b8f53
VS
15342013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1535
1536 * include/grub/misc.h (grub_strcat): Removed. All users changed to
1537 more appropriate functions.
1538
fa9b3dca
VS
15392013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1540
1541 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
1542 realloc.
1543
9a021c55
VS
15442013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 * util/grub-mkrescue.in: Do not use UUID search on EFI.
1547
80e8b13a
VS
15482013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
1551 on core size.
1552
b61599ac
VS
15532013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
1556
a602dc54
VS
15572013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
1560 (initialize_tables): reset tl and td to NULL after freeing.
1561
93c12075
VS
15622013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
1565
1ca4b75e
VS
15662013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
1569 of supported tags.
1570
329550c4
VS
15712013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
1574
00bfa988
VS
15752013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1576
1577 * grub-core/loader/multiboot.c: Add support for multiboot kernels
1578 quirks.
1579
81afc5cc
VS
15802013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1581
1582 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
1583 a page in protected space.
1584
cb3c4a47
VS
15852013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
1588 allocate space for zero-sized modules.
1589
954f7bf5
VS
15902013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
1593
526d3d25
FL
15942013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
1595
1596 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
1597
74124c34
VS
15982013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
1601 safeguards. Fixes a crash with i386/pc/console.c.
1602
5177391e
VS
16032013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
1606 and grub_hostfs_init.
1607
64db14b0
VS
16082013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1609
1610 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
1611 windows method on other platforms without good stat as well.
1612
effe2036
VS
16132013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
1616
82591fa6 16172013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
e11cb726 1618
82591fa6
VS
1619 Make / in btrfs refer to real root, not the default volume.
1620 Modify mkrelpath to work even if device is mounted with subvolid option.
1621
16222013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
1623
1624 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
e11cb726
AB
1625 extra_dist.
1626 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
1627 extra_dist.
1628
30fd7198
VS
16292013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1630
1631 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
1632 fails.
1633
8d179dae
BC
16342013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
1635
1636 * docs/autoiso.cfg: New file.
1637
3bc9c8cf
VS
16382013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1639
1640 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
1641 COND_GRUB_PE2ELF conditions.
1642
8b46b0ea
VS
16432013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1644
1645 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
1646 "vnd", "rd" and "fd" disks.
1647
442b86de
VS
16482013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1649
1650 Move grub_disk_write out of kernel into disk.mod.
1651
04dea7e6
VS
16522013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
1655 handling.
1656
16572013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a8f15bce
VS
1658
1659 * grub-core/kern/misc.c (grub_abort): Make static
1660
04dea7e6 16612013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
a60dae7e
VS
1662
1663 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
1664 transform invalid unicode codepoints.
1665
04dea7e6 16662013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
891b713b
VS
1667
1668 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1669 \0 checking.
1670
03dcac7f
VS
16712013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
1674
c81acb7f
VS
16752013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 Consolidate cpuid code.
1678
c1bee646
VS
16792013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 Move cpuid code to cpuid.h and TSC code to tsc.c.
1682
f37bf9c7
GS
16832013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1684
1685 * util/grub.d/00_header.in: Don't use LANG if it's not set.
1686
4021132b
GS
16872013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1688
1689 * util/grub-mkconfig.in: Replace $0 with $self.
1690 * util/grub-reboot.in: Likewise.
1691 * util/grub-set-default.in: Likewise.
1692
3ace8d75
BC
16932013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1694
1695 * docs/osdetect.cfg: New file.
1696
1e6ad6a6
BC
16972013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1698
1699 * tests/util/grub-shell.in: Add new --debug option.
1700
188929eb
BC
17012013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1702
1703 * tests/test_unset.in: New test.
1704
7994a09a
BC
17052013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1706
1707 * tests/test_sha512sum.in: New test.
1708
2a8a7585
VS
17092013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
1712 * include/grub/misc.h: Remove strncat.
1713 * grub-core/lib/posix_wrap/string.h: Likewise.
1714
cf8d6bbd
VS
17152013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1716
1717 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
1718 Try to handle more than 0xFFFF packets.
1719 Reported by: Bernhard Übelacker <bernhardu>.
1720 He also spotted few overflows in first version of this patch.
1721
6d1fc99a
VS
17222013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 * tests/date_unit_test.c: New test.
1725
10bafa1c
VS
17262013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
1729 of first three years after start of validity of unixtime.
1730
b1c6d037
VS
17312013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
1734 division as the one making more sense.
1735 (update_screen): Likewise.
1736 (complete): Likewise.
1737
5f4028d4
VS
17382013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1739
1740 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
1741
a2856736
VS
17422013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1743
1744 Make char and string width grub_size_t rather than grub_ssize_t.
1745
0a7e52b2
VS
17462013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
1749 unsigned.
1750 (grub_history_replace): Likewise.
1751
42829573
VS
17522013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
1755 appropriate.
1756
3523b8d8
VS
17572013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
1760 appropriate.
1761
d43c6489
VS
17622013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
1765 Use unsigned divisions rather than signed variants.
1766
f690f8b0
VS
17672013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1768
1769 * grub-core/video/readers/png.c (grub_png_convert_image): Use
1770 unsigned arithmetics.
1771 Add missing break.
1772
74ff2c05
VS
17732013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
1776
fb56391e
VS
17772013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
1780 rather than signed one.
1781 (recovery): Likewise.
1782
40f29060
VS
17832013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
1786
c64577a5
VS
17872013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1788
1789 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
1790 than signed.
1791
c16535a8
JM
17922013-10-25 Jon McCune <jonmccune@google.com>
1793
1794 * docs/grub.texi: Cleanup security documentation around signatures.
1795
6673d8e7
VS
17962013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
1799
a105d375
VS
18002013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
1803 than int.
1804
af81ed88
VS
18052013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
1808 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
1809 functions when compiling for kernel.
1810
ea899a57
VS
18112013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
1814 unsigned long long when using %llu.
1815
c6dc6fa1
VS
18162013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1817
1818 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
1819 terminal after updating progress.
1820
ad2dc003
VS
18212013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
1824 argument. We don't disable Gate A20 in this code.
1825
b46684ae
VS
18262013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
1829 Conceptually based on change in branch "vbe-on-coreboot".
1830
f70d5c07
RM
18312013-10-24 Robert Millan <rmh@gnu.org>
1832
1833 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
1834 numeric constants with their symbolic equivalent.
1835 Taken from branch "vbe-on-coreboot".
1836
bca274b4
VS
18372013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 * docs/grub.texi: Fix ordering and use pxref rather than xref.
1840
238f0489
VS
18412013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
1844 divmod64 for offset division.
1845
863c590b
PFS
18462013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1847
1848 Rename .bzrignore to .gitignore. Add "*.o" rule.
1849
1850 * .bzrignore: Renamed to...
1851 * .gitignore: ...this.
1852
84a0e969
PFS
18532013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1854
1855 Add new progress module that displays the load progress of files.
1856
1857 * grub-core/lib/progress.c: New file.
1858 * grub-core/Makefile.core.def (progress): New module.
1859 * grub-core/kern/file.c (grub_file_open): File name added.
1860 * (grub_file_read): Progress hook added.
1861 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
1862 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
1863 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
1864 * include/grub/file.h (struct grub_file): Add progress module members.
1865 * include/grub/term.h (struct grub_term_output): Likewise.
1866 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
1867 Terminal velocity added.
1868 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
1869 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
1870 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
1871 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
1872 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
1873 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
1874 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
1875 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
1876 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
1877 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
1878 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
1879 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
1880
0d711431
VS
18812013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 Verify signatures of signatures unless --skip-sig is specified.
1884
f8401f76
VS
18852013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1888 \0 checking.
1889
1890 Saves 70 bytes on compressed image.
1891
ac1feb61
VS
18922013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1893
1894 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
1895 check.
1896
1897 Saves 10 bytes on compressed image.
1898
00f72e89
VS
18992013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * grub-core/kern/misc.c (grub_isprint): Move to ...
1902 * include/grub/misc.h (grub_isprint): ... here. Make inline.
1903
1904 Saves 20 bytes on compressed image due to remving exporting.
1905
067e6ae7
VS
19062013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1907
1908 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
1909
1910 Saves 5 bytes on compressed image.
1911
64a6c791
VS
19122013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
1915 function get_utf8.
1916
1917 Saves 379 bytes on compressed image.
1918
979d9f52
VS
19192013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
1922
1437da54
VS
19232013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
1926
1927 Saves 40 bytes on compressed image.
1928
d9ee2269
VS
19292013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1930
1931 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
1932 mask rather than 64-bit type.
1933
1934 Saves 20 bytes on compressed image.
1935
63efa602
VS
19362013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
1937
1938 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
1939 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
1940
47601ffe
VS
1941 Saves 273 bytes on compressed image.
1942
2cc679ad
VS
19432013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
1946 variable length arrays.
1947
1948 Saves 50 bytes on compressed image.
1949
2e4659b8
VS
19502013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
1953
2a40badf
VS
19542013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 * grub-core/fs/ufs.c: Remove variable length arrays.
1957
1ba6b9b9
VS
19582013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1959
1960 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
1961
f3e39341
VS
19622013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1963
1964 * grub-core/fs/zfs.c: Remove variable length arrays.
1965 Reduces zfs.mod by 160 bytes (208 compressed).
1966
71523935
VS
19672013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
1970
28153eb8
VS
19712013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 * grub-core/net/arp.c: Remove variable length arrays.
1974 * grub-core/net/bootp.c: Likewise.
1975 * grub-core/net/dns.c: Likewise.
1976 * grub-core/net/icmp6.c: Likewise.
1977 * grub-core/net/net.c: Likewise.
1978
88ce4cd7
VS
19792013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1980
1981 * grub-core/fs/ntfs.c: Remove variable length arrays.
1982 Increases ntfs.mod by 64 bytes (but decreases by 3 when
1983 compressed).
1984
66123940
VS
19852013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 * grub-core/fs/hfs.c: Remove variable length arrays.
1988 Reduces hfs.mod by 8 bytes (52 compressed).
1989
0927e5bd
VS
19902013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 * grub-core/fs/udf.c: Remove variable length arrays.
88ce4cd7 1993 Increases udf.mod by 128 bytes (but decreases by 13 when
0927e5bd
VS
1994 compressed).
1995
9c12ac97
VS
19962013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1997
1998 * grub-core/fs/iso9660.c: Remove variable length arrays.
88ce4cd7 1999 Increases iso9660.mod by 200 bytes (but decreases by 79 when
9c12ac97
VS
2000 compressed).
2001
97ec2d71
VS
20022013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2003
2004 * grub-core/fs/nilfs2.c: Remove variable length arrays.
88ce4cd7 2005 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
97ec2d71
VS
2006 compressed).
2007
156e4ea0
VS
20082013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * grub-core/fs/xfs.c: Remove variable length arrays.
2011 Reduces xfs.mod by 40 bytes (43 compressed).
2012
3b502c29
VS
20132013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2014
2015 * grub-core/fs/fshelp.c: Remove variable length arrays.
2016 Reduces fshelp.mod by 116 bytes (23 compressed).
2017
c7037f1d
VS
20182013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 * grub-core/normal/completion.c: Remove variable length arrays.
2021 * grub-core/normal/menu_entry.c: Likewise.
2022
2023 Reduces normal.mod by 496 bytes.
2024
a07e6ad0
VS
20252013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2026
2027 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
2028 by 356 bytes (158 compressed).
2029
2359bf88
VS
20302013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2031
2032 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
2033 by 364 bytes (169 compressed).
2034
d28e1163
VS
20352013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
2038 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
2039 * include/grub/types.h (grub_unaligned_uint64_t): New type.
2040
e89c2d48
VS
20412013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
2044 bitmasks to small structures of size chosen to fit in registers.
2045
7abdac8e
VS
20462013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 * conf/Makefile.common: Use -freg-struct-return on i386. This
2049 decreases code size and improves performance.
2050
518864c0
VS
20512013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
2054
bbd2b539
VS
20552013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
2058 "(null)" string.
2059 Simplify expressions to save around 256 bytes in kernel.img.
2060 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
2061
99519c15
VS
20622013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2063
2064 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
2065 Use GRUB_UTIL_FD_O_* rather than O_*.
2066
20285765
VS
20672013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2068
2069 Add haiku-specific functions.
2070
887c0bb6
VS
20712013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
2074
cd78a56f
VS
20752013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 Move stat () and device mode checking into OS-dependent files as
2078 long as performance doesn't suffer.
2079
a4012f07
VS
20802013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 Split make_system_path_relative_to_its_root into separate file
2083 relpath.c from getroot.c as it's common between unix and haiku
2084 but otherwise haiku doesn't use any functions from unix getroot.c.
2085
31de274d
VS
20862013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
2089 New function.
2090 (grub_util_is_special_file): Likewise.
2091
40346de6
VS
20922013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2093
2094 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
2095 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
2096
d3923ab9
VS
20972013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2098
2099 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
2100 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
2101
663f6eb1
VS
21022013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
2105 (load_image): Likewise.
2106
44d1c20a
VS
21072013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 * util/grub-render-label.c: Move backend part to ...
2110 * util/render-label.c: ... here.
2111
d0a116ee
VS
21122013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
2115 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
2116
b47fcae6
VS
21172013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2118
2119 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
2120
0f7c00c1
VS
21212013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
2124 CD-ROM in case when it's declared as having subpartitions.
2125
29013cba
VS
21262013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2127
2128 Don't add -lm on haiku.
2129
2130 * configure.ac: Define BUILD_LIBM to -lm on most platforms
2131 and empty on haiku.
2132 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
2133 -lm.
2134
e8559d24
VS
21352013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2136
2137 * configure.ac: Use -melf_*_haiku as target on haiku.
2138
8104063c
VS
21392013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 * Makefile.util.def: Add util/setup.c to extra_dist.
2142
fc3182c7
VS
21432013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2144
2145 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
2146 unknown types through.
2147
f90a3cc0
VS
21482013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2149
2150 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
2151 (grub_util_check_char_device): Likewise.
2152 * include/grub/emu/getroot.h: Likewise.
2153
1e3e7419
VS
21542013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
2157 memset rather than inline static function.
2158
92c88fc8
VS
21592013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2160
2161 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
2162 not doing embedded decompressor.
2163
3cd910a2
VS
21642013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
2167 shadowing.
2168 * grub-core/kern/disk.c: Likewise.
2169 * grub-core/kern/misc.c: Likewise.
2170 * include/grub/parser.h: Likewise.
2171 * include/grub/script_sh.h: Likewise.
2172 * include/grub/zfs/zfs.h: Likewise.
2173
7b3aca00
VS
21742013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2175
2176 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
2177
97dfe7e4
VS
21782013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2179
2180 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
2181 defined before trying to use it.
2182
bf919aa9
VS
21832013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
2186 warning.
2187
f4ccf29d
VS
21882013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
2191 Use __unused__ rather than __used__ on gcc < 3.2.
2192
0d3a6f85
VS
21932013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2194
2195 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
2196 gcc < 4.0.
2197 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
2198
757e3eb7
VS
21992013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
2202
fb320faf
VS
22032013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2204
2205 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
2206 * include/grub/emu/misc.h: Likewise.
2207
ea73acd2
VS
22082013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
2211 cur_color.
2212
71237a6f
VT
22132013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
2214
2215 * grub-core/tests/checksums.h: Regenerated due to progress bar
2216 get_minimal_size changes.
2217
3d46c22f
BC
22182013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
2219
2220 Added `tr' command support.
2221
2222 * grub-core/commands/tr.c: New file.
2223 * grub-core/Makefile.core.def: Build rules for new module.
2224
2225 * tests/grub_cmd_tr.in: New test.
2226 * Makefile.util.def: Build rules for new test.
2227
47e0a61f
VT
22282013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2229
2230 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
2231
946fd073
VT
22322013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2233
2234 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
2235 * docs/gurb.texi: Likewise.
2236
9c13c576
VT
22372013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2238
2239 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
2240 Pixmap highlighted section with east and west slices was displayed
2241 incorrectly due to negative width of the central slice.
2242
ad543f12
VT
22432013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2244
2245 * docs/grub.texi: Graphical options information update.
2246 Removed outdated. Updated current. Inserted missed.
2247
6176a0cd
VS
22482013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * docs/grub.texi: Mention few new platform-specific commands.
2251
9688cae2
VS
22522013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
2255 currently used so this doesn't really have any effect.
2256 Reported by: Douglas Ray <dougray>
2257
f7b69a3f
VS
22582013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
2261 compilation but prevents gcc from displaying messages in non-Latin
2262 alphabets.
2263 * conf/Makefile.common: Likewise.
2264
ceca6ddf
HY
22652013-10-16 Hiroyuki YAMAMORI
2266
2267 Handle Japanese special keys.
2268 Reported by: Hiroyuki YAMAMORI.
2269 Codes supplied by: Hiroyuki YAMAMORI.
2270
ac48d334
VT
22712013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2272
2273 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
2274
b2b71bff
VT
22752013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2276
2277 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
2278 * docs/grub.texi: Likewise.
2279
669fc449
VS
22802013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
2283 value in case of incomplete read.
2284 (grub_util_fd_write): Likewise.
2285
59381678
VS
22862013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
2289
bacfefbb
VS
22902013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2291
2292 * util/grub-editenv.c (create_envblk_file): More from here ...
2293 * util/editenv.c (grub_util_create_envblk_file): ... to here.
2294
f7c49570
VS
22952013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
2298 canonicalize file name before doing the rest.
2299
7b83ca44
VS
23002013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
2303 mingw32.
2304
df1e64c9
VS
23052013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 Define grub_util_is_directory/regular/special_file and
2308 use OS-dependent versions rather than to rely on stat().
2309
ec16e026
VS
23102013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2311
2312 * util/grub-mkimage.c: Move backend part to ...
2313 * util/mkimage.c: ... here.
2314
4b4eeb3c
VS
23152013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 Allow compilation with mingw64 albeit with warnings due to lack of
2318 %llx/%llu.
2319
2320 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
2321 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
2322 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
2323 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
2324 on mingw64.
2325 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
2326
f4e0adc0
VS
23272013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 Remove leftover references to some of the system headers.
2330
e0127364
VS
23312013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
2334 read.
2335
20d53541
VS
23362013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
2339 of strerror.
2340
5a869940
VS
23412013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 Split out blocklist retrieving from setup.c to
2344 grub-core/osdep/blocklist.c and add windows implementation since
2345 generic version doesn't work on NTFS on Windows due to aggressive
2346 unflushable cache.
2347
c06c7520
VS
23482013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
2351 files.
2352
8f53bb3f
VS
23532013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
2356 Cut tailing newline. Remove arbitrary limitation. Always use
2357 grub_util_tchar_to_utf8.
2358
148f1007
VS
23592013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
2362 * tests/printf_unit_test.c (printf_test): Add %% tests.
2363 Reported by: Paulo Flabiano Smorigo.
2364
af3b06be
VS
23652013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2366
2367 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
2368 implement fsync.
2369
27f9d02e
VS
23702013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2371
2372 * configure.ac: Check for nvlist_lookup_string in nvpair since we
2373 use nvlist_lookup_string and don't use nvlist_print.
2374
f6a81f0a
VS
23752013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 Add wrappers around rename, unlink, mkdir, opendir, readdir and
2378 closedir to handle filename charset translation.
2379
d7750b32
VS
23802013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 * include/grub/emu/hostdisk.h: Move file operations to
2383 * include/grub/emu/hostfile.h: ... here.
2384
2859196e
VS
23852013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
2388 unicode path.
2389
c018c968
VS
23902013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
2393
7e45abce
VS
23942013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
2397 and remove export.h.
2398
23934da2
VS
23992013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2400
2401 * grub-core/kern/emu/error.c: Removed.
2402 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
2403 explicitly as it's already in libgnu.a.
2404
c11ebcc8
VS
24052013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
2408 config-util.h include.
2409
70671037
VS
24102013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 Split emunet into platform-dependent and GRUB-binding parts. Keep
2413 platform-dependent part in kernel for easy access to OS functions.
2414
25ac643a
VS
24152013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
2418 open/read/write.
2419
69ca5876
VS
24202013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2421
2422 * grub-core/osdep/windows/emuconsole.c: New file.
2423
d9d68ef0
AB
24242013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2425
2426 * conf/Makefile.extra-dist: Add osdep/*/init.c
2427
58e211cc
VS
24282013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2429
2430 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
2431
588744d0
VS
24322013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2433
2434 * util/grub-probe.c (probe): Separate different drives in hint-str
2435 by spaces and not newlines.
2436 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
2437
44016e52
AB
24382013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2439
2440 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2441 Handle CD-ROMs.
2442
6de9ee86
VS
24432013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 Pass-through unknown E820 types. It required reorganisation of mmap
2446 module.
2447
f8f3f155
AB
24482013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2449
2450 * Makefile.util.def: Add osdep/init.c to grub-mount files.
2451
b73249d2
VS
24522013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
2455 fseeko.
2456
dac86b18 24572013-10-14 qwertial <qwertial>
2458
2459 * grub-core/gdb_grub.in: Fix overflow and wrong field.
2460
17614b84
JM
24612013-10-14 Jon McCune <jonmccune@google.com>
2462
2463 * docs/grub.texi: Document new signatures possibility.
2464
6de292cb
VS
24652013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
2468
84379b61
VS
24692013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2470
2471 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
2472 missing prototype.
2473 (grub_util_tchar_to_utf8): Likewise.
2474
21d85db1
VS
24752013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
2478 * grub-core/kern/emu/main.c: Add missing include.
2479 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
2480 Don't call grub_util_init_nls.
2481 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
2482 Likewise.
2483
66a1b3ee
VS
24842013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
2487 stat.
2488
e19bec17
VS
24892013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
2492
ee8c1b29
VS
24932013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
2496
bb338aaf
VS
24972013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2498
2499 Add a wrapper for fopen. On unix-like systems just pass-through. On
2500 windows use unicode version.
2501
ae5540d3
VS
25022013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 Move set_program_name and init_nls to host_init. On windows
2505 fix in this fuction console and argument charset as well.
2506
4cd3c4fe
AB
25072013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
2508
2509 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
2510 GRUB_ENABLE_CRYPTODISK.
2511
2512 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
2513 GRUB_ENABLE_CRYPTODISK.
2514 * util/grub-mkconfig_lib.in: Likewise.
2515
78170f3e
CCZ
25162013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
2517
2518 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
2519
3414b6c0
MC
25202013-10-12 Melki Christian <Christian.melki@saabgroup.com>
2521
2522 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
2523 error when enabling debug.
2524
6d0740e8
IB
25252013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
2526
2527 * configure.ac: Use -melf_*_obsd on openbsd.
2528
ff2d4dc4
VS
25292013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
2532
eac6ae82
VS
25332013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2534
2535 * include/grub/misc.h: Use gnu_printf rather than printf as format
2536 template since our functions are independent of libc.
2537
ba9baabe
VS
25382013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
2539
2540 * util/grub-setup.c (setup): Move copying of partition table as
2541 futher up as possible to avoid possible overwrite by floppy routines.
2542
25432013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
60d4f0bb
VS
2544
2545 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
2546
145e2369
VT
25472013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
2548
2549 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
2550 * docs/grub.texi: Likewise.
2551
3530bc9d
VS
25522013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2553
2554 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
2555 it's mostly unused. Move vestiges to the callers.
2556
fb9f59c3
VS
25572013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2558
2559 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
2560 version of salt and hash. Use grub_snprintf rather than snprintf.
2561
9be1c255
VS
25622013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2563
2564 * docs/grub.texi: Fix problem with braces.
2565
ed8c0887
VS
25662013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2567
2568 * conf/Makefile.extra-dist: Fix extra-dist list.
2569 * grub-core/Makefile.core.def: Likewise.
2570
f72ab14e
VS
25712013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2572
2573 * docs/grub.texi: Document disk names used on Windows and AROS.
2574
2fe53a22
VS
25752013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
2578 with AROS devs.
2579 * grub-core/osdep/aros/hostdisk.c: Likewise.
2580
71c1d67a
VS
25812013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2582
2583 Avoid including hostfile.h when not necessarry as it pulls
2584 in OS-specific headers which may redefine generic names
2585 like "far".
2586
ad297ec7
VT
25872013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2588
2589 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
2590 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
2591 scrollbar_bottom_pad
2592 * docs/grub.texi: Likewise.
2593
6e9e5dc9
VT
25942013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2595
2596 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
2597
761c718b
VS
25982013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
2601
37149a2f
VS
26022013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
2605 Removed.
2606 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
2607 Made static.
2608
3837a151
VS
26092013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2610
2611 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
2612 leftover.
2613
caca1c70
VS
26142013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2615
2616 Move OS-specific driver configuration to grub_util_fd_open. This
2617 moves OS-dependent parts from kern/emu/hostdisk.c to
2618 grub-core/osdep/*/hostdisk.c.
2619
f7676b70
VS
26202013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 * util/grub-mkimage.c (generate_image): Use size_t instead of
2623 grub_size_t.
2624 * util/grub-mkimagexx.c (locate_sections): Likewise.
2625 (load_image): Likewise.
2626
22f98db2
VS
26272013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
2630 size_t.
2631 (grub_util_write_image): Likewise.
2632
b102ce69
VS
26332013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
2636 get random when no RNG is available.
2637 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
2638
acbbe5cb
VS
26392013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2640
2641 * include/grub/util/lvm.h: Removed.
2642
2112fb3f
VS
26432013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
2646 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
2647
79f78fbf
VS
26482013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 * grub-core/osdep/windows/sleep.c: Add missing config.h.
2651
c2e6f705
VS
26522013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
2655
aabe433a
VS
26562013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2657
2658 * grub-core/net/drivers/emu/emunet.c: Move to ..
2659 * grub-core/osdep/linux/emunet.c: ..here.
2660
9a2c903f
VS
26612013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 * util/ieee1275/ofpath.c: Move to ...
2664 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
2665 * grub-core/osdep/basic/ofpath.c: ..here.
2666
4a445f58
VS
26672013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 Move password-querying (util-version) routines to grub-core/osdep.
2670
c1ca4244
VS
26712013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 Move sleep routines to grub-core/osdep.
2674
672fa55e
VS
26752013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 Move OS-dependent files to grub-core/osdep and document it.
2678
a5b0365a
VS
26792013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2680
2681 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
2682 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
2683
29072e99
VS
26842013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
2687
f8772ea7
VS
26882013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 * util/misc.c: Remove leftover inclusion of malloc.h.
2691
a1a315e7
VS
26922013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2693
2694 * include/grub/setjmp.h: Remove leftover GRUBOF.
2695
cef86fef
VS
26962013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2697
2698 * util/raid.c: Fold into ...
2699 * util/getroot_linux.c: ... here. Make all functions static.
2700
c4cf25ee
VS
27012013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
2704 macros to GRUB ones.
2705
53a5f5c2
VT
27062013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2707
2708 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
2709 occasional bug. If there are too many boot entries or too low
2710 scrollbar height then we need to use another formula to calculate
2711 the position and size of the scrollbar thumb.
2712
de300af2
VS
27132013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2714
c4cf25ee 2715 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
de300af2 2716
c5827364
VT
27172013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2718
2719 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
2720 * docs/grub.texi: Likewise.
2721
dd2ed8b0
VT
27222013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2723
2724 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
2725 viewport.
2726
7286c384
VT
27272013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2728
ffdfc1f3
VT
2729 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
2730 minimal width calculations.
7286c384 2731
ea547e14
VS
27322013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 * docs/grub.texi: Update note on colors on emu console.
2735
b726be76
VS
27362013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
2739 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
2740 it's FS and not GRUB limitation.
2741
a5f6ade6
VS
27422013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
2745
3b0f3aa2
VS
27462013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
2747
2748 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
2749
1db38304
ST
27502013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2751
2752 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
2753 kernels by version order.
2754
fb295fc0
VS
27552013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2756
2757 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
2758
47345010
VS
27592013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 Add AROS hostdisk and getroot routines.
2762
bf25f879
VS
27632013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 Make cryptodisk and diskfilter probe data retrievable programmatically
2766 and not just printable.
2767
24ca4512
VS
27682013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 Split random retrieving code into separate files.
2771
c7c177f0
VS
27722013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
2775 R_ARM_V4BX.
2776
d71b45ae
VS
27772013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2778
2779 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
2780 condition.
2781 * grub-core/tests/fake_input.c: Likewise.
2782 * grub-core/tests/cmdline_cat_test.c: Likewise.
2783
e44b9a83
VS
27842013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * grub-core/video/capture.c: Do not do finalization when .fini
2787 is called as there is explicit capture_end.
2788
4fa60739
VS
27892013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2790
2791 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
2792 changing windows to avoid crash.
2793
17c8bc37
VS
27942013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2795
2796 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
2797
9d4d7977
VS
27982013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2799
2800 * po/exclude.pot: Add several strings to exclude.
2801
0caa407c
VS
28022013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2803
2804 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
2805
9ae393da
VS
28062013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2807
2808 * autogen.sh: Add ./util/grub-gen-widthspec.c and
2809 ./util/grub-gen-asciih.c to exclude list.
2810
498d5033
VS
28112013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
2814 and don't mark error strings for translation.
2815
7d93298f
VS
28162013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
2819 properly in case of missing block size.
2820
b2cae20c
VS
28212013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2822
2823 * grub-core/lib/arm/setjmp.S: Add missing license section.
2824
3896d6b4
VS
28252013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
2826
2827 * po/swiss.sed: Add replacement for key names and for term computer.
2828
ebc1da55
VT
28292013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
2830
2831 * grub-core/gfxmenu/theme_loader.c: New global options for the
2832 theme background image handling. desktop-image-scale-method,
2833 desktop-image-h-align, desktop-image-v-align.
2834 * grub-core/gfxmenu/view.c: Likewise.
2835 * include/gfxmenu_view.h: Likewise.
2836 * include/bitmap_scale.h: Proportional scale functions introduced.
2837 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
2838 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
2839 cases of unexpected input variables for scale functions.
2840 * docs/grub.texi: Updated documentation for new options.
2841
c5739143
VS
28422013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
2843
2844 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
2845
be74aeb3
VT
28462013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2847
2848 * grub-core/tests/checksums.h: Corrected due to changes in
2849 bilinear interpolation function.
2850
d999ac72
VT
28512013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
2852
2853 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
2854 to eliminate artefacts in bilinear interpolation.
2855
2b131610
VS
28562013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 * grub-core/video/readers/tga.c: Support paletted tga.
2859
de6e5ff8
VS
28602013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
2863 incorrect cbcr setting when in color mode.
2864
fa31ee9c
VS
28652013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 * grub-core/video/readers/png.c: Support paletted images and clean up
2868 greyscale support.
2869
e84f8188
VS
28702013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2871
2872 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
2873 usage of wrong table which resulted in mishandling of 4-byte
2874 sequences.
2875
28762013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2237daf2
VS
2877
2878 * grub-core/term/terminfo.c: Add Home and End key sequences.
2879
d72bff09
VS
28802013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 * grub-core/video/readers/png.c (grub_png_decode_image_header):
2883 Fix formula for computing total number of bytes.
2884
29648c5d
VS
28852013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
2888 image processing, fix big-endian and support grayscale.
2889
4a876492
VS
28902013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
2893 Correctly will with maximum transparency when using index color.
2894
3ccf16df
VS
28952013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 * grub-core/video/readers/png.c: Support grayscale
2898
28992013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
e9c492a0
VS
2900
2901 * grub-core/video/readers/jpeg.c: Support grayscale.
2902
3ccf16df 29032013-09-26 Jon McCune <jonmccune@google.com>
0340bdbc
JM
2904
2905 * grub-core/commands/loadenv.c: Support skipping signature check
2906 and variable names filtering.
2907
30b7f58f
VS
29082013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2909
2910 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
2911 * grub-core/kern/emu/hostfs.c: Likewise.
2912 * util/getroot_unix.c: Likewise.
2913
bab7b1eb
VS
29142013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
2917 Migrate all explicit defines to this new one.
2918
43b1c99d
VS
29192013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
2922 grub_util_fd_strerror when using grub_util_fd_*.
2923 (grub_util_fd_open_device): Likewise.
2924 (grub_util_biosdisk_read): Likewise.
2925 (grub_util_biosdisk_write): Likewise.
2926 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
2927 (grub_util_fd_strerror): Likewise.
2928 (grub_util_fd_sync): Likewise.
2929 (grub_util_fd_close): Likewise.
2930 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
2931 (grub_util_fd_close): Likewise.
2932 (grub_util_fd_strerror): Likewise.
2933 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
2934 function proto rather than macro.
2935 (grub_util_fd_sync): Likewise.
2936 (grub_util_fd_open): Likewise.
2937 (grub_util_fd_strerror): New proto.
2938
e8fd80bc
VS
29392013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
2942 platforms on which it doesn't work.
2943
bf645fda
VS
29442013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2945
2946 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
2947 stat immediately to where it's used.
2948
5177ba14
VS
29492013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 * util/getroot.c (grub_util_check_block_device): Move to ...
2952 * util/getroot_unix.c (grub_util_check_block_device): ... here.
2953 * util/getroot.c (grub_util_check_char_device): Move to ...
2954 * util/getroot_unix.c (grub_util_check_char_device): ... here.
2955
9db826e1
VS
29562013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
2959 disk closing logic.
2960
49120085
AB
29612013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
2962
2963 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
2964
b3328b68
AB
29652013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
2966
2967 * docs/grub.texi (File name syntax): Document ZFS filenames
2968 (/volume@snapshot/...).
2969
3fff48ab
VS
29702013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
2973 Always return full path. Fixes a problem with mkrelpath.
2974
39cfdaa9
PFS
29752013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2976
2977 * util/grub-install.in: Add GPT PReP support.
2978 * util/grub-probe.c (probe): Support GPT partition type.
2979 (main): Support -t gpt_parttype.
2980
7c680e1f 29812013-09-23 Aleš Nesrsta <starous@volny.cz>
2982
2983 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
2984
890bdabe
MM
29852013-09-23 Massimo Maggi <me@massimo-maggi.eu>
2986
2987 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
2988
9c262ff9
TH
29892013-09-23 Tim Hardeck <thardeck>
2990
2991 * util/grub.d/10_hurd.in: Filter out character for the class.
2992 * util/grub.d/10_kfreebsd.in: Likewise.
2993 * util/grub.d/10_linux.in: Likewise.
2994 * util/grub.d/20_linux_xen.in: Likewise.
2995
d755342a
MC
29962013-09-23 Melki Christian <Christian.melki@saabgroup.com>
2997
2998 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
2999 "changed".
3000
68b77707
JT
30012013-09-23 Josh Triplett <josh@joshtriplett.org>
3002
3003 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
3004 boot partition.
3005
efa68bfa
VS
30062013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
3009 doesn't use posix_wrap. Keep literal -fno-builtin however.
3010
d9104204
VS
30112013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3012
3013 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
3014
c248781a 30152013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
30162013-09-23 neil
3017
5830df88 3018 * configure.ac: Do not enable -Wmissing-noreturn as its
3019 usefulness is limited and creates problems on some OS notably with
3020 code generated by bison.
3021
30222013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
30232013-09-23 neil
3024
3025 * configure.ac: Do not explicitly enable -Waddress as it's not
c248781a 3026 supported by all gcc and when it is, it's already enabled by -Wall.
3027
621bed69
VS
30282013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3029
3030 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
3031 desactivated use of EDID at all.
3032
71764dc8 30332013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
30342013-09-23 neil
3035
3036 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
3037 video if no text is available.
3038
affce7d4 30392013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025
VS
30402013-09-23 neil
3041
3042 * configure.ac: Substitute TARGET_RANLIB.
3043
30442013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
30452013-09-23 neil
affce7d4
VS
3046
3047 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
3048
3049 Based on patches from AROS.
3050
0e8daad0 30512013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1bd73025 30522013-09-23 neil
0e8daad0
VS
3053
3054 * grub-core/Makefile.am: Override STRIP and RANLIB.
3055 * configure.ac: compute TARGET_RANLIB.
3056 * INSTALL: Document TARGET_RANLIB
3057
3058 Based on patches from AROS.
3059
3f7d9c82
VS
30602013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3061
3062 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
3063 that floppies are unpartitioned.
3064
bca8873a
VS
30652013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
3068 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
3069
30702013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3071
3072 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
3073 less nice but more portable.
3074 * grub-core/lib/posix_wrap/wchar.h: Likewise.
3075
a47a78be
VS
30762013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
3079 for cheat_fd.
3080 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
3081 functions.
3082 (grub_cryptodisk_cheat_insert): Likewise.
3083 (grub_cryptodisk_close): Likewise.
3084
e85a5d5c
VS
30852013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3086
3087 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
3088 Use windows path for DEFAULT_DIRECTORY.
3089
dad9fa6b
VS
30902013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3091
3092 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
3093 difference was likely just gcc version, not anything mingw-related.
3094
7e518ca8
VS
30952013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 Use Winapi on both cygwin and mingw32 to share more code between both.
3098
d68d0157
AB
30992013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3100
3101 * util/grub-install.in: Add --grub-editenv option.
3102 * util/grub-install_header (grub_compress_file): Explicitly check for
3103 plain file to avoid cp error.
3104
775b284d
AB
31052013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3106
3107 * docs/grub.texi (Device syntax): Document new LVM UUID based device
3108 names; fix LVM driver name (lvm, not lv).
3109 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
3110 names.
3111
3ff4063d
VS
31122013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
3115 files rather than one file with loads of #if's.
3116 * util/getroot.c: Likewise.
3117
287faafe
VS
31182013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
3121
d1983764
VS
31222013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
3125 GNU/Hurd to the list of checked PRNG.
3126
15ce95c4
VS
31272013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 * configure.ac: On FreeBSD use -melf_*_fbsd format.
3130
207862dd 31312013-09-21 Ales Nesrsta <starous@volny.cz>
3132
7c680e1f 3133 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
207862dd 3134
63653cfd
VS
31352013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
3138 * grub-core/disk/lvm.c: Add LVM UUIDs.
3139 * util/getroot.c: Use LVM UUIDs whenever possible.
3140
f5d3e7ef
AB
31412013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
3142
3143 * docs/grub.texi (Networking commands): Add documentation for
3144 network related commands.
3145
53c6b7d6
VS
31462013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3147
3148 * util/getroot.c (grub_util_open_dm): Check major rather than the name
3149 to determine if device is handled by devmapper.
3150 (convert_system_partition_to_system_disk): Likewise.
3151 (get_dm_uuid): Don't check explicitly if device is mapped, it's
3152 already done in grub_util_open_dm.
3153
e70d6736
LL
31542013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
3155
3156 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
3157 Clean up stack manipulation (sync_caches_armv*)
3158
90379808
VS
31592013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3160
3161 * util/lvm.c: Remove since unused. Remove remaining references.
3162
386701a8
VS
31632013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3164
3165 Handle the case of partitioned LVM properly.
3166
3167 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3168 Stop on meeting LVM, mpath or DMRAID.
3169 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
3170 (read_device_map): Likewise.
3171 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
3172 device is full disk rather than erroring out on LVM and similar cases.
3173
53070787
VS
31742013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
3177
1bc783bd
VS
31782013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3179
3180 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
3181 4K before the end.
3182 Reported by: Leif Lindholm
3183
436ad5c3
PW
31842013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
31852013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
3188 codes.
3189
607319c9
CW
31902013-09-18 Colin Watson <cjwatson@ubuntu.com>
3191
3192 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
3193 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
3194
d404d154
DR
31952013-09-18 Douglas Ray <dougray@cpan.org>
3196
3197 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
3198 as secure.
3199
28851ef6
AN
32002013-09-18 Aleš Nesrsta <starous@volny.cz>
3201
3202 * docs/grub.texi: Fix broken link.
3203
897c3bc6
MC
32042013-09-18 Melki Christian <Christian.melki@saabgroup.com>
3205
3206 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
3207 to break endless loop.
3208
f1630459
VS
32092013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3210
3211 * util/grub-fstest.c: Fix several printf formats.
3212 * util/grub-mkimage.c: Likewise.
3213 * util/grub-mkimagexx.c: Likewise.
3214 * util/grub-script-check.c: Likewise.
3215
64463dfd
VS
32162013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
3219 error.
3220
48972495
VS
32212013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
3224
5dd5e64b
VS
32252013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3226
3227 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
3228 removed in current versions cygwin_conv_*.
3229
1c1f31e5
VS
32302013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3231
3232 * configure.ac: Disable efiemu runtime on cygwin.
3233
c546a259
VS
32342013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
3237 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
3238
81690478
VS
32392013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3240
3241 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
3242 error message.
3243
6b87c10a
VS
32442013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
3247 windows variant.
3248 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
3249 data.
3250
8f0baaac
VS
32512013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3252
3253 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
3254 when on x86 and not cygwin.
3255 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
3256 -Wl,-melf_x86_64.
3257
b224c266
VS
32582013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3259
3260 * configure.ac: Set CPP to build one when checkoing for freetype for
3261 build.
3262
506b336b
VS
32632013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
3266 [!GRUB_BUILD]: Remove has_argument.
3267
8c8c87b7
VS
32682013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
3271 Replace with a dummy.
3272
7dc5ca13
VS
32732013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3274
3275 * configure.ac: Don't change host_os from mingw to cygwin.
3276
c3302aa5
VS
32772013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3278
3279 * configure.ac: Change target_os from windows to cygwin.
3280
7b780018
VS
32812013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3282
3283 Handle grub-pe2elf and grub-mkfont for cases when build != host.
3284
3285 * Makefile.am (build-grub-mkfont): Don't include gnulib.
3286 (build-grub-gen-asciih): Likewise.
3287 (build-grub-gen-widthspec): Likewise.
3288 * Makefile.util.def (grub-pe2elf): Remove.
3289 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
3290 * configure.ac: Separate tests for build.
3291 Move ./build-grub-pe2elf to grub-core.
3292 Fix typo.
3293 * grub-core/Makefile.am (build-grub-pe2elf): New target.
3294 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
3295 defined.
3296 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
3297 constants.
3298 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
3299 * util/grub-pe2elf.c: Simplify not to rely on getopt.
3300 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
3301
984cfd8a
VS
33022013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
3305 mingw32 as well based on grub_util_get_disk_size.
3306 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
3307 grub_util_get_fd_size.
3308 (sync): Removed.
3309 (fsync): Moved to ...
3310 * grub-core/kern/emu/misc.c (fsync): ... here.
3311
f82d79c9
VS
33122013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * include/grub/mm.h (grub_extend_alloc): Remove.
3315 * grub-core/loader/i386/pc/plan9.c: Use own version of
3316 grub_extend_alloc with appropriate types.
3317
fd7dd66d
VS
33182013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
3321
43ffba7c
VS
33222013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 * util/getroot.c: Include sys/wait.h only when we need waitpid.
3325
3c7eac44
VS
33262013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 Fix dependencies on cygwin.
3329
3330 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
3331 dependencies when used and defined.
3332 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
3333
bdb5ba47
VS
33342013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3335
3336 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
3337 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
3338
ed7fbf43
VS
33392013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
3342 implementation available to cause compile-time rather than runtime
3343 error.
3344
fc46e9fc
VS
33452013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 * util/grub-fstest.c: Don't check for symlinks on windows.
3348
7f68269a
VS
33492013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3350
3351 * INSTALL: Mention unavailability of man pages when cross-compiling.
3352
8ed358e0
VS
33532013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
3356 and gcry_log_bug.
3357 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
3358
fc97214f
VS
33592013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 * INSTALL: Document cross-compilation.
3362 * acinclude.m4: Determine whether nm support -P and --defined-only.
3363 * configure.ac: Add TARGET_ to all variables pertaining to target
3364 that don't have it yet.
3365 * gentpl.py: Likewise.
3366 * grub-core/Makefile.am: Likewise.
3367 * grub-core/genmod.sh.in: Likewise.
3368 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
3369 as well.
3370
ca1fb563
IB
33712013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3372
3373 * configure.ac: Remove -Wempty-body. It's not essential and needs
3374 recent gcc.
3375
0031b229
IB
33762013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3377
3378 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
3379 * util/getroot.c: Likewise.
3380
54ea2f44
VS
33812013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3382
3383 * grub-core/disk/ahci.c: Add needed explicit cast.
3384 * grub-core/lib/backtrace.c: Likewise.
3385 * grub-core/net/ip.c: Likewise.
3386 * grub-core/net/tcp.c: Likewise.
3387 * grub-core/net/udp.c: Likewise.
3388
3c601f8c
VS
33892013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
3392
1d679dda
VS
33932013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * util/import_gcry.py: Add final newline in visibility.h.
3396
00c28dd9
VS
33972013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3398
3399 * conf/Makefile.common: Fix typo.
3400
32af299a
VS
34012013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3402
3403 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
3404
e733cf52
VS
34052013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3406
3407 * Makefile.am (widthspec.h): Fix typo.
3408 * util/grub-gen-widthspec.c: Likewise.
3409
c6b066f2
VS
34102013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 Move ascii.h and widthspec.h generation to a separate build-time-only
3413 tool.
3414
ad1fe3f9 34152013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
3416
3417 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3418 Always fill bootdisk info and improve check for NetBSD disklabel.
3419
92a52dd4
VS
34202013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3421
3422 * conf/Makefile.extra-dist: Add util/bin2h.c.
3423 Reported by: floppym.
3424
b2e9d276
VS
34252013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3426
3427 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
3428
7b966834
VS
34292013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3430
3431 * configure.ac: Disable unifont and starfield if no freetype was found.
3432
d5c1eef1
VS
34332013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
3436 on NetBSD and OpenBSD.
3437
66345b50 34382013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
03dafa17
VT
3439
3440 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
3441
66345b50 34422013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
224a55bb
VT
3443
3444 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
3445 reduced. Inheritant options are processed during the theme loading.
3446
66345b50 34472013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
58ec39c6
VT
3448
3449 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
3450
369508b3
AS
34512013-08-14 Avik Sil <aviksil@in.ibm.com>
3452
3453 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
3454
34552013-08-14 Avik Sil <aviksil@in.ibm.com>
412ce916
AS
3456
3457 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
3458 using qemu.
3459
6f27a3f6
PFS
34602013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3461
3462 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
3463 remove-potcdate.sed.
3464
c6ed362a
AB
34652013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3466
3467 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
3468 unused attribute from pull argument.
3469
5e7d9464
AB
34702013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3471
3472 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
3473 memory leak.
3474
dea55e2a
AB
34752013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3476
3477 * util/getroot.c (pull_lvm_by_command): add --separator option
3478 to vgs call to disable padding of output to 10 characters.
3479
f0b94ded
VS
34802013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3481
3482 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
3483 here ...
3484 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
3485 here.
3486
b828fb5d
VS
34872013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3488
3489 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
3490 length.
3491
7c9d0c39
VS
34922013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 Fix handling of build-time grub-bin2h and grub-mkfont when doing
3495 full Canadian cross. Tested with build=x86_64, host=arm,
3496 target=ppc-ieee1275.
3497
816719c8
VS
34982013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3499
3500 * configure.ac: Error if no $BUILD_CC could be found.
3501 Reported by: DevHC.
3502
2af2353b
VS
35032013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3504
3505 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
3506 i386-multiboot.
3507
797abd0a
VS
35082013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3509
3510 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
3511 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
3512
36e87d25
CW
35132013-08-13 Colin Watson <cjwatson@ubuntu.com>
3514
3515 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
3516 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
3517 falling back to the partition device, otherwise a later call to this
3518 function may fail spuriously.
3519 Reported by Axel Beckert. Fixes Debian bug #708614.
3520
273349fe
GS
35212013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3522
3523 * autogen.sh: Replace find -not by the POSIX-compliant find !.
3524
418f86c6
GS
35252013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3526
3527 Prevent shadowing of stdlib's devname(3) on BSD.
3528
3529 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
3530 and devlast to diskname and disklast, respectively.
3531
c137aea0
CW
35322013-08-11 Colin Watson <cjwatson@ubuntu.com>
3533
3534 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
3535
272dc8df 35362013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
b4743461
VT
3537
3538 * docs/grub.texi: Introduce terminal window position options:
3539 terminal-left: terminal window's left position
3540 terminal-top: terminal window's top position
3541 terminal-width: terminal window's width
3542 terminal-height: terminal window's height
3543 terminal-border: terminal window's border width
3544 * grub-core/gfxmenu/theme-loader.c: Likewise.
3545 * include/grub/gfxmenu_view.h: Likewise.
3546 * po/exlude.pot: Likewise.
3547 * grub-core/gfxmenu/view.c: Likewise.
3548 Also updated minimal window size.
3549 Also terminal_sanity_check function has been introduced.
272dc8df
VT
3550 * grub-core/tests/checksums.h: Update (terminal window height
3551 is adjusted now for low resolution screen)
b4743461 3552
748a4533
VS
35532013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3554
3555 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
3556 position).
3557
fca5f944
VS
35582013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 * po/exclude.pot: Add few recent exceptions.
3561
4f47d809
VS
35622013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3563
3564 * tests/grub_func_test.in: Add unicode.pf2.
3565
a62ae90c
VS
35662013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3567
3568 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
3569 standard rather than noral color, in line with other terminals.
3570
4ed41392
VS
35712013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3572
3573 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
3574 analysis.
3575
3719fbc5
VS
35762013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3577
3578 * grub-core/loader/arm/linux.c: Change printf to dprintf.
3579
459b1d91
VS
35802013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3581
3582 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
3583 inappropriate printf.
3584
f4e1ab9d
AB
35852013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
3586
3587 * .bzrignore: Remove grub-core/lib/dtc-grub,
3588 grub-core/Makefile.libfdt.def
3589 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
3590
fa471bfa
VS
35912013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 * include/grub/video.h (grub_video_register): Keep double-linked as
3594 well as single-linked invariants.
3595 Reported by: qwertial.
3596
d65be02b
VS
35972013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 * grub-core/commands/nativedisk.c (get_uuid): Handle
3600 GRUB_DISK_DEVICE_UBOOTDISK_ID.
3601
ba8bc620
VT
36022013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
3603
3604 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
3605 maximum of NW, N, NE heights instead of N's height and maximum of
3606 NW, W, SW widths instead of W's width. (So the box will be always
3607 correctly drawn)
3608
4f0ad029
GS
36092013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
3610
3611 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
3612 Fix misuse of variable count.
3613
43d53b72
LL
36142013-07-18 Leif Lindholm <leif.lindholm@arm.com>
36152013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
36162013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
5bac5d9a 3617
43d53b72
LL
3618 New ports to arm-uboot and arm-efi.
3619 Mostly by Leif Lindholm with some additions from
3620 Francesco Lavra and cleanup by Vladimir Serbinenko.
141430a2 3621
88f8d146
VS
36222013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
3625 and not before.
3626 Reported by: Leon Drugi.
3627
3f42504c
VS
36282013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
3631 Reported by: Paulo Flabiano Smorigo.
3632
d110499b
VT
36332013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3634
3635 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
3636
a8674ad3
VT
36372013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3638
3639 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
3640
286fe4b3
VS
36412013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3642
3643 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
3644
1bd57aa3
VS
36452013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3646
3647 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
3648
7a87d69f
AB
36492013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
3650
3651 * grub-core/net/bootp.c: Export net_* variables.
3652 * grub-core/net/net.c: Likewise.
3653
b2182299
VS
36542013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
3657
795b3dc0
VS
36582013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3659
3660 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
3661
68714c43
VS
36622013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
3665
af211bab
VS
36662013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
3669
0036f02d
MM
36702013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3671
3672 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
3673 <= 0.
3674
6d0ddff3
MM
36752013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3676
3677 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
3678 functions.
3679
038016f4
MM
36802013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3681
3682 * grub-core/fs/zfs/zfs_lz4.c: New file.
3683 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
3684
776bdce2
MM
36852013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3686
3687 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
3688
c71dbd40
MM
36892013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3690
3691 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
3692 (check_pool_label): Likewise.
3693 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
3694
36952013-07-14 Massimo Maggi <me@massimo-maggi.eu>
53618046
MM
3696
3697 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
3698
8e67b50f
AB
36992013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3700
3701 * docs/grub.texi (Commands): Document postition parameters
3702 for menuentry command.
3703
f5ae3717
AB
37042013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3705
3706 * util/grub-mknetdir.in: Remove stray line from help output.
3707
9c28da2a
VS
37082013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3709
3710 Remove early sm712 init as there is no reason for it (the "watchdog"
3711 effect was due to wrong GPIO map).
3712
139072b8
VS
37132013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3714
3715 * grub-core/commands/pcidump.c: Remove static variables.
3716
c6a61bda
VS
37172013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3718
3719 * grub-core/commands/sleep.c: Refresh screen before sleeping.
3720
51369614
VS
37212013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 * configure.ac: Move delimiter after the infos.
3724
efa8640a
VS
37252013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3726
3727 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
3728
6f80a7b2
VS
37292013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3730
3731 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
3732 not filling whole 8x16 space.
3733
a2371e19
VS
37342013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3735
3736 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
3737
64fce2d8
VS
37382013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3739
3740 * configure.ac: Indicate which liblzma is used if any.
3741
eb272d84
PW
37422013-06-21 Paul Wise <pabs3@bonedaddy.net>
37432013-06-21 Craig Sanders <savannah@taz.net.au>
3744
3745 * util/grub-reboot.in: Document submenu usage.
3746
a9e5abee
CW
37472013-06-25 Colin Watson <cjwatson@ubuntu.com>
3748
3749 * .bzrignore: Update with a number of new test-related files.
3750
e639c204
CW
37512013-06-25 Colin Watson <cjwatson@ubuntu.com>
3752
3753 * util/grub-script-check.c: Fail on scripts containing no
3754 commands, to guard against corrupted grub-mkconfig setups that
3755 produce no useful output.
3756 * tests/grub_script_no_commands.in: New test.
3757 * Makefile.util.def (grub_script_no_commands): Add.
3758 Reported by Hans Putter. Fixes Debian bug #713886.
3759
a4c89b17
AB
37602013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3761
3762 * grub-core/disk/diskfilter.c: Forgot to remove comment
3763 from previous commit.
3764
5b06b53c
AB
37652013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3766
3767 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
3768 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
3769
702da5c9
AB
37702013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3771
3772 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
3773
aa62a5b7
AB
37742013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
3775
3776 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
3777 rescan diskfilter devices until nothing new is found.
3778
4aa237c8
VS
37792013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3780
3781 Fix casts when compiling coreboot-specific code for 64-bit EFI.
3782
93d8479b
VS
37832013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3784
3785 Don't try to detect cbfs on *-emu.
3786
837222cc
VS
37872013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3788
3789 * grub-core/term/gfxterm.c: USe right background color when scrolling.
3790
99c971af
VS
37912013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 Add support for processed coreboot payload chainloading.
3794
e6930a45
VS
37952013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3796
3797 Enable coreboot information commands even when not loaded as
3798 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
3799
5027af38
VS
38002013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 Support for cbfs. Also factor out the part which is common
3803 for all archives to a separate module. This splits tar from cpio
3804 as they are very different but keeps cpio, cpio_be, odc and newc
3805 together since they're very similar.
3806
a5b55c4b
DM
38072013-06-15 David Michael <fedora.dm0@gmail.com>
3808
3809 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
3810 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
3811
0301a8b3
VS
38122013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3813
3814 * tests/grub_script_eval.in: Really add the eval test.
3815
3d84cb17
VS
38162013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
3817
3818 Move flavour-specific parts out of common cpio.c file and
3819 rename remaining to cpio_common.c
3820
593e430c
AB
38212013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3822
3823 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
3824 off new function grub_script_execute_new_scope. Change callers to use
3825 either of them as appropriate.
3826 * grub-core/commands/eval.c: New command eval.
3827 * docs/grub.texi (Commands): Document it.
3828
63c29849
AB
38292013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3830
3831 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
3832 to fetch values when listing.
3833
cc284112
AB
38342013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
3835
3836 Fix make dist on non-pc.
3837
38382013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
b8578da6
FL
3839
3840 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
3841 without a device name.
3842
69544d1e
VS
38432013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 Remove enable_executable_check as it's not needed anymore.
3846 Reported by: dougray.
3847
96dbe648
VS
38482013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
3851 ambigouos RAID before discovering RAIDs on top of it.
3852 Reported by: bodom.
3853
ccfc0bdb
VS
38542013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3855
3856 Fix typo (failback vs fallback).
3857
f2587088
AB
38582013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
3859
3860 * util/grub.d/30_os-prober.in: Add support for probing EFI
3861 System Partition (as of os-prober 1.58).
3862
cec5cf0c
VS
38632013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3864
3865 * configure.ac: Add yet another path to unifont. For parabola.
3866
e40b4596
JT
38672013-05-30 Josh Triplett <josh@joshtriplett.org>
3868
3869 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
3870 handling to copy the killed characters to the kill buffer as
3871 UCS4 stored as grub_uint32_t rather than as 8-bit characters
3872 stored as char. Eliminates UCS4 truncation and corruption
3873 observed when killing characters with Ctrl-u and yanking them
3874 back with Ctrl-y.
3875
fc4c4fdd
VS
38762013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 Detach optional parts of gfxterm and integrate in with coreboot init.
3879
6570b205
VS
38802013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3881
3882 Move blit and fill dispatcher to appropriate files to decrease export
3883 and relocation overhead.
3884
b8323067
VS
38852013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3886
3887 * grub-core/font/font.c, include/grub/font.h: Inline simple font
3888 functions.
3889
3cc1878f
VS
38902013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3891
3892 * grub-core/Makefile.am: Fix compilation problem with some
3893 automake versions.
3894
4b80e43c
VS
38952013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3896
3897 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
3898
57e0c20c
VS
38992013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3900
3901 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
3902 automake versions.
3903
4fd42c53
VS
39042013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3905
3906 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
3907 SSDT.
3908
1e908b34
RS
39092013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
3910
3911 * grub-core/partmap/dfly.c: New partition map.
3912
1359e474
VS
39132013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
3916 checking.
3917 Reported by: Francesco Lavra.
3918
17806392
AB
39192013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
3920
3921 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
3922 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
3923 false conditions.
3924 * conf/Makefile.common: define dist_grubconf_DATA
3925
cdce14fa
VS
39262013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 Progressively skip menu elements on small terminals rather
3929 than crashing.
3930
c8d6cc3c
VS
39312013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
3934 to avoid losing last column.
3935
a73b31ce
VS
39362013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 * po/exclude.pot: Add missing string "%C".
3939
1202c764
VS
39402013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3941
3942 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
3943 after the test.
3944
50268344
VS
39452013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3946
3947 * util/grub-install.in: Gettextize "Not found" message.
3948
62b15edf
VS
39492013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3950
3951 Fix distfiles list.
3952 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
3953
39542013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
a9c0b699
PFS
3955
3956 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
3957 present.
3958 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
3959
709ad61b
VS
39602013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
3963
d128901a
VS
39642013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
3967 attribute since structure is not necessarily aligned.
3968
34b22f5c
AB
39692013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
3970
3971 * docs/grub.texi (Device syntax): Clarify description of network
3972 drives.
3973
0f7e980b
VS
39742013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3975
3976 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
3977 for vasprintf presence.
3978
30b03dc2
VS
39792013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3980
3981 * util/grub-install.in: Handle efibootmgr presence check.
3982 Reported by: Leif Lindholm.
3983
0dc11c08
VS
39842013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3985
3986 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
3987 new strings to translate.
3988
f8024c3f
VS
39892013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3990
3991 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
3992 yet another string (pun intended) to translate.
3993
b4c1da62
VS
39942013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3995
3996 * po/POTFILES-shell.in: Autogenerate it.
3997
0ef7478b
VS
39982013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
4001
8200fa15
VS
40022013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
4005 misnomer.
4006
091945b2
AB
40072013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
4008
4009 * docs/grub.texi (Network): Add description of net_default_interface,
4010 net_default_ip and net_default_mac. Rewrite variables description
4011 to emphasize that they are per-interface.
4012
0e7b2e32
VS
40132013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 New test: cmdline and cat.
4016
16f7c8f6
VS
40172013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4018
4019 * grub-core/commands/cat.c: Show UTF-8 characters.
4020
3e912fda
VS
40212013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4022
4023 * conf/Makefile.common: Poison float and double on non-emu.
4024
ee0220bc
VS
40252013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 * configure.ac: Don't disable extended registers on emu.
4028
89e0240c
VS
40292013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4030
4031 * configure.ac: Don't use extended registers on x86_64.
4032 Reported by: Peter Jones.
4033
e56d9637
VS
40342013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4035
4036 * grub-core/term/efi/console.c: Fix compile error.
4037
8098f655
VS
40382013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 Compressed HFS+ support.
4041
16940e07
VS
40422013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4043
4044 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
4045 pixel".
4046
c5dbc13d
VS
40472013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 Menu color test.
4050
011f8ae8
VS
40512013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 * grub-core/tests/setjmp_test.c: New test.
4054
2aa072d7
VS
40552013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 New variables 'net_default_*' to determine MAC/IP of default interface.
4058
43fe02cb
VS
40592013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4060
4061 * tests/gettext_strings_test.in: A test to check for strings not
4062 marked for translation.
4063
bed06142
VS
40642013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4065
4066 * autogen.sh: Exclude unused libgcrypt files from translation.
4067
fb2666b5
VS
40682013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4069
4070 Simplify few strings.
4071
d22840ec
VS
40722013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4073
4074 Mark few forgotten strings for translation.
4075
e34092fd
VS
40762013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4077
4078 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
4079 rather than printf.
4080
47cf82b4
VS
40812013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
4084 rather than printf.
4085 * grub-core/video/readers/tga.c: Likewise.
4086
1eed0e6e
VS
40872013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4088
4089 * tests/priority_queue_unit_test.cc: New test.
4090
c5b7697b
VS
40912013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4092
4093 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
4094 than printf.
4095
5945c2f8
AB
40962013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
4097
4098 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
4099 variable for one time boot menu entry.
4100
fa292343
B
41012013-05-05 Bean <bean123ch@gmail.com>
4102
4103 * grub-core/commands/testspeed.c: New command testspeed.
4104
310d4214
VS
41052013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 Factor-out human-size printing.
4108
85002bf3
VS
41092013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4110
4111 Agglomerate more mallocs to speed-up gfxterm.
4112
22b06e96
VS
41132013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4114
4115 Speed-up gfxterm by slightly agglomerating mallocs.
4116
b7c036bc
VS
41172013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 More video checks.
4120
92323d1f
VS
41212013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4122
4123 Speed-up gfxterm by saving intermediate results in index+alpha
4124 format.
4125
0fb356a3
VS
41262013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4127
4128 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
4129 test.
4130
44dea3f9
VS
41312013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4132
4133 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
4134 line of timeout as it may contain the rest of long line.
4135
14af86e4
VS
41362013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 * grub-core/normal/main.c: Fix freed memory dereference.
4139
03f7c8c3
VS
41402013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4141
4142 Fix several memory leaks.
4143
c686014c
VS
41442013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
4147
0788a695
VS
41482013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
4151
daf01d61
VS
41522013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4153
4154 Fix test -a and -o precedence.
4155 Reported by: adrian15.
4156
82ae74d7
VS
41572013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
4160
8cec7bd4
AB
41612013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
4162
4163 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
4164 and add it as source to functional_test module.
4165
aa73d688
VS
41662013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
4169
c104b6f9
VS
41702013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 New series of tests for gfxterm and gfxmenu.
4173
7391c4d5
VS
41742013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
4177 the theme path relative to $prefix/themes.
4178
cff50118
VS
41792013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
4182 Fix order bug.
4183 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4184
7c332bdc
VS
41852013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4186
4187 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
4188 descriptor.
4189
a4f9a5ff
VS
41902013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4191
4192 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
4193 grub_gfxmenu_timeout_notifications.
4194 (grub_gfxmenu_view_destroy): Likewise.
4195
b5a2114d
VS
41962013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
4199
a8905e8a
VS
42002013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4201
4202 Several fixes to ieee1275 and big-endian video.
4203
813c1622
VS
42042013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4205
4206 Add missing exports on mips.
4207
3f3e7326
VS
42082013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4209
4210 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
4211 if no unifont is found.
4212 Restore original keyboard.
4213
095accd1
VS
42142013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
4217 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
4218
50361660
VS
42192013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 First automated video test (running videotest and comparing results)
4222
cd0f6eec
VS
42232013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
4226 instead of 2 to have full RGB/CMY test pattern.
4227
3f9634e5
VS
42282013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4229
4230 Add few more tests.
4231
583e5b64
VS
42322013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4233
4234 * include/grub/arc/arc.h: Account for missing "other" peripheral on
4235 ARCS. All users updated.
4236
aa7bcb99
VS
42372013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
4240
95ef1a54
VS
42412013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 * grub-core/partmap/amiga.c: Fix size of checksummed block.
4244
46546fc5
VS
42452013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4246
4247 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
4248 Reported by: qwertial.
4249
3476e0ef
VT
42502013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
4251
4252 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
4253 with syntax "XXX deg"/"XXX °".
4254
96f33fed
VS
42552013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4256
4257 Make PCI init in i386-qemu port more robust.
4258
42592013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
4260
4261 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
4262 cached view is reused.
4263 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
4264 open boot menus.
4265
c53b4e67
VS
42662013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 Unify more code in grub-install_header.
4269
f7457fb2
VS
42702013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4271
4272 Add few new tests.
4273
e2f27a8c
VS
42742013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4275
4276 Enforce disabling of firmware disk drivers when native drivers kick in.
4277
ef9d8cd5
VS
42782013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4279
4280 * grub-core/commands/nativedisk.c: Customize the list of modules on
4281 platform. Don't try to search for disks already using native drivers.
4282
f7bf6c31
VS
42832013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4284
4285 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
4286 platforms.
4287
bdc4add8
VS
42882013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4289
4290 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
4291 handling of variables containing backslash.
4292
e9e46c9a
VS
42932013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4294
4295 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
4296 dereference.
4297 Reported by: qwertial.
4298
0e90dee8
VS
42992013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
4302
e0aacf24
VS
43032013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
4306 dereference.
4307 Reported by: qwertial.
4308
3c0003c3
VS
43092013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4310
4311 * docs/grub.texi: Add a comment about usefullness of nativedisk.
4312
adb7d667
VS
43132013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
4316
7cd0df84
VS
43172013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 New command `nativedisk'.
4320
02adbb93
VS
43212013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4322
4323 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
4324 * grub-core/loader/i386/bsd.c: Likewise.
4325
9fb0fd4f
VS
43262013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4327
4328 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
4329
bd69257a
VS
43302013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
4333 grub_get_unaligned16 rather than shifts.
4334
178c2764
VS
43352013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4336
4337 * grub-core/kern/file.c: Use const char * rather than casting to
4338 non-const.
4339
eadfad24
VS
43402013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 * grub-core/commands/probe.c: Add missing grub_device_close.
4343
9f73ebd4
VS
43442013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4345
4346 * INSTALL: Document linguas.sh.
4347
965fa829
VS
43482013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4349
4350 Remove POTFILES.in and regenerate it in autogen.sh.
4351
d417ddc4
VS
43522013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4353
4354 Move --directory/--override-directorry to grub-install_header and unify.
4355
f97ec546
VS
43562013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 * grub-core/term/morse.c: Macroify dih and dah.
4359
b2d7470c
PFS
43602013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4361
4362 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
4363
141e2a78
VS
43642013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4365
4366 * grub-core/term/ns8250.c: Systematically probe ports by writing
4367 to SR before using them.
4368
1dd70ebd
PFS
43692013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4370
4371 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
4372 disks.
4373 (check_sas): Get sas_adress info.
4374
c796a107
VS
43752013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
4378 ports.
4379
43168646
LD
43802013-04-27 Leon Drugi <eyak>
4381
4382 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
4383 BSS clearing.
4384
e7b8fd08
VS
43852013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4386
4387 Core compression test.
4388
17f9fd29
VS
43892013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4390
4391 Implement grub_machine_get_bootlocation for ARC.
4392
dc2a6c8b
VS
43932013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 Improve AHCI detection and command issuing.
4396
f25a2ba6
VS
43972013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4398
4399 Fix pseries test.
4400
a6393224
VS
44012013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4402
4403 Make 'make check' work on emu.
4404
db99fbe8
VS
44052013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4406
4407 Replace libcurses with our own vt100 handling for the ease of testing
4408 and decreasing prerequisites.
4409
b24ca7cd
VS
44102013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4411
4412 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
4413
63314aa4
VS
44142013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
4417 compile when not needed.
4418
c1b00fff
VS
44192013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4420
4421 * tests/pseries_test.in: New test.
4422
f93e89ef
VS
44232013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 Add test to check that different boot mediums work.
4426
c4b456d3
VS
44272013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4428
4429 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
4430 ofw limited ISO support.
4431
5fe67f39
VS
44322013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4433
4434 * configure.ac: Fix loongson conditional.
4435
7f63a64f
VS
44362013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 Enable mipsel-arc.
4439
b04b5990
VS
44402013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4441
4442 Add serial on ARC platform.
4443
88d2f302
VS
44442013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4445
4446 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
4447 commit.
4448
86eb23bc
VS
44492013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4450
4451 * tests/partmap_test.in: Add missing double semicolon.
4452
eec3bb75
VS
44532013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4454
4455 * util/grub-mkrescue.in: Fix loongson filename.
4456
e0810df3
VS
44572013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4458
4459 * util/grub-mkrescue.in: Move all files that don't have a location
4460 set in stone under /boot/grub. Use ISO hard links rather than copies
4461 to save some space.
4462
65a6b30b
VS
44632013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
4466 bogus SLOF values.
4467
6aff0107
VS
44682013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 Make check work on mips-arc.
4471
5e013e56
VS
44722013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4473
4474 * util/grub-mkrescue.in: Alias sashARCS as sash.
4475
d1989e2e
VS
44762013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4477
4478 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
4479 it's serial.
4480
1a25e72c
VS
44812013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4482
4483 * util/grub-install.in: Fix target fo qemu_mips.
4484 Fix extension on EFI.
4485
a59a9826
VS
44862013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4487
4488 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
4489 in front of chosen entry to mark it even if highlighting is lost.
4490
1a40f80c
VS
44912013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
4494 gfxpayload=keep if cbfb is active.
4495
e343549c
VS
44962013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
4499
45fbd9a2
VS
45002013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4501
4502 Add missing video ids to coreboot and ieee1275 video.
4503
ab1440bd
VS
45042013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4505
4506 * util/grub-mkrescue.in: Add mips-arc support.
4507
cdeb8324
VS
45082013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4509
4510 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
4511
8528c879
VS
45122013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4513
4514 Move mips-arc link address. Previous link address was chosen
4515 in belief that RAM on SGI platforms grows down while in fact it
4516 grows up from an unusual base.
4517
17fca573
VS
45182013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4519
4520 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
4521 Fix a type which prevented CD-ROM and floppy boot.
4522
d178788e
VS
45232013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4524
4525 Support coreboot framebuffer.
4526
4527 * grub-core/video/i386/coreboot/cbfb.c: New file.
4528
fe4c3e7e
VS
45292013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
4532 detecting too small regions.
4533
ec2dd179
VS
45342013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4535
4536 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
4537
872dac83
VS
45382013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4539
4540 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
4541 Remove dprintf.
4542 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4543
90ec4b7f
VS
45442013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4545
4546 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
4547 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4548 * grub-core/loader/powerpc/ieee1275/linux.c
4549 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4550
f32555dd
VS
45512013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4554 Look for /boot-rom as well as /rom/boot-rom.
4555
38649799
VS
45562013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4557
4558 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
4559 handling when creating text_layer failed.
4560 * grub-core/video/video.c (grub_video_create_render_target):
4561 Set result to 0 on error.
4562 (grub_video_delete_render_target): Do not dereference NULL.
4563
aeace7f7
VS
45642013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4565
4566 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
4567 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
4568 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
4569 (grub_linux_load64): Mask out 2 high bits.
4570
4eafa175
AB
45712013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
4572
4573 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
4574 more place.
4575
daaa64bd
VS
45762013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4577
4578 Add support for pseries and other bootinfo machines to grub-mkrescue.
4579
4580 Tested by: Paulo Flabiano Smorigo.
4581
d0d2daa6
VS
45822013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4583
4584 * util/grub-mkrescue.in: Add GPT for EFI boot.
4585
b193e100
VS
45862013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4587
4588 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
4589 It improves performance in qemu.
4590
a0f8f3ac
VS
45912013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4592
4593 * build-aux/snippet: Add missing gnulib files.
4594
284df0e2
AB
45952013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4596
4597 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
4598
740201f3
AB
45992013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4600
4601 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
4602
a7e03923
PJ
46032013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
46042013-04-15 Peter Jones <pjones@redhat.com>
4605
4606 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
4607 sectors.
4608 Based on patch by Peter Jones.
4609
25fc51a8
VS
46102013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 Fix DMRAID partition handling.
4613
88017d47
VS
46142013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4615
4616 * tests/grub_cmd_date.in: Skip on sparc64.
4617
fa7d914e
VS
46182013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4619
4620 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
4621 firmware error messages.
4622
cbe57a48
VS
46232013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4624
4625 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
4626 source and destination differ.
4627
21aecce0
VS
46282013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4629
4630 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
4631 detection.
4632
25092d29
VS
46332013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
4636 match config-util.h to avoid warnings and increase compatibility.
4637
79451522 46382013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 46392013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
4640
4641 Add option to compress files on install/image creation.
4642
78b7d77b
VS
46432013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4644
4645 * docs/grub-dev.texi: Rearrange menu to match the section order.
4646 Reported by: Bryan Hundven.
4647
cc2fa5ec
VS
46482013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
4651
b49fe879
VS
46522013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4653
4654 Move GRUB out of system area when using xorriso 1.2.9 or later.
4655
5351da81
VS
46562013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 * tests/grub_cmd_date.in: Add missing exit 1.
4659
c9d586ea
VS
46602013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4661
4662 * tests/partmap_test.in: Skip on sparc64.
4663
3f729741
VS
46642013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4665
4666 Support grub-shell on sparc64.
4667
8ca86b3a
VS
46682013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 Support mkrescue on sparc64.
4671
aa1af9bb
VS
46722013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 Allow IEEE1275 ports on path even if it wasn't detected automatically.
4675 Needed on OpenBIOS due to incomplete device tree.
4676
ac4fea79
VS
46772013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
4680 would be otherwise excluded.
4681
46822013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
4683
4684 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4685 Inline name defines used only once.
4686
fe22b071
VS
46872013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 Fix memory leaks in ofnet.
4690 Reported by: Francesco Lavra.
4691
9d21381b
VS
46922013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4693
4694 * docs/man/grub-glue-efi.h2m: Add missing file.
4695
07aec23c
VS
46962013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
4699
67ab8353
VS
47002013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4701
4702 Better support Apple Intel Macs on CD.
4703
ba44ca6d
VS
47042013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4705
4706 Replace stpcpy with grub_stpcpy in tools.
4707
bbdd6305
VS
47082013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4709
4710 Handle Japanese special keys.
4711 Reported by: Hiroyuki YAMAMORI.
4712 Codes supplied by: Hiroyuki YAMAMORI.
4713
8573d302
VS
47142013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 * util/grub-mkimage.c: Document memdisk implying --prefix.
4717
d70dbab7
VS
47182013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4719
4720 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
4721 much we can do about it anyway.
4722
51a4c3e3
AN
47232013-04-12 Aleš Nesrsta <starous@volny.cz>
4724
4725 Fix handling of split transfers.
4726
92c8f58d
VS
47272013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4728
4729 * grub-core/net/http.c: Fix bad free.
4730
b7d17a49
VS
47312013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4732
4733 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
4734 than buffer size.
4735
a3d566d4
VS
47362013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4737
4738 Disable partmap check on i386-ieee1275 due to openfirmware issues.
4739
a936af56
VS
47402013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 * tests/util/grub-shell.in: Fix it on powerpc.
4743
51212234
VS
47442013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 Turn off QEMU ACPI-way since new releases don't have shutdown port
4747 anymore.
4748
a21eec9e
VS
47492013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 * docs/grub.texi: Update coreboot status info.
4752
e3734b84
VS
47532013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * tests/grub_cmd_date.in: New test for datetime.
4756
f9d40055
VS
47572013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 * tests/partmap_test.in: Fix missing qemudisk setting.
4760
dbc56d8f
VS
47612013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4762
4763 Support i386-ieee1275 grub-mkrescue and make check on it.
4764
a79b8a15
VS
47652013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4766
4767 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
4768 feature for it.
4769
48f39bb4
VS
47702013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4771
4772 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
4773 GRUB_CMDLINE_XEN_DEFAULT.
4774 Reported by: Marc Warne (GigaTux) <gigatux>
4775
053cfcdd
VS
47762013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 Import new gnulib.
4779
93cd84df
VS
47802013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4781
4782 Use ACPI shutdown intests as traditional port was removed.
4783
f4b1fa4f
AB
47842013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
4785
4786 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
4787 distinction.
4788
49818a59
VS
47892013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
4792 Fix few warining messages and leaks while on it.
4793
9277a306
AB
47942013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
4795
4796 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
4797 links under grub-core/lib/libgcrypt-grub/mpi.
4798
d5e2a158
VS
47992013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4800
4801 Fix ia64-efi image generation on big-endian machines. Deduplicate
4802 some code while on it.
4803 Reported by: Leif Lindholm.
4804
18866643
AB
48052013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4806
4807 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
4808 as extra_dist.
4809
ca53deb8
AB
48102013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
4811
4812 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
4813
d4c4b8e1
BH
48142013-04-08 Bryan Hundven <bryanhundven@gmail.com>
4815
4816 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
4817 texinfo-5.1.
4818
47043f95
VS
48192013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 * grub-core/normal/term.c: Few more fixes for menu entry editor
4822 rendering.
4823 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4824
a3216068
VS
48252013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4826
4827 * grub-core/normal/term.c: Few more fixes for menu entry editor
4828 rendering.
4829 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4830
21026747
AB
48312013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4832
4833 * conf/Makefile.extra-dist (EXTRA_DIST): Add
4834 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
4835
59624ca8
AB
48362013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
4837
4838 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
4839 instead of hardcoding grub.mo.
4840
1f44478c
FN
48412013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
4842
4843 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
4844
eeada7b1
VS
48452013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4846
4847 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
4848 grub-core/disk/geli.c.
4849
132867de
VS
48502013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 * util/grub-mkfont.c: Prefer enum to #define.
4853
de73de17
VS
48542013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
4857
1865baa7
VS
48582013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
4861
ce7d92a9
VS
48622013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
4865
52eab656
VS
48662013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4867
4868 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
4869
98b23b95
VS
48702013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4871
4872 * include/grub/bsdlabel.h: Use enums.
4873
0467a5dd
VS
48742013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
4875
4876 Move GRUB_CHAR_BIT to types.h.
4877
16cc9f03
AB
48782013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
4879
4880 * docs/grub.texi: Document more user commands.
4881
3152aecb
AB
48822013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
4883
4884 * docs/grub.texi: Document menuentry --id option.
4885
c506fc30
FL
48862013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
4887
4888 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
4889
aa428238
VS
48902013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4891
4892 Unify file copying setup across different install scripts. Add
4893 options for performing partial install.
4894
efe0cdda
PJ
48952013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
48962013-04-04 Peter Jones <pjones@redhat.com>
4897
4898 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
4899
f75835bd
VS
49002013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 Use TSC as a possible time source on i386-ieee1275.
4903
2cd5ce6c
VS
49042013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4905
4906 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
4907 Init err.
4908
c9625630
VS
49092013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4910
4911 * util/grub-setup.c (setup): Handle some corner cases.
4912
be008941
VS
49132013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4914
4915 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
4916
1a78d573
VS
49172013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 * grub-core/commands/verify.c: Save verified file to avoid it being
4920 tampered with after verification was done.
4921
db8ff59f
VS
49222013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
4925 reported width by one to compensate for curesor algorithm problem.
4926
91bf46b1
VS
49272013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 Fix screen corruption in menu entry editor and simplify the code
4930 flow while on it.
4931
a7b1d693
AB
49322013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
4933
4934 * util/grub-mount.c (fuse_init): Return error if fuse_main
4935 failed.
4936
31df9ad8
FL
49372013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
4938
4939 * include/grub/elf.h: Add missing ARM relocation codes and fix
4940 existing ones.
4941
07f392eb
VT
49422013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
4943
4944 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
4945
9efd73ec 49462013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
49472013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
4950 into account when calculating radius.
4951
49522013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
4953
4954 * grub-core/gfxmenu/view.c: Fix off-by-one error.
4955
4985ddaa
VT
49562013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
4957
4958 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
4959
8c3635ff
RS
49602013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
4961
4962 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
4963 missing closing bracket.
4964
74a35e69
RS
49652013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
4966
4967 * INSTALL: Mention xorriso requirement.
4968
40f1c000
AB
49692013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
4970
4971 * grub-core/commands/verify.c: Fix hash algorithms values for
4972 the first three hashes - they start with 1, not with 0.
4973
e75fdee4
VS
49742013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
4977 Try terminating EFI services several times due to quirks in some
4978 implementations.
4979
33028f4c
CW
49802013-03-26 Colin Watson <cjwatson@ubuntu.com>
4981
4982 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
4983 skipping Event, Device, Processor, PowerRes, ThermalZone, and
4984 BankField extended opcodes.
4985 (get_sleep_type): Add minimal scope handling (just enough to
4986 handle setting the scope to the root path).
4987 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
4988 * include/grub/acpi.h: Add enumeration values for Event, Device,
4989 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
4990
33871a10
VT
49912013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
4992
4993 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
4994 memory leak.
4995
8990963a
VS
49962013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
4997
4998 * grub-core/disk/ahci.c: Give more time for AHCI request.
4999
daae8f9e
VS
50002013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
5003 command.
5004
6a7fb94b
VS
50052013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 Replace the region at 0 from coreboot tables to available in BSD
5008 memory map.
5009
ff99babd
VS
50102013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5011
5012 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
5013 non-BIOS platforms.
5014
30d6b1b2
VS
50152013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5016
5017 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
5018 platforms.
5019
6ccd0b31
VS
50202013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5021
5022 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
5023 handling of multi-device filesystems.
5024
23c9cc04
VS
50252013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
5028 platforms.
5029
ce50dbd7
VS
50302013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5031
5032 Add new 'proc' filesystem framework and put luks_script into it.
5033
d975e8d5
VS
50342013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5035
5036 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
5037 and qemu.
5038
e73ba5e8
VS
50392013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5040
5041 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
5042
92750e4c
VS
50432013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5044
5045 Add ability to generate newc additions on runtime.
5046
0ec45a68
VS
50472013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
5050 description.
5051
320abd43
VS
50522013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 * po/POTFILES.in: Regenerate.
5055
d7a6506e
VS
50562013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 * grub-core/commands/verify.c (hashes): Add several hashes
5059 from the spec.
5060
8fe05def
VS
50612013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5062
5063 Slight improve in USB-related boot-time checkpoints.
5064
524e2766
VS
50652013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5066
5067 * grub-core/commands/boottime.c: Fix copyright header.
5068
cc19857a
VS
50692013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
5072 coreboot tables content. Support for cbmemc.
5073
ef8810e9
VS
50742013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 Fix a conflict between ports structures with 2 controllers of
5077 same kind.
5078
e9dabdfa
VS
50792013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 * include/grub/boottime.h: Add missing file.
5082
f6df57d2
VS
50832013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5084
5085 Initialize USB ports in parallel to speed-up boot.
5086
d745dda7
VS
50872013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 Fix USB devices not being detected when requested
5090 due to delayed attach.
5091
e5a2dd7b
VS
50922013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5093
e744219b
VS
5094 Implement boot time analysis framework.
5095
50962013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5097
5098 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
5099 descriptor to just receive it as argument rather than endpoint
5100 address.
5101
5dd6f587
VS
51022013-03-19 Aleš Nesrsta <starous@volny.cz>
5103
5104 Better estimate the maximum USB transfer size.
5105
2f1071d5
VS
51062013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 Resend a packet if we got the wrong buffer in status.
5109
46ecfc49
VS
51102013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
5113 multiplication rather than division.
5114
ea811130
VS
51152013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5116
5117 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
5118 than divisions.
5119
d2789cf0
VS
51202013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5121
5122 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
5123 operations to have intended shifts and not divisions.
5124
a9c94590
VS
51252013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
5128 intended shifts rather than division.
5129
84cfe81b
VS
51302013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5131
5132 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
5133 computation for some years before epoch. Avode confusing division
5134 while on it.
5135
21344ef6
VS
51362013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5137
5138 * grub-core/video/i386/pc/vbe.c
5139 (grub_video_vbe_print_adapter_specific_info): Replace division by
5140 shifts.
5141
3f2b4d1a
VS
51422013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5143
5144 Adjust types in gdb module to have intended unsigned shifts rather than
5145 signed divisions.
5146
3dac5878
VS
51472013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5148
5149 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
5150 maximum size is 4G - 1 on hfs
5151
5341c0fb
VS
51522013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5153
5154 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
5155
fc3ff2a2
VS
51562013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5157
5158 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
5159 function.
5160
81455e8e
AB
51612013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
5162
5163 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
5164 causing gcc error with gcc 4.7.1.
5165
efd4f117
NZ
51662013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5167
5168 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
5169 dereference null pointer. While the code is technically correct, gcc
5170 may eliminate a null check if pointer is already dereferenced.
5171
e11645f4
NZ
51722013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5173
5174 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
5175 OOM check.
5176 * grub-core/normal/term.c (read_terminal_list): Likewise.
5177
77468368
VS
51782013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5179
5180 Lift up core size limits on some platforms. Fix potential memory
5181 corruption with big core on small memory systems. Document remaining
5182 limits.
5183
f6b58fe5
VS
51842013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5185
5186 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
5187 gotoxy to 0,0.
5188
19ce697d
VS
51892013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 Remove all trampoline support. Add -Wtrampolines when
5192 present. Remove symbols used for trampolines to make
5193 link fail if trampolines are present.
5194
73b5d90f
VS
51952013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
5198 append out of its parent.
5199
cb758e96
VS
52002013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5201
5202 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
5203 parent.
5204
3188131f
VS
52052013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
5208 all vars to a macro. All users updated.
5209
e42b2514
VS
52102013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 * grub-core/disk/ieee1275/nand.c: Fix compilation on
5213 i386-ieee1275.
5214
83e1a1a1
VS
52152013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
5218
1d5a880f
VS
52192013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
5222
6e4146c4
VS
52232013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5224
5225 Move to more hookless approach in IEEE1275 devices handling.
5226
99fcda8a
VS
52272013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 * grub-core/kern/term.c (grub_term_normal_color),
5230 (grub_term_highlight_color): Add back lost defaults.
5231
73bf57e2
VS
52322013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 Make elfload not use hooks. Opt for flags and iterators instead.
5235
7f8c105f
VS
52362013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5237
5238 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
5239 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
5240
396d4091
VS
52412013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5242
5243 * grub-core/script/execute.c (gettext_append): Remove nested functions.
5244
52452013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
5248 hook pass-through parameter. All users updated and unnested.
5249
74a27421
VS
52502013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5251
5252 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
5253 out of its parent.
5254
b46d4213
VS
52552013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 * grub-core/fs/hfs.c: Remove nested functions.
5258
e114c3cc
VS
52592013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
5262 the context through.
5263 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
5264
f9b7d780
VS
52652013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5266
5267 * util/grub-editenv.c (list_variables): Move print_var out of its
5268 parent.
5269
ca9c2608
VS
52702013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5271
5272 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
5273 function.
5274
5d983f5f
VS
52752013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5276
5277 * grub-core/gentrigtables.c: Make tables const.
5278
3056d3e7
VS
52792013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5280
5281 Remove nested functions from videoinfo iterators.
5282
e2303774
VS
52832013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5284
5285 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
5286 for 64-bit platforms.
5287
f42e3a2f
VS
52882013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5289
5290 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
5291 a FOR_CHILDREN macro.
5292
be174e5e
VS
52932013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
5296 platform from firmware path.
5297
0789b672
VS
52982013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 Enable linux16 on non-BIOS systems for i.a. memtest.
5301
5302 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
5303 correctly.
5304 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
5305
005a9c32
VS
53062013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
5309 Fix end of table condition.
5310
ff2b3cd9
VS
53112013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
5314 out of its parent.
5315
4fc40ff8
VS
53162013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 * grub-core/fs/jfs.c: Remove nested functions.
5319
be42d97a
VS
53202013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 * grub-core/fs/minix.c: Remove nested functions.
5323
99373ce4
VS
53242013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5325
5326 * grub-core/fs/iso9660.c: Remove nested functions.
5327
5aec2afe
VS
53282013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
5331 of parent function.
5332
6c69e691
VS
53332013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5334
5335 * util/grub-fstest.c: Remove nested functions.
5336
43c91882
VS
53372013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5338
5339 * grub-core/loader/machoXX.c: Remove nested functions.
5340
4eb8b756
CW
53412013-02-27 Colin Watson <cjwatson@ubuntu.com>
5342
5343 Remove nested functions from disk and file read hooks.
5344
5345 * include/grub/disk.h (grub_disk_read_hook_t): New type.
5346 (struct grub_disk): Add read_hook_data member.
5347 * include/grub/file.h (struct grub_file): Likewise.
5348 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
5349 argument.
5350
5351 Update all callers.
5352
df6da5a5
AB
53532012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
5354
5355 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
5356 Fix off by one error in enumerating extended partitions.
5357
21aecde5
AB
53582013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
5359
5360 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
5361 memory leak if device name is not found.
5362
f1a19118
AB
53632013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5364
5365 * grub-core/normal/menu_entry.c (update_screen): remove
5366 unused variable `off' which caused scroll down arrow to be always shown.
5367
958bfd20
AB
53682013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5369
5370 * grub-core/normal/menu_entry.c (insert_string): fix off by one
5371 access to unallocated memory.
5372
b7b78edb
AB
53732013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5374
5375 * Makefile.util.def: Add partmap/msdos.c to common library.
5376 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
5377 * grub-core/disk/ldm.c: Check for existence of
5378 GRUB_PC_PARTITION_TYPE_LDM.
5379
28d468d6
VS
53802013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
5383 sizes and display sector size.
5384
d55ffb02
VS
53852013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 Implement new command cmosdump.
5388
b5ea6ce0
VS
53892013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5390
5391 Support Openfirmware disks with non-512B sectors.
5392
5393 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
5394 size of the disk.
5395 * (grub_ofdisk_get_block_size): New function.
5396 * (grub_ofdisk_prepare): Use the correct block size.
5397 * (grub_ofdisk_read): Likewise.
5398 * (grub_ofdisk_write): Likewise.
5399 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
5400 New proto.
5401
cc0e476f
VS
54022013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5403
5404 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
5405
c5dbdc33
VS
54062013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
5409 on first error.
5410
3f078c0f
VS
54112013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5412
5413 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
5414 freeing it.
5415
66a93674
VS
54162013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5417
5418 Implement USBDebug (full USB stack variant).
5419
c9f0c134
VS
54202013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5421
5422 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
5423 unless they have unexpected values.
5424
cfe1288b
VS
54252013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5426
5427 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
5428 grub_print_error.
5429
e42b9969
VS
54302013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5431
5432 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
5433 zero-out of port structure.
5434
cf94fd62
VS
54352013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5436
5437 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
5438 of extended attributes.
5439
f81ef4b5
AB
54402013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
5441
5442 * util/grub-install.in: change misleading comment about
5443 device.map creation
5444
af18fdb4
VS
54452013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5446
5447 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
5448 when menu highlight color isn't set.
5449
08bcec50
M
54502013-01-27 C. Masloch <pushbx@38.de>
5451
5452 Improve FreeDOS direct loading support compatibility.
5453
5454 * include/grub/i386/relocator.h (grub_relocator16_state):
5455 New member ebp.
5456 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
5457 variable.
5458 (grub_relocator16_boot): Handle %ebp.
5459 * grub-core/lib/i386/relocator16.S: Likewise.
5460 * grub-core/loader/i386/pc/freedos.c:
5461 Load BPB to pass kernel which partition to load from.
5462 Check that kernel file is not too large.
5463 Set register dl to BIOS unit number as well.
5464
7782b8a6
CW
54652013-01-22 Colin Watson <cjwatson@ubuntu.com>
5466
5467 * util/grub-reboot.in (usage): Document the need for
5468 GRUB_DEFAULT=saved.
5469 * util/grub-set-default.in (usage): Likewise.
5470 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
5471
e661c180
VS
54722013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5473
5474 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
5475 than defining WORDS_BIGENDIAN manually.
5476
1c22ca9a
VS
54772013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5478
5479 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
5480 invariants.
5481
d44892fe
CW
54822013-01-21 Colin Watson <cjwatson@ubuntu.com>
5483
5484 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
5485 nested.
5486 (blit_comb: add_device_width): Likewise.
5487
5fdbaed1
CW
54882013-01-21 Colin Watson <cjwatson@ubuntu.com>
5489
5490 Remove nested functions from USB iterators.
5491
5492 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
5493 (grub_usb_controller_iterate_hook_t): Likewise.
5494 (grub_usb_iterate): Add hook_data argument.
5495 (grub_usb_controller_iterate): Likewise.
5496 (struct grub_usb_controller_dev.iterate): Likewise.
5497
5498 Update all implementations and callers.
5499
4250985a
VS
55002013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
5503 margin when not needed.
5504
7d8848f3
VS
55052013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5506
bc136973 5507 Make color variables global instead of it being per-terminal.
7d8848f3
VS
5508
55092013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5510
bc136973
VS
5511 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
5512 asterisk.
7d8848f3 5513
ed12a003
CW
55142013-01-21 Colin Watson <cjwatson@ubuntu.com>
5515
5516 Fix powerpc and sparc64 build failures caused by un-nesting memory
5517 map iterators.
5518
6a0db449
CW
55192013-01-21 Colin Watson <cjwatson@ubuntu.com>
5520
5521 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
5522 parameter declarations.
5523
ccd86b21
VS
55242013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5525
5526 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
5527
822b726b
VS
55282013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5529
5530 Improve spkmomdem reliability by adding a separator between bytes.
5531
115c2cc1
CW
55322013-01-21 Colin Watson <cjwatson@ubuntu.com>
5533
5534 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
5535 an Acer registration utility with several sightings in the wild.
5536 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
5537
fc524edf
CW
55382013-01-21 Colin Watson <cjwatson@ubuntu.com>
5539
5540 Remove nested functions from filesystem directory iterators.
5541
5542 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
5543 (struct grub_fs.dir): Add hook_data argument.
5544
5545 Update all implementations and callers.
5546
53d3e4e3
CW
55472013-01-21 Colin Watson <cjwatson@ubuntu.com>
5548
5549 * docs/grub.texi (Multi-boot manual config): Fix typo for
5550 "recommended".
5551
c821711f
LL
55522013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5553
5554 * util/grub-mkimage.c (main): Postpone freeing arguments.output
5555 until after its use in generate_image.
5556
6a0debbd
CW
55572013-01-20 Colin Watson <cjwatson@ubuntu.com>
5558
5559 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
5560 initrd size to addr_min, since the initrd will be allocated after
5561 this address.
5562
f41e08db
AB
55632013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5564
5565 * conf/Makefile.common: Fix autogen rules to pass definition
5566 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
5567
77529e0f
LL
55682013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5569
5570 * include/grub/elf.h: Update ARM definitions based on binutils.
5571
b879aa7b
VS
55722013-01-20 Aleš Nesrsta <starous@volny.cz>
5573
5574 Split long USB transfers into short ones.
5575
8eb8284d
AB
55762013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5577
5578 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
5579 is interrupted by ESC.
5580
08dad2dc
VS
55812013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 * util/grub-script-check.c (main): Uniform the error message.
5584
6c724b85
CW
55852013-01-20 Colin Watson <cjwatson@ubuntu.com>
5586
5587 Remove nested functions from ELF iterators.
5588
25239370
CW
55892013-01-20 Colin Watson <cjwatson@ubuntu.com>
5590
5591 Remove nested functions from device iterators.
5592
5593 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
5594 (grub_arc_iterate_devs): Add hook_data argument.
5595 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
5596 (struct grub_ata_dev.iterate): Add hook_data argument.
5597 * include/grub/device.h (grub_device_iterate_hook_t): New type.
5598 (grub_device_iterate): Add hook_data argument.
5599 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
5600 (struct grub_disk_dev.iterate): Add hook_data argument.
5601 (grub_disk_dev_iterate): Likewise.
5602 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
5603 Likewise.
5604 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
5605 Likewise.
5606 * include/grub/partition.h (grub_partition_iterate_hook_t): New
5607 type.
5608 (struct grub_partition_map.iterate): Add hook_data argument.
5609 (grub_partition_iterate): Likewise.
5610 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
5611 (struct grub_scsi_dev.iterate): Add hook_data argument.
5612
5613 Update all callers.
5614
6c0314d6
CW
56152013-01-20 Colin Watson <cjwatson@ubuntu.com>
5616
5617 Fix typos for "developer" and "development".
5618
600dc5f1
VS
56192013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5620
5621 Add license header to spkmodem-recv.c.
5622
17334a6b
VS
56232013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5624
5625 Rewrite spkmodem to use PIT for timing. Double the speed.
5626
7d462559
VS
56272013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 Add new command pcidump.
5630
b78d6c32
VS
56312013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5632
5633 New terminal outputs using serial: morse and spkmodem.
5634
34f71cb8
VS
56352013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5636
5637 Improve bidi handling in entry editor.
5638
4542e71b
VS
56392013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5640
5641 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5642 argument to prevent name collision.
5643
09fd6d82
CW
56442013-01-15 Colin Watson <cjwatson@ubuntu.com>
5645
5646 Remove nested functions from script reading and parsing.
5647
5648 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
5649 getline_data argument, passed to getline.
5650 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
5651 getline_data argument, passed to grub_parser_split_cmdline.
5652 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
5653 lexerstate->getline_data to lexerstate->getline.
5654 (grub_script_lexer_init): Add getline_data argument, saved in
5655 lexerstate->getline_data.
5656 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
5657 argument, passed to grub_script_parse.
5658 * grub-core/script/script.c (grub_script_parse): Add getline_data
5659 argument, passed to grub_script_lexer_init.
5660 * include/grub/parser.h (grub_parser_split_cmdline): Update
5661 prototype. Update all callers to pass appropriate getline data.
5662 (struct grub_parser.parse_line): Likewise.
5663 (grub_rescue_parse_line): Likewise.
5664 * include/grub/reader.h (grub_reader_getline_t): Add void *
5665 argument.
5666 * include/grub/script_sh.h (struct grub_lexer_param): Add
5667 getline_data member.
5668 (grub_script_parse): Update prototype. Update all callers to pass
5669 appropriate getline data.
5670 (grub_script_lexer_init): Likewise.
5671 (grub_normal_parse_line): Likewise.
5672
5673 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
5674 data argument.
5675 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
5676 static instead of nested. Rename to ...
5677 (grub_parser_execute_getline): ... this.
5678 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
5679 data argument.
5680 * grub-core/normal/main.c (read_config_file: getline): Make static
5681 instead of nested. Rename to ...
5682 (read_config_file_getline): ... this.
5683 (grub_normal_read_line): Add unused data argument.
5684 * grub-core/script/execute.c (grub_script_execute_sourcecode:
5685 getline): Make static instead of nested. Rename to ...
5686 (grub_script_execute_sourcecode_getline): ... this.
5687 * util/grub-script-check.c (main: get_config_line): Make static
5688 instead of nested.
5689
d0d4b8a0
CW
56902013-01-15 Colin Watson <cjwatson@ubuntu.com>
5691
5692 Remove nested functions from memory map iterators.
5693
5694 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
5695 argument, passed to hook.
5696 * grub-core/kern/i386/coreboot/mmap.c
5697 (grub_linuxbios_table_iterate): Likewise.
5698 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
5699 instead of nested.
5700 (grub_machine_mmap_iterate): Add hook_data argument.
5701 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
5702 Add hook_data argument, passed to hook.
5703 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
5704 Likewise.
5705 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5706 Likewise.
5707 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
5708 Likewise.
5709 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
5710 Likewise.
5711 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
5712 Likewise.
5713 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
5714 Likewise.
5715 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
5716 (grub_machine_mmap_iterate): Likewise.
5717 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
5718 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
5719 prototype.
5720 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
5721 Remove NESTED_FUNC_ATTR from here and from all users.
5722 (grub_mmap_iterate): Update prototype.
5723 (grub_efi_mmap_iterate): Update prototype. Update all callers to
5724 pass appropriate hook data.
5725 (grub_machine_mmap_iterate): Likewise.
5726
5727 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
5728 static instead of nested.
5729 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
5730 Rename to ...
5731 (lsmmap_hook): ... this.
5732 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
5733 Likewise.
5734 (grub_efiemu_mmap_fill: fill_hook): Likewise.
5735 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
5736 heap_init): Likewise.
5737 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
5738 Rename to ...
5739 (mmap_iterate_hook): ... this.
5740 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
5741 Likewise.
5742 * grub-core/lib/ieee1275/relocator.c
5743 (grub_relocator_firmware_get_max_events: count): Likewise.
5744 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
5745 to ...
5746 (grub_relocator_firmware_fill_events_iter): ... this.
5747 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
5748 hook): Likewise. Rename to ...
5749 (grub_relocator_alloc_chunk_align_iter): ... this.
5750 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
5751 Rename to ...
5752 (generate_e820_mmap_iter): ... this.
5753 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
5754 Rename to ...
5755 (count_hook): ... this.
5756 (grub_linux_boot: hook): Likewise. Rename to ...
5757 (grub_linux_boot_mmap_find): ... this.
5758 (grub_linux_boot: hook_fill): Likewise. Rename to ...
5759 (grub_linux_boot_mmap_fill): ... this.
5760 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
5761 hook): Likewise. Rename to ...
5762 (grub_fill_multiboot_mmap_iter): ... this.
5763 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
5764 hook): Likewise. Rename to ...
5765 (count_hook): ... this.
5766 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
5767 hook): Likewise. Rename to ...
5768 (grub_fill_multiboot_mmap_iter): ... this.
5769 * grub-core/loader/powerpc/ieee1275/linux.c
5770 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
5771 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
5772 Likewise. Rename to ...
5773 (alloc_phys_choose): ... this.
5774 (determine_phys_base: get_physbase): Likewise.
5775 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
5776 find_hook): Likewise.
5777 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
5778 (malloc_hook: count_hook): Likewise.
5779 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
5780 Likewise. Rename to ...
5781 (lower_hook): ... this.
5782 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5783 (upper_hook): ... this.
5784 (grub_mmap_get_post64: hook): Likewise. Rename to ...
5785 (post64_hook): ... this.
5786 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
5787 Likewise. Rename to ...
5788 (lower_hook): ... this.
5789 (grub_mmap_get_upper: hook): Likewise. Rename to ...
5790 (upper_hook): ... this.
5791 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
5792 (grub_mmap_iterate: fill_hook): Likewise.
5793 (fill_mask): Pass addr and mask within a single struct.
5794 (grub_cmd_badram: hook): Make static instead of nested. Rename
5795 to ...
5796 (badram_iter): ... this.
5797 (grub_cmd_cutmem: hook): Likewise. Rename to ...
5798 (cutmem_iter): ... this.
5799
22099030
VS
58002013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5801
5802 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
5803 delimit path in strings using quotes.
5804 * util/getroot.c (grub_guess_root_devices): Likewise.
5805 (grub_make_system_path_relative_to_its_root): Likewise.
5806 * util/grub-probe.c (probe): Likewise.
5807 * util/ieee1275/ofpath.c (find_obppath): Likewise.
5808 (xrealpath): Likewise.
5809
4a9950ec
VS
58102013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5811
5812 Fix compilation with older compilers.
5813
5814 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
5815 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
5816 declarations.
5817 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
5818 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
5819 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
5820 identifier with b.
5821 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
5822 * include/grub/crypto.h: Add type defines.
5823 * util/import_gcrypth.sed: Remove duplicate type defines.
5824
adcc6020
VS
58252013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 New command list_trusted.
5828
5829 * grub-core/commands/verify.c (grub_cmd_list): New function.
5830
a4528937
CW
58312013-01-13 Colin Watson <cjwatson@ubuntu.com>
5832
5833 * util/grub-mkimage.c (generate_image): Fix "size of public key"
5834 info message.
5835
ca3a7446
CW
58362013-01-13 Colin Watson <cjwatson@ubuntu.com>
5837
5838 Remove nested functions from PCI iterators.
5839
5840 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
5841 passed to hook. Update all callers to pass appropriate hook data.
5842 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
5843 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
5844 Remove NESTED_FUNC_ATTR from here and from all users.
5845 (grub_pci_iterate): Update prototype.
5846 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
5847 instead of nested. Rename to ...
5848 (grub_cs5536_find_iter): ... this.
5849 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
5850 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
5851 Likewise.
5852 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
5853 Likewise.
5854 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
5855 Likewise.
5856 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
5857 Likewise.
5858 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
5859 * grub-core/video/radeon_fuloong2e.c
5860 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
5861 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
5862 find_card): Likewise.
5863 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
5864 Likewise.
5865
f8e98fee
VS
58662013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5867
5868 * grub-core/commands/verify.c: Mark messages for translating.
5869
055b36b6
VS
58702013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
5873 fatal.
5874
f7ff879b
VS
58752013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
5878 fatal.
5879
58802013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
5881
5882 * autogen.sh: Do not try to delete nonexistant files.
5883 * util/import_gcrypth.sed: Add some missing header removals.
5884
01323d49
CW
58852013-01-12 Colin Watson <cjwatson@ubuntu.com>
5886
5887 Clean up dangling references to grub-setup.
5888 Fixes Ubuntu bug #1082045.
5889
5890 * docs/grub.texi (Images): Refer generally to grub-install rather
5891 than directly to grub-setup.
5892 (Installing GRUB using grub-install): Remove direct reference to
5893 grub-setup.
5894 (Device map) Likewise.
5895 (Invoking grub-install): Likewise.
5896 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5897 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5898 * util/grub-install.in (usage): Likewise.
5899
5900 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
5901 Apply to grub-bios-setup and grub-sparc64-setup rather than to
5902 grub-setup.
5903 * configure.ac: Remove grub_setup output variable.
5904
5905 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
5906 to grub-bios-setup.
5907 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
5908 grub-setup to grub-sparc64-setup.
5909
5e3b8dcb
VS
59102013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5911
5912 Import gcrypt public-key cryptography and implement signature checking.
5913
535714bd
VS
59142013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 * grub-core/fs/ntfs.c: Ue more appropriate types.
5917 * grub-core/fs/ntfscomp.c: Likewise.
5918 * include/grub/ntfs.h: Likewise.
5919
3e4f3566
VS
59202013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5921
5922 Support Apple FAT binaries on non-Apple platforms.
5923
5924 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
5925 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
5926 Likewise.
5927 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
5928 Apple FAT binaries.
5929
4dedb13f
VS
59302013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5931
5932 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
5933 sector devices.
5934
f8861eaf
CW
59352013-01-07 Colin Watson <cjwatson@ubuntu.com>
5936
5937 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
5938 explicitly zeroing elements.
5939 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
5940 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
5941 of elements in a structure already allocated using grub_zalloc.
5942 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
5943
86065b0a
CW
59442013-01-07 Colin Watson <cjwatson@ubuntu.com>
5945
5946 * docs/grub.texi (grub_cpu): New subsection.
5947 (grub_platform): Likewise.
5948
c6f1e92f
VS
59492013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5950
5951 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
5952
f797ec85
VS
59532013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5954
5955 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
5956 divisions.
5957
033d0b4b
VS
59582013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5959
5960 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
5961 * grub-core/fs/ntfscomp.c: Likewise.
5962 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
5963 (grub_ntfs_comp): Likewise.
5964
21d1b9a0
VS
59652013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5966
5967 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
5968 Rename to ...
5969 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
5970 of groups_per_block. All users updated.
5971
10ca8645
VS
59722013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5973
5974 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
5975 grub_error properly.
5976 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
5977 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
5978
a4c3ed4c
VS
59792013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5980
5981 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
5982 always in /boot/zfs.
5983 Reported by: Yuta Satoh.
5984
0b716507
YS
59852013-01-03 Yuta Satoh <nigoro>
5986
5987 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
5988 ${grub_probe}
5989
00c05e22
VS
59902013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5991
5992 * configure.ac: Extend -Wno-trampolines to host.
5993
dadddb76
VS
59942013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5995
5996 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
5997 entry->len = 0.
5998
54ce53ca
CW
59992013-01-03 Colin Watson <cjwatson@ubuntu.com>
6000
6001 * docs/grub.texi (Invoking grub-mkrelpath): New section.
6002 (Invoking grub-script-check): Likewise.
6003
8912efca
CW
60042013-01-03 Colin Watson <cjwatson@ubuntu.com>
6005
6006 * docs/grub.texi (Invoking grub-mount): New section.
6007 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
6008
c3fc8394
CW
60092013-01-02 Colin Watson <cjwatson@ubuntu.com>
6010
6011 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
6012 test failures, so that a failing unit test correctly causes 'make
6013 check' to fail.
6014
45d26abb
CW
60152013-01-02 Colin Watson <cjwatson@ubuntu.com>
6016
6017 Fix failing printf test.
6018
6019 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
6020 '$' in the correct order when collecting type information.
6021
971dd2c6
CW
60222013-01-02 Colin Watson <cjwatson@ubuntu.com>
6023
6024 * docs/grub.texi (configfile): Explain environment variable
6025 handling.
6026 (source): New section.
6027 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
6028
5c67ea6c
CW
60292012-12-31 Colin Watson <cjwatson@ubuntu.com>
6030
6031 Remove several trivially-unnecessary uses of nested functions.
6032
6033 * grub-core/commands/i386/pc/sendkey.c
6034 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
6035 instead of nested.
6036 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
6037 Rename to ...
6038 (legacy_file_getline): ... this.
6039 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
6040 Likewise.
6041 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
6042 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
6043 to ...
6044 (probe_dummy_iter): ... this.
6045 * grub-core/kern/i386/coreboot/mmap.c
6046 (grub_linuxbios_table_iterate: check_signature): Likewise.
6047 * grub-core/kern/parser.c (grub_parser_split_cmdline:
6048 check_varstate): Likewise. Mark inline.
6049 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
6050 an additional parameter.
6051 (find_long: fnd_long): Likewise. Pass two additional parameters.
6052 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
6053 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
6054 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
6055 Likewise. Rename to ...
6056 (grub_cmos_find_port_iter): ... this.
6057 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
6058 Rename to ...
6059 (find_rtc_iter): ... this.
6060
6061 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
6062 function directly into the function body, since it is only called
6063 once.
6064
33a68ac6
CW
60652012-12-30 Colin Watson <cjwatson@ubuntu.com>
6066
6067 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
6068 __attribute__ ((unused)).
6069 * grub-core/video/bochs.c (find_card): Likewise.
6070 * grub-core/video/cirrus.c (find_card): Likewise.
6071 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
6072 * grub-core/video/sis315pro.c (find_card): Likewise.
6073 * grub-core/video/sm712.c (find_card): Likewise.
6074
608b647a
CW
60752012-12-28 Colin Watson <cjwatson@ubuntu.com>
6076
6077 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
6078 Fixes Savannah bug #37821.
6079
fd49ceb3
CW
60802012-12-28 Colin Watson <cjwatson@ubuntu.com>
6081
6082 Apply program name transformations at build-time rather than at
6083 run-time. Fixes Debian bug #696465.
6084
6085 * acinclude.m4 (grub_TRANSFORM): New macro.
6086 * configure.ac: Create output variables with transformed names for
6087 most programs.
6088 * util/bash-completion.d/grub-completion.bash.in: Use
6089 pre-transformed variables for program names.
6090 * util/grub-install.in: Likewise.
6091 * util/grub-kbdcomp.in: Likewise.
6092 * util/grub-mkconfig.in: Likewise.
6093 * util/grub-mkconfig_lib.in: Likewise.
6094 * util/grub-mknetdir.in: Likewise.
6095 * util/grub-mkrescue.in: Likewise.
6096 * util/grub-mkstandalone.in: Likewise.
6097 * util/grub-reboot.in: Likewise.
6098 * util/grub-set-default.in: Likewise.
6099 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6100 * tests/util/grub-shell-tester.in: Remove unused assignment.
6101 * tests/util/grub-shell.in: Likewise.
6102 * util/grub.d/00_header.in: Likewise.
6103
7024b3c0
CW
61042012-12-28 Colin Watson <cjwatson@ubuntu.com>
6105
6106 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
6107
6108 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
6109 HAVE_RAW_DECL_GETS.
6110 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
6111
e3501b13
VS
61122012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6113
6114 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
6115 Reported by: Eriks Latosheks <foresterlv>.
6116
b40c88a9
VS
61172012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6118
6119 * docs/grub.texi (Network): Update instructions on generating netboot
6120 image.
6121
ce96d01c
VS
61222012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6123
6124 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
6125 around device name if necessarry.
6126
0f596201
PFS
61272012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6128
6129 * util/grub-install.in: Follow the symbolic link parameter added
6130 to the file command.
6131
600d5bdb
AB
61322012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
6133
6134 * util/grub-install.in: Remove stale TODO.
6135
64ebd2f4
PFS
61362012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6137
6138 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
6139 dynamic allocation for the bootpath buffer.
6140
74b2fe3e
DTB
61412012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
6142
6143 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
6144 window too small.
6145
969b804f
VS
61462012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6147
6148 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
6149 argument rather than font name. All users updated.
6150 (grub_gfxterm_set_window): Likewise.
6151
b9f5ebd6
VT
61522012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
6153
6154 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
6155 from working.
6156
258f43b7
VS
61572012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 * util/getroot.c (convert_system_partition_to_system_disk): Support
6160 nbd disks.
6161
cc1ce5f9
VS
61622012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6163
6164 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
6165 infinite loop on corrupted FS.
6166
e77a16ca
VS
61672012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6168
6169 Fix big-endian mtime.
6170
6171 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
6172 together sec and usec.
6173 (grub_ufs_dir): Use correct byteswapping for UFS time.
6174
d9c48c7b
VS
61752012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 Support big-endian UFS1.
6178
6179 * Makefile.util.def (libgrubmods): Add ufs_be.c
6180 * grub-core/Makefile.core.def (ufs1_be): New module.
6181 * grub-core/fs/ufs_be.c: New file.
6182 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
6183 the file.
6184
2f9f40ba
LL
61852012-11-28 Leif Lindholm <leif.lindholm@arm.com>
6186
6187 * include/grub/types.h: Fix functionality unaffecting typo in
6188 GRUB_TARGET_WORDSIZE conditional macro.
6189
48ff0889
PFS
61902012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6191
6192 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
6193
03711240
GS
61942012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6195
6196 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
6197 that /netbsd appears first (when it exists).
6198
a31b11bd
CJ
61992012-10-12 Christoph Junghans <ottxor@gentoo.org>
6200
6201 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
6202 Fixes Savannah bug #37558.
6203
e8a5d5d4
CW
62042012-10-12 Colin Watson <cjwatson@ubuntu.com>
6205
6206 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
6207 description of extract_entries_configfile.
6208
62092012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
6210
6211 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
6212 preferred_address.
6213 (grub_cmd_linux): Likewise.
6214 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
6215 preferred_lifetime. Update all users.
6216
288c757d
CW
62172012-09-26 Colin Watson <cjwatson@ubuntu.com>
6218
6219 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
6220 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
6221
0d35da3f
CW
62222012-09-26 Colin Watson <cjwatson@ubuntu.com>
6223
6224 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
6225 errors from grub-probe to /dev/null, not stdout.
6226
b78c3127
VS
62272012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
6230 sector 1.
6231
473959f0
CW
62322012-09-24 Colin Watson <cjwatson@ubuntu.com>
6233
6234 * util/grub-install.in: Make the error message if $source_dir
6235 doesn't exist more useful.
6236
794c8c33
CW
62372012-09-22 Colin Watson <cjwatson@ubuntu.com>
6238
6239 Fix grub-emu build on FreeBSD.
6240
6241 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
6242 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
6243 headers on Linux.
6244 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
6245 implementation is currently Linux-specific.
6246 * util/getroot.c (exec_pipe): Define only on Linux or when either
6247 libzfs or libnvpair is unavailable.
6248 (find_root_devices_from_poolname): Remove unused path variable.
6249
86d08fdb
CW
62502012-09-19 Colin Watson <cjwatson@ubuntu.com>
6251
6252 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
6253 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
6254 should fit before end == 63.
6255
735abf54
CW
62562012-09-19 Colin Watson <cjwatson@ubuntu.com>
6257
6258 * util/grub-setup.c (write_rootdev): Remove unused core_img
6259 parameter. Update all callers.
6260 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
6261 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
6262 GRUB_SETUP_BIOS.
6263
140acd3c
VS
62642012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6265
6266 * util/grub-mkconfig_lib.in (grub_tab): New variable.
6267 (grub_add_tab): New function.
6268 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
6269 * util/grub.d/10_illumos.in: Likewise.
6270 * util/grub.d/10_kfreebsd.in: Likewise.
6271 * util/grub.d/10_linux.in: Likewise.
6272 * util/grub.d/10_netbsd.in: Likewise.
6273 * util/grub.d/10_windows.in: Likewise.
6274 * util/grub.d/10_xnu.in: Likewise.
6275 * util/grub.d/20_linux_xen.in: Likewise.
6276 * util/grub.d/30_os-prober.in: Likewise.
6277
7ddffdad
VS
62782012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6279
6280 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6281 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
6282 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
6283 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
6284 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
6285 ieee1275-nocursor.
6286 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6287 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
6288
4e092454
VS
62892012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6290
6291 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
6292 le-conversion.
6293 Reported by: BURETTE, Bernard.
6294
735abf54 62952012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
6296
6297 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
6298 from comment.
6299
dfd39dbd
CW
63002012-09-14 Colin Watson <cjwatson@ubuntu.com>
6301
6302 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
6303 IEEE1275 machines. Fixes powerpc-emu compilation.
6304 * include/grub/terminfo.h: Likewise.
6305
3bfa763c
VS
63062012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
6309 a const pointer.
6310 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
6311 const pointer.
6312 (efiemu_set_variable): Make vendor_guid a const pointer.
6313
250e475b
VS
63142012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6315
6316 Don't require grub-mkconfig_lib to generate manpages for programs.
6317
6318 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
6319 dependencies, don't add grub-mkconfig_lib.
6320 (program): Pass empty adddeps.
6321 (script): Pass grub-mkconfig_lib as adddeps.
6322
592fd0e4
VS
63232012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6324
6325 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
6326 * util/getroot.c (grub_find_device): Likewise.
6327 (get_mdadm_uuid): Likewise.
6328 (grub_util_is_imsm): Likewise.
6329 (grub_util_pull_device): Likewise.
6330 * util/grub-probe.c (probe): Likewise.
6331
801a3027
BG
63322012-09-10 Benoit Gschwind <gschwind>
6333
6334 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
6335 (devs): Add devpath_8.
6336
c5052c81
PJ
63372012-09-08 Peter Jones <pjones@redhat.com>
6338
6339 * grub-core/Makefile.core.def (efifwsetup): New module.
6340 * grub-core/commands/efi/efifwsetup.c: New file.
6341 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
6342 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
6343 New define.
6344 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
6345
8e832f71
JS
63462012-09-05 Jiri Slaby <jslaby@suse.cz>
6347
6348 * configure.ac: Add SuSe path.
6349
f0f55752
CW
63502012-09-05 Colin Watson <cjwatson@ubuntu.com>
6351
6352 * NEWS: Fix typo.
6353
ecadc4c2
CW
63542012-09-05 Colin Watson <cjwatson@ubuntu.com>
6355
6356 * util/import_gcry.py: Sort cipher_files, to make build system
6357 generation more deterministic.
6358
64498f25
VS
63592012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6360
6361 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
6362 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
6363 (grub_set_datetime): Likewise.
6364
9cc836a2
VS
63652012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6366
6367 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
6368 warnings.
6369
bcfcea01
VS
63702012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6371
6372 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
6373
a4099485
VS
63742012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6375
6376 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
6377
265c162a
CW
63782012-09-04 Colin Watson <cjwatson@ubuntu.com>
6379
6380 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
6381 required for checkouts from bzr, but it may be useful for users or
6382 distributors wishing to update translations against a tarball
6383 distribution, and it can be helpful for the tarball to be a superset
6384 of what's in bzr.
6385
3d171e95
CW
63862012-09-04 Colin Watson <cjwatson@ubuntu.com>
6387
6388 * Makefile.am (EXTRA_DIST): Add
6389 grub-core/tests/boot/linux.init-mips.S,
6390 grub-core/tests/boot/linux.init-ppc.S, and
6391 grub-core/tests/boot/linux-ppc.cfg.
6392
f2c2503e
CW
63932012-09-04 Colin Watson <cjwatson@ubuntu.com>
6394
6395 * grub-core/mmap/mips/loongson: Remove empty directory.
6396
63972012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
6398
6399 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
6400 gone.
6401
ab2163d5
CW
64022012-09-04 Colin Watson <cjwatson@ubuntu.com>
6403
6404 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
6405 grub-sparc64-setup.
6406
ce938140
GS
64072012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
6408
6409 * configure.ac: Strengthen the test for working -nostdinc -isystem.
6410
529f58a5
GS
64112012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6412
6413 * po/POTFILES.in: Regenerated.
6414
16cf79e9
GS
64152012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6416
6417 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
6418 (NetBSD): New subsection.
6419
39b27f1e 64202012-07-22 Ales Nesrsta <starous@volny.cz>
6421
6422 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
6423 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
6424
a885261b
VS
64252012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6426
6427 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
6428 * util/grub.d/10_hurd.in: Add missing quoting.
6429 * util/grub.d/10_illumos.in: Likewise.
6430 * util/grub.d/10_kfreebsd.in: Likewise.
6431 * util/grub.d/10_linux.in: Likewise.
6432 * util/grub.d/20_linux_xen.in: Likewise.
6433
7bd29c01
VS
64342012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6435
6436 New command `lsefi'.
6437
6438 * grub-core/Makefile.core.def (lsefi): New module.
6439 * grub-core/commands/efi/lsefi.c: New file.
6440 * include/grub/efi/api.h: Add more GUIDs.
6441
ac625d8f
VS
64422012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6443
6444 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
6445 (grub_bsd_elf32_hook): Likewise.
6446 (grub_bsd_elf64_size_hook): Likewise.
6447 (grub_bsd_elf64_hook): Likewise.
6448 (grub_bsd_load_elf): Likewise.
6449
e73bb801
VS
64502012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6451
6452 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
6453 if hash function is unavailable.
6454 (dec_stream_header): Likewise.
6455
e81db8b5
VS
64562012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6457
6458 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
6459 filter state.
6460
d187a1c3
VS
64612012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 Fix coreboot compilation.
6464
6465 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
6466 (grub_vga_text_init_real): ... this.
6467 (grub_vga_text_fini): Rename to ...
6468 (grub_vga_text_fini_real): ... this.
6469
91a05f64
VS
64702012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6471
6472 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
6473
6af96df7
VS
64742012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 * grub-core/lib/legacy_parse.c: Support clear and testload.
6477
4d569e12
VS
64782012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6479
6480 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
6481
073b57bb
VS
64822012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 * grub-core/fs/ext2.c: Experimental support for 64-bit.
6485
a706f4cc
VS
64862012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6487
6488 * grub-core/net/tftp.c (ack): Fix endianness problem.
6489 (tftp_receive): Likewise.
6490 Reported by: Michael Davidsaver.
6491
e7850aa9
VS
64922012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6493
6494 * gentpl.py: Make mans depend on grub-mkconfig_lib.
6495
64962012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6497
6498 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
6499 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
6500 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
6501
35692881
VS
65022012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6503
6504 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
6505 efi_mmap_size.
6506 Reported by: Stuart Hayes.
6507
c35fc5bd
VS
65082012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6509
6510 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
6511
6512 * grub-core/Makefile.core.def (mda_text): New module.
6513 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
6514 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
6515 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
6516 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
6517 here.
6518 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
6519 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
6520 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
6521 here.
6522 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
6523 to ..
6524 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
6525 ... here
6526 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
6527 here.
6528 * grub-core/term/i386/vga_common.c: Removed.
6529 * include/grub/i386/vga_common.h: Likewise.
6530 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
6531 (grub_vga_cr_bw_read): Likewise.
6532 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
6533 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
6534 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
6535 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
6536 grub_vga_cr_read/grub_vga_cr_write.
6537 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
6538
5f91f701
VS
65392012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6540
6541 * configure.ac: Bump version to 2.00.
6542 * grub-core/normal/main.c (features): Add feature_200_final.
6543
0c4f85f6
VS
65442012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
65452012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
6546
6547 * NEWS: Fix unclarity and language mistakes.
6548
f923ad22
VS
65492012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6550
6551 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
6552 additional size to 3 pages.
6553 Reported by: Stuart Hayes.
6554
d22029ba
VS
65552012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6556
6557 * NEWS: Add 2.00 entry.
6558
58eee08f
VS
65592012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6560
6561 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
6562 put explicit "/" for empty path.
6563 (wildcard_expand): Improve dprintf.
6564
c59bdff7
VS
65652012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
6568 it's equal to currnode. This can happen with "" symlink.
6569
5e6a440a
YB
65702012-06-27 Yves Blusseau <blusseau@zetam.org>
6571
6572 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
6573 echo shell command by printf command.
6574
73a68bcb
VS
65752012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6576
6577 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
6578 the value returned by firmware is the maximal position, not diumension.
6579 (grub_terminfo_output_state): Use a more sane fallback.
6580
392a603b
VS
65812012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6582
6583 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
6584
42d0867f
VS
65852012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6586
6587 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
6588 frequency to 150 MHz.
6589
489509f4
VS
65902012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6591
6592 Apple fixes.
6593
6594 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
6595 __APPLE_
6596 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
6597 definition.
6598 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
6599
9f3fc883
VS
66002012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6601
6602 Handle slash in HFS label.
6603
6604 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
6605 (grub_hfs_dir): Tanslate slash.
6606 (grub_hfs_label): Don't translate slash.
6607
54853fd7
VS
66082012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6609
6610 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
6611 network protocol listing since it introduces problematic dependency on
6612 net module.
6613
4dc02ddf
VS
66142012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6615
6616 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
6617
c50c867d
VS
66182012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 Init video early on yeeloong to avoid being rebooted by watchdog.
6621
6622 * grub-core/Makefile.am (gensm712): New target.
6623 (sm712_start.S): Likewise.
6624 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
6625 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
6626 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
6627 description.
6628 * include/grub/vga.h: Move registry definitions to...
6629 * include/grub/vgaregs.h: ... here.
6630
5f92c8a1
VS
66312012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6632
6633 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
6634 signedness.
6635
e9e6f111
VS
66362012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6637
6638 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
6639 platforms with firmware disk drivers in the core.
6640
754ad9eb
VS
66412012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6642
6643 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
6644 informative verbose message.
6645 (read_lv): Handle 64-bit segment size.
6646
315654c2
VS
66472012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6648
6649 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
6650
fb022c79
VS
66512012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6652
6653 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
6654 character but still remove trainling spaces.
6655 (grub_fat_label): Ignore archive flag.
6656
8645f72c
VS
66572012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6658
6659 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
6660 cast between linux_kernel_header and linux_kernel_params.
6661
36498496
VS
66622012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6663
6664 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
6665 type for size.
6666 (grub_raid6_recover_func_t): Likewise.
6667 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
6668 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6669
0b5ea6b8
VS
66702012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6671
6672 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
6673
650cfcfe
GS
66742012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
6675
6676 Fix overflow.
6677
6678 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
6679 [__NetBSD__]: Add explicit cast before bitshift.
6680
8a4d6a44
VS
66812012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6682
6683 * configure.ac: Bump to 2.00~rc1.
6684
2fb97ed3
VS
66852012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6686
6687 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
6688 half of $a0.
6689
1fa097dc
VS
66902012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
66912012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
6692
6693 * docs/grub.texi: Fix search syntax.
6694 (Multi-boot manual config): Put msdos rather than GPT example.
6695 Grammar corrections.
6696
c890ba78
VS
66972012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6698
6699 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
6700
0f92dca7
VS
67012012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6702
6703 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
6704
3988c4a0
VS
67052012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6706
6707 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
6708 message on double free. Put the value of magic in case of mismatch.
6709
9e86d4c5
VS
67102012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6711
6712 Speed-up video on yeeloong.
6713
6714 * grub-core/video/sm712.c (framebuffer): Remove render_target and
6715 add cached_ptr.
6716 (grub_video_sm712_video_fini): Unmap cached_ptr.
6717 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
6718 (grub_video_sm712_set_active_render_target): Removed.
6719 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
6720 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
6721 sync caches.
6722
ed24c312
VS
67232012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 Avoid flushing the same line multiple times on loongson.
6726
6727 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
6728 Step in 32 bytes and not 1 byte.
6729 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
6730 Likewise.
6731
d1718e7d
VS
67322012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6733
6734 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
6735 subvolumes.
6736
982f1909
VS
67372012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6738
6739 Implement flow control for http.
6740
6741 * grub-core/net/http.c (parse_line): Handle response 206.
6742 (http_receive): Stall if too many packets are in the queue.
6743 (http_establish): Fix range header.
6744 (http_seek): Fix double free.
6745 (http_close): Likewise.
6746 (http_packets_pulled): New function.
6747 (grub_http_protocol): Set http_seek
6748 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
6749 (ack_real): Set window depending on i_stall.
6750 (grub_net_send_tcp_packet): Likewise.
6751 (grub_net_tcp_stall): New function.
6752 (grub_net_tcp_unstall): Likewise.
6753 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
6754 (grub_net_tcp_unstall): Likewise.
6755
bd407d6e
VS
67562012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6757
6758 * grub-core/net/tftp.c: Decrease stall to 50 packets.
6759
c7564b8e
VS
67602012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6761
6762 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
6763
a3706162
VS
67642012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6765
6766 * tests/util/grub-shell.in: Fix a typo.
6767
b27069e0
VS
67682012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6769
6770 Implement flow control for tftp.
6771
6772 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
6773 packets but stop only if stop condition is satisfied.
6774 (grub_net_fs_read_real): Call packets_pulled after real read. Use
6775 `stall' instead of `eof' as stop condition.
6776 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
6777 (http_err): Likewise.
6778 * grub-core/net/tftp.c (ack): Replace the first argument with data
6779 instead of socket.
6780 (tftp_receive): Stall if too many packets are in wait queue.
6781 (tftp_packets_pulled): New function.
6782 (grub_tftp_protocol): Set packets_pulled.
6783 * include/grub/net.h (grub_net_packets): New field count.
6784 (grub_net_put_packet): Increment count.
6785 (grub_net_remove_packet): Likewise.
6786 (grub_net_app_protocol): New field `packets_pulled'.
6787 (grub_net): New field `stall'.
6788
6b9cfac6
VS
67892012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6790
6791 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
6792 sync part to handle them.
6793
f35abd81
VS
67942012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6795
6796 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
6797 * grub-core/net/drivers/ieee1275/ofnet.c
6798 (grub_ieee1275_net_config_real): Likewise.
6799
0e7ec820
VS
68002012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6801
6802 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
6803 the direct route for server/gateway.
6804
9d611a31
VS
68052012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6806
6807 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
6808 IP address to server name since we may not hame the DNS.
6809
418f45ab
VS
68102012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6811
6812 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
6813 freeing random buffer on failure.
6814 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
6815
44a0efc1
VS
68162012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6817
6818 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
6819
531e2241
VS
68202012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6821
6822 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
6823 reserved bytes.
6824 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
6825 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
6826 Handle malloc error correctly.
6827
cde393c9
VS
68282012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6829
6830 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
6831 blocks.
6832
538478d0
VS
68332012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
6834
6835 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
6836 increment.
6837
9b55efe0
VS
68382012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6839
6840 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
6841 none is explicitly specified.
6842
9eb832c3
VS
68432012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
6846 while reallocating.
6847
d6b7c7c9
VS
68482012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 Respect netmask from bootp/dhcp.
6851
6852 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
6853 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
6854 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
6855 into ...
6856 (grub_net_add_ipv4_local): ... this.
6857 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
6858 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
6859 (grub_net_add_ipv4_local): New proto.
6860
67caf9eb
VS
68612012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6862
6863 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
6864 determining EFI memory map size.
6865
43657558
VS
68662012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6867
6868 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
6869
eb6d0dd3
VS
68702012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6871
6872 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
6873 when looking for partition separator.
6874
31230544
VS
68752012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6876
6877 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6878 Escape commas.
6879
918a2517
VS
68802012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6881
6882 Restructure FAT driver to avoid hook in label reading as it hits a
6883 GCC bug.
6884
6885 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
6886 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
6887 (grub_fat_iterate_dir): Split into ...
6888 (grub_fat_iterate_init): ... this, ...
6889 (grub_fat_iterate_fini): ... this, ...
6890 (grub_fat_iterate_dir_next): ... and this. All users updated.
6891
9f1d654e
VS
68922012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6893
6894 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6895 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
6896 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6897 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
6898 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
6899 New fields last_key and last_key_time.
6900 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
6901 extended key-esc into extended key-extended key.
6902
52f0f643
VS
69032012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6904
6905 Avoid unnecessary memcpy of whole video buffer.
6906
6907 * grub-core/video/fb/video_fb.c (dirty): New struct.
6908 (framebuffer): Add members current_dirty and previous_dirty.
6909 (dirty): New function.
6910 (grub_video_fb_fill_rect): Update dirty.
6911 (common_blitter): Likewise.
6912 (grub_video_fb_scroll): Likewise.
6913 (doublebuf_blit_update_screen): Copy only dirty part.
6914 (doublebuf_pageflipping_update_screen): Likewise.
6915 (grub_video_fb_doublebuf_blit_init): Init dirty.
6916 (doublebuf_pageflipping_init): Likewise.
6917 (grub_video_fb_setup): Likewise.
6918
e169a180
VS
69192012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6920
6921 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
6922 poll rate.
6923
48556879
VS
69242012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6925
6926 Fix wildcard regexp dot and other special characters handling.
6927 Reported by: Robert Mabee.
6928
6929 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
6930 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
6931 (split_path): Trigger expansion on '?'.
6932 (unescape): New function.
6933 (wildcard_expand): Unescape parts copied without globbing.
6934 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
6935 (grub_script_arglist_to_argv): Don't unescape expansions.
6936
0494408e
VS
69372012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 * include/grub/net.h (grub_net_card): New member txbufsize.
6940 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
6941 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
6942 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
6943 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
6944 txbufsize.
6945 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
6946 compatible property to check for macs. Set
6947 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
6948 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
6949 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
6950 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
6951 (send_card_buffer): Use txbuf.
6952 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
6953 nested function out of the parent while on it.
6954
cc35fe8f
VS
69552012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6956
6957 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
6958 presence check.
6959 (grub_ieee1275_net_config_real): Fix config pointer.
6960
970a0a09
VS
69612012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6962
6963 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
6964 filename parsing to non-block devices.
6965
3e19bf87
VS
69662012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
6967
6968 * grub-core/kern/device.c (grub_device_open): Remove dead code.
6969
c62d1a0c
VS
69702012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6971
6972 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
6973 All users updated.
6974
ef76bec3
VS
69752012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
6976
6977 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
6978 UUID search command even if hints probing failed.
6979
69802012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
6981
6982 * po/POTFILES.in: Regenerated.
6983
70aaf305
VS
69842012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
6985
6986 Speed-up video on fuloong.
6987
6988 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
6989 New function.
6990 (grub_pci_device_unmap_range): Handle non-cached address.
6991 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
6992 add direct_ptr.
6993 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
6994 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
6995 (grub_video_sis315pro_set_active_render_target): Removed.
6996 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
6997 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
6998 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
6999 sync caches.
7000 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
7001 New proto.
7002
10400f0b
VS
70032012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7004
7005 * docs/grub.texi (Multi-boot manual config): New section.
7006
ba67e2c6
VS
70072012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7008
7009 Avoid slow read-back from VRAM.
7010
7011 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
7012 Move from here ...
7013 * grub-core/video/fb/video_fb.c
7014 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
7015 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
7016 (front_target): Remove front_target. Add pages.
7017 (grub_video_fb_init): Skip setting front_pages.
7018 (grub_video_fb_fini): Likewise.
7019 (doublebuf_blit_update_screen): Use pages.
7020 (grub_video_fb_doublebuf_blit_init): Likewise.
7021 (doublebuf_pageflipping_init): Allocate offscreen buffer.
7022 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
7023 (grub_video_fb_setup): Prefer doublebuffing.
7024
377c98cb
VS
70252012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7026
7027 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
7028 gzio.
7029
eac49cff
VS
70302012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7031
7032 Add loongson tests.
7033
7034 * tests/util/grub-shell.in: Handle loongson.
7035 * tests/partmap_test.in: Add loongson to the list of platform using ATA
7036 drivers.
7037 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
7038 Reboot instead of shutdown if REBOOT is defined.
7039
0321415e
VS
70402012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7041
7042 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
7043 sized ports since unlike on real hardware qemu supports only 32-bit
7044 regs.
7045
3f2bdd8f
VS
70462012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7047
7048 * Makefile.util.def (grub-mkrescue): Enable on loongson.
7049 * util/grub-mkrescue.in: Handle loongson.
7050
29a049c9
VS
70512012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
7052
7053 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
7054 Set is_part appropriately.
7055 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
7056 names. Canonicalize partition without full disk.
7057
4abde346
VS
70582012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7059
7060 Revert usb-quiesce since it's wrong.
7061
7062 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
7063 (grub_ofdisk_init): Don't do quiesce.
7064
61f1d93b
VS
70652012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7066
7067 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
7068 PowerMac workaround to Xserves as well.
7069 Information supplied by: Benjamin Herrenschmidt.
7070
a09eb541
VS
70712012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7072
7073 Don't assume that beginning address is also the entry point on ppc.
7074
7075 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
7076 (grub_linux_boot): Use linux_entry.
7077 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
7078 (grub_linux_load64): Likewise.
7079
505b3c9b
VS
70802012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7081
7082 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
7083
cbe0b4ef
VS
70842012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7085
7086 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
7087 needlessly lose the console.
7088
3006e981
VS
70892012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7090
7091 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
7092 space.
7093
4e5a96b0
VS
70942012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7095
7da036bb
VS
7096 Remove non-functional EFI grub_get_rtc. Put a better fatal message
7097 than current grub_get_rtc() not implemented when booted with
7098 coreboot without TSC.
7099
7100 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
7101 Add machine/time.h to kernel headers on loongson.
7102 * grub-core/Makefile.core.def (kernel): Remove
7103 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
7104 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
7105 (grub_get_rtc): Likewise.
7106 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
7107 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
7108 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
7109 * grub-core/kern/i386/tsc.c (grub_tsc_init)
7110 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
7111 rather than installing known non-working time source.
7112 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
7113 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
7114 * include/grub/time.h: Don't include machine/time.h.
7115 * include/grub/efi/time.h: Removed.
7116 * include/grub/i386/efi/time.h: Likewise.
7117 * include/grub/i386/ieee1275/time.h: Likewise.
7118 * include/grub/powerpc/ieee1275/time.h: Likewise.
7119 * include/grub/sparc64/ieee1275/time.h: Likewise.
7120 * include/grub/x86_64/efi/time.h: Likewise.
7121
71222012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7123
7124 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
7125
7126 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
7127 value.
7128 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
7129 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
7130 with dotless variants when any combining above is present.
7131
5561c22d
VS
71322012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7133
7134 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
7135 text and not binary.
7136
96f7e60e
VS
71372012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7138
7139 Stop polling as soon as we have the packet we were waiting for.
7140
7141 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
7142 All users updated.
7143 * grub-core/net/arp.c (have_pending): New var.
7144 (pending_req): Likewise.
7145 (grub_net_arp_send_request): Fill pending_req and use have_pending as
7146 stop indicator.
7147 (grub_net_arp_receive): Set have_pending.
7148 * grub-core/net/dns.c (recv_data): New field stop.
7149 (recv_hook): Set stop.
7150 (grub_net_dns_lookup): Init stop and use as stop condition.
7151 * grub-core/net/http.c (http_establish): Use headers_recv as stop
7152 condition.
7153 * grub-core/net/net.c (grub_net_poll_cards): New argument
7154 stop_condition. Stop when it goes true.
7155 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
7156 indicator.
7157 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
7158
3e747239
VS
71592012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7160
7161 Keep TX and RX buffers on EFI rather than always allocate new ones.
7162
7163 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
7164 card. All users updated.
7165 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
7166 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
7167 (get_card_packet): Likewise.
7168 (grub_efinet_findcards): Init new fields.
7169
f695e99a
VS
71702012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7171
7172 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
7173 compilation error on sparc64.
7174
9e5e66d1
VS
71752012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 Use ITC on IA64 rather than broken routine based on daytime.
7178
7179 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
7180 ia64.
7181 (grub_get_rtc) [__ia64__]: Likewise.
7182 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
7183 (get_itc): New function.
7184 (grub_rtc_get_time_ms): Likewise.
7185 (grub_machine_init): Calibrate ITC.
7186 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
7187 Keep only on non-ia64. Don't export since it's broken and used only
7188 if TSC is unavailable.
7189
a1767404
VS
71902012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7191
7192 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
7193 even if it's used.
7194 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
7195 Skip if parent is unused.
7196
34b2bced
VS
71972012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7198
7199 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
7200
5e619f40
VS
72012012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7202
7203 Fix wildcard escaping.
7204
7205 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
7206 * grub-core/script/execute.c (wildcard_escape): .. to here.
7207 Don't escape dot.
7208 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
7209 * grub-core/script/execute.c (wildcard_unescape): .. to here.
7210 Don't escape dot.
7211 * grub-core/script/execute.c (gettext_append): Always escape.
7212 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
7213 * grub-core/script/yylex.l: Don't cut away the escaping.
7214 * tests/grub_script_echo1.in: Add tests with wildcard.
7215
c8ca5855
VS
72162012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
7219 (ftdi_hw_configure): Likewise.
7220 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
7221 define.
7222 (real_config): Handle 1.5 stop bits.
7223 (pl2303_hw_configure): Likewise.
7224
7183452c
VS
72252012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7226
7227 * Makefile.am: Add ppc linux bootcheck.
7228 * grub-core/tests/boot/linux-ppc.cfg: New file.
7229 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
7230
f57c84cd
VS
72312012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7232
7233 * tests/grub_script_expansion.in: Skip network protocols.
7234
ecfc6207
VS
72352012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7236
7237 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
7238
8d03d284
VS
72392012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7240
7241 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
7242 --rom-directory.
7243 Add -graft-points.
7244
61c42af0
VS
72452012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 ESCC serial driver for conducting sautomated tests in qemu.
7248 Not tested on real hardware.
7249
7250 * include/grub/serial.h (grub_serial_port): New field escc_desc.
7251 * grub-core/term/ieee1275/escc.c: New file.
7252 * grub-core/Makefile.core.def (escc): New module.
7253
08fd1291
VS
72542012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
7257 invalid on error.
7258 (serial_hw_fetch): Don't read invalid handle.
7259 (serial_hw_put): Don't write into invalid handle.
7260
08dafeea
VS
72612012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7262
7263 Add a 1.5 stop bits value.
7264
7265 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
7266 * include/grub/serial.h (grub_serial_stop_bits_t): Add
7267 GRUB_SERIAL_STOP_BITS_1_5.
7268
9068fdcf
VS
72692012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7270
7271 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
7272 value rather than let it uninited.
7273
f4d5820f
VS
72742012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7275
7276 * grub-core/commands/wildcard.c (+check_file): New function.
7277 (wildcard_expand): Don't expand to non-existing files, expand with
7278 suffix and not attempt to expand if not needed.
7279
3d2de9a7
VS
72802012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7281
7282 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
7283 out of partitions containing other partitions.
7284
c5c81ff9
VS
72852012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7286
7287 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
7288 on some qemu versions with GRUB.
7289
7290 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
7291 define.
7292 (grub_openbsd_bootarg_pcibios): New struct.
7293 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
7294 Add PCIINFO.
7295
08a14e0b
VS
72962012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7297
7298 * tests/util/grub-shell.in: Trim firmware output on EFI.
7299
cede3ca3
VS
73002012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7301
7302 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
7303 and coreboot since it's already in kernel.
7304
558d3a60
VS
73052012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7306
7307 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
7308 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7309 to here. New return value start. All users updated.
7310 Recursively scan linear mappings.
7311 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
7312 proto.
7313 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7314 Use grub_util_get_dm_node_linear_info.
7315 * util/getroot.c (convert_system_partition_to_system_disk): Use
7316 grub_util_info rather than grub_dprintf.
7317 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
7318
60fde14d
VS
73192012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
7322
7323 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
7324 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
7325
24bd8838
VS
73262012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 * include/grub/types.h (grub_set_unaligned64): New function.
7329 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
7330 (setup): Likewise.
7331
7bc06a49
VS
73322012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7333
7334 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
7335 (grub_ofdisk_fini): Quiesce USB devices.
7336
49cea015
VS
73372012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7338
7339 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
7340 caches.
7341
8dcbe03b
VS
73422012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7343
7344 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
7345
5b258735
VS
73462012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7347
7348 * grub-core/disk/pata.c (grub_pata_pio_read)
7349 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
7350 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7351
37ba07eb
VS
73522012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7353
7354 Extend automated tests to qemu-mips.
7355
7356 * Makefile.am: reorganise tests and enable qemu-mips.
7357 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
7358 * grub-core/tests/boot/linux.init-mips.S: New file.
7359 * tests/partmap_test.in: Handle ata0 disks.
7360 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
7361 non-pc i386.
7362
070038f8
VS
73632012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7364
7365 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
7366 ia64.
7367 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
7368 quotes while on it.
7369
004be2cd
VS
73702012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7371
7372 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
7373 (grub_halt): Likewise.
7374 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
7375
b1622487
VS
73762012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7377
7378 * grub-core/term/serial.c (grub_serial_register)
7379 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
7380 the behaviour in line with x86 platforms.
7381
b7b4ab33
VS
73822012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7383
7384 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
7385 (grub_ata_strncpy): Likewise.
7386 (grub_ata_identify): Add missing byteswaps.
7387
5e3535ae
VS
73882012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7389
7390 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
7391 byte-swap.
7392 (screen_read_char): Likewise.
7393 (grub_vga_text_cls): Likewise.
7394
c21b17e6
VS
73952012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
7398 filenames.
7399 (make_file_path): Likewise.
7400
bf293dec
VS
74012012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7402
7403 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
7404 machines.
7405 Tested by: Paulo Flabiano Smorigo.
7406 Crucial information about API supplied by: Coleen <Last name unknown>.
7407 Reviewed by: Coleen <Last name unknown>.
7408
81f6ef0e
VS
74092012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7410
7411 * util/grub-mkimage.c: Disable -Wcast-align.
7412
7284143a
VS
74132012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7414
7415 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
7416 as they are fatal.
7417
b99f3e00
VS
74182012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7419
7420 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
7421
944f752d
VS
74222012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7423
7424 * util/grub-probe.c (escape_of_path): Fix double free.
7425
6cce6f38
VS
74262012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7427
7428 * grub-core/commands/videoinfo.c (hook): Show pitch.
7429
1e1eb50e
VS
74302012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7431
7432 * util/grub.d/20_linux_xen.in: Skip xen-syms.
7433
1c715b5a
VS
74342012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7435
7436 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
7437 (probe): Add ieee1275 to OFW devices.
7438
007ae52d
VS
74392012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7440
7441 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
7442
4557a36d
VS
74432012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7444
7445 Handle IBM OFW path.
7446
7447 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
7448 available.
7449 (of_path_of_scsi): Handle vdevice.
7450
efbeefe9
VS
74512012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7452
7453 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
7454 Allocate in multiples of 16 to avoid adding a few bytes free region the
7455 windows bugs upon.
7456
15a940bb
VS
74572012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
7460 Allocate in multiples of 16 to avoid adding a few bytes free region the
7461 windows bugs upon.
7462 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
7463
6e5efd60
VS
74642012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7465
7466 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
7467 resolutions.
7468 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
7469 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
7470
0d3d137e
IS
74712012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
7472
7473 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
7474
45dbe300
VS
74752012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7476
7477 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
7478 resulted in \\ at the end of the line.
7479
6d8db947
VS
74802012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7481
7482 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
7483 (grub_parser_cmdline_state): Likewise.
7484 (grub_parser_split_cmdline): Likewise.
7485
de89d338
VS
74862012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7487
7488 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
7489 /dev/root and /dev/dm-*.
7490
00d41dee
VS
74912012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7492
7493 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
7494 fix partially stale display.
7495
f95d1f11
VS
74962012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7497
7498 * grub-core/normal/menu_entry.c (backward_char): Use right line for
7499 substraction.
7500
6297e197
VS
75012012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
7504 Fix MBR remapping workaround.
7505 (grub_util_biosdisk_read) [__linux__]: Likewise.
7506
8a7ecad3
VS
75072012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
7508
7509 * util/grub-install.in: Check for ieee1275 and not ieee1276.
7510
2b34f944
VS
75112012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7512
7513 * configure.ac: Bump to beta6.
7514
684aef11
CW
75152012-05-31 Christer Weinigel <christer@weinigel.se>
7516
7517 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
7518
05b0bb91
VS
75192012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7520
7521 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
7522 (grub_cmd_linux): Likewise.
7523
bda36bfa
CW
75242012-05-31 Christer Weinigel <christer@weinigel.se>
7525
7526 Fix EHCI low-speed.
7527
7528 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
7529 (GRUB_EHCI_MULT_TWO): Likewise.
7530 (GRUB_EHCI_MULT_THREE): Likewise.
7531 (GRUB_EHCI_CMASK_MASK): New enum value.
7532 (GRUB_EHCI_SMASK_MASK): Likewise.
7533 (GRUB_EHCI_CMASK_OFF): Likewise.
7534 (GRUB_EHCI_SMASK_OFF): Likewise.
7535 (grub_ehci_pci_iter): Enable periodic schedule.
7536 (grub_ehci_parse_notrun): Likewise.
7537 (grub_ehci_restore_hw): Likewise.
7538 (grub_ehci_setup_qh): Set flags for low speed transfers.
7539 (grub_ehci_find_qh): Use periodic list for low speed.
7540 (grub_ehci_setup_transfer): Check periodic queue as well.
7541 (grub_ehci_check_transfer): Likewise.
7542 (grub_ehci_cancel_transfer): Cancel periodic transfer.
7543
e12bcb1c
PFS
75442012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7545
7546 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
7547 parameter is used.
7548
bcc75fb3
PJ
75492012-05-31 Peter Jones <pjones@redhat.com>
7550
7551 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
7552 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
7553 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
7554
f19cb95e
VS
75552012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
7558 uninited variable. Allocate at least setup_sects.
7559
a4e5ca80
VS
75602012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 Fix handling of EFI with big memory maps.
7563
7564 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
7565 (real_mode_mem): Likewise.
7566 (real_mode_target): Likewise.
7567 (real_mode_pages): Likewise.
7568 (prot_mode_pages): Likewise.
7569 (linux_params): New var.
7570 (linux_cmdline): Likewise.
7571 (free_pages): Don't set real mode variables.
7572 (allocate_pages): Don't allocate real mode memory.
7573 (grub_e820_add_region): Remove the limit.
7574 (grub_linux_boot): Allocate and copy real mode memory.
7575 (grub_linux_unload): Free linux_cmdline.
7576 (grub_cmd_linux): Use temporary storage for parameters.
7577 (grub_cmd_initrd): Likewise.
7578 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
7579 (linux_kernel_params): Make it 1K big.
7580
ddb73558
VS
75812012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7582
7583 * Makefile.util.def: Remove -Wno-format.
7584 * grub-core/Makefile.core.def: Likewise.
7585
1c4afb60
VS
75862012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7587
7588 * tests/cmp_unit_test.c: Add missing failure message.
7589 * tests/example_unit_test.c: Likewise.
7590 * tests/printf_unit_test.c: Likewise.
7591
941e3a6d
VS
75922012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7593
7594 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
7595 relaxation of protective MBR requirements.
7596
b105df76
VS
75972012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7598
7599 * configure.ac: Add condition for COND_HOST_XNU.
7600 * Makefile.util.def (10_xnu): New script.
7601 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
7602
84e1569e
VS
76032012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
7606 objconv bug.
7607
130c0f77
VS
76082012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
7611 Binary on other platforms stays identical.
7612
6fd0b143
VS
76132012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7614
7615 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
7616 Apple.
7617
0af1751d
VS
76182012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7619
7620 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
7621
176d5f7d
VS
76222012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
7625 rather than defining size_t ourselves to avoid conflict.
7626
7de5e20a
VS
76272012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7628
7629 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
7630 initialisation to avoid __bzero reference.
7631
f7143efe
VS
76322012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7633
7634 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
7635 version.
7636 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
7637 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
7638 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
7639 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
7640 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
7641
e6ad0555
VS
76422012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7643
7644 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
7645 * grub-core/kern/misc.c: Likewise.
7646 * grub-core/loader/i386/xnu.c: Likewise.
7647 * include/grub/i386/tsc.h: Likewise.
7648 * include/grub/symbol.h: Likewise.
7649
4a5a3c4a
VS
76502012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7651
7652 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
7653 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
7654 on older compiler.
7655
037f6d90
VS
76562012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7657
7658 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
7659 Implement Apple flavour.
7660 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
7661
f7194551
VS
76622012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7663
7664 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
7665 (memmove) [__APPLE__]: Likewise.
7666 (memcpy) [__APPLE__]: Likewise.
7667 (memset) [__APPLE__]: Likewise.
7668 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
7669 (memmove) [__APPLE__]: Likewise.
7670 (memcpy) [__APPLE__]: Likewise.
7671 (memset) [__APPLE__]: Likewise.
7672
85a730ca
VS
76732012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
7676 dependency discard.
7677
40e80b94
VS
76782012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7679
7680 * grub-core/normal/main.c (read_config_file): Provide config_file and
7681 config_directory.
7682 * util/grub.d/41_custom.in: Use config_directoy when available.
7683
9da59c32
VS
76842012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7685
7686 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
7687 (grub_bfs_dir): Likewise.
7688
2787ae53
PJ
76892012-05-27 Peter Jones <pjones@redhat.com>
7690
7691 The old code gives arguments to a printf function which can't work
7692 correctly, and the compiler complains.
7693
7694 * grub-core/tests/example_functional_test.c (example_test): Add
7695 missing text.
7696 * grub-core/tests/lib/test.c (add_failure): Rewrite.
7697 * include/grub/test.h (grub_test_assert_helper): New declaration.
7698 (grub_test_assert): Use grub_test_assert_helper.
7699
526ef13d
VS
77002012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7701
7702 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
7703 (exfctest): ... this to avoid overlong filenames.
7704 All users updated.
7705
20dd511c
VS
77062012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7707
7708 Handle "." and ".." on squashfs.
7709
7710 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
7711 Make inode numbers into stack.
7712 (grub_squash_read_symlink): Use stack.
7713 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
7714 (make_root_node): Fill stack.
7715 (grub_squash_open): Use stack.
7716
1d80c62a
VS
77172012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7718
7719 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
7720 freeing.
7721
d336f652
VS
77222012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7723
7724 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
7725 stderr on test calls.
7726
8b43f587
VS
77272012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
7730
80a3dc3f
VS
77312012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7732
7733 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
7734
47e297d4
VS
77352012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7736
7737 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
7738 "..".
7739
df042ccb
VS
77402012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
7743 (grub_hfsplus_iterate_dir): Add "." and "..".
7744
fc977f48
VS
77452012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * grub-core/fs/cpio.c (canonicalize): Handle "..".
7748 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
7749
f3250e5f
VS
77502012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7751
7752 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
7753 (find_path): Handle "." and "..".
7754
fd8ed4c5
VS
77552012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7756
7757 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
7758 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
7759 (grub_affs_iterate_dir): Handle hardlinks.
7760
4ce776d2
MG
77612012-05-26 Matthew Garrett <mjg@redhat.com>
7762
7763 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
7764 (grub_efi_console_fini): Likewise.
7765 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
7766 (grub_video_gop_fill_mode_info): Rename to ...
7767 (grub_video_gop_fill_real_mode_info): ... this.
7768 (grub_video_gop_fill_mode_info): New function.
7769 (grub_video_gop_setup): Setup double framebuffer.
7770 (grub_video_gop_get_info_and_fini): Use original framebuffer.
7771 Free offscreen.
7772 (grub_video_gop_swap_buffers): Copy framebuffer.
7773 (grub_video_gop_fini): Free offscreen buffer.
7774 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
7775 New enum.
7776 (grub_efi_gop_blt_pixel): New struct.
7777
683031ba
VS
77782012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7779
7780 * gentpl.py: Remove error disabling for objconv.
7781
c2deb798
VS
77822012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
7783
7784 * configure.ac: Remove -Wunitialized as it's not available on older
7785 compilers.
7786
77872012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
7788
7789 Fix extent overflow comparator.
7790
7791 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
7792 (grub_hfsplus_read_block): Set type.
7793 (grub_hfsplus_cmp_extkey): Compare type.
7794
d6b1fd36
VS
77952012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
7796
7797 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
7798
0a9aa0f6
VS
77992012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
7802 than 0.
7803
8360e159
VS
78042012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7805
7806 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
7807 (dejavu_bold_14.pf2): New target.
7808
501b9e4b
VS
78092012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
7810
7811 * configure.ac: Fix djvu font detection.
7812
7026b0e2
VS
78132012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7814
7815 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
7816 ext* instead of ext2.
7817
c2a51ade
VS
78182012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7819
7820 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
7821 name with \0.
7822
8f803a5d
JU
78232012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
7824
7825 * docs/grub-dev.texi: Remove dot from .png.
7826
13c6353f
VS
78272012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7828
7829 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
7830 protective entry in any slot.
7831 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
7832 if protective entry is found in any slot.
7833
7834 Protective entry in non-first slot make no sense but is a widespread
7835 brain damage.
7836
4cf6be1b
VS
78372012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7838
7839 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
7840
937d1c44
VS
78412012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7842
7843 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
7844 with old reiserfs.
7845 (grub_reiserfs_open): Don't free root.
7846
021d90ec
VS
78472012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
7848
7849 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
7850 after freeing for safety.
7851
967b2b64
VS
78522012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7853
7854 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
7855 Reported by: Jordan Uggla.
7856
34274d02
JU
78572012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
7858
967b2b64
VS
7859 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
7860 actual implementation. Specifically, clarify that the grub menu will
7861 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
7862 passed.
34274d02 7863
dcaaae9d
BH
78642012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
7865
7866 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
7867 of r0.
7868
7086ad52
VS
78692012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7870
7871 Remove unjustified hard dependency of normal.mod on gfxterm.
7872
7873 * include/grub/term.h (grub_term_output): New member fullscreen.
7874 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
7875 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
7876 (grub_gfxterm): Set .fullscreen.
7877 * grub-core/normal/menu.c (menu_init): Use fullscreen.
7878 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
7879
37ed2c9b
VS
78802012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7881
7882 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
7883 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 7884 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 7885
a4469c88
VS
78862012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7887
7888 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
7889
4e461486
VS
78902012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7891
7892 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
7893 a bad FS.
7894
aa78f5c4
VS
78952012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7896
7897 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
7898 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
7899
197626b5
VS
79002012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7901
7902 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
7903 (grub_jfs_mount): Fill caseins.
7904 (grub_jfs_find_file): Respect caseins.
7905
8ad3f28c
VS
79062012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7907
7908 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
7909 through UTF-16.
7910
0c6c324e
VS
79112012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7912
7913 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
7914 New argument origpath. All users updated.
7915
c6666ba6
VS
79162012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7917
7918 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
7919 (read_attr): Ensure that we read start of possibly compressed block.
7920
e28e5fe5
VS
79212012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7922
7923 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
7924 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
7925 All users updated.
7926
5fc23ab2
VS
79272012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7928
7929 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
7930 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
7931 (dejavu.pf2): Replace with ...
7932 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
7933 this.
7934
79dbc21c
VS
79352012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7936
7937 * util/grub.d/20_linux_xen.in: Add missing line.
7938
d2fcfb0c
VS
79392012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7940
7941 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
7942 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
7943 (grub_utf16_to_utf8): Likewise.
7944
5560e9d6
VS
79452012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7946
7947 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
7948 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
7949 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7950 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
7951 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7952 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
7953
79542012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
7955
7956 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
7957 a bad FS.
7958
5560e9d6 79592012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
7960
7961 * grub-core/fs/udf.c (read_string): Bail out on size=0.
7962 (grub_udf_read_symlink): Handle read_string failure.
7963
5eae3175
VS
79642012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7965
7966 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
7967 comment.
7968
c1ad82db
VS
79692012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 Fix handling of UDF symlinks.
7972
7973 * grub-core/fs/udf.c (read_string): New argument outbuf.
7974 All users updated.
7975 (grub_ufs_read_symlink): Rename to ...
7976 (grub_udf_read_symlink): ... this. All users updated.
7977 Handle symlinks with more than one component.
7978
33eca6e0
VS
79792012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7980
7981 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
7982 symlinks. Replace leading colon with a slash.
7983
57f4a70b
VS
79842012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7985
7986 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
7987 filename.
7988
38c8ee20
VS
79892012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7990
7991 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
7992 match in inner node.
7993
2e57f28f
VS
79942012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
7995
7996 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
7997 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
7998 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
7999 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
8000 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
8001 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
8002 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
8003 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
8004 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
8005
fe8c2f11
VS
80062012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
8007
8008 Use grub-probe and not cmp to check that disk is empty.
8009
8010 * util/grub-install.in: Use grub-probe for zero-check.
8011 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
8012 (probe): Handle PRINT_ZERO_CHECK.
8013 (argp_parser): Handle -t zero_check.
8014
80152012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
8016
8017 Flush block cache on adding disk to device map.
8018
8019 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
8020 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
8021 adding.
8022 (read_device_map): Likewise.
8023 (open_device): Flush on opening.
8024
690434e8
VS
80252012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8026
8027 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
8028 (handle_symlink): Fix off-by-one error.
8029 Canonicalize the target.
8030 (grub_cpio_dir): Canonicalize the name.
8031 Fix memory leak.
8032 Set directory.
8033 (grub_cpio_open): Canonicalize the name.
8034
742d2be6
VS
80352012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8036
8037 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
8038 handling.
8039
3244fe96
VS
80402012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
8043 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
8044
8aeb1837
VS
80452012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8046
8047 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
8048 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 8049 All users updated.
8aeb1837 8050
9133fd05
VS
80512012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8052
8053 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
8054 counterpart.
8055
6d521c5b
VS
80562012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8057
8058 Fix UFS1 big file support.
8059
8060 * grub-core/fs/ufs.c (INODE): Removed.
8061 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
8062 64-bit.
8063 (INODE_MODE): Simplify.
8064 (grub_ufs_inode): Use uint64_t for size and not int64_t.
8065 (grub_ufs_lookup_symlink): Don't use INODE.
8066
21b82e17
VS
80672012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8068
8069 Fix minixfs with non-power-of-two blocks since it's supported by minix.
8070
8071 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
8072 (grub_minix_data): Replace log_block_size with block_size.
8073 (grub_minix_read_file): Use block_size but avoid 64-bit division.
8074 (grub_minix_mount): Fill block_size.
8075
80762012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
8077
8078 * configure.ac: Bump to beta5.
8079
f417ed04
VS
80802012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8081
8082 Fix wrapped HFS+ handling.
8083
8084 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
8085 blocks_start. All users updated.
8086 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
8087 wrapping offset.
8088 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
8089
607d282b
VS
80902012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8091
8092 Fix long symlinks on reiserfs.
8093
8094 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
8095 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
8096 (grub_reiserfs_iterate_dir): Save size for non-directories.
8097 (grub_reiserfs_open): Don't reread stat block as we already know the
8098 size.
8099 (grub_reiserfs_read): Split into...
8100 (grub_reiserfs_read_real): ... and ...
8101 (grub_reiserfs_read): ...this.
8102
ae16024d
VS
81032012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8104
8105 Fix non-indexed JFS.
8106
8107 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
8108 (grub_jfs_data): New field namecomponentlen.
8109 (grub_jfs_mount): Fill namecomponentlen.
8110 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
8111
eea1e26e
VS
81122012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
8115 * tests/grub_script_echo1.in: Add tests.
8116
df760f77
VS
81172012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8118
8119 * util/grub-install.in: Ignore empty devicetree directory.
8120
5efb817d
B
81212012-05-08 Bean <bean123ch@gmail.com>
8122
8123 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
8124 All users updated.
8125 (free_rsm): Free header as well.
8126 (free_old_fragments): Fix memory leak.
8127 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
8128 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
8129 (destroy_pq): Likewise.
8130 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
8131
668ea6d2
VS
81322012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8133
8134 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
8135 resulting hash as a precaution.
8136
1739b1fe
VS
81372012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8138
8139 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
8140 '_' in variable names.
8141 * grub-core/net/net.c (grub_net_network_level_interface_register):
8142 Likewise.
8143
6ae485aa
VS
81442012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8145
8146 Fix AFFS with non-512B blocks.
8147
8148 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
8149 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
8150 (grub_affs_data): Replace blocksize with log_blocksize.
8151 (grub_affs_read_block): Fix non-512B blocks.
8152 (grub_affs_read_symlink): Likewise.
8153 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
8154 (grub_affs_read): Fix non-512B blocks.
8155 (grub_affs_label): Likewise.
8156 (grub_affs_mtime): Likewise.
8157 (grub_affs_mount): Fix block detection routine.
8158
d20fab84
VS
81592012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8160
8161 Add filesystem mtime to AFFS.
8162
8163 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
8164 (aftime2ctime): New function.
8165 (grub_affs_dir): Use aftime2ctime.
8166 (grub_affs_label): Fix return value.
8167 (grub_affs_mtime): New function.
8168 (grub_affs_fs): Add mtime.
8169
e87b10f5
VS
81702012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8171
8172 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
8173 UTF-8.
8174
7dceec9b
VS
81752012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8176
8177 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
8178 UTF-8.
8179
2f48221f
VS
81802012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8181
8182 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
8183
dacd85cf
VS
81842012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8185
8186 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
8187 flags.
8188 (FLAGS_CASE_SENSITIVE): New enum value.
8189 (cache_entry): New struct.
8190 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
8191 cache_size and cache.
8192 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
8193 Add log_blocksize and fshelp_flags.
8194 (grub_sfs_read_extent): Handle non-512 blocks.
8195 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
8196 (grub_sfs_read_file): Handle non-512 blocks.
8197 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
8198 fshelp_flags.
8199 (grub_sfs_read_symlink): Handle non-512 blocks.
8200 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
8201 (grub_sfs_dir): Free cache.
8202 (grub_sfs_close): Likewise.
8203
24e9a854
VS
82042012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8205
8206 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
8207 filesystems.
8208
62ace64d
VS
82092012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8210
8211 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
8212
83b2e89c
VS
82132012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8214
8215 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
8216
75ccaea3
VS
82172012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8218
8219 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
8220 (grub_sfs_read_extent): Likewise.
8221 (grub_sfs_read_block): Likewise.
8222 (grub_sfs_mount): Likewise.
8223 (grub_sfs_iterate_dir): Likewise.
8224 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
8225 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
8226
1b8463f2
VS
82272012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8228
8229 Fix errors on compressed NTFS with 512B clusters.
8230
8231 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
8232 types.
8233 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
8234 not 0.
8235 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
8236 Relax check for inline extents.
8237 (ntfscomp): Return correct -1 on error and not 0.
8238
4f8e368f
VS
82392012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8240
8241 * util/grub-install.in: Fix handling of prefix containing spaces.
8242
6f5d5ee8
VS
82432012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
8246 (grub_squash_read_data): Fix offset byte-swapping.
8247
ce41ab7a
VS
82482012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8249
8250 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
8251 per common usage and preffered in several parts of code.
8252 (grub_memcmp): Likewise.
8253 (grub_strncmp): Likewise.
8254 * include/grub/misc.h (grub_strcasecmp): Likewise.
8255 (grub_strncasecmp): Likewise.
8256 * Makefile.util.def (cmp_test): New test.
8257 (grub_script_strcmp): Likewise.
8258 * tests/cmp_unit_test.c: New file.
8259 * tests/grub_script_strcmp.in: Likewise.
8260 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
8261
49717bf4
VS
82622012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8263
8264 * include/grub/pci.h: Move enums into no-asm part.
8265
0a308f64
VS
82662012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8267
8268 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
8269
1796965f
ST
82702012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
8271
8272 * util/getroot.c (find_hurd_root_device): Try to make error message
8273 and comments to translators clearer.
8274
4e9b2819
VS
82752012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8276
8277 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
8278
076aeb50
VS
82792012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8280
8281 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
8282 btrfs.
8283
19424d94
VS
82842012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8285
8286 * docs/grub.cfg: Update.
8287
ebb73076
VS
82882012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8289
8290 * docs/grub.texi (PXE): Remove not present variables.
8291
9a1b669c
VS
82922012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8293
8294 * grub-core/net/net.c (defserver_set_env): New function.
8295 (defserver_get_env): Likewise.
8296 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
8297
d38bf7d3
VS
82982012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8299
8300 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
8301 entries.
8302
83032012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
8304
8305 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
8306 * grub-core/kern/emu/hostdisk.c: Likewise.
8307
e5e4ca48
ST
83082012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8309
8310 Handle hurd userspace partitions.
8311
8312 * util/getroot.c (find_hurd_root_device): New function.
8313 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
8314
56bb5dd5
VS
83152012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8316
8317 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
8318 names.
8319 Reported by: Bastian Blank.
8320
9e8bc27a
VS
83212012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8322
8323 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
8324 crossing page boundary.
8325
aa01499d
VS
83262012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8327
8328 Fix B-tree search in BFS, especially in presence of non-ASCII
8329 characters.
8330
8331 * grub-core/fs/bfs.c (bfs_strcmp): New function.
8332 (find_in_b_tree): Use standard bsearch + btree algorithm.
8333
57006035
VS
83342012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8335
8336 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
8337 and so on.
8338
9d34bb85
MG
83392012-05-03 Matthew Garrett <mjg@redhat.com>
83402012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8341
8342 Suspend broadcom cards in order to stop their DMA.
8343
8344 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
8345 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
8346 (pci): Don't build on x86 EFI.
8347 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
8348 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
8349 New function.
8350 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
8351 stop_broadcom if running on EFI.
8352 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
8353 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
8354 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
8355 (grub_pci_find_capability): New proto.
8356
01aab997
VS
83572012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8358
8359 * docs/grub.texi: Remove dot from the extension as it apparently
8360 doesn't work with some makeinfo versions.
8361
fbd8dca6
VS
83622012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
8365 with GRUB expectance.
8366
dab797f4
VS
83672012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8368
8369 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
8370
1516bfb4
VS
83712012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8372
8373 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
8374 zero after directory block since last entry may be not 0-terminated if
8375 it ends on block boundary. Use continue instead of if spanning whole
8376 loop.
8377
a3a0eace
VS
83782012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8379
8380 Support 4K sectors UDF inline files.
8381
8382 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
8383 (grub_udf_extended_file_entry): Likewise.
8384 (grub_fshelp_node): Name the anonymous union. Put block at the end.
8385 All users updated.
8386 (get_fshelp_size): New function.
8387 (grub_udf_read_icb): Read whole block.
8388 (grub_udf_iterate_dir): Likewise.
8389 (grub_udf_dir): Likewise.
8390 (grub_udf_open): Likewise.
8391
c82f16c1
VS
83922012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8393
8394 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
8395
59fd2aac
VS
83962012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8397
8398 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
8399 inline symlinks in addition to workaround.
8400
3b4afb4d
VS
84012012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
8404
f45c794a
VS
84052012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8406
8407 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
8408
f25cecbd
VS
84092012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8410
8411 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
8412
bb9a34e8
VS
84132012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8414
8415 Fix reiserfs big seek times.
8416
8417 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
8418 exact. All users updated.
8419 (grub_reiserfs_read): Use nearest btree search for seeking.
8420 Fix return value on error.
8421
dc478aea
VS
84222012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8423
8424 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
8425 entries.
8426 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
8427 * docs/grub.texi: Update menuentry description.
8428
8db10f47
VS
84292012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
8432 crash when embedding onto filesystem.
8433
bcb288ed
VS
84342012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8435
8436 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
8437 name.
8438
a626fdd7
VS
84392012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
8442
b2f68477
VS
84432012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8444
8445 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
8446 commit.
8447
ba15b2af
B
84482012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
84492012-05-01 Bean <bean123ch@gmail.com>
8450
8451 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
8452
a188012e
VS
84532012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8454
8455 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
8456 Special behaviour for len = 0 to read whole file isn't used anywhere and
8457 can cause buffer ovewrflows in several places.
8458
f0a53ed2
VS
84592012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8460
8461 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
8462
5ed554f0
VS
84632012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8464
8465 Handle RAIDZ on non-512B sectors.
8466
8467 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
8468 max_children_ashift.
8469 (fill_vdev_info_real): Fill max_children_ashift.
8470 (read_device): Use max_children_ashift.
8471
ddc58357
VS
84722012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8473
8474 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
8475
e3282399
VS
84762012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8477
8478 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
8479 disk names.
8480 * docs/grub.texi: Update device.map parts.
8481
ee618bd4
VS
84822012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8483
8484 Don't scan into non-diskfilter devices having diskfilter names.
8485
8486 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
8487 (scan_disk): New argument accept_diskfilter. Fix recursion depth
8488 handling.
8489 (scan_disk_hook): New function.
8490
bdf88864
B
84912012-04-29 Bean <bean123ch@gmail.com>
8492
8493 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
8494 allocation.
8495
32745f51
MK
84962012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
8497
8498 * configure.ac: Detect starfield theme font path
8499 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
8500
bc95c8c0
VS
85012012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8502
8503 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
8504 geometry on serial consoles.
8505
147fbcab
VS
85062012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8507
8508 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
8509 because of network consoles.
8510
0f42c889
VS
85112012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8512
8513 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
8514 handling.
8515
4a3594c9
VS
85162012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8517
8518 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
8519 falls on Q syndrom.
8520
5cb53879
VS
85212012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8522
8523 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
8524 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
8525
b282dfe5
VS
85262012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8527
8528 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
8529 Allocate at lest 8192 for temporary buffer as required for lzo.
8530
daa59f47
VS
85312012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8532
8533 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
8534 to cluster_bits, since it's already added in.
8535 (grub_fat_read_data): Likewise.
8536
986748ce
VS
85372012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8538
8539 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
8540 as long as cluster size is multiple of 512 bytes.
8541
a20f6ad0
VS
85422012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8543
8544 * util/grub-mkrescue.in: Fix locale directory.
8545
385f9abb
VS
85462012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8547
8548 * grub-core/kern/emu/hostdisk.c (map): Make static.
8549
1c557d30
B
85502012-04-23 Bean <bean123ch@gmail.com>
8551
8552 * util/grub-fstest.c (fstest): Add missing break.
8553
524b5d3a
ST
85542012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
8555
8556 Fix hurd build.
8557
8558 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
8559 not define nr variable.
fe4824e9 8560 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
8561 find_root_devices_from_poolname, find_root_devices_from_libzfs,
8562 grub_find_device): Do not define.
524b5d3a 8563
9a06490c
VS
85642012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8565
8566 Fix kfreebsd compile and behaviour.
8567
8568 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
8569 format-security.
8570 * util/getroot.c: Fix wait.h include.
8571 (grub_guess_root_devices): Error if grub_find_device fails.
8572 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
8573 (grub_util_get_dev_abstraction): Likewise.
8574 (grub_util_pull_device): Likewise.
8575 (grub_util_get_grub_dev): Likewise.
8576 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
8577
48143d96
VS
85782012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8579
8580 Fix and unify wholedisk detection.
8581
8582 * util/getroot.c (convert_system_partition_to_system_disk): New argument
8583 is_part. All users updated.
8584 (device_is_wholedisk): Removed.
8585 (grub_util_biosdisk_get_grub_dev): Use is_part.
8586
ebbd24f3
VS
85872012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
8590 mode.
8591
56f7aa1e
VS
85922012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8593
8594 * configure.ac: Bump to beta4.
8595
9c815e01
VS
85962012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8597
8598 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
8599 --fs-uuid --set UUID syntax.
8600
59e2651a
VS
86012012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8602
8603 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
8604 disunification.
8605
54e03cfc
VS
86062012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8607
8608 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
8609
81092a75
MK
86102012-04-18 Mads Kiilerich <mads@kiilerich.com>
8611
8612 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
8613
f8315e14
MG
86142012-04-18 Mike Gilbert <floppym@gentoo.org>
8615
8616 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
8617
1501ac21
B
86182012-04-18 Bean <bean123ch@gmail.com>
8619
8620 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
8621 place.
8622
cb7f944e
VS
86232012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8624
8625 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
8626 users updated.
8627 (grub_util_biosdisk_read): Handle Linux partitions not exactly
8628 corresponding to GRUB partitions.
8629 (grub_util_biosdisk_write): Likewise.
8630
b72d44a1
VS
86312012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8632
8633 Scan mdraid before LVM.
8634
8635 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
8636 (grub_diskfilter_register_front): ... this.
8637 (grub_diskfilter_register_back): New function.
8638 All users of grub_diskfilter_register updated.
8639
33d918b8
VS
86402012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 * util/grub-install.in: Fix an automatic target detection bug.
8643
c6ca973d
VS
86442012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8645
8646 * util/grub-install.in: New option --efi-directory.
8647
b41be562
VS
86482012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8649
8650 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
8651 boot services if we have no other choice.
8652
86532012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
8654
8655 * util/grub-mknetdir.in: Rename --override-directory to --directory and
8656 document it.
8657 * tests/util/grub-shell.in: Update to --directory.
8658
e0595a73
VS
86592012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8660
8661 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
8662
4ed80652
VS
86632012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8664
8665 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
8666 (grub_minix_read_file): Likewise.
8667 (grub_minix_read_inode): Likewise.
8668 (grub_minix_find_file): Likewise.
8669 (grub_minix_dir): Likewise.
8670
56008077
VS
86712012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8672
8673 * util/grub-setup.c (setup): Fix partition handling and blocklist
8674 check.
8675
ee520775
VS
86762012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
8679 redundant buggy overlap check.
8680
16fc9293
VS
86812012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8682
8683 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
8684 and grub-mknetdir.
8685
9bab65c4
VS
86862012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
8689 kh.loadflags on pre-2.00 kernels.
8690
3c491b47
VS
86912012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 Terminate UNDI and PXE before launching the payload to avoid problems
8694 with DMA.
8695
8696 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
8697 (grub_loader_flags): ... this. All users updated.
8698 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
8699 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
8700 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
8701 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
8702 function.
8703 (grub_pxe_restore): Likewise.
8704 (fini_hnd): New var.
8705 (GRUB_MOD_INIT): Register shutdown hook.
8706 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
8707 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
8708 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
8709 (grub_loader_set): Rename second argument to flags.
8710
851ffada
VS
87112012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
8714 written bytes.
8715 (grub_get_num_of_utf8_bytes): New function.
8716 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
8717 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
8718 executing it.
8719 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
8720 (grub_ucs4_to_utf8): Change return type.
8721
491c57a8
VS
87222012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8723
8724 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
8725 warning.
851ffada
VS
8726 * grub-core/fs/bfs.c (hop_level): Likewise.
8727 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 8728
756773df
VS
87292012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8730
8731 * grub-core/lib/adler32.c: Recode due to license unclearness.
8732
fd556a96
VS
87332012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8734
8735 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
8736 (test_header): Likewise.
8737
9f9d3f69
VS
87382012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8739
8740 Fix --help formatting.
8741
8742 * util/grub-mkconfig_lib.in (print_option_help): New function.
8743 (grub_fmt): Likewise.
8744 * util/grub-install.in: Use print_option_help and grub_fmt.
8745 * util/grub-kbdcomp.in: Likewise.
8746 * util/grub-mkconfig.in: Likewise.
8747 * util/grub-mknetdir.in: Likewise.
8748 * util/grub-mkrescue.in: Likewise.
8749 * util/grub-mkstandalone.in: Likewise.
8750 * util/grub-reboot.in: Likewise.
8751 * util/grub-set-default.in: Likewise.
8752 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8753
561ec77e
VS
87542012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8755
8756 * linguas.sh: Remove autogenerated *.po.
8757
7ec2b021
VS
87582012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8759
8760 * po/README: Move language fetcing to ...
8761 * linguas.sh: ... here.
8762 * po/README: Point to linguas.sh.
8763
a88f3270
VS
87642012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8765
8766 * po/README: Exclude ko.po due to disclaimer problems.
8767
d61357ce
VS
87682012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8769
8770 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
8771 len = 0.
8772 (grub_gettext_translate_real): Handle 0th string.
8773 (grub_gettext_translate): Ensure that "" isn't translated.
8774
505e41dc
VS
87752012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8776
8777 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
8778 TRANSLATORS comment.
8779 (grub_diskfilter_print_partmap): Propagate changing of error into
8780 warning.
8781
e44092db
VS
87822012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8783
8784 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
8785 to uint64_t to prevent overflow.
8786 (grub_diskfilter_lv): Increase start_extent and extent_count
8787 to uint64_t to prevent overflow.
8788
9b83956a
VS
87892012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8790
8791 * configure.ac: Increase version.
8792
da0d5b3f
VS
87932012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8794
8795 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
8796
8797 * po/Rules-translit: New file.
8798 * po/arabic.sed: Likewise.
8799 * po/cyrillic.sed: Likewise.
8800 * po/greek.sed: Likewise.
8801 * po/hebrew.sed: Likewise.
8802 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
8803 * po/Makefile.in.in: Add extra_dist4.
8804
ac66b453
VS
88052012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 Handle big-endian minixfs (fixes minixfs tests on bigendian).
8808
8809 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
8810 modify names. Introduce MODE_BIGENDIAN.
8811 * grub-core/fs/minix_be.c: New file.
8812 * grub-core/fs/minix2_be.c: Likewise
8813 * grub-core/fs/minix3_be.c: Likewise.
8814 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
8815 minix3_be.
8816 * grub-core/Makefile.core.def (minix_be): New module.
8817 (minix2_be): Likewise.
8818 (minix3_be): Likewise.
8819
88202012-04-01 Felix <email@hamburg.de>
8821
8822 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
8823 (devs): Add MBP 2011.
8824
0a2d5a82
VS
88252012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8826
8827 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
8828
d1625889
VS
88292012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8830
8831 * grub-core/normal/cmdline.c (print_completion): New field
8832 prompt_len.
8833 (grub_cmdline_get): Handle width properly.
8834
6d36a236
VS
88352012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
8836
8837 * grub-core/commands/lsacpi.c (options): Add missing terminator.
8838
9576977e
VS
88392012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 8842 after 29th of February.
9576977e 8843
d73ff15d
VS
88442012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8845
8846 Fix exfat endianness handling.
8847
8848 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
8849 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
8850 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
8851 Byte-swap utf16 when necessary.
8852 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
8853
bbb39a45
AB
88542012-03-31 Anton Blanchard <anton@samba.org>
88552012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8856
8857 Fix btrfs endianness handling.
8858
8859 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
8860 (lower_bound): Make root uint64_t. Use root in le.
8861 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
8862 (find_path): Fix template key init.
8863 (grub_btrfs_dir): Fix mtime byteswap.
8864 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
8865
354e0af7
VS
88662012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8867
8868 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
8869 recursion_depth. Break infinite resursions. All users updated.
8870
4e75f21c
VS
88712012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8872
8873 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
8874 after free.
8875 Reported by: Peter Jones.
8876
25581802
AB
88772012-03-31 Anton Blanchard <anton@samba.org>
8878
8879 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
8880 8 bit values.
8881
08fbf92e
VS
88822012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8883
8884 * util/grub-install.in: Fix nvram call for PreP.
8885
5d1182a6
VS
88862012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8887
8888 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
8889 the error when some elements are missing into a warning.
8890
3f8cdd90
VS
88912012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
8894
51006716
CW
88952012-03-28 Colin Watson <cjwatson@ubuntu.com>
8896
8897 * docs/grub.texi (Invoking grub-probe): New section.
8898 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
8899
e1bd676b
VS
89002012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
8901
8902 Fix tab and wide character handling in editor and menu.
8903
8904 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
8905 agglomerate control characters with combining marks.
8906 (bidi_line_wrap): Allow break on tab.
8907 (grub_unicode_get_comb_start): New function.
8908 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
8909 and tab correctly.
8910 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
8911 with a space.
8912 * grub-core/normal/term.c (print_ucs4_terminal): New argument
8913 fixed_tab_size. All users updated.
8914 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
8915 (grub_term_getcharwidth): Handle \t.
8916 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
8917 and copy.
8918
22e6a774
VS
89192012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8920
8921 Handle big-endian mdraid.
8922
8923 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
8924 * grub-core/Makefile.core.def (mdraid09_be): New module.
8925 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
8926 rather than grub_le_to_cpu* and grub_cpu_to_le*.
8927 * grub-core/disk/mdraid_linux_be.c: New file.
8928
3c0eae66
VS
89292012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8930
8931 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
8932
b6cf74c9
VS
89332012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8934
8935 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
8936 missing quotes which caused confusion among translators.
8937
83c93b9c
VS
89382012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8939
8940 * util/grub-mkconfig_lib.in: Fix typo.
8941
ac6fd218
VS
89422012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8943
8944 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
8945 spaces.
8946 * tests/grub_script_leading_whitespace.in: New file.
8947 * Makefile.util.def (grub_script_leading_whitespace): New test.
8948
ba287dd8
VS
89492012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8950
8951 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
8952 to work.
8953
d2d58d0a
VS
89542012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
8957 starts with control character.
8958
0382d9bb
VS
89592012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8960
8961 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
8962 overflow.
8963 (grub_gdb_outbuf): Likewise.
8964
d83ff9f9
VS
89652012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
8966
8967 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
8968 zero terminator. Fixes a crash.
8969
2282da4a
VS
89702012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8971
8972 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
8973 beyond 4 GiB.
8974 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
8975 images independently of preffered adderss field.
8976
0ae4f0bd
VS
89772012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8978
8979 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
8980 * grub-core/commands/regexp.c: Likewise.
8981 * grub-core/loader/i386/linux.c: Likewise.
8982 * grub-core/partmap/msdos.c: Likewise.
8983 * grub-core/script/execute.c: Likewise.
8984 * grub-core/term/gfxterm.c: Likewise.
8985
546fbe9b
VS
89862012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8987
8988 Add variable parsing in $"..." and fix several mismatches with bash.
8989
8990 * Makefile.util.def (grub_script_gettext): New test.
8991 * grub-core/script/execute.c (parse_string): New function.
8992 (gettext_append): Likewise.
8993 (grub_script_arglist_to_argv): Use gettext_append.
8994 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
8995 * tests/grub_script_gettext.in: New file.
8996
9fdb2d7b
VS
89972012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
8998
8999 Fix handling of leading spaces in scripts.
9000
9001 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
9002 spaces.
9003 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
9004 other than skipping \r. All users updated.
9005 * tests/grub_script_echo1.in: Add space-related tests.
9006 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
9007
1a1ac4f6
VS
90082012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9009
9010 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
9011
b63d89b6
VS
90122012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9013
9014 * configure.ac: Bump up the version to beta2.
9015
17f38c0f
VS
90162012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9017
9018 Fix gettext reload bugs (e.g. inability to disable gettext
9019 once enabled).
9020
9021 * grub-core/gettext/gettext.c: Encapsulate all static variables in
9022 main_context and secondary_context. All functions updated.
9023 (grub_gettext_translate): Rename to ...
9024 (grub_gettext_translate_real): ... this. Return NULL on failed
9025 translate.
9026 (grub_gettext_translate): Handle secondary context.
9027 (grub_gettext_delete_list): Close file and zero-out the context.
9028 (grub_mofile_open): Don't call grub_gettext_delete_list.
9029 Don't close file.
9030 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
9031 if locale="" to avoid pointless error message.
9032 (grub_gettext_env_write_lang): Update lang even if load fails.
9033 Handle secondary context.
9034 (grub_gettext_reread_prefix): New function.
9035 (read_main): Likewise.
9036 (read_secondary): Likewise.
9037 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
9038 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
9039 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
9040 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
9041
8e56f870
VS
90422012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9043
9044 * configure.ac: Decrease warning level to avoid spurious warnings and
9045 to be able to compile with GCC 4.2.
9046 * Makefile.util.def: Remove -Wno-error=logical-op.
9047
82f6d455
WB
90482012-03-10 William Bittner <william.bittner@gmail.com>
9049
9050 * util/import_unicode.py: Add missing brackets around string for
9051 python 3 support.
9052
1ecd61a4
VS
90532012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9054
9055 Fix efi chainloader on network root.
9056
9057 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
9058 network devices.
9059 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
9060 New function.
9061
14361ee8
VS
90622012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9063
9064 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
9065 unused show_text member.
9066 * docs/grub.texi: Document "text" property.
9067
922aabf3
VS
90682012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9069
9070 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
9071 in dprintf.
9072
ec316771
VS
90732012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9074
9075 Fix IMSM handling on Fedora.
9076
9077 * util/getroot.c (grub_util_is_imsm): New function.
9078 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
9079
0f021838
VS
90802012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9081
9082 * Makefile.am: Strip gold section.
9083 * conf/Makefile.common: Likewise.
9084 * gentpl.py: Likewise.
9085 * grub-core/Makefile.core.def: Likewise.
9086 * grub-core/genmod.sh.in: Likewise.
9087
1039c8eb
VS
90882012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9089
9090 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
9091 * util/grub.d/20_linux_xen.in: Likewise.
9092 Based on Debian patch.
9093
6dd412cd
VS
90942012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9095
9096 * util/grub.d/10_linux.in: Fix syntax error resulting in
9097 Richard Laager's patch.
9098 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
9099
3fd8bae5
VS
91002012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
9103 dependencies.
9104
7eea1671
RL
91052012-03-10 Richard Laager <rlaager@wiktel.com>
9106
9107 * util/grub.d/10_linux.in: Fix ZFS root passing.
9108
e8e0566b
VS
91092012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9110
9111 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9112 * grub-core/commands/xnu_uuid.c: Likewise.
9113 * grub-core/loader/efi/appleloader.c: Likewise.
9114 * grub-core/script/execute.c: Likewise.
9115 * grub-core/script/main.c: Likewise.
9116 * util/grub-mkfont.c: Likewise.
9117
1acc5b1f
VS
91182012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9119
9120 * util/grub-mkfont.c (options): Use more appropriate "select" that
9121 "set" for face index.
9122
35d70620
VS
91232012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9124
9125 * util/grub-editenv.c (options): Gettextize command summaries.
9126
c9eb96b5
VS
91272012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9128
9129 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
9130 "out of memory" error messagge.
9131
1f493136
VS
91322012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
9135 of diskfilter for diskfilter on diskfilter support.
9136
6d790129
VS
91372012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
9140
005f46c9
VS
91412012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9142
9143 * util/grub-install.in: Check for themes/starfield/theme.txt and not
9144 themes/starfield.
9145
c8f778a0
VS
91462012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9147
9148 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
9149
de1e64eb
VS
91502012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
9153
c6d54211
VS
91542012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
9157 of error message.
9158
dd390777
VS
91592012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
9162
5fd1c522
VS
91632012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9164
9165 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
9166 message.
c6d54211 9167 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 9168
fae01f6c
VS
91692012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9170
9171 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
9172 Gettextize.
9173 * util/grub-mount.c (options): Likewise.
9174
292fdaff
VS
91752012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9176
9177 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
9178 gettextize.
9179 * grub-core/commands/search_wrap.c (options): Likewise.
9180
ecdbae77
VS
91812012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
9184
52bfedfa
VS
91852012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9186
9187 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
9188 size calculation.
9189 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
9190 none is known.
9191
55b20e58
VS
91922012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9193
9194 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
9195 "temporary" since it's used in identifier and is limited in space.
9196
fda9d101
VS
91972012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 * po/POTFILES.in: Regenerate. Include *.h since they contain
9200 translatable strings as well.
9201
6a0295e2
VS
92022012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9203
9204 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9205 byte-swap on big-endian.
9206 Reported by: Lennart Sorensen
9207
807fb77c
VS
92082012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9209
9210 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
9211 (allocate_pages): Improve dprintf.
9212 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
9213 code32_start. Fill code32_start and kernel_alignment in params.
9214 (grub_cmd_initrd): Use prot_init_space.
9215
61ac50ba
VS
92162012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9217
9218 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
9219
abdd26dd
VS
92202012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9221
9222 * util/grub-install.in: Add missing dot at the end of sentence.
9223
6e69da9c
VS
92242012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9227 * grub-core/commands/videotest.c: Likewise.
9228 * grub-core/loader/i386/linux.c: Likewise.
9229
4a929343
VS
92302012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
9233 sentence.
9234 Reported by: Milo Casagrande.
9235
bb51c6c6
VS
92362012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9237
9238 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
9239 * grub-core/commands/gptsync.c: Likewise.
9240 * grub-core/commands/hashsum.c: Likewise.
9241 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9242 * grub-core/commands/legacycfg.c: Likewise.
9243 * grub-core/io/gzio.c: Likewise.
9244 * grub-core/net/net.c: Likewise.
9245 * grub-core/term/gfxterm.c: Likewise.
9246 * grub-core/term/terminfo.c: Likewise.
9247 * grub-core/tests/test_blockarg.c: Likewise.
9248 * grub-core/video/video.c: Likewise.
9249 * util/grub-install.in: Likewise.
9250 * util/grub-mkfont.c: Likewise.
9251
b2b149cb
VS
92522012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9253
9254 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
9255
c7c080ad
VS
92562012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9257
9258 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 9259 Reported by: David Prévot.
c7c080ad 9260
f2e243c0
VS
92612012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9262
9263 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
9264 description.
9265
09963c76
VS
92662012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9267
9268 * util/grub-script-check.c (main): Fix a syntax error message which was
9269 unclear.
9270
a50514a8
VS
92712012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9272
9273 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
9274
4650daec
VS
92752012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9276
9277 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
9278 messages.
9279
92802012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
9281
9282 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
9283 without argument.
9284 * util/grub-mount.c (options): Likewise.
9285
bbc5a342
VS
92862012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9287
9288 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
9289
ef292a87
VS
92902012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * grub-core/net/http.c: Add TRANSLATORS comments.
9293 * grub-core/normal/cmdline.c: Likewise.
9294 * grub-core/normal/misc.c: Likewise.
9295 * grub-core/partmap/msdos.c: Likewise.
9296 * grub-core/parttool/msdospart.c: Likewise.
9297 * grub-core/script/execute.c: Likewise.
9298 * grub-core/script/main.c: Likewise.
9299 * grub-core/term/terminfo.c: Likewise.
9300 * grub-core/video/bitmap.c: Likewise.
9301 * util/grub-install.in: Likewise.
9302 * util/grub-mkimage.c: Likewise.
9303 * util/grub-mklayout.c: Likewise.
9304 * util/grub-setup.c: Likewise.
9305
0fc19bd0
VS
93062012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9307
9308 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
9309 with similar messages in grub-fstest.
9310
d95862ef
VS
93112012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9312
9313 * util/grub-install.in: Unify "option requires an argument" message
9314 with similar messages in other files.
9315 * util/grub-mkconfig.in: Likewise.
9316
b7308f90
VS
93172012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9318
9319 * util/grub-set-default.in: Replace printf with gettext_printf (the
9320 string in in question is already translated from grub-reboot)
9321
559dc587
VS
93222012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9323
9324 * configure.ac: Bump up the version to beta1.
9325
1a11761f
VS
93262012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9327
9328 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
9329 case when min_align = 0.
9330
24539abd
VS
93312012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9332
9333 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
9334 and fix a case when line_start overflows.
9335
32bd735b
VS
93362012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9337
9338 * util/grub-reboot.in (usage): Mention id posibility.
9339 * util/grub-set-default.in (usage): Likewise.
9340
1a2fd1e6
VS
93412012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9342
9343 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
9344 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
9345 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9346 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9347 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9348 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9349 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9350
90eeab76
VS
93512012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9352
9353 * grub-core/commands/menuentry.c (options): Remove
9354 GRUB_ARG_OPTION_REPEATABLE.
9355 Reported by: Andreas Vogel
9356
5ad1be82
AV
93572012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
9358
9359 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
9360
cb055286
HE
93612012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
9362
9363 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
9364 error.
9365
93b1cd79
VS
93662012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9367
9368 Use sort -V by the idea of Georgi Georgiev.
9369
9370 * util/grub-mkconfig_lib.in (version_sort): New function.
9371 (version_test_numeric): Use version_sort.
9372
0cdc126c
VS
93732012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9374
9375 Use submenus in grub-mkconfig.
9376
9377 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
9378 * util/grub-mkconfig_lib.in (grub_quote): New function.
9379 (gettext_printf): Use gettext and not gettext_quoted to fix several
9380 messages.
9381 * util/grub.d/10_hurd.in: Use submenus.
9382 * util/grub.d/10_kfreebsd.in: Likewise.
9383 * util/grub.d/10_linux.in: Likewise.
9384 * util/grub.d/10_netbsd.in: Likewise.
9385 * util/grub.d/20_linux_xen.in: Likewise.
9386 * util/grub.d/30_os-prober.in: Likewise.
9387 * util/grub.d/10_illumos.in: Add missing quoting.
9388 * util/grub.d/10_windows.in: Likewise.
9389
d9bef9bc
VS
93902012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 Fix menu title instability bug.
9393
9394 * grub-core/commands/menuentry.c (options): New option --id.
9395 (grub_normal_add_menu_entry): New argument id. All users updated.
9396 (grub_cmd_menuentry): Handle --id.
9397 (grub_menu_init): Accept unknown arguments.
9398 * grub-core/normal/main.c (features): Add feature_menuentry_id and
9399 feature_menuentry_options.
9400 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
9401 saved_entry.
9402 (get_entry_number): Match with id as well.
9403 * include/grub/menu.h (grub_menu_entry): New member id.
9404 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
9405 * util/grub.d/00_header.in: Define menuentry_id_option.
9406 * util/grub.d/10_hurd.in: Define id.
9407 * util/grub.d/10_illumos.in: Likewise.
9408 * util/grub.d/10_kfreebsd.in: Likewise.
9409 * util/grub.d/10_linux.in: Likewise.
9410 * util/grub.d/10_netbsd.in: Likewise.
9411 * util/grub.d/10_windows.in: Likewise.
9412 * util/grub.d/20_linux_xen.in: Likewise.
9413 * util/grub.d/30_os-prober.in: Likewise.
9414
94152012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
9416
9417 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
9418 "scope" with "body".
9419
7c8d0ce7
VS
94202012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9421
9422 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
9423 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
9424 prot_size and prot_file_size.
9425
49de079b
VS
94262012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9427
9428 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
9429 All users updated. If easily=1 require raid-5/-6 to be full.
9430 (is_node_readable): Likewise.
9431 (scan_devices): Scan incomplete but readable LVs at the end.
9432 (grub_diskfilter_memberlist): Pull missing devices.
9433 (insert_array): Skip scanning until device is complete or scan is
9434 done otherwise.
9435 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
9436 check.
9437 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
9438 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
9439
aff05d45
MG
94402012-03-03 Matthew Garrett <mjg@redhat.com>
94412012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9442
9443 Avoid EFI boot services when loading Linux.
9444
9445 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
9446 avoid_efi_bootservices. All users updated.
9447 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
9448 argument avoid_efi_bootservices. All users updated.
9449 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
9450 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
9451 align, min_align, relocatable, prefered_address. All users updated.
9452 Allocate avoiding boot services if kernel is relocatable.
9453 (grub_cmd_linux): Check if kernel is relocatable.
9454 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
9455 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
9456 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
9457 avoid_efi_boot_services.
9458 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
9459 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
9460 (linux_kernel_params): Likewise.
9461
3935dde2
MG
94622012-03-03 Matthew Garrett <mjg@redhat.com>
94632012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9464
9465 Use EDID on EFI.
9466
9467 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
9468 datasize_out.
9469 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
9470 modes. Set gop_handle.
9471 (grub_video_gop_get_edid): New function.
9472 (grub_gop_get_preferred_mode): Likewise.
9473 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
9474 (grub_video_efi_gop_adapter): Set .get_edid.
9475 * include/grub/efi/edid.h: New file.
9476 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
9477
32107ec0
VS
94782012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9479
9480 * util/grub-install.in: Load efivars unconditionally.
9481
e70a2c50
VS
94822012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9483
9484 * po/Rules-piglatin: Change suffix from .po-update-en to
9485 .po-update-en-piglatin.
9486
8f9cace1
VS
94872012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9488
9489 Add a pig farm.
9490
9491 * po/piglatin.sed: New file.
9492 * po/en@piglatin.header: Likewise.
9493 * po/Rules-piglatin: Likewise.
9494 * po/README: Add en@piglatin to autogenerated languages.
9495
8f95d002
VS
94962012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
9499 "Command for ...".
9500 * grub-core/commands/hdparm.c (options): Use "Display" rather than
9501 "Check" since we don't check anything.
9502 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
9503 is 64-bit one.
9504 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
9505 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
9506 (grub_md_sha512_real): Likewise.
9507
805a8dcc
VS
95082012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9509
9510 * grub-core/commands/gptsync.c: Fix typographic quoting.
9511 * grub-core/commands/ieee1275/suspend.c: Likewise.
9512 * grub-core/commands/parttool.c: Likewise.
9513 * grub-core/commands/search_wrap.c: Likewise.
9514 * grub-core/commands/videoinfo.c: Likewise.
9515 * grub-core/gfxmenu/gui_label.c: Likewise.
9516 * grub-core/hello/hello.c: Likewise.
9517 * grub-core/kern/emu/main.c: Likewise.
9518 * grub-core/net/net.c: Likewise.
9519 * grub-core/normal/menu.c: Likewise.
9520 * grub-core/normal/menu_text.c: Likewise.
9521 * grub-core/normal/misc.c: Likewise.
9522 * util/grub-editenv.c: Likewise.
9523 * util/grub-install.in: Likewise.
9524 * util/grub-kbdcomp.in: Likewise.
9525 * util/grub-mkconfig.in: Likewise.
9526 * util/grub-mknetdir.in: Likewise.
9527 * util/grub-mkrescue.in: Likewise.
9528 * util/grub-mkstandalone.in: Likewise.
9529 * util/grub-reboot.in: Likewise.
9530 * util/grub-set-default.in: Likewise.
9531 * util/grub-setup.c: Likewise.
9532 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9533
40211ab8
VS
95342012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9535
9536 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
9537 * grub-core/commands/keystatus.c: Likewise.
9538 * grub-core/commands/loadenv.c: Likewise.
9539 * grub-core/commands/probe.c: Likewise.
9540 * grub-core/commands/regexp.c: Likewise.
9541 * grub-core/commands/true.c: Likewise.
9542 * grub-core/commands/videoinfo.c: Likewise.
9543 * grub-core/disk/cryptodisk.c: Likewise.
9544 * grub-core/disk/ldm.c: Likewise.
9545 * grub-core/disk/loopback.c: Likewise.
9546 * grub-core/disk/luks.c: Likewise.
9547 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9548 * grub-core/kern/disk.c: Likewise.
9549 * grub-core/kern/emu/hostdisk.c: Likewise.
9550
0c7d99c7
VS
95512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9552
9553 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
9554 * util/grub-install.in: Add missing quote in the comment.
9555
e7d2559b
VS
95562012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9557
9558 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
9559 * grub-core/commands/lsmmap.c: Likewise.
9560 * grub-core/commands/minicmd.c: Likewise.
9561 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
9562 * grub-core/commands/regexp.c: Likewise.
9563 * grub-core/gdb/gdb.c: Likewise.
9564 * grub-core/term/gfxterm.c: Likewise.
9565 * util/grub-mkconfig.in: Likewise.
9566 * util/grub-mkfont.c: Likewise.
9567 * util/grub-mklayout.c: Likewise.
9568 * util/grub-mknetdir.in: Likewise.
9569 * util/grub-mkrescue.in: Likewise.
9570 * util/grub.d/30_os-prober.in: Likewise.
9571
49ce9e50
VS
95722012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9573
9574 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
9575 with "Direct color" and "Packed" with "Packed pixel".
9576 (grub_cmd_videoinfo): Simplify legend.
9577
e4b791fa
VS
95782012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9579
9580 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9581 absolutely unclear error message.
9582
fd1265cb
VS
95832012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9584
9585 * util/grub-mkstandalone.in: Remove confusing leftover print.
9586
8822a8a0
VS
95872012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9588
9589 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
9590 comments.
9591 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
9592 (GRUB_MOD_INIT): Likewise.
9593 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
9594 VGA mode.
9595 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
9596 comments.
9597 * util/grub-install.in (usage): Likewise.
9598 Spell ID in whole letters.
9599 Add missing ending dot.
9600 Quote variables.
9601 * util/grub-reboot.in: Fix capitalisation.
9602 * util/grub-set-default.in: Likewise.
9603
937fd0cc
VS
96042012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9605
9606 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
9607 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
9608 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
9609 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
9610 Disable -Werror for -Wdeprecated-declarations.
9611 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
9612 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
9613 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
9614 (grub_util_get_grub_dev): Make luks handling dependent on
9615 HAVE_DEVICE_MAPPER and not __linux__.
9616 (get_win32_path): Fix format security.
9617 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
9618 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
9619 Don't try grub_find_zpool_from_dir.
9620 (grub_make_system_path_relative_to_its_root) [!__linux__]:
9621 #ifdef-out paresdir.
9622
1bab1ae3
VS
96232012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9624
9625 * util/grub-pe2elf.c (usage): Add missing noreturn.
9626 (write_section_data): Rename name to shname to avoid shadowing.
9627 (write_symbol_table): Rename name to symname to avoid shadowing.
9628 Fix write_reloc_section call.
9629
ef023e42
VS
96302012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9631
9632 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
9633 to ensure that it's after the last byte of .text.
9634
48afcb75
VS
96352012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9636
9637 * util/ieee1275/ofpath.c (my_isdigit): New function.
9638 (trailing_digits): Use my_isdigit.
9639 (strip_trailing_digits): Likewise.
9640
88d51eff
VS
96412012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9642
9643 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
9644 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
9645
17edc2ba
VS
96462012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9647
9648 * grub-core/kern/i386/pc/startup.S: Define __start.
9649
ad5518d7
VS
96502012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9651
9652 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
9653 strip already transforms he format.
9654
9e95e1bf
VS
96552012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9656
9657 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
9658
9cc3ee5c
VS
96592012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9660
9661 * util/grub-install.in: Add missing gettext init.
9662 * util/grub-kbdcomp.in: Likewise.
9663 * util/grub-mkconfig.in: Likewise.
9664 * util/grub-mknetdir.in: Likewise.
9665 * util/grub-mkrescue.in: Likewise.
9666 * util/grub-mkstandalone.in: Likewise.
9667 * util/grub-reboot.in: Likewise.
9668 * util/grub-set-default.in: Likewise.
9669 * util/grub.d/00_header.in: Likewise.
9670 * util/grub.d/10_hurd.in: Likewise.
9671 * util/grub.d/10_windows.in: Likewise.
9672 * util/grub.d/30_os-prober.in: Likewise.
9673 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9674
49e08a06
VS
96752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9676
9677 * po/Rules-swiss: Fix header comment.
9678
3809cb41
AV
96792012-02-29 Andreas Vogel <anvoit>
9680
9681 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
9682 resulted in leak of arguments.
9683
fa6ec573
VS
96842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9685
9686 * grub-core/boot/i386/pc/startup_raw.S: Use separate
9687 reed_solomon_size const definition instead of computing it since
9688 Apple assembler doesn't support the later.
9689
22899b9c
VS
96902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9691
9692 * gentpl.py (kernel): Rewrite Apple part.
9693
a132afc3
VS
96942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9695
9696 * include/grub/kernel.h (FOR_MODULES): Check module magic.
9697
9d742bd4
VS
96982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9699
9700 * util/grub-mkimagexx.c (locate_sections): Support non-standard
9701 ELF section gap.
9702 (load_image): Likewise.
9703
f04a9a21
VS
97042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9705
9706 * configure.ac: Fix a typo in previous commit.
9707
46cf439c
VS
97082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9709
9710 Don't add -Wl,-N on Apple platform.
9711
9712 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
9713 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
9714
c4c48c54
VS
97152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9716
9717 * grub-core/Makefile.core.def (lzma_decompress): Use
9718 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
9719
31a12124
VS
97202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9721
9722 * grub-core/genmod.sh.in: Rewrite the Apple part.
9723
4f3aa1af
VS
97242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9725
9726 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
9727 comparison.
9728
7bd8b0c7
VS
97292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9730
9731 * acinclude.m4 (grub_CHECK_PIC): New test.
9732 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
9733
97304d7c
VS
97342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9735
9736 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
9737 to avoid the warning.
9738
fb883812
VS
97392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9740
9741 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
9742 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
9743 after. All users updated.
9744
a121c964
VS
97452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9746
9747 Use the common size routine in hostfs so we can read disks as well.
9748
9749 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
9750 (grub_util_get_fd_size): ... this. Return size in bytes.
9751 All users updated.
9752 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
9753 grub_util_get_fd_size.
9754
c66d6410
VS
97552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9756
9757 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
9758 Add blocksize retrieval.
9759
dfc8aeb0
VS
97602012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9761
9762 * configure.ac: Restore CFLAGS after efiemu check.
9763
403e25a5
VS
97642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9765
9766 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
9767 Apple bug.
9768
382775d1
VS
97692012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9770
9771 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
9772
6fd4e6e4
VS
97732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9774
9775 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
9776 (grub_cmd_halt): Likewise.
9777
bea359d6
VS
97782012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9779
9780 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
9781 for local arithmetics.
9782 Break %sp init into 2 instructions.
9783 Add 0 byte at the end.
9784
32eb6ee1
VS
97852012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9786
9787 * grub-core/disk/diskfilter.c (read_segment): Initialise err
9788 before loops.
9789
e8377389
VS
97902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9791
9792 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
9793 for context.
9794
8cb17de7
VS
97952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9796
9797 * grub-core/disk/ldm.c (make_vg): Init part.name.
9798 (grub_ldm_detect): Silence spurious warning.
9799 (grub_util_is_ldm): Likewise.
9800
595717e6
VS
98012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9802
9803 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
9804 sane value to avoid a spurious warning.
9805
c4b7e588
VS
98062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9807
9808 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
9809 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
9810
59824957
VS
98112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9812
9813 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
9814 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
9815
70115b99
VS
98162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9817
9818 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
9819 hardcoding the relevant info.
9820
56733740
VS
98212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9822
9823 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
9824 missing const qualifiers.
9825 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
9826
43481481
VS
98272012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9828
9829 * util/getroot.c [__APPLE__]: Add missing includes.
9830 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
9831
3cb38f01
VS
98322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9833
9834 * util/grub-mkimage.c (generate_image): Silence spurious warning.
9835
d9dbf11e
VS
98362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9837
9838 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
9839 avoid conflicts.
9840
0c42a45d
VS
98412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9842
9843 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
9844
46c34eb0
VS
98452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9846
9847 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
9848 and grub_file_close call.
9849
99ce1597
VS
98502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9851
9852 Add LZSS Mach-O support (needed for new xnu kernelcache).
9853
9854 * grub-core/Makefile.core.def (xnu): Add file lzss.c
9855 * grub-core/loader/lzss.c: New file.
9856 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
9857 on Mach-O open failure.
9858 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
9859 Don't free cmdsXX in uncompressedXX is set.
9860 (grub_macho_file): Init new fields.
9861 New argument is_64bit. All users updated.
9862 Handle compressed. Error out if no suitable architecture is found.
9863 Don't close file.
9864 (grub_macho_open): New argument is_64bit. All users updated.
9865 * grub-core/loader/macho32.c: Add defines for new fields.
9866 * grub-core/loader/macho64.c: Likewise.
9867 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
9868 (grub_macho_parse): Handle compressed.
9869 Defer actual processing if compressed.
9870 (grub_macho_cmds_iterate): Decompress if compressed. New argument
9871 "filename". All users updated.
9872 (grub_macho_size): New argument "filename". All users updated.
9873 (grub_macho_get_entry_point): Likewise.
9874 (grub_macho_load): Handle compressed.
9875 * include/grub/macho.h (grub_macho_lzss_header): New struct.
9876 (GRUB_MACHO_LZSS_OFFSET): New define.
9877 (grub_decompress_lzss): New proto.
9878 * include/grub/machoload.h (grub_macho_file): New fields to handle
9879 compressed.
9880 (grub_macho_contains_macho64): Remove proto.
9881 (grub_macho_contains_macho32): Likewise.
9882 * util/grub.d/30_os-prober.in: Use kernel cache if available.
9883
ebd17d6f
VS
98842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9885
9886 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
9887
2702b4e4
VS
98882012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9889
9890 Fix make dist.
9891
9892 * Makefile.am (starfield_theme_files): New var.
9893 (starfield_DATA): Use starfield_theme_files.
9894 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
9895 Add bootcheck-related files.
9896 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
9897 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
9898 and font_char_metrics.txt.
9899 * grub-core/Makefile.core.def (kernel): Update extra_dist.
9900 (setjmp): Add lib/ia64/longjmp.S.
9901 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
9902 * po/POTFILES.in: Regenerate.
9903 * po/Rules-swiss: use DISTFILES.common.extra2 and not
9904 DISTFILES.common.extra1.
9905 * util/devicemap.c: Removed.
9906 * grub-core/lib/i386/relocator_backward.S: Likewise.
9907 * util/import_gcry.py: Remove unused files. Add extra_dist for
9908 ChangeLog.
9909
cf1adfdf
VS
99102012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
9911
9912 * grub-core/gettext/gettext.c (grub_mofile_open): Call
9913 grub_gettext_delete_list before changing grub_gettext_max to avoid
9914 running out of array bounds.
9915
99162012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
9917
9918 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
9919 grub_vga_text_init/grub_vga_text_fini.
9920
cf1adfdf 99212012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
9922
9923 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
9924
541d92e9
VS
99252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9926
9927 * configure.ac: Bump to 2.00~beta0.
9928
7931dddf
VS
99292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9930
9931 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
9932 missing initialisation.
9933
f1b16fa3
VS
99342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9935
9936 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
9937
83ddae23
VS
99382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9939
9940 Support v2 xnu boot arguments.
9941
9942 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
9943 New argument fsbfreq_out.
9944 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
9945 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
9946 be used.
9947 * grub-core/loader/machoXX.c (grub_macho_load): New argument
9948 darwin_version.
9949 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
9950 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
9951 (grub_xnu_boot_params): Rename to ...
9952 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
9953 (grub_xnu_boot_params_v2): New struct.
9954
dc693fe6
VS
99552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9956
9957 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
9958 zeroing of CRC field before computing CRC.
9959
5a6e39c2
VS
99602012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9961
9962 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
9963 Change order of allocations to decrease fragmentation.
9964
6c21f5d7
VS
99652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
9966
9967 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
9968
cfe456dc
CW
99692012-02-27 Colin Watson <cjwatson@ubuntu.com>
9970
9971 Use write-combining MTRR to speed up video with buggy BIOSes.
9972
9973 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
9974 (cpuid): New define.
9975 (rdmsr): Likewise.
9976 (wrmsr): Likewise.
9977 (mtrr_base): Likewise.
9978 (mtrr_mask): Likewise.
9979 (grub_vbe_enable_mtrr_entry): New function.
9980 (grub_vbe_enable_mtrr): Likewise.
9981 (grub_vbe_disable_mtrr): Likewise.
9982 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
9983 control off to BIOS.
9984 (grub_video_vbe_init): Fill mtrr.
9985 (grub_video_vbe_fini): Disable mtrr.
9986 (grub_video_vbe_get_info_and_fini): Likewise.
9987 (grub_video_vbe_setup): Enable mtrr.
9988
e3c78337
CW
99892012-02-27 Colin Watson <cjwatson@ubuntu.com>
9990
9991 * include/grub/partition.h (grub_partition_map): Change prototype of
9992 embed to take a maximum value for nsectors.
9993 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
9994 * include/grub/fs.h (grub_fs): Likewise.
9995 * grub-core/partmap/msdos.c (embed_signatures): New array.
9996 (pc_partition_map_embed): Check for and avoid sectors matching any
9997 of the signatures in embed_signatures, up to max_nsectors.
9998 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
9999 returned sector map to max_nsectors.
10000 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
10001 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
10002 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
10003 * util/grub-setup.c (setup): Allow for the embedding area being
10004 split into multiple blocklists. Tell dest_partmap->embed the
10005 maximum number of sectors we care about.
10006
100072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10008
10009 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
10010 Specify blocklist_install and reserver_first_sector for all fs.
10011 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
10012 blocklists.
10013
984b973f
VS
100142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10015
10016 * util/grub-install.in: Clarify strings.
10017 Fix source dir check.
10018
f122e0d6
RL
100192012-02-27 Richard Laager <rlaager@wiktel.com>
10020
10021 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
10022 "zfs" and "fuse.zfs" as synonyms.
10023
071114bb
VS
100242012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10025
10026 * configure.ac: Put platform and target_cpu substitutions back since
10027 they are used for directories.
10028
817e6abc
RL
100292012-02-27 Richard Laager <rlaager@wiktel.com>
100302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10031
10032 * util/grub.d/10_linux.in: Add ZFS-related arguments.
10033 * util/grub.d/20_linux_xen.in: Likewise.
10034
897b7419
RL
100352012-02-27 Richard Laager <rlaager@wiktel.com>
10036
10037 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
10038 with full paths.
10039
a414bd15
RL
100402012-02-27 Richard Laager <rlaager@wiktel.com>
10041
10042 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
10043 unescape.
10044
30ac48c4
VS
100452012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10046
10047 Don't use insecure popen in getroot.
10048
10049 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
10050 (exec_pipe): ... here.
10051 (find_root_devices_from_poolname): Use exec_pipe.
10052
53f13848
VS
100532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10054
10055 Remove platform and target_cpu replacement.
10056
10057 * configure.ac: Remove platform and target_cpu substitutions.
10058 * tests/util/grub-shell.in: Use modinfo.
10059 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
10060 explicitly.
10061
90cb2803
VS
100622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10063
10064 Autodetect platform in grub-install but allow override.
10065
10066 * util/grub-install.in: Autodetect platform. Support --target and
10067 --directory. Read platform from modinfo.sh.
10068
b9136427
VS
100692012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10070
10071 Support btrfs multi-volume probe.
10072
10073 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
10074 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
10075 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
10076 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
10077 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
10078 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
10079 grub_find_root_devices_from_btrfs if on btrfs.
10080
c36e5cd1
VS
100812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10082
10083 Remove any awareness of *.c util files about target.
10084
10085 * Makefile.util.def (grub-setup): Split to ...
10086 (grub-bios-setup): ... and this.
10087 (grub-sparc64-setup): ... and this.
10088 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
10089 * docs/man/grub-setup.h2m: Split into ...
10090 * docs/man/grub-sparc64-setup.h2m: ... this.
10091 * docs/man/grub-bios-setup.h2m: ... and this.
10092 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
10093 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
10094 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
10095 (grub_target_addr_t): Remove.
10096 (grub_target_size_t): Remove.
10097 (grub_target_ssize_t): Remove.
10098 * util/grub-install.in: Use new grub-*-setup.
10099 * util/grub-mkimagexx.c (Elf_Word): New define.
10100 (Elf_Half): Likewise.
10101 (Elf_Section): Likewise.
10102 (ELF_ST_TYPE): Likewise.
10103 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
10104 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
10105
584b2f8a
VS
101062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10107
10108 Replace grub_target_addr with more appropriate types.
10109
10110 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
10111 grub_target_addr with grub_addr.
10112 * grub-core/commands/iorw.c (grub_cmd_read): Replace
10113 grub_target_addr with grub_port.
10114 (grub_cmd_write): Likewise.
10115 * grub-core/commands/memrw.c (grub_cmd_read): Replace
10116 grub_target_addr with grub_addr.
10117 (grub_cmd_write): Likewise.
10118 * grub-core/video/efi_uga.c (find_line_len): Likewise.
10119
5a0dc6fb
VS
101202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10121
10122 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
10123 const qualifier for vendor_guid.
10124
786aff6e
VS
101252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10126
10127 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
10128 const qualifier.
10129 (efiemu_memequal): Likewise.
10130 (find_variable): Likewise.
10131
49017b17
VS
101322012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10133
10134 Fix missing console prototype on qemu-mips.
10135
10136 * include/grub/mips/qemu_mips/console.h: New file.
10137
c5988629
MG
101382012-02-27 Matthew Garrett <mjg@redhat.com>
101392012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10140
10141 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
10142 * include/grub/efi/efi.h: Likewise.
10143 * include/grub/efi/api.h: Add guid for EFI-specified variables.
10144 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
10145 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
10146 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
10147 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
10148 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
10149
e33f8d69
MG
101502012-02-27 Matthew Garrett <mjg@redhat.com>
10151
10152 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
10153
fb312cd9
VS
101542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10155
10156 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
10157 error.
10158
7134247c
VS
101592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10160
10161 * configure.ac: Remove inappropriate use of program_transform_name
10162 on grubdir and bootdir but allow explicit specification of those
10163 variables.
10164
6a313124
VS
101652012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10166
10167 * util/grub-mknetdir.in (grub_prefix): Removed.
10168 (subdir): Use @bootdirname@ and @grubdirname@.
10169
2311c5ca
VS
101702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10171
10172 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
10173
7d5d60f7
VS
101742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10175
10176 * po/POTFILES.in: Regenerated.
10177
8151bc82
VS
101782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10179
10180 Remove improper use of program_transform_name on pkglibrootdir.
10181
10182 * configure.ac (pkglibrootdir): Removed.
10183 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
10184 * util/grub-mkimage.c: Likewise.
10185
b4a6a533
VS
101862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10187
10188 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
10189 warning.
10190
668f304f
VS
101912012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10192
10193 * util/grub-install.in: Use file identifier if no UUID is available
10194 or user explicitly prompted for it.
10195
665f2341
NP
101962012-02-27 Navdeep Parhar <nparhar@gmail.com>
10197
10198 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
10199 (freebsd_get_zfs): New function.
10200 (grub_freebsd_boot): Pass zfs UUID.
10201 (grub_cmd_freebsd): Set zfs UUID.
10202
8151bc82 102032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
10204
10205 * conf/Makefile.common (platformdir): Base on pkglibdir and not
10206 pkglibrootdir.
10207
e4c498a1
MG
102082012-02-27 Mike Gilbert <floppym@gentoo.org>
10209
10210 Add configure flag to control libzfs integration.
10211
10212 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
10213
1e9a9a3f
VS
102142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10215
10216 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
10217 device.
10218 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
10219 small devices.
10220
036985b8
VS
102212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10222
10223 Remove grub_{modname}_init and grub_{modname}_fini. They should never
10224 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
10225 be used on non-modules.
10226
10227 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
10228 Rename to grub_boot_init.
10229 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
10230 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
10231 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
10232 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
10233 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
10234 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
10235 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
10236 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
10237 includes.
10238 (grub_machine_init): Remove empty inits.
10239 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
10240 includes.
10241 (grub_machine_init): Remove empty inits.
10242 * grub-core/term/arc/console.c: Remove explicit proto.
10243 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
10244 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
10245 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10246 grub_at_keyboard_fini.
10247 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
10248 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
10249 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10250 grub_gfxterm_fini.
10251 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
10252 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
10253 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10254 grub_vgatext_fini.
10255 * grub-core/term/ieee1275/console.c: Remove explicit proto.
10256 * grub-core/term/serial.c (GRUB_MOD_INIT)
10257 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
10258 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10259 grub_serial_fini.
10260 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
10261 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
10262 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10263 grub_terminfo_fini.
10264 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
10265 (GRUB_MOD_FINI): Likewise.
10266 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
10267 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
10268 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10269 grub_video_radeon_fuloong2e_fini.
10270 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
10271 [LOONGSON]: Rename to grub_video_sis315pro_init.
10272 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10273 grub_video_sis315pro_fini.
10274 * grub-core/video/sm712.c (GRUB_MOD_INIT)
10275 [LOONGSON]: Rename to grub_video_sm712_init.
10276 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10277 grub_video_sm712_fini.
10278 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
10279 (grub_at_keyboard_fini): Likewise.
10280 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
10281 Don't declare grub_{modname}_init.
10282 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
10283 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
10284 New proto.
10285 (grub_keylayouts_fini) [!EMU]: Likewise.
10286 * include/grub/serial.h (grub_serial_init) [!EMU]:
10287 New proto.
10288 (grub_serial_fini) [!EMU]: Likewise.
10289 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
10290 New proto.
10291 (grub_terminfo_fini) [!EMU]: Likewise.
10292 * include/grub/video.h (grub_font_init) [!EMU]:
10293 New proto.
10294 (grub_font_fini) [!EMU]: Likewise.
10295 (grub_gfxterm_init) [!EMU]: Likewise.
10296 (grub_gfxterm_fini) [!EMU]: Likewise.
10297 (grub_video_sm712_init) [!EMU]: Likewise.
10298 (grub_video_sm712_fini) [!EMU]: Likewise.
10299 (grub_video_sis315pro_init) [!EMU]: Likewise.
10300 (grub_video_sis315pro_fini) [!EMU]: Likewise.
10301 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
10302 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
10303
d5534665
VS
103042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10305
10306 Make nand a prefix for nand devices.
10307
10308 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
10309
10133b5f
VS
103102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10311
10312 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
10313 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
10314
8e307a62
VS
103152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10316
10317 * include/grub/env.h (grub_env_find): Remove prototype.
10318 * grub-core/kern/env.c (grub_env_find): Make static.
10319 (grub_env_set): Remove useless set.
10320
a4c65f34
VS
103212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10322
10323 * grub-core/kern/i386/realmode.S: Remove useless align.
10324
d87893d5
VS
103252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10326
10327 * include/grub/dl.h (grub_dl_load_file): Don't export.
10328
50159add
VS
103292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10330
10331 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
10332 grub_dprintf.
10333
b2582b84
VS
103342012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10335
10336 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
10337 grub_errors.
10338 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
10339 not reloading whole superblock but only the part which is really needed.
10340 Remove useless grub_errors.
10341 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
10342 grub_errors.
10343
e2a83395
VS
103442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10345
10346 Don't export grub_get_rtc.
10347
10348 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
10349 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
10350
e7d2a906
VS
103512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10352
10353 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
10354
6cf1363b
VS
103552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10356
10357 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 10358 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 10359
eece3349
VS
103602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10361
10362 Remove prio_list.
10363
10364 * include/grub/list.h (grub_prio_list): Removed.
10365 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
10366 GRUB_COMMAND_PRIO_MASK.
10367 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
10368 GRUB_COMMAND_FLAG_ACTIVE.
10369 (grub_prio_list_insert): Removed.
10370 (grub_prio_list_remove): Likewise.
10371 (GRUB_AS_PRIO_LIST): Likewise.
10372 (GRUB_AS_PRIO_LIST_P): Likewise.
10373 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
10374 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
10375 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
10376 * grub-core/kern/command.c (grub_register_command_prio): Inline
10377 the prio_list code.
10378 (grub_unregister_command): Likewise.
10379
94f064b4
VS
103802012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10381
10382 Fix interrupt mixup from previous commit.
10383
10384 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
10385 (grub_realidt): New var.
10386 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
10387 Load idt.
10388 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
10389 New declaration.
10390 (grub_relocator16_boot): Set grub_relocator16_idt.
10391 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
10392 (LOCAL(realidt)): ... this.
10393 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
10394 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
10395 (grub_realidt): New variable.
10396
27317084
VS
103972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10398
10399 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
10400 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
10401 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
10402 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
10403 Gettextize.
10404 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
10405 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
10406 * po/POTFILES.in: Regenerate.
10407
47b40053
VS
104082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10409
10410 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
10411 errors.
10412
2b343101
VS
104132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10414
10415 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
10416 \0.
10417 (add_length): Likewise.
10418
ff27c3dd
LK
104192012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
104202012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
10421
10422 GDB serial and backtrace support.
10423
10424 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
10425 (prot_to_real): Likewise.
10426 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
10427 * grub-core/Makefile.core.def (backtrace): New module.
10428 (gdb): Likewise.
10429 * grub-core/gdb/cstub.c: New file.
10430 * grub-core/gdb/gdb.c: Likewise.
10431 * grub-core/gdb/i386/idt.c: Likewise.
10432 * grub-core/gdb/i386/machdep.S: Likewise.
10433 * grub-core/gdb/i386/signal.c: Likewise.
10434 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 10435 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
10436 * include/grub/backtrace.h: Likewise.
10437 * include/grub/gdb.h: Likewise.
10438 * include/grub/i386/gdb.h: Likewise.
10439
104402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
10441
10442 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
10443 New function.
10444 (add_length): Likewise.
10445 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
10446 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
10447 proto.
10448 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
10449 __argp_get_display_len.
10450
ff27c3dd 104512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
10452
10453 $"..." support in scripts.
10454
10455 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
10456 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
10457 * grub-core/script/yylex.l: Likewise.
10458 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
10459 value.
10460
ff27c3dd 104612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
10462
10463 * gentpl.py: Remove obsolete pkglib_DATA handling.
10464
ff27c3dd 104652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
10466
10467 Don't transform PACKAGE_TARNAME following a discussion on autoconf
10468 mailing list.
10469
10470 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
10471 * util/grub-kbdcomp.in: Likewise.
10472 * util/grub-mkconfig.in: Likewise.
10473 * util/grub-mkconfig_lib.in: Likewise.
10474 * util/grub-mknetdir.in: Likewise.
10475 * util/grub-mkrescue.in: Likewise.
10476 * util/grub-mkstandalone.in: Likewise.
10477 * util/grub-reboot.in: Likewise.
10478 * util/grub-set-default.in: Likewise.
10479 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10480
ff27c3dd 104812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
10482
10483 Remove GRUB_PREFIX.
10484
10485 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
10486 * util/grub.d/00_header.in: Compute prefix in the only place it's still
10487 used for backward compatibility.
10488
ff27c3dd 104892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
10490
10491 Add new all_video module.
10492
10493 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
10494 * grub-core/Makefile.core.def (all_video): New module.
10495 * grub-core/genmoddep.awk: Generate dependency of all_video from
10496 video.lst.
10497 * grub-core/lib/fake_module.c: New file.
10498 * grub-core/normal/main.c (features): Add feature_all_video_module.
10499 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
10500 don't do explicit search again.
47454da5 10501 insmod all_video in load_video if available.
22c7ce85 10502
ff27c3dd 105032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
10504
10505 Another round of string clarification and adding TRANSLATORS comments.
10506
ff27c3dd 105072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
10508
10509 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
10510
ff27c3dd 105112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
10512
10513 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
10514 to grub_ssize_t.
10515 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
10516 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
10517
ff27c3dd 105182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
10519
10520 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
10521 trailing newline implicitly. All users updated.
10522
ff27c3dd 105232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
10524
10525 Implement serial on IEEE1275 and EFI.
10526
10527 * docs/grub.texi (Platform-specific limitations): Fix the columen video
10528 on emu. Mention arc and emu as the only platforms without serial
10529 support.
10530 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
10531 ieee1275 platforms.
10532 * grub-core/term/efi/serial.c: New file.
10533 * grub-core/term/ieee1275/serial.c: Likewise.
10534 * grub-core/term/serial.c (grub_serial_find): Disable direct port
10535 specification if no ns8250 driver is available.
10536 (grub_cmd_serial): Likewise.
10537 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
10538 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
10539 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
10540 (grub_efi_parity_type_t): New type.
10541 (grub_efi_stop_bits_t): Likewise.
10542 (grub_efi_serial_io_interface): New struct.
10543 * include/grub/serial.h (grub_serial_port): Make 'broken' field
10544 available for all interfaces.
10545 Add EFI and IEEE1275 fields.
10546 (grub_ofserial_init): New proto.
10547 (grub_efiserial_init): Likeiwse.
10548 * util/grub.d/00_header.in: Don't check for the presence of serial
10549 module.
10550
ff27c3dd 105512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
10552
10553 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
10554 name as if it was an alias.
10555
114076ef
VS
105562012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10557
10558 * grub-core/commands/lsacpi.c (options): Fix typo.
10559
6a656b0e
VS
105602012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10561
10562 Convert grub-emu to argp.
10563
10564 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
10565 emu.
10566 * util/argp_common.c: Rename to ...
10567 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
10568 Add missing includes.
10569 * grub-core/kern/emu/main.c: Convert to argp.
10570 * po/POTFILES.in: Regenerate.
10571 * util/grub-install.in (usage): Make first letter lowcase in messages
10572 for uniformity.
10573 * util/grub-setup.c (options): Likewise.
10574
1e3f8ae8
VS
105752012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10576
10577 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
10578 Put back accidently commented-out code.
10579
ed167a80
VS
105802012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10581
10582 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
10583 loop check using Brent algorithm.
10584 (grub_hfsplus_btree_search): Likewise.
10585
6753c0ec
VS
105862012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10587
10588 * util/grub-install.in: Fix usage of wrong device for PreP install.
10589
4e27343f
VS
105902012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10591
10592 * conf/Makefile.common (CFLAGS_GNULIB): Add
10593 -Wno-unsafe-loop-optimizations.
10594 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
10595 on tools.
10596 * grub-core/commands/legacycfg.c: Add pragma to skip
10597 -Wunsafe-loop-optimizations.
10598 (check_password_md5_real): Fix loop counter type.
10599 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
10600 reading.
10601 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
10602 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
10603 loop condition.
10604 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
10605 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
10606 * grub-core/net/net.c (grub_net_route_address): Add safety loop
10607 condition.
10608 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
10609 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
10610 avoid possible infinite loops.
10611 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
10612 and -Wunsafe-loop-optimizations.
10613 * grub-core/script/yylex.l: Likewise.
10614 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
10615 (print_glyphs): Avoid infinite loops.
10616 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
10617
697f18b0
GS
106182012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
10619
10620 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
10621 to avoid infinite loop.
10622 (disp_acpi_rsdt_table): Likewise.
10623
274416e8
VS
106242012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10625
10626 * grub-core/font/font.c (grub_font_load): Add support for default
10627 path for fonts ($prefix/fonts).
10628 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
10629 for checking if string is a path.
10630 * grub-core/normal/main.c (features): Add feature_default_font_path.
10631 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
10632 * util/grub.d/00_header.in: Use default directory if possible.
10633 * util/grub-install.in: Install unicode.pf2.
10634
b3e08622
VS
106352012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10636
10637 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
10638 * po/Rules-swiss: New file.
10639 * po/swiss.sed: Likewise.
10640
fe42ce09
VS
106412012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10642
10643 * grub-core/fs/btrfs.c (find_device): Fix typos.
10644 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
10645 * util/grub-mkrelpath.c (argp_parser): Likewise.
10646 Reported by: Yuri Chornoivan.
10647
72f1d065
DO
106482012-02-23 Dalet Omega <daletomega@gmail.com>
10649
10650 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
10651 for usual informative messages.
10652
c5884973
DO
106532012-02-23 Dalet Omega <daletomega@gmail.com>
10654
10655 Starfield theme.
10656
10657 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
10658 * conf/Makefile.common: Define starfielddir.
10659 * configure.ac: Configure starfield.
10660 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
10661 * themes/starfield/README: Likewise.
10662 * themes/starfield/blob_w.png: Likewise.
10663 * themes/starfield/boot_menu_c.png: Likewise.
10664 * themes/starfield/boot_menu_e.png: Likewise.
10665 * themes/starfield/boot_menu_n.png: Likewise.
10666 * themes/starfield/boot_menu_ne.png: Likewise.
10667 * themes/starfield/boot_menu_nw.png: Likewise.
10668 * themes/starfield/boot_menu_s.png: Likewise.
10669 * themes/starfield/boot_menu_se.png: Likewise.
10670 * themes/starfield/boot_menu_sw.png: Likewise.
10671 * themes/starfield/boot_menu_w.png: Likewise.
10672 * themes/starfield/slider_c.png: Likewise.
10673 * themes/starfield/slider_n.png: Likewise.
10674 * themes/starfield/slider_s.png: Likewise.
10675 * themes/starfield/src/blob_nw.xcf: Likewise.
10676 * themes/starfield/src/bootmenu/: Likewise.
10677 * themes/starfield/src/bootmenu/center.xcf: Likewise.
10678 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
10679 * themes/starfield/src/bootmenu/side.xcf: Likewise.
10680 * themes/starfield/src/slider_c.xcf: Likewise.
10681 * themes/starfield/src/slider_n.xcf: Likewise.
10682 * themes/starfield/src/slider_s.xcf: Likewise.
10683 * themes/starfield/src/terminalbox/: Likewise.
10684 * themes/starfield/src/terminalbox/center.xcf: Likewise.
10685 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
10686 * themes/starfield/src/terminalbox/side.xcf: Likewise.
10687 * themes/starfield/starfield.png: Likewise.
10688 * themes/starfield/terminal_box_c.png: Likewise.
10689 * themes/starfield/terminal_box_e.png: Likewise.
10690 * themes/starfield/terminal_box_n.png: Likewise.
10691 * themes/starfield/terminal_box_ne.png: Likewise.
10692 * themes/starfield/terminal_box_nw.png: Likewise.
10693 * themes/starfield/terminal_box_s.png: Likewise.
10694 * themes/starfield/terminal_box_se.png: Likewise.
10695 * themes/starfield/terminal_box_sw.png: Likewise.
10696 * themes/starfield/terminal_box_w.png: Likewise.
10697 * themes/starfield/theme.txt: Likewise.
10698
17d73325
VS
106992012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10700
10701 * util/grub.d/00_header.in: Add missing export theme.
10702
dbebaf92
VS
107032012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10704
10705 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
10706 already included.
10707 Reported by: Eren D.
10708
3d68bffb
VS
107092012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10710
10711 * conf/Makefile.common (grubdatadir): Removed.
10712 (Makefile.am): Move eveything grubdata to pkgdata.
10713
4b59234d
VS
107142012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10715
10716 * grub-core/commands/acpihalt.c (get_sleep_type):
10717 Remove unused variable.
10718
463dcadc
VS
107192012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10720
10721 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
10722 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
10723 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
10724 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
10725 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
10726 i18n with gettext no-op.
10727 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
10728 GRUB_ACPI_OPCODE_STRING_CONST.
10729 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
10730 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
10731
e5b90c82
VS
107322012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10733
10734 * po/POTFILES.in: Regenerate.
10735
2a704ca9
VS
107362012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10737
10738 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
10739 -Wno-error=missing-noreturn.
10740
84f9d341
VS
107412012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10742
10743 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
10744 condition to avoid possibly infinite loops.
10745 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
10746 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
10747
d46683f9
VS
107482012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
10751 condition to avoid possibly infinite loops.
10752
c44866b2
VS
107532012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10754
10755 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
10756 on show_error.
10757
96790539
VS
107582012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
10761
1ba7e295
VS
107622012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10763
10764 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
10765
21ffe8f1
VS
107662012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10767
10768 * util/bin2h.c (usage): Add missing attribute noreturn.
10769
0ccb6b3c
VS
107702012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10771
10772 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
10773 if the size isn't divisible by 512.
10774
b00d7fb6
VS
107752012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10776
10777 Make list_push and list_remove functions rather than inline functions
10778 to decrease size and avoid aliasing violations.
10779
10780 * include/grub/list.h (grub_list_push): Move to ...
10781 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
10782 * include/grub/list.h (grub_list_remove): Move to ...
10783 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
10784
9d369087
VS
107852012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10786
10787 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
10788 and -Wunused-result.
10789
af0250d9
VS
107902012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10791
10792 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
10793 Reported by: Seth Goldberg
10794
aad32b14
VS
107952012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
10796
10797 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
10798
ac96441c
ST
107992012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
10800
10801 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
10802 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
10803 command line.
10804 * docs/grub.texi (Simple configuration): Document
10805 GRUB_CMDLINE_GNUMACH.
10806
108072012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
10808
10809 * conf/Makefile.common (platform_SCRIPTS): New variable.
10810 (platform_PROGRAMS): Likewise.
10811 * gentpl.py: Mark *,module and *.image for install.
10812 * grub-core/gdb_grub.in: Add a notice of expected environment.
10813 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
10814 (gmodule.pl): Likewise.
10815
ac96441c 108162012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
10817
10818 Replace grub_checkkey with grub_getkey_noblock.
10819
10820 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
10821 (grub_getkey_noblock): ... this. All users updated.
10822
ac96441c 108232012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
10824
10825 * grub-core/kern/emu/console.c: Move to ...
10826 * grub-core/term/emu/console.c: ...here.
10827 (grub_ncurses_getkey): Fix return value if no key is detected.
10828
e51b5666
VS
108292012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10830
10831 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
10832 (grub_unit_test_fini): Likewise.
10833 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
10834
108352012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10836
10837 * include/grub/test.h (GRUB_UNIT_TEST)
10838
d9a62292
VS
108392012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10840
10841 * grub-core/script/execute.c (grub_script_break): Clarify logic.
10842 Better error handling.
10843 (grub_script_return): Likewise.
10844 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
10845
77c9182f
VS
108462012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10847
10848 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
10849 rimplicit redifinition.
10850
edb13cf9
VS
108512012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10852
10853 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
10854 GRUB.
10855
a9e9dc7c
VS
108562012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10857
10858 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
10859 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
10860 prompt here.
10861
b4ba8e02
VS
108622012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10863
10864 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
10865 as GRUB_ERR_BUG. Don't malloc if no device is available.
10866
dded5540
VS
108672012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10868
10869 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
10870 Mark calling with invalid term as GRUB_ERR_BUG.
10871
0cf69874
VS
108722012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10873
10874 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
10875 packets rather than raising an error.
10876
59bfe502
VS
108772012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10878
10879 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
10880 in if.
10881
db5fc596
VS
108822012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10883
10884 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
10885 diagnostic to dprintf.
10886 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10887
e4b7f404
VS
108882012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10889
10890 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
10891 device name.
10892
e7b02f9e
VS
108932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10894
10895 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
10896 (grub_ntfs_iterate_dir): Likewise.
10897
0331e102
VS
108982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10899
10900 Efiemu stylistic fixes and gettext.
10901
10902 * grub-core/efiemu/i386/loadcore32.c
10903 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
10904 * grub-core/efiemu/i386/loadcore64.c
10905 (grub_arch_efiemu_relocate_symbols64): Likewise.
10906 * grub-core/efiemu/i386/pc/cfgtables.c
10907 (grub_machine_efiemu_init_tables): Likewise.
10908 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
10909 (grub_efiemu_loadcore_initXX): Add a filename argument.
10910 All users updated.
10911 Improved error message.
10912 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
10913 Add a filename argument.
10914 All users updated.
10915 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
10916 Reclassify double relocation as GRUB_ERR_BUG.
10917
306fc074
VS
109182012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10919
10920 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
10921 handling.
10922
794d8ef2
VS
109232012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
10924
10925 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
10926 on partition.
10927
109282012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
10929
10930 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
10931
794d8ef2 109322012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
10933
10934 Improve string. Gettextize.
10935
78dde88e
VS
109362012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10937
10938 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
10939 utils.
10940 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
10941
4786a90f
VS
109422012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10943
10944 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
10945 [GRUB_UTIL]: New function.
10946 (insert_array) [GRUB_UTIL]: Store partmaps.
10947 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
10948 partmaps.
10949 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
10950 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
10951 (probe_abstraction): Print diskfilter and not raid.
10952 Reported by: Lennart Sorensen
10953
0b6225bd
VS
109542012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10955
10956 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
10957 * util/grub-mkimagexx.c (MASK3): New define.
10958 (add_value_to_slot_20b): Use MASK3.
10959 (add_value_to_slot_21): Likewise.
10960 (relocate_addresses): Fix format specification.
10961 (load_image): Explicitly init symtab_section.
10962
b055f8f6
VS
109632012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10964
10965 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
10966 (grub_util_biosdisk_get_grub_dev): Fix format specification.
10967
b77c2fb7
VS
109682012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10969
10970 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
10971 on powerpc.
10972 Reported by: Lennart Sorensen
10973
e3ec28ab
VS
109742012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
10975
10976 * gentpl.py: Add missing license header.
10977 * docs/grub.texi: Update copyright year.
10978
c8d9ead6
GS
109792012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
10980
10981 Source grub-mkconfig_lib from the build directory at build time.
10982 Suggested by: Vladimir Serbinenko.
10983
10984 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
10985 * util/grub-install.in: Define pkgdatadir if not already set, and source
10986 grub-mkconfig_lib from there.
10987 * util/grub-kbdcomp.in: Likewise.
10988 * util/grub-mkconfig.in: Likewise.
10989 * util/grub-mknetdir.in: Likewise.
10990 * util/grub-mkrescue.in: Likewise.
10991 * util/grub-mkstandalone.in: Likewise.
10992 * util/grub-reboot.in: Likewise.
10993 * util/grub-set-default.in: Likewise.
10994 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10995
ebcecdf1
VS
109962012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10997
10998 Increase warning level.
10999
11000 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
11001 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
11002 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
11003 (TARGET_CFLAGS): Likewise.
11004 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
11005 * grub-core/Makefile.core.def (decompressor_xz): Add
11006 -Wno-unreachable-code.
11007 (normal): Add -Wno-redundant-decls.
11008 (xzio): Add -Wno-unreachable-code.
11009 (lzopio): Add -Wno-redundant-decls -Wno-error.
11010 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
11011 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
11012 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
11013 * grub-core/kern/dl.c: Add exception to -Wcast-align.
11014 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
11015 * grub-core/kern/i386/coreboot/init.c: Add exception to
11016 -Wsuggest-attribute=noreturn.
11017 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
11018 * grub-core/kern/ia64/dl_helper.c: Likewise.
11019 * grub-core/kern/mips/dl.c: Likewise.
11020 * grub-core/kern/sparc64/dl.c: Likewise.
11021 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
11022 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
11023 (memcmp): Likewise.
11024 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
11025 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
11026 * grub-core/loader/mips/linux.c: Likewise.
11027 * grub-core/loader/multiboot_elfxx.c: Likewise.
11028 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
11029 * grub-core/video/sm712.c: Add exception to -Wcast-align.
11030 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
11031 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
11032 fixme.
11033 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
11034 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
11035 Fix prototype.
11036
37bb97fe
VS
110372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11038
11039 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
11040 address.
11041
29a3550b
VS
110422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11043
11044 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11045 Avoid improper use of strings.
11046 (grub_cmd_legacy_initrdnounzip): Likewise.
11047
dfdffd0d
VS
110482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11049
11050 * include/grub/emu/misc.h (grub_util_warn): Add missing format
11051 attribute.
11052 (grub_util_info): Likewise.
11053 (grub_util_error): Likewise.
11054
102fae4a
VS
110552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11056
11057 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
11058 * util/grub-fstest.c (fstest): Likewise.
11059
7e94d044
VS
110602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11061
11062 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
11063 (grub_md_sha512_real): Likewise.
11064 (grub_util_get_geli_uuid): Likewise.
11065 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
11066 (grub_util_biosdisk_open): Fix format specification.
11067 Respect format security.
11068 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
11069 (xrealloc): Likewise.
11070 (xasprintf): Likewise.
11071
5ebd9769
VS
110722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11073
11074 * util/import_gcry.py: Include grub/crypto.h in init.c.
11075
495fc8c1
VS
110762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11077
11078 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
11079 (generate_image): Make prefix a const char *.
11080 Fix format specifications. Respect format security.
11081 Avoid void * arithmetics.
11082 Avoid shadowing.
11083 (argp_parser): Remove unused variable. Respect format security.
11084 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
11085 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
11086 (count_funcs): Remove unused variable.
11087 (relocate_addresses): Fix format specification.
11088 Disable x86-64 with elf32. Remove unused variables.
11089 (add_fixup_entry): Avoid shadowing.
11090 (make_reloc_section): Fix format specification.
11091 Use assert.
11092 (locate_sections): Fix format specifications.
11093 (load_image): Avoid shadowing.
11094
043c2ea3
VS
110952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11096
11097 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
11098 Fix format specifications. Respect format security.
11099 Don't translate already translated grub_errmsg.
11100 (argp_parser): Remove unused variable
11101
3ec65a81
VS
111022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11103
11104 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
11105
a4d9fe4a
VS
111062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11107
11108 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
11109 (main): Likewise. Use xmalloc. Respect format security.
11110
15b81d49
VS
111112012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11112
11113 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
11114 a const char *.
11115 (argp_parser): Remove unused variable.
11116
31731fc0
VS
111172012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11118
11119 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
11120 (add_pixel): Make static.
11121 (add_font): Likewise.
11122 (write_string_section): Make name and str a const char *.
11123 (write_be16_section): Make name a const char *.
11124 (print_glyphs): Make static.
11125 (write_font_ascii_bitmap): Likewise.
11126 (write_font_width_spec): Likewise.
11127 (write_font_pf2): Likewise.
11128 (argp_parser): Remove unused variable.
11129 Respect format security.
11130 (main): Avoid shadowing. Respect format security.
11131
0809527b
VS
111322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11133
11134 * util/grub-editenv.c (argp_parser): Make static.
11135 (create_envblk_file): Use xmalloc.
11136 (open_envblk_file): Likewise.
11137 Resepect format security.
11138 (set_variables): Respect format security.
11139
45b0c8b7
VS
111402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11141
11142 * util/getroot.c (grub_find_device): Respect format security.
11143 (get_mdadm_uuid): Remove unused variable.
11144 (grub_util_pull_device): Dont call gettext on already translated
11145 grub_errmsg.
11146 (find_system_device): Remove unused variable.
11147 (grub_util_get_grub_dev): Likewise.
11148 (grub_make_system_path_relative_to_its_root): Respect format security.
11149
1b024b4e
VS
111502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11151
11152 * util/grub-fstest.c (execute_command): Make first argument
11153 a const char *.
11154 (read_file): Avoid shadowing.
11155 Reuse underlying error message if device open fails.
11156 (cmd_cmp): Respect format security.
11157 (root): Make const char *.
11158 (fstest): Remove args argument and use global copy.
11159 Respect format security.
11160 (argp_parser): Make static.
11161 (main): Make default_root const char *.
11162
5d1d4e28
VS
111632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11164
11165 * util/grub-mount.c (root): Make const char *.
11166 (execute_command): Make first argument a const char *.
11167 (fuse_init): Respect format security.
11168 (argp_parser): Make static. Remove unused variable.
11169 (main): Make default_root a const char *.
11170 Respect format security.
11171
36eb7379
VS
111722012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11173
11174 * util/grub-probe.c (probe): Don't call gettext on already translated
11175 grub_errmsg.
11176 Remove unused variables.
11177 (argp_parser): Remove unused variable.
11178
76fb2ea9
VS
111792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 * util/grub-script-check.c (argp_parser): Remove unused variable.
11182 (main): Rename read to curread to avoid shadowing.
11183
56c98584
VS
111842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11185
11186 * util/misc.c (grub_util_write_image_at): Fix format specification.
11187 (grub_util_write_image): Likewise.
11188 (grub_script_execute_argument_to_string): Removed (unused).
11189 (grub_script_execute_menuentry): Likewise.
11190 (grub_putchar): Likewise.
11191
164ebb48
VS
111922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11193
11194 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
11195 (FUNCTION) [GRUB_UTIL]: Likewise.
11196 (VARIABLE) [GRUB_UTIL]: Likewise.
11197
44318d61
VS
111982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11199
11200 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
11201 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
11202
31a26002
VS
112032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11204
11205 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
11206 buffer.
11207
112082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11209
11210 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
11211 (LzmaEnc_SaveState): Removed (unused).
11212 (LzmaEnc_RestoreState): Likewise.
11213 (LzmaEnc_InitPriceTables): Made static.
11214 (LzmaEnc_Construct): Likewise.
11215 (LzmaEnc_FreeLits): Likewise.
11216 (LzmaEnc_Destruct): Likewise.
11217 (LzmaEnc_Init): Likewise.
11218 (LzmaEnc_InitPrices): Likewise.
11219 (LzmaEnc_Finish): Likewise.
11220 (LzmaEnc_PrepareForLzma2): Removed (unused).
11221 (LzmaEnc_MemPrepare): Likewise.
11222 (LzmaEnc_GetNumAvailableBytes): Likewise.
11223 (LzmaEnc_GetCurBuf): Likewise.
11224 (LzmaEnc_CodeOneMemBlock): Likewise.
11225
6fa67967
VS
112262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11227
11228 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
11229 (grub_util_ldm_embed): Likewise.
11230
9a7428e6
VS
112312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11232
11233 * util/grub-editenv.c (print_var): Rename name to varname to
11234 avoid shadowing.
11235 (main): Rename index to curindex to avoid shadowing.
31a26002 11236 Make filename a const char *.
9a7428e6 11237
4f96abd1
VS
112382012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11239
11240 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
11241 to arg_getline to avoid shadowing.
11242
44d10dad
VS
112432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11244
11245 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
11246 disk_ to avoid shadowing.
11247
340ba63e
VS
112482012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11249
11250 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
11251 curindex to avoid shadowing.
11252 Make static.
11253 (MatchFinder_GetNumAvailableBytes): Make static.
11254
22965bce
VS
112552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
11258 avoid shadowing.
11259
7b5784d4
VS
112602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11261
11262 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
11263 argument from encrypt to do_encrypt to avoid shadowing.
11264
6f48ca01
VS
112652012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11266
11267 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
11268 incorrect nesting of #if's.
11269
a4ea2dff
VS
112702012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11271
11272 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
11273 checks which are always false on some platforms.
11274 (grub_cmd_lsacpi): Likewise.
11275 * grub-core/kern/misc.c (grub_strtoul): Likewise.
11276 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
11277 Likewise.
11278
def9fc1b
VS
112792012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11280
11281 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
11282 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
11283
a67b2a04
VS
112842012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11285
11286 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
11287 re_dfa_t to avoid breaking alignment invariants.
11288 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
11289 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
11290
44c6828d
VS
112912012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11292
11293 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
11294 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
11295
bebe0dd0
VS
112962012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11297
11298 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
11299 Fix declaration.
11300
a9cdb3cf
VS
113012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11302
11303 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
11304 conserve alignment invariants.
11305 (grub_ehci_ehcc_read16): Likewise.
11306 (grub_ehci_oper_read32): Likewise.
11307 (grub_ehci_oper_write32): Likewise.
11308 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11309 Conserve alignment invariants.
11310
ccc3b1b8
VS
113112012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11312
11313 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
11314 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
11315 declarations.
11316
987fbd95
VS
113172012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11318
11319 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
11320 Remove unused variable.
11321
0df363f3
VS
113222012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11323
11324 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
11325 Remove set in if.
11326
b2c0c4a6
VS
113272012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11328
11329 * include/grub/net.h: Remove double declarations.
11330
690c531f
VS
113312012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11332
11333 Remove "payload" command in ia64 Linux loader since I couldn't
11334 find any evidence of it being used for anything.
11335 Replace "relocate" command with an environment variable
11336
11337 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
11338 fields.
11339 (ia64_boot_payload): Removed.
11340 (last_payload): Likewise.
11341 (RELOCATE_OFF): Likewise.
11342 (RELOCATE_ON): Likewise.
11343 (RELOCATE_FORCE): Likewise.
11344 (relocate): Likewise.
11345 (free_pages): Don't free payloads.
11346 (grub_load_elf64): Use common error messages.
11347 Use "linux_relocate" variable.
11348 Increase the space after boot_params.
11349 (grub_cmd_payload): Removed.
11350 (grub_cmd_relocate): Likewise.
11351 (grub_cmd_fpswa): Improve messages.
11352 (cmd_payload): Removed.
11353 (cmd_relocate): Likewise.
11354 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
11355 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
11356
01783768
VS
113572012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11358
11359 Convert UHCI to DMA framework.
11360
11361 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
11362 (grub_uhci_pci_iter): Fill new members
11363 (grub_alloc_td): Use P2V and V2P functions.
11364 (grub_free_queue): Likewise.
11365 (grub_alloc_qh): Likewise.
11366 (grub_uhci_setup_transfer): Likewise.
11367 (grub_uhci_check_transfer): Likewise.
11368
43206939
VS
113692012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11370
11371 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
11372 Remove assignment in if while on it.
11373
571e140e
VS
113742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11375
11376 * util/grub-mkstandalone.in: Fix modules directory.
11377
a9d96eeb
VS
113782012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11379
11380 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
11381 on i386-pc target.
11382 (argp_parser): Accept "auto" as compression specification.
11383
e4e37e8d
VS
113842012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11385
11386 Fix `help' with unloaded modules.
11387
11388 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
11389 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
11390 (grub_dyncmd_dispatcher): Small stylistic fix.
11391 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
11392 explicit help is requested.
11393
e1ea3ade
VS
113942012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11395
11396 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
11397 Explicitly init restart while on it.
11398
27556881
VS
113992012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11400
11401 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
11402 uninited variable.
11403
d65f6b36
VS
114042012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11405
11406 * util/grub-mknetdir.in: Use . rather than source for POSIX
11407 compatibility.
11408
0a1e473c
VS
114092012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11410
11411 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
11412
ce6647c8
VS
114132012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11414
11415 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
11416 variable.
11417
66747894
VS
114182012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11419
11420 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
11421 without quotes.
11422
71645f6e
VS
114232012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11424
11425 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
11426
0e1c1f61
VS
114272012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11428
11429 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
11430 iteration of partitions.
11431
9c4b5c13
VS
114322012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11433
11434 Improve gettext support. Stylistic fixes and error handling fixes while
11435 on it.
11436
215c90cb
VS
114372012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11438
11439 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
11440 part. Instead setup the correct stack in RM.
11441 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
11442 for stack.
11443 * include/grub/i386/relocator_private.h: New file.
11444
b5c1f9bf
VS
114452012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11446
11447 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
11448 argument.
11449 * util/grub-fstest.c (options): Add missing DEVICE part.
11450
b525fd83
VS
114512012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11452
11453 Clarify and unify messages.
11454
11455 * grub-core/commands/hashsum.c (options): Unify messages.
11456 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
11457 literal-only message as translatable.
11458 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
11459 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
11460 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
11461 commands.
11462 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
11463 key, not the key used to unlock. Clarify what it's used for.
11464 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
11465 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
11466 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
11467 * util/grub-editenv.c (options): Unify "verbose" message.
11468 * util/grub-fstest.c (read_file): Unify error message.
11469 (fstest): Add quotes around commands.
11470 (options): Unify "verbose" message.
11471 * util/grub-install.in: Add quotes around variable name.
11472 * util/grub-kbdcomp.in: Unify error message.
11473 * util/grub-mkfont.c (main): Likewise.
11474 * util/grub-mkrescue.in: Likewise.
11475 * util/grub-mklayout.c (options): Unify "verbose" message.
11476 * util/grub-mkstandalone.in: Unify help and verbose messages.
11477 * util/grub-mount.c (options): Unify "verbose" message.
11478 * util/grub-probe.c (options): Likewise.
11479 * util/grub-script-check.c (options): Likewise.
11480 * util/grub-setup.c (setup): Unify no-terminator message.
11481 (options): Use DEVICE and not DEV.
11482 Unify "verbose" message.
11483 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
11484
0ae70393
VS
114852012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11486
11487 Improve and unify messages.
11488
11489 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
11490 name. All users updated.
11491 Print filename in error.
11492 (read_device_map): Print filename in error.
11493 * util/getroot.c (grub_guess_root_devices): Print filename in error.
11494 (grub_util_get_os_disk): Likewise.
11495 (grub_util_biosdisk_get_grub_dev): Likewise.
11496 (grub_util_check_block_device): Likewise.
11497 (grub_util_check_char_device): Likewise.
11498 (grub_make_system_path_relative_to_its_root): Likewise.
11499 * util/grub-editenv.c (create_envblk_file): Likewise.
11500 (open_envblk_file): Likewise.
11501 (write_envblk): Likewise.
11502 * util/grub-fstest.c (cmd_cp): Likewise.
11503 (cmd_cat): Likewise.
11504 (cmd_cmp): Likewise.
11505 * util/grub-menulst2cfg.c (main): Likewise.
11506 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
11507 (write_font_width_spec): Likewise.
11508 (write_font_pf2): Likewise.
11509 * util/grub-mkimage.c (generate_image): New argument outname.
11510 All users updated.
11511 Remove unreacheable message.
11512 (options): Unify messages.
11513 (help_filter): Likewise.
11514 * util/grub-mklayout.c (usage): Removed (unused).
11515 (main): Print filename in error.
11516 * util/grub-mkrescue.in: Fix wrong quoting.
11517 * util/grub-setup.c (setup): Print filename in error.
11518 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
11519 (check_sas): Likewise.
11520 * util/misc.c (grub_util_get_fp_size): Removed.
11521 (grub_util_get_image_size): Print filename in error.
11522 (grub_util_read_at): Removed.
11523 (grub_util_read_image): Print filename in error.
11524 (grub_util_load_image): Likewise.
11525 (grub_util_write_image_at): New argument filename. All users updated.
11526 Print filename in error.
11527 (grub_util_write_image): New argument filename. All users updated.
11528 Print filename in error.
11529 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
11530 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
11531
0a96117d
VS
115322012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11533
11534 * grub-core/Makefile.core.def (pxechain): New module.
11535 * grub-core/loader/i386/pc/pxechainloader.c: New file.
11536 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
11537 function.
11538 (grub_pc_net_config_real): Use grub_pxe_get_cached.
11539 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
11540
aca002f7
VS
115412012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11542
11543 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
11544 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
11545 * include/grub/err.h (grub_error_saved): New struct.
11546 (grub_errmsg): Make array size explicit.
11547 * include/grub/misc.h (grub_error_save): New function.
11548 (grub_error_load): Likewise.
11549 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
11550 (grub_error_push): Update `errno' member name.
11551 (grub_error_pop): Likewise
11552 * grub-core/net/tftp.c (tftp_data): New member save_err.
11553 (tftp_receive): Save error.
11554 (tftp_open): Restore error.
11555
a51dab13
VS
115562012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11557
11558 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
11559 to real mode down to execute A20-related code in protected mode as
11560 intended.
11561
eb6e6649
GS
115622012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
11563
11564 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
11565 NULL when the argument `level' has an unexpected value.
11566
92cd0f6e
VS
115672012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11568
11569 Move platform-dependent files from $prefix to $prefix/$platform.
11570
11571 * config.h.in (GRUB_TARGET_CPU): New definition.
11572 (GRUB_PLATFORM): Likewise.
11573 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
11574 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
11575 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11576 * grub-core/kern/dl.c (grub_dl_load): Likewise.
11577 * grub-core/normal/autofs.c (read_fs_list): Likewise.
11578 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
11579 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
11580 * grub-core/normal/term.c (read_terminal_list): Likewise.
11581 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
11582 $prefix/locale.
11583 (grub_gettext_init_ext): Likewise.
11584 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
11585 grub_platform.
11586 * util/grub-install.in: Update directories.
11587 * util/grub-mknetdir.in: Likewise.
11588 * util/grub-mkrescue.in: Likewise.
11589
db606889
VS
115902012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11591
11592 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
11593 grub_error framework. All users updated.
11594
c39992a4
VS
115952012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11596
11597 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
11598 lists (by always binsearching), improve caching (cache strings
11599 used for binsearch, not only results), improve
11600 maintainability (by using more structured binary search) and correct
11601 error handling.
11602
1e5ec32f
VS
116032012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11604
11605 * grub-core/script/execute.c (grub_script_return): Fix warning.
11606
ac576cde
VS
116072012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11608
11609 * grub-core/script/execute.c (grub_script_return): Fix potential
11610 NULL-dereference.
11611 Reported by: Jim Meyering.
11612
498453f6
VS
116132012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11614
11615 * po/POTFILES.in: Regenerate.
11616 * util/grub-install.in: Gettextize the strings missed in first pass.
11617
8be63f2e
VS
116182012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11619
11620 * Makefile.util.def (grub-mkdevicemap): Removed.
11621 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
11622 * include/grub/util/deviceiter.h: Removed.
11623 * util/deviceiter.c: Likewise.
11624 * util/getroot.c (grub_util_get_os_disk): New function.
11625 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
11626 replacement for EFI.
11627 * util/grub-mkdevicemap.c: Removed.
11628 * util/grub-probe.c (probe): Handle PRINT_DISK.
11629 (argp_parser): Handle -t disk.
11630
8e1e4e39
VS
116312012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11632
11633 * util/grub-mkfont.c: Migrate to argp.
11634 * util/grub-mklayout.c: Likewise.
11635 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11636 * util/grub-mkrelpath.c: Likewise.
11637 * util/grub-probe.c: Likewise.
11638 * util/grub-script-check.c: Likewise.
11639
4459819a
VS
116402012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11641
11642 * util/grub-reboot.in: Add missing datarootdir.
11643 Add missing newline.
11644 * util/grub-set-default.in: Add missing datarootdir.
11645 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
11646 * util/grub-mkrescue.in: Likewise.
11647
f65741c7
VS
116482012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11649
11650 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
11651
c1a33466
VS
116522012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 * util/grub-kbdcomp.in: Add decent help and gettextize.
11655 * docs/man/grub-kbdcomp.h2m: New file.
11656
c76899a0
VS
116572012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11658
11659 Migrate grub-mkimage.c to argp.
11660
11661 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
11662 (grub-setup): Likewise.
11663 * util/grub-setup.c (print_version): Move to ...
11664 * util/argp_common.c (print_version): ... here.
11665 * util/grub-setup.c (argp_program_version_hook): Move to ...
11666 * util/argp_common.c (argp_program_version_hook): ... here.
11667 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
11668 safety.
11669 * util/grub-mkimage.c (main): Migrate to argp.
11670
57db0757
VS
116712012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11672
11673 * util/grub-mkrescue.in: Use same message as
11674 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
11675 for better translations.
11676
18534ad9
VS
116772012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11678
11679 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
11680 options with generic grub-mkrescue.in with the goal of future
11681 merge.
11682
c84ba308
VS
116832012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11684
11685 * grub-core/kern/mm.c: Add missing include of i18n.h
11686 * grub-core/lib/relocator.c: Likewise.
11687
347998c2
VS
116882012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11689
11690 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
11691 error.
11692 (allocate_pages): Check return value.
11693 Replace fatal with error.
11694 (grub_linux_boot): Replace printf with dprintf.
11695 Check find_mmap_size return value.
11696 Replace fatal with error.
11697 Don't call grub_machine_fini.
11698 (grub_load_elf64): Replace printf with dprintf.
11699 (grub_cmd_linux): Likewise.
11700 (grub_cmd_initrd): Likewise.
11701 (grub_cmd_payload): Likewise.
11702
c779226e
VS
117032012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11704
11705 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
11706 message.
11707 * grub-core/video/radeon_fuloong2e.c
11708 (grub_video_radeon_fuloong2e_setup): Likewise.
11709 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
11710 * grub-core/video/video.c (grub_video_set_mode): Don't override
11711 standard out of memory message.
11712
dc87d45a
GS
117132012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11714
11715 NetBSD disk wedge support.
11716
11717 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
11718 [__NetBSD__]: Handle NetBSD disk wedges.
11719 * util/getroot.c (convert_system_partition_to_system_disk)
11720 [__NetBSD__]: Likewise.
11721
055f856f
MW
117222012-02-03 Mark Wooding <mdw@distorted.org.uk>
11723
11724 * util/grub-mkconfig.in: Use umask rather than chmod to create
11725 grub.cfg.new to avoid insecure grub.cfg.
11726
4a9f8346
VS
117272012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11728
11729 * grub-core/commands/ls.c: Gettextize.
11730 * grub-core/commands/setpci.c: Likewise.
11731 * grub-core/commands/videotest.c: Likewise.
11732 * grub-core/disk/geli.c: Likewise.
11733 * grub-core/kern/mm.c: Likewise.
11734 * grub-core/lib/relocator.c: Likewise.
11735 * grub-core/loader/efi/appleloader.c: Likewise.
11736 * grub-core/loader/i386/xnu.c: Likewise.
11737 * grub-core/loader/ia64/efi/linux.c: Likewise.
11738 * grub-core/loader/xnu.c: Likewise.
11739 * grub-core/net/dns.c: Likewise.
11740 * grub-core/net/net.c: Likewise.
11741 * grub-core/script/lexer.c: Likewise.
11742 * grub-core/script/parser.y: Likewise.
11743 * grub-core/script/yylex.l: Likewise.
11744 * util/getroot.c: Likewise.
11745 * util/grub-setup.c: Likewise.
11746
a646a366
VS
117472012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11748
11749 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
11750 number.
11751
54e2be26
VS
117522012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11753
11754 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
11755
f7c71e68
VS
117562012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11757
11758 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
11759 macro.
11760 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
11761 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
11762
a32d5c71
VS
117632012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11764
11765 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
11766 * util/grub-install.in: Gettextize.
11767 * util/grub-mkconfig.in: Likewise.
11768 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
11769 if not available.
11770 (grub_warn): Gettextize.
11771 * util/grub-mknetdir.in: Gettextize.
11772 * util/grub-mkrescue.in: Likewise.
11773 * util/grub-mkstandalone.in: Likewise.
11774 * util/grub-reboot.in: Likewise.
11775 * util/grub-set-default.in: Likewise.
11776 * util/grub.d/00_header.in: Likewise.
11777 * util/grub.d/10_hurd.in: Likewise.
11778 * util/grub.d/10_kfreebsd.in: Likewise.
11779 * util/grub.d/10_linux.in: Likewise.
11780 * util/grub.d/10_netbsd.in: Likewise.
11781 * util/grub.d/10_windows.in: Likewise.
11782 * util/grub.d/20_linux_xen.in: Likewise.
11783 * util/grub.d/30_os-prober.in: Likewise.
11784 * po/POTFILES-shell.in: Regenerate.
11785
69edd81a
RL
117862012-02-03 Richard Laager <rlaager@wiktel.com>
11787
11788 * util/grub-mkimage.c (main): Fix format-security warning.
11789 * util/grub-mkrelpath.c (main): Likewise.
11790 * util/grub-probe.c (main): Likewise.
11791
65f08dbf
RL
117922012-02-03 Richard Laager <rlaager@wiktel.com>
11793
11794 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
11795 failure.
11796 Put back lost PRINT_DRIVE.
11797
e9084abe
RL
117982012-02-03 Richard Laager <rlaager@wiktel.com>
11799
11800 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
11801 (grub_guess_root_devices): Replace strlen with sizeof.
11802 Avoid crash.
11803 (find_root_devices_from_poolname): Remove unused variable.
11804 Handle raidzN.
11805
cf5f7ee7
VS
118062012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11807
11808 Support install on multi-device filesystems.
11809
11810 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
11811 (grub_guess_root_devices): ...this. Return char **. All users updated.
11812 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
11813 Removed.
11814 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
11815 (find_root_devices_from_poolname): ... here.
11816 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
11817 Support zfs-fuse.
11818 (grub_guess_root_device): Rename to ...
11819 (grub_guess_root_devices): ... this. Return char **. All users updated.
11820 * util/grub-install.in: Handle multi-device filesystems.
11821 * util/grub-probe.c (probe). Make device_names a char **. Add delim
11822 argument. All users updated.
11823 Handle multi-device filesystems.
11824 Use 'delim' as separator.
11825 Remove device check to allow filesystems on file.
11826 (main): Support -0 argument. Handle multi-device.
11827 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
11828 Fix a cross-device check while on it.
11829 (arguments): Remove root_dev.
11830 (argp_parser): Remove -r.
11831 (main): Remove root_dev.
11832
2f53a9ed
VS
118332012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11834
11835 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
11836
17e1d934
VS
118372012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11838
11839 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
11840 symbol.
11841 Reported by: NODA, Kai <nodakai>.
11842
d3e3fab5
VS
118432012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11844
11845 Fix ehci on amd64.
11846
11847 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
11848 pointers.
11849 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
11850 (grub_ehci_setup_qh): Likewise.
11851 (grub_ehci_find_qh): Likewise.
11852 (grub_ehci_transaction): Likewise.
11853 (grub_ehci_setup_transfer): Likewise.
11854 (grub_ehci_check_transfer): Likewise.
11855 (grub_ehci_portstatus): Likewise.
11856 (grub_ehci_detect_dev): Likewise.
11857 (grub_ehci_transfer_controller_data): New field td_last_phys.
11858 (grub_ehci_setup_transfer): Fill td_last_phys.
11859 (grub_ehci_check_transfer): Use td_last_phys.
11860
3008675b
SG
118612012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
11862
11863 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
11864 if no submenu is present.
11865
fc9b5652
AN
118662012-02-01 Aleš Nesrsta <starous@volny.cz>
11867
11868 CBI support.
11869
11870 * include/grub/usb.h (grub_usbms_protocol_t): New values
11871 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
11872 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
11873 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
11874 (grub_usbms_dev): Add subclass, protocol and intrpt.
11875 Remove in_maxsz and out_maxsz.
11876 (grub_usbms_reset): Rename to ...
11877 (grub_usbms_bo_reset): .. this.
11878 (grub_usbms_cbi_cmd): New function.
11879 (grub_usbms_cbi_reset): Likewise.
11880 (grub_usbms_reset): Likewise.
11881 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
11882 (grub_usbms_transfer): Rename to ...
11883 (grub_usbms_transfer_bo): ... this.
11884 (grub_usbms_transfer_cbi): Likewise.
11885 (grub_usbms_transfer): Likewise.
11886
a2b81d53
AN
118872012-02-01 Aleš Nesrsta <starous@volny.cz>
118882012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
11889
11890 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
11891 the support for the CS5536 modification thereos and few bugfixes.
11892
11893 * grub-core/Makefile.core.def (ehci): New module.
11894 * grub-core/bus/usb/ehci.c: New file.
11895 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
11896 port and hubaddr. All users updated.
11897 Save port and hubaddr into dev structure.
11898 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
11899 define.
11900 * include/grub/pci.h (grub_dma_phys2virt): New function.
11901 (grub_dma_virt2phys): Likewise.
11902 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
11903
b1d51f02
VS
119042012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11905
11906 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
11907 check as some mkfs implementations omit it.
11908
fc694106
VS
119092012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11910
11911 * docs/grub.texi (Unicode): Mention identifier and space limitations.
11912
6c0920e3
VS
119132012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11914
11915 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
11916 Add new member volname2.
11917 (grub_jfs_label): Use volname2 if available.
11918
d1a46f9a
VS
119192012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11920
11921 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
11922 over last_mounted as seen in image generated by mkfs.nilfs2.
11923 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
11924
dec8ed14
VS
119252012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11926
11927 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
11928 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
11929 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
11930
7397c69b
VS
119312012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11932
11933 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
11934 over the sector.
11935
b3fe42ad
VS
119362012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11937
11938 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
11939 subvolume name (by removing a bogus and useless check).
11940
10476bb0
VS
119412012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11942
11943 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
11944 sizeof while on it.
11945
9c08ad87
VS
119462012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11947
11948 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
11949 (grub_scsi_read_capacity10): ... this.
11950 (grub_scsi_read_capacity16): New function.
11951 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
11952 0xffffffff.
11953 Fix off-by-one error.
11954 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
11955 64-bit unsigned.
11956 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
11957 (grub_scsi_read_capacity10): ... this.
11958 (grub_scsi_read_capacity_data): Rename to ...
11959 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
11960 (grub_scsi_read_capacity16): New struct.
11961 (grub_scsi_read_capacity16_data): Likewise.
11962 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
11963 grub_scsi_cmd_read_capacity10.
11964 New command grub_scsi_cmd_read_capacity16.
11965
bc8d0f45
VS
119662012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11967
11968 SCSI >2TiB support.
11969
11970 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
11971 (grub_scsi_write16): Likewise.
11972 (grub_scsi_read): Use read16 when necessary.
11973 (grub_scsi_write): Likewise.
11974 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
11975 (grub_scsi_write16): Likewise.
11976 (grub_scsi_cmd_t): Add READ16 and WRITE16.
11977
cc774926
VS
119782012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11979
11980 SCSI write support (for usbms mainly).
11981
11982 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
11983 a const pointer.
11984 (grub_scsi_write): Implement.
11985 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
11986
67639fd7
VS
119872012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
11988
11989 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
11990 variable.
11991
9079d3ed
VS
119922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11993
11994 * grub-core/lib/posix_wrap/string.h (memchr): New function.
11995
c6a6f204
VS
119962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
11997
11998 * po/POTFILES.in: Regenerate.
11999
ecbf8cd1
VS
120002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12001
12002 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
12003 with grub_printf to avoid unnecessary fatal failure.
12004
0b3b3b38
VS
120052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12006
12007 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
12008 (INT_MAX): Likewise.
12009 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
12010 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
12011 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
12012 (strcpy): Likewise.
12013 (strstr): Likewise.
12014 (strchr): Likewise.
12015 (strncpy): Likewise.
12016 (strcat): Likewise.
12017 (strncat): Likewise.
12018 (strcoll): Likewise.
12019 * include/grub/types.h (GRUB_SHRT_MAX): New define.
12020 (GRUB_INT_MAX): Likewise.
12021
db7337a3
VS
120222012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12023
12024 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
12025 unexpected error.
12026 (optimize_utf8): Likewise.
12027 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
12028
f37c87e1
VS
120292012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12030
12031 * grub-core/boot/i386/pc/lnxboot.S: Use
12032 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
12033 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
12034 location.
12035 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
12036 definition.
12037 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
12038
63fe43f3
VS
120392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12040
12041 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
12042 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
12043 now to avoid double free.
12044 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
12045 hostdisk.
12046 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
12047 * util/grub-probe.c (escape_of_path): Always return a new copy.
12048 (print_full_name): Escape path.
12049 (probe): Don't call grub_util_devname_to_ofpath on NULL.
12050 Fix hints on abstractions.
12051
ebe2c961
VS
120522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12053
12054 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
12055 Don't add "root" line if no compatibility hont is available.
12056 Suggested by: Seth Goldberg.
12057
2b5336a2
VS
120582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12059
12060 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
12061 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
12062 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
12063 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
12064
74310bd8
VS
120652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12066
12067 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
12068
c30582ba
VS
120692012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12070
12071 * util/grub-pe2elf.c (ehdr): Make static.
12072 (shdr): Likewise.
12073 (num_sections): Likewise.
12074 (offset): Likewise.
12075
5f47782c
VS
120762012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12077
12078 Eliminate ofpath limits and possible overflows.
12079
12080 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
12081 (OF_PATH_MAX): Removed.
12082 (MAX_DISK_CAT): New const.
12083 (find_obppath): Use allocated rather than preallocated buffer.
12084 Return result. Argument of_path removed. All users updated.
12085 Add missing fdstat.
12086 (xrealpath): New function.
12087 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
12088 Allocate rather than use preallocated buffer. All users updated.
12089 (__of_path_common): Use allocated rather than preallocatecd buffer.
12090 Return result. Argument of_path removed. All users updated.
12091 (vendor_is_ATA): Read only needed part form the file.
12092 (check_sas): Allocate depending on contents rather than fixed.
12093 (main) [STANDALONE]: Handle NULL result.
12094
f990cbf9
VS
120952012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12096
12097 * grub-core/normal/completion.c (iterate_dev): Close the disk.
12098
9c6e84b8
VS
120992012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12100
12101 Cryptodisk write support.
12102
12103 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
12104 (grub_cryptodisk_decrypt): Moved logic to ...
12105 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
12106 (grub_cryptodisk_write): Implement.
12107 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
12108 (grub_util_fd_write): ... this. Make global.
12109 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
12110
87cf9744
VS
121112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12112
12113 * include/grub/list.h (grub_list_remove): Don't crash if element is
12114 removed twice.
12115
ca8c0baf
VS
121162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12117
12118 Rename ofconsole to console.
12119
12120 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
12121 as sysnonym to console.
12122 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
12123 * grub-core/term/ieee1275/console.c: ... this. All users updated.
12124 Rename grub_ofconsole_ to grub_console_. All users updated
12125 (grub_console_term_output): Rename "ofconsole" to "console".
12126 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
12127 as "console".
12128
64c8b8f6
VS
121292012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12130
12131 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
12132 handling.
12133 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
12134 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
12135 GRUB_DISK_DEVICE_FILE_ID.
12136
f6c434d5
VS
121372012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12138
12139 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
12140 and improve performance.
12141
5858b42d
VS
121422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12143
12144 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
12145 missing ieee1275/ prefix on whole disk.
12146
4ed3c26b
VS
121472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12148
12149 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
12150 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
12151
df71143e
VS
121522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12153
12154 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
12155
076e7c0f
VS
121562012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12157
12158 Merge common RAID and LVM logic to an abstract diskfilter.
12159 Add LDM support using the same framework.
12160
12161 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
12162 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
12163 (libgrubmods): Remove grub-core/disk/raid.c and
12164 grub-core/partmap/gpt.c.
12165 * grub-core/Makefile.core.def (ldm): New module.
12166 (raid): Renamed to diskfilter. All users updated.
12167 * grub-core/disk/raid.c: Moved to ...
12168 * grub-core/disk/diskfilter.c: ... here.
12169 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
12170 (lv_num): New var.
12171 (find_array): Renamed to ...
12172 (find_lv): ... this. Support multi-LV. Skip nameless LVs
12173 (grub_is_array_readable): Renamed to ...
12174 (grub_is_lv_readable): ... this. Support multinode hierarchy.
12175 (insert_array): New argument id.
12176 (is_node_readable): New function.
12177 (scan_device): Rename to ...
12178 (scan_disk): .. this. Restrict to one disk.
12179 (scan_devices): New function.
12180 (grub_diskfilter_iterate): Support multi-LV.
12181 Skip invisible and nameless LVs.
12182 (grub_diskfilter_memberlist): Support multi-LV.
12183 (grub_diskfilter_read_node): New function.
12184 (grub_raid_read): Most of logic moved to ...
12185 (read_segment): ... here
12186 (read_lv): New function.
12187 (grub_diskfilter_get_vg_by_uuid): New function.
12188 (grub_diskfilter_make_raid): Likewise.
12189 * grub-core/disk/ldm.c: New file.
12190 * grub-core/disk/lvm.c (vg_list): Removed.
12191 (lv_count): Likewise.
12192 (scan_depth): Likewise.
12193 (is_lv_readable): Likewise.
12194 (grub_lvm_getvalue): Advance pointer past the number.
12195 (find_lv): Removed.
12196 (do_lvm_scan): Refactored into ...
12197 (grub_lvm_detect): ... this. Support raid.
12198 (grub_lvm_iterate): Removed.
12199 (grub_lvm_memberlist): Likewise.
12200 (grub_lvm_open): Likewise.
12201 (grub_lvm_close): Likewise.
12202 (read_lv): Likewise.
12203 (read_node): Likewise.
12204 (is_node_readable): Likewise.
12205 (is_lv_readable): Likewise.
12206 (grub_lvm_read): Likewise.
12207 (grub_lvm_write): Likewise.
12208 (grub_lvm_dev): Use diskfilter
12209 (GRUB_MOD_INIT): Likewise.
12210 (GRUB_MOD_FINI): Likewise.
12211 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
12212 new interface.
12213 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
12214 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12215 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
12216 grub_diskfilter_read_node.
12217 Fix a bug with xor.
12218 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
12219 grub_diskfilter_read_node.
12220 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
12221 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
12222 (grub_disk_dev_iterate): Move from here...
12223 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
12224 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
12225 Make global.
12226 (grub_hostdisk_find_partition_start): Likewise.
12227 (grub_hostdisk_os_dev_to_grub_drive): New function.
12228 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
12229 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
12230 * util/getroot.c (make_device_name): ... here.
12231 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
12232 Move to ...
12233 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
12234 * grub-core/kern/emu/hostdisk.c
12235 (convert_system_partition_to_system_disk): Move to ...
12236 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
12237 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
12238 * util/getroot.c (device_is_wholedisk): ... here.
12239 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
12240 * util/getroot.c (find_system_device): ... here.
12241 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
12242 Move to ...
12243 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
12244 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12245 Move to ...
12246 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
12247 Handle LDM.
12248 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12249 Move to ...
12250 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
12251 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
12252 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
12253 DISKFILTER.
12254 * include/grub/raid.h: Renamed to ...
12255 * include/grub/diskfilter.h: ... this.
12256 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
12257 (GRUB_RAID_LAYOUT_*): Make into array.
12258 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
12259 (grub_diskfilter_vg): New struct.
12260 (grub_diskfilter_pv_id): Likewise.
12261 (grub_raid_member): Removed.
12262 (grub_raid_array): Likewise.
12263 (grub_diskfilter_pv): New struct.
12264 (grub_diskfilter_lv): Likewise.
12265 (grub_diskfilter_segment): Likewise.
12266 (grub_diskfilter_node): Likewise.
12267 (grub_diskfilter_get_vg_by_uuid): New proto.
12268 (grub_raid_register): Inline.
12269 (grub_diskfilter_unregister): Likewise.
12270 (grub_diskfilter_make_raid): New proto.
12271 (grub_diskfilter_vg_register): Likewise.
12272 (grub_diskfilter_read_node): Likewise.
12273 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
12274 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
12275 (grub_util_is_ldm): Likewise.
12276 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
12277 (grub_hostdisk_find_partition_start): Likewise.
12278 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
12279 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
12280 New definition.
12281 (grub_gpt_partition_map_iterate): New proto.
12282 * include/grub/lvm.h (grub_lvm_vg): Removed.
12283 (grub_lvm_pv): Likewise.
12284 (grub_lvm_lv): Likewise.
12285 (grub_lvm_segment): Likewise.
12286 (grub_lvm_node): Likewise.
12287 * util/getroot.c [...]
12288 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
12289 (probe_abstraction): Likewise.
12290 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
12291 (main): Remove dead logic.
12292
8a7f9b9c
VS
122932012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
12294
12295 Simplify root device discover and don't fail when trying to open
12296 incorrect devices.
12297
12298 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
12299 function.
12300 (get_diskname_from_path): Likewise.
12301 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
12302 of iterating.
12303
30545b85
VS
123042012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12305
12306 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
12307
28ea58cf
VS
123082012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12309
12310 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
12311 pastthe end.
12312
692dabca
VS
123132012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12314
12315 * util/grub-install.in: Add missing \.
12316 Reported by: gentoofan
12317
f6e4ea70
VS
123182012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
12319
12320 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
12321 (direct_read): Use correct compressed size.
12322 (grub_squash_read_data): Likewise.
12323
123242012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
12325
12326 * docs/grub.texi (Platform limitations): New section.
12327 (Platform-specific operations): Likewise.
12328 * docs/grub-dev.texi (Porting): Likewise.
12329
76261110
VS
123302012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12331
12332 IEEE1275 disk write support.
12333
12334 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
12335 const void *.
12336 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
12337 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
12338 and seek loginc to ...
12339 (grub_ofdisk_prepare): ... here.
12340 (grub_ofdisk_write): Implement.
12341
fc36d603
VS
123422012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12343
12344 ARC disk write support.
12345
12346 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
12347 (reopen): New argument writable. All users updated.
12348 Handle required access mode.
12349 (grub_arcdisk_write): Implement.
12350 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
12351 (grub_arc_firmware_vector): Make buffer to write a const buffer.
12352
e06c2e7a
VS
123532012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12354
12355 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
12356 (read_sblock): Don't attempt to read superblocks outside the disk size.
12357
ff447958
VS
123582012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12359
12360 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
12361 first superblock to find the second one when possible.
12362
9e88df39
VS
123632012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12364
12365 * util/grub-install.in: Fix an ARC bug.
12366 Print a warning if no platform-specific setup is available.
12367
bb26e4ff
VS
123682012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12369
12370 Use static allocation rather than scratch pointer in reed_solomon.
12371 It decreases its size significantly and avoids a variable in .text.
12372
12373 * grub-core/lib/reed_solomon.c (scratch): Removed.
12374 (chosenstat): New const or static array.
12375 (sigma): Likewise.
12376 (errpot): Likewise.
12377 (errpos): Likewise.
12378 (sy): Likewise.
12379 (mstat): Likewise.
12380 (errvals): Likewise.
12381 (eqstat): Likewise.
12382 (pol_evaluate): Replace x with log_x argument. All users updated.
12383 (syndroms): Removed.
12384 (gauss_solve): Use statically allocated arrays.
12385 (rs_recover): Likewise.
12386 Calculate syndroms directly.
12387 (decode_block): Use statically allocated arrays.
12388 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
12389 (main) [TEST]: Allow -DTEST -DSTANDALONE.
12390
2e13ede5
VS
123912012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12392
12393 Eliminate fixed limit on reed solomon decoder length.
12394
12395 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
12396 rather than hardcoding the address.
12397 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
12398 no_reed_solomon_length.
12399 Move gate_a20 to no-reed-solomon part.
12400 Don't force a particular size of no reed-solomon part.
12401 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
12402 Removed.
12403 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
12404 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
12405
f8a9ab12
VS
124062012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12407
12408 * grub-core/commands/wildcard.c (match_files): Handle filenames
12409 without explicit device.
12410 (wildcard_expand): Don't add explicit device if not already present.
12411 * tests/grub_script_echo1.in: Add a new expansion test.
12412
87edb894
VS
124132012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12414
12415 Replace single-linked with double-linked lists. It results in more
12416 compact and more efficient code.
12417
12418 * grub-core/kern/list.c (grub_list_push): Moved from here ...
12419 * include/grub/list.h (grub_list_push): ... to here. Set prev.
12420 (grub_list_remove): Moved from here ...
12421 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
12422 (grub_prio_list_insert): Set prev.
12423 * include/grub/list.h (grub_list): Add prev. All users updated.
12424
48b391e9
VS
124252012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12426
12427 Handle newer autotools. Add some missing quotes while on it.
12428
12429 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
12430 (pkglib_DATA): Move grub-mkconfig_lib from here ...
12431 (pkgdata_DATA): ... here.
12432 * Makefile.util.def (update-grub_lib): Removed.
12433 * conf/Makefile.common (pkglib_DATA): Removed.
12434 (pkglib_SCRIPTS): Likewise.
12435 (pkgdata_DATA): New variable.
12436 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
12437 needed.
12438 Add missing quotes.
12439 Remove unused variable while on it.
12440 * tests/util/grub-shell.in: Likewise.
12441 * util/grub-install.in: Likewise.
12442 * util/grub-mkconfig.in: Likewise.
12443 * util/grub-mknetdir.in: Likewise.
12444 * util/grub-mkrescue.in: Likewise.
12445 * util/grub-mkstandalone.in: Likewise.
12446 * util/grub.d/00_header.in: Likewise.
12447 * util/grub.d/10_hurd.in: Likewise.
12448 * util/grub.d/10_illumos.in: Likewise.
12449 * util/grub.d/10_kfreebsd.in: Likewise.
12450 * util/grub.d/10_linux.in: Likewise.
12451 * util/grub.d/10_netbsd.in: Likewise.
12452 * util/grub.d/10_windows.in: Likewise.
12453 * util/grub.d/20_linux_xen.in: Likewise.
12454 * util/grub.d/30_os-prober.in: Likewise.
12455 * util/update-grub_lib.in: Removed.
12456
124572012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
12458
12459 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
12460 a workaround for intel problem.
12461
66832792
PRP
124622012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
124632012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
124642012-01-23 pfsmorigo
12465
12466 * util/grub-install.in: Support dd'in into PreP partition.
12467 * util/grub-probe.c (probe): Support discovering partition type.
12468 (main): Support -t msdos_parttype.
12469
7816a17e
VS
124702012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
12471
12472 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
12473 infinite recursion using counter.
12474 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
12475 init to skip it if the magic check fails.
12476 (dec_stream_header): Init s->crc32.
12477
8f9d3a8c
ZB
124782012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
124792012-01-22 Zachary Bedell <pendorbound@gmail.com>
124802012-01-22 Richard Laager <rlaager@wiktel.com>
12481
12482 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
12483 All users updated.
12484 (find_bestub): Determine correct size.
12485 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
12486 (scan_disk): Align the size down.
12487 Call check pool before find_bestub to have ashift.
12488
b055dd32
VS
124892012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12490
12491 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
12492 dprintf in no-malloc zone.
12493
d779e9bd
ML
124942012-01-22 Mario Limonciello <mario_limonciello@dell.com>
12495
12496 * configure.ac: Add back in test for limits.h.
12497
b508af69
VS
124982012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12499
12500 Support 4K-sector NTFS.
12501
12502 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
12503 (grub_ntfs_data): Remove blocksize.
12504 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
12505 Remove data argument. All users updated.
12506
dad9c8b5
VS
125072012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12508
12509 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
12510 being in .text to avoid dprel references.
12511 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
12512 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
12513 (grub_arch_highmemsize): Likewise.
12514 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
12515 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
12516 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
12517
d43a777e
VS
125182012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12519
12520 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
12521
12522 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
12523 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
12524
34e4208f
VS
125252012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12526
12527 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
12528 GRUB_UTIL.
12529 (grub_set_datetime_cmos): Likewise.
12530
3ec0fc1c
VS
125312012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12532
12533 Make XZ compression parameters dependent on target and not host CPU.
12534
12535 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
12536 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
12537
22489834
VS
125382012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12539
12540 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
12541 set but not used variable.
12542
8502fbca
VS
125432012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12544
12545 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
12546 created when no uuid support is compiled into mkfs.reiser.
12547
76df2068
VS
125482012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12549
12550 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
12551 (utf8_to_macroman): Do the opposite.
12552 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
12553
64e3f8f6
VS
125542012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12555
12556 * configure.ac: Refise build qemu_mips w/o unifont.
12557
9c271078
VS
125582012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12559
12560 Eliminate grub_min/grub_max prone to overflow usage.
12561
12562 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
12563 (poll_nonroot_hub): Likewise.
12564 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
12565 (grub_affs_label): Likewise.
12566 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
12567 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
12568 (grub_hfs_label): Likewise.
12569 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
12570 * grub-core/fs/zfs/zfs.c (MIN): Remove.
12571 (zap_leaf_array_equal): Use grub_size. Remove MIN.
12572 (zap_leaf_array_get): Likewise.
12573 (dnode_get_path): Likewise.
12574 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
12575 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
12576 * grub-core/script/execute.c (grub_script_break): Likewise.
12577 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
12578 grub_max.
12579 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
12580 * include/grub/misc.h (grub_min): Removed.
12581 (grub_max): Likewise.
12582
80662dbc
VS
125832012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12584
12585 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
12586 direct.inode = 0.
12587
e6da1467
VS
125882012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12589
12590 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
12591
b1ac4cb1
VS
125922012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12593
12594 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
12595
b4bf7c3b
VS
125962012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12597
12598 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
12599 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
12600
8ee1101a
VS
126012012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12602
12603 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
12604 rather than a hack for grub_strncasemap.
12605
126062012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12607
12608 Support multiple initrds
12609 Note: part of this was accidently committed in r3739.
12610
12611 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
12612 initrd.
12613 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
12614 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
12615 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12616 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12617 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12618
4d1e2bc9
VS
126192012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12620
12621 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
12622 disks with unknown size.
12623 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
12624
75b49ebe
VS
126252012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12626
12627 Remove defines pertaining to arbitrary limits not affecting GRUB
12628 anymore.
12629
12630 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
12631 (EXT2_MAX_SYMLINKCNT): Likewise.
12632 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
12633 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
12634 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
12635 (GRUB_PXE_MAX_BLKSIZE): Likewise.
12636 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
12637 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
12638 (DN_MAX_OBJECT_SHIFT): Likewise.
12639 (DN_MAX_OFFSET_SHIFT): Likewise.
12640 (DN_MAX_OBJECT): Likewise.
12641 (DNODES_PER_LEVEL_SHIFT): Likewise.
12642 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
12643 (SPA_MAXBLOCKSIZE): Likewise.
12644 (SPA_BLOCKSIZES): Likewise.
12645 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
12646 (MZAP_MAX_BLKSZ): Likewise.
12647
74a1dce7
VS
126482012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12649
12650 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
12651 handle NULL appropriately.
12652 Remove MIN.
12653
30c7d3ce
VS
126542012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12655
12656 Fix efiemu.
12657
12658 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
12659 cpu/types.h.
12660 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
12661 * configure.ac: Fix efiemu check.
12662
3c76ea0c
VS
126632012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12664
12665 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
12666 grub_probe.
12667 Reported by: adamwill
12668
7e532280
SG
126692012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
12670
12671 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
12672
30492374
VS
126732012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12674
12675 Fix handling of wide characters in gfxterm.
12676
12677 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
12678 (clear_char): Likewise.
12679 (paint_char): Skip code == NULL chars.
12680 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
12681
e70cb72f
VS
126822012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12683
12684 * grub-core/normal/charset.c: Move comment to right place.
12685
5c827cf9
VS
126862012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12687
12688 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
12689 (GRUB_AFFS_FLAG_FFS): Put back where it was.
12690 (grub_affs_mount): Revert the correct version checking.
12691
53603892
VS
126922012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12693
12694 * docs/grub.texi (Unicode): Mention several other unsupported features.
12695
ff094b9b
VS
126962011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12697
12698 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
12699 case statements as compile-time one.
12700 (direct_read): Prevent spurious warnings.
12701 (grub_squash_read_data): Likewise.
12702
c029da8a
VS
127032011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12704
12705 Various squash4 fixes and LZO and XZ support.
12706
12707 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
12708 Add xzembed source files.
12709 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
12710 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
12711 (grub_squash_inode): New subtype long_dir.
12712 (SQUASH_TYPE_LONG_DIR): New inode type.
12713 (COMPRESSION): New enum.
12714 (XZBUFSIZ): New const.
12715 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
12716 (read_chunk): Use data->decompress.
12717 (zlib_decompress): New function.
12718 (lzo_decompress): Likewise.
12719 (xz_decompress): Likewise.
12720 (squash_mount): Set new data fields.
12721 (grub_squash_iterate_dir): Handle long dir.
12722 (squash_unmount): Free xzdec and xzbuf.
12723 (grub_squash_open): Check ino type.
12724 (direct_read): Stylistic fixes. Use data->decompress.
12725 (grub_squash_read_data): Likewise.
12726 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
12727 (get_byte): Likewise.
12728 (grub_zlib_disk_read): Removed.
12729 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
12730 (GRUB_POSIX_BOOL_DEFINED): New define.
12731 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
12732 * grub-core/lib/xzembed/xz.h: Addmissing includes.
12733 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
12734 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
12735
7a45a539
VS
127362011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12737
12738 Don't override more informative errors.
12739
12740 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
12741 * grub-core/font/font.c (open_section): Likewise.
12742 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
12743 filename. Don't override errors.
12744 (grub_cmd_openbsd_ramdisk): Don't override errors.
12745 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
12746 (grub_cmd_initrd): Likewise.
12747 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12748 (grub_cmd_initrd): Likewise.
12749 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
12750 (grub_cmd_linux): Likewise.
12751 (grub_cmd_initrd): Likewise.
12752 (grub_cmd_payload): Likewise.
12753 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12754 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
12755 (grub_cmd_module): Likewise.
12756 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12757 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12758 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
12759 (grub_cmd_xnu_mkext): Likewise.
12760 (grub_cmd_xnu_ramdisk): Likewise.
12761 (grub_xnu_check_os_bundle_required): Likewise.
12762 (grub_xnu_load_kext_from_dir): Likewise.
12763 (grub_cmd_xnu_kextdir): Likewise.
12764 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
12765
b2d004db
VS
127662011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12767
12768 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
12769 as 1024 in block size field. Found on one of my test images.
12770 Small optimisation while on it.
12771
ec000eac
VS
127722011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12773
12774 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
12775 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
12776 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
12777 performance fixes while on it.
12778 (grub_sfs_close): Fix memory leak while on it.
12779 (grub_sfs_label): Convert Latin1 to UTF-8.
12780
f50e1165
VS
127812011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12782
12783 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
12784 space to avoid overflows.
12785 (grub_hfs_label): Convert from macroman to UTF-8.
12786
2ae254de
VS
127872011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12788
12789 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
12790
0108f491
VS
127912011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12792
12793 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
12794
f45f5f89
VS
127952011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12796
12797 * unicode: Import Unicode 6.0 data.
12798
4d8c4765
VS
127992011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12800
63fa8ef9
VS
12801 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
12802 outside of range.
12803
128042011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12805
12806 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
12807
12808 * include/grub/charset.h (grub_getend): New function.
12809 * grub-core/script/function.c (grub_script_function_find): Use
12810 grub_getend.
12811 * grub-core/normal/completion.c (add_completion): Likewise.
12812
f3cb4a4e
VS
128132011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12814
12815 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
12816 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
12817 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
12818 (GRUB_UNICODE_TAG_END): Likewise.
12819 (GRUB_UNICODE_LAST_VALID): Likewise.
12820
5da8dbc5
VS
128212011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12822
12823 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
12824 len and make it smaller. All users updated.
12825 * util/import_unicode.py: Put length and not end character.
12826 Check length.
12827
8569f13d
VS
128282011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12829
12830 Make better Unicode-compliant and unify some UTF-8 code pathes.
12831
12832 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
12833 valid character.
12834 (grub_is_valid_utf8): Use grub_utf8_process.
12835 Check resulting code range.
12836 (grub_utf8_to_ucs4): Use grub_utf8_process.
12837 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
12838 valid character.
12839
cc4fddf5
VS
128402011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12841
12842 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
12843
bbc47747
VS
128442011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12845
12846 * docs/grub.texi (Filesystems): Mention AFS.
12847
f63d6bf4
VS
128482011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12849
12850 * docs/grub.texi (Filesystems): Clarify restrictions.
12851 (Regexp): Mention non-Unicode regexp behaviour.
12852 (Other): Mention non-Unicode matching behaviour.
12853
74bbf0db
VS
128542011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12855
f63d6bf4 12856 Make HFS implementation use MacRoman.
74bbf0db
VS
12857
12858 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
12859 (macroman): New const array.
12860 (macroman_to_utf8): New function.
12861 (utf8_to_macroman): Likewise.
12862 (grub_hfs_find_dir): Use utf8_to_macroman.
12863 (grub_hfs_dir): Use macroman_to_utf8.
12864 Set case_insensitive.
12865
4ea0316e
VS
128662011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12867
12868 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
12869
d3c13cbd
VS
128702011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12871
12872 Integrate hints into autogeneration scripts.
12873
12874 * docs/grub.texi (Filesystems): Add a hostdisk example.
12875 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
12876 (grub-probe): Add ofpath.
12877 * gentpl.py: Remove group nosparc64.
12878 * grub-core/commands/search.c (cache_entry): New struct.
12879 (cache): New var.
12880 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
12881 * grub-core/commands/search_wrap.c (options): Add platform-specific
12882 hint options.
12883 (grub_cmd_search): Handle platform-specific hints.
12884 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
12885 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
12886 (grub_util_biosdisk_data): Likewise.
12887 (grub_util_biosdisk_open): Set device_map.
12888 (read_device_map): Handle "" as indication of no map.
12889 Set device_map.
12890 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
12891 (grub_util_biosdisk_get_compatibility_hint): New function.
12892 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
12893 * include/grub/emu/hostdisk.h
12894 (grub_util_biosdisk_get_compatibility_hint): New proto.
12895 * util/grub-install.in: Don't call grub-mkdevicemap.
12896 Add platform-specific hint to load.cfg.
12897 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
12898 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
12899 hints. Set root preliminary to compatibility hint, not to OS name.
12900 * util/grub-probe.c (PRINT_*): Add hints.
12901 (print): Make static.
12902 (escape_of_path): New function.
12903 (guess_bios_drive): Likewise.
12904 (guess_efi_drive): Likewise.
12905 (guess_baremetal_drive): Likewise.
12906 (print_full_name): Likewise.
12907 (probe): Handle hints.
12908 (main): Likewise.
12909 * util/ieee1275/devicemap.c: Removed.
12910 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
12911 updated.
12912 (grub_util_devname_to_ofpath): Return NULL on failure.
12913
12914 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
12915 resource leak.
12916 * util/getroot.c (grub_util_pull_device): Fix memory leak.
12917
12918 * po/POTFILES.in: Regenerated.
12919
12920 Allow purely long options
12921
12922 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
12923 (SHORT_ARG_USAGE): Likewise.
12924 (grub_arg_show_help): Compare opt with help_options.
12925 (parse_option): Receive opt as argument. If makes big simplificatons.
12926 All users updated
12927
00ce2df3
VS
129282011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12929
12930 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
12931 Restructure to avoid warning.
12932
e77e325f
VS
129332011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12934
12935 * util/grub-install.in: Account for possible escaped comma in device
12936 name.
12937
165099ea
VS
129382011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12939
12940 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
12941 channel.
12942
ce4a999d
VS
129432011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12944
12945 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
12946 allocation and zero-setting.
12947 (grub_ieee1275_get_devname): Check that alias is complete.
12948
379586ad
VS
129492011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12950
12951 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
12952 unaligned segments.
12953
9197b0ad
VS
129542011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12955
12956 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
12957 prefix.
12958 (grub_ofdisk_open): Check and discard ieee1275 prefix.
12959 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
12960 Add ieee1275 prefix.
12961
edddb7f9
VS
129622011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12963
12964 * docs/grub.texi (Filesystems): Update.
12965
a1a8b1b9
VS
129662011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12967
12968 Support odc, newc and bigendian cpio formats.
12969
12970 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
12971 * grub-core/Makefile.core.def (newc): New module.
12972 (odc): Likewise.
12973 (cpio_be): Likewise.
12974 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
12975 (MAGIC): Likewise.
12976 (MAGIC2): Likewise.
12977 (head) [MODE_ODC]: Adapt for the format.
12978 (head) [MODE_NEWC]: Likewise.
12979 (head) [!MODE_*]: Write fields of interest as arrays.
12980 (MAGIC_USTAR): Removed.
12981 (read_number) [MODE_NEWC]: Change to hex.
12982 (read_number) [!MODE_*]: Parse binary arrays.
12983 (grub_cpio_find_file): Factor out the code for better structure and
12984 always use read_number.
12985 (grub_cpio_mount): Use MAGIC and MAGIC2.
12986 (grub_cpio_dir): Exit on first hook non-0 return.
12987 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
12988 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
12989 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
12990 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
12991 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
12992 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
12993 * grub-core/fs/newc.c: New file.
12994 * grub-core/fs/odc.c: Likewise.
12995 * grub-core/fs/cpio_be.c: Likewise.
12996
58eba9ee
VS
129972011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12998
12999 Fix handling of tar numbers occupying the whole field.
13000
13001 * grub-core/fs/cpio.c (read_number): New function.
13002 (grub_cpio_find_file): Use read_number instead of strtoull.
13003
a54a0e12
VS
130042011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13005
13006 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
13007 occupying the whole field size.
13008
a6120aca
LA
130092011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
13010
13011 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
13012
a93964ce
VS
130132011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13014
13015 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
13016
3ea1ca46
SG
130172011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
13018
13019 * grub-core/Makefile.core.def (lzma_decompress): Add missing
13020 TARGET_IMG_LDFLAGS.
13021
b87f7ef2
VS
130222011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13023
13024 * util/getroot.c (ESCAPED_PATH_MAX): New define.
13025 (mountinfo_entry): Increase the field size to take escaping into
13026 account.
13027 (find_root_device_from_libzfs): Add one byte to size of strings for
13028 security.
13029
62092395
VS
130302011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13031
13032 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
13033 an assert.
13034 * util/grub-setup.c (setup): Likewise.
13035
1f0b1a77
VS
130362011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13037
13038 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
13039 _LzmaDecodeA.
13040
8eba9997
VS
130412011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13042
13043 * docs/grub.texi (Internationalisation): New section.
13044
dd0c91e9
VS
130452011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13046
13047 * docs/grub.texi (Loopback booting): New section.
13048
130492011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
13050
13051 * util/grub-mkstandalone.in: Fix minor typo errors.
13052
198e150a
VS
130532011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13054
13055 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
13056
13057 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
13058 net/icmp.c and net/icmp6.c.
13059 (http): New module.
13060 (priority_queue): Likewise.
13061 * grub-core/io/bufio.c: Rewritten.
13062 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
13063 TYPE_WITH_CONFIGFILE_OPTION.
13064 (legacy_commands): Add bootp and dhcp.
13065 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
13066 (grub_legacy_parse): Likewise.
13067 * grub-core/lib/priority_queue.c: New file.
13068 * grub-core/net/arp.c: Add missing license header.
13069 (arp_find_entry): Removed.
13070 (arp_find_entry): Likewise.
13071 (grub_net_arp_resolve): Rename to ...
13072 (grub_net_arp_send_request): ...this.
13073 (grub_net_arp_receive): New card argument.
13074 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
13075 Set router and DNS server.
13076 (grub_net_configure_by_dhcp_ack): Handle routing information.
13077 (grub_cmd_bootp): Set checksum.
13078 (grub_bootp_init): Remove net_dhcp.
13079 * grub-core/net/dns.c: New file.
13080 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
13081 completion.
13082 (get_card_packet): Handle allocation.
13083 (grub_efinet_findcards): Set mtu.
13084 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
13085 (get_card_packet): Handle allocation.
13086 (emucard): Set mtu.
13087 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
13088 (GRUB_MOD_INIT): Set mtu.
13089 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
13090 mtu.
13091 (get_card_packet): Handle allocation.
13092 (grub_ofnet_findcards): Set mtu.
13093 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
13094 assert.
13095 (grub_net_recv_ethernet_packet): Handle IPv6.
13096 * grub-core/net/http.c: New file.
13097 * grub-core/net/icmp.c: Likewise.
13098 * grub-core/net/icmp6.c: Likewise.
13099 * grub-core/net/ip.c (ip6addr): New type.
13100 (ip6hdr): Likewise.
13101 (reassemble): Likewise.
13102 (cmp): New function.
13103 (reassembles): New variable.
13104 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
13105 (id): New variable.
13106 (send_fragmented): New function.
13107 (grub_net_send_ip_packet): Rename to ...
13108 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
13109 Handle non-UDP.
13110 (grub_net_recv_ip_packets): Rename to ...
13111 (handle_dgram): ... this. Check checksum. Handle non-UDP.
13112 (free_rsm): New function.
13113 (free_old_fragments): Likewise.
13114 (grub_net_recv_ip4_packets): New function.
13115 (grub_net_send_ip6_packet): Likewise.
13116 (grub_net_send_ip_packet): Likewise.
13117 (grub_net_recv_ip6_packets): Likewise.
13118 (grub_net_recv_ip_packets): Likewise.
13119 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
13120 (LINK_LAYER_CACHE_SIZE): New const.
13121 (link_layer_find_entry): New function.
13122 (grub_net_link_layer_add_address): Likewise.
13123 (grub_net_link_layer_resolve_check): Likewise.
13124 (grub_net_link_layer_resolve): Likewise.
13125 (grub_net_ipv6_get_slaac): Likewise.
13126 (grub_net_ipv6_get_link_local): Likewise.
13127 (grub_cmd_ipv6_autoconf): Likewise.
13128 (parse_ip): Handle one number representation.
13129 (parse_ip6): New functoion.
13130 (match_net): Handle IPv6.
13131 (grub_net_resolve_address): Handle IPv6 and DNS.
13132 (grub_net_resolve_net_address): Handle IPv6.
13133 (route_cmp): New function.
13134 (grub_net_route_address): Find best route.
13135 (grub_net_addr_to_str): Handle IPv6.
13136 (grub_net_addr_cmp): New function.
13137 (grub_net_add_addr): Register local route.
13138 (print_net_address): Handle net address.
13139 (grub_net_poll_cards): Retransmit TCP.
13140 (grub_net_poll_cards_idle_real): Likewise.
13141 (have_ahead): New function.
13142 (grub_net_seek_real): Use underlying seek.
13143 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
13144 * grub-core/net/tcp.c: New file.
13145 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
13146 (cmp): New function.
13147 (ack): Likewise.
13148 (tftp_receive): Handle unordered input.
13149 (destroy_pq): New function.
13150 (tftp_close): Close pq.
13151 * grub-core/net/udp.c: Put missing license header.
13152 (grub_net_udp_socket): New function.
13153 (udp_socket_register): Likewise.
13154 (grub_net_udp_close): Likewise.
13155 (grub_net_recv_udp_packet): Check checksum.
13156 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
13157 * include/grub/misc.h (grub_memchr): New function.
13158 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
13159 (grub_net_card_driver): Return buf in recv.
13160 (grub_net_slaac_mac_list): New struct.
13161 (grub_network_level_protocol_id): Add ipv6.
13162 (grub_net_network_level_addr): Likewise.
13163 (grub_net_network_level_net_addr): Likewise.
13164 (grub_net_app_protocol): Add seek.
13165 (grub_net_socket): Removed.
13166 (grub_net_sockets): Likewise.
13167 (grub_net_socket_register): Likewise.
13168 (grub_net_socket_unregister): Likewise.
13169 (FOR_NET_SOCKETS): Likewise.
13170 (grub_net_add_addr): Add const.
13171 (GRUB_NET_BOOTP_*): New enum.
13172 (grub_net_addr_cmp): New proto.
13173 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
13174 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
13175 (grub_net_hwaddr_to_str): NEw proto.
13176 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
13177 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
13178 (grub_dns_init): New proto.
13179 (grub_dns_fini): Likewise.
13180 (grub_net_tcp_retransmit): Likewise.
13181 (grub_net_link_layer_add_address): Likewise.
13182 (grub_net_link_layer_resolve_check): Likewise.
13183 (grub_net_link_layer_resolve): Likewise.
13184 (grub_net_dns_lookup): Likewise.
13185 (grub_net_add_dns_server): Likewise.
13186 (grub_net_remove_dns_server): Likewise.
13187 (GRUB_NET_TRIES): New const.
13188 (GRUB_NET_INTERVAL): Likewise.
13189 * include/grub/net/arp.h: Mostly rewritten.
13190 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
13191 * include/grub/net/ip.h: Mostly rewritten.
13192 * include/grub/net/netbuff.h: Indent.
13193 * include/grub/net/tcp.h: New file.
13194 * include/grub/net/udp.h: Mostly rewritten.
13195 * include/grub/priority_queue.h: New file.
13196 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
13197 (grub_swap_bytes64_compile_time): Likewise.
13198 (grub_cpu_to_be16_compile_time): Likewise.
13199 (grub_cpu_to_be32_compile_time): Likewise.
13200 (grub_cpu_to_be64_compile_time): Likewise.
13201 (grub_be_to_cpu64_compile_time): Likewise.
13202
215c1800
VS
132032011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13204
13205 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
13206 UINT_TO_PTR with cast.
13207
c17e546c
VS
132082011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13209
13210 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
13211 don't use them.
13212
ff6b18b6
VS
132132011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13214
13215 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
13216 already there.
13217
70ffcc93
VS
132182011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13219
13220 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
13221 confusing ipxe.
13222
e5f4d260
VS
132232011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13224
13225 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
13226 Add missing const attribute.
13227 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
13228 Likewise.
13229 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
13230 Likewise.
13231
8e54b4b7
VS
132322011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13233
13234 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
13235 misaligned access.
13236 (serpent_setkey): Likewise.
13237 (serpent_encrypt_internal): Likewise.
13238 (serpent_decrypt_internal): Likewise.
13239 (serpent_encrypt): Don't put an alignment-increasing cast.
13240 (serpent_decrypt): Likewise.
13241 (serpent_test): Likewise.
13242
813c0a2b
VS
132432011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13244
13245 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
13246
f2b60fbd
VS
132472011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13248
13249 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
13250
13251 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
13252 grub_addr_t casts.
13253 (PTR_TO_UINT64): Likewise.
13254 (PTR_TO_UINT32): Likewise.
13255
5ef5c511
VS
132562011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13257
13258 * util/grub-mkimage.c (generate_image): Decrease the higher limit
13259 because of stack.
13260 * util/grub-setup.c (setup): Don't add redundancy past the higher load
13261 limit.
13262
c476e6df
VS
132632011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13264
13265 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
13266 text_width > available width a bit more gracefully.
13267
384ad7cc
VS
132682011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13269
13270 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
13271 current address calculation.
13272
96f8caf8
VS
132732011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13274
13275 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
13276 stack.
13277 (encode_block): Likewise.
13278
276b7a8b
VS
132792011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13280
13281 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
13282 certainety.
13283
e3fd394a
VS
132842011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13285
13286 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
13287 non-RS part to avoid RS messing with GDT.
13288 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13289 Increase to suit in realmode routines.
13290
132912011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13292
13293 * grub-core/kern/i386/realmode.S: Increase alignment.
13294 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
13295
ee9c2e7a
VS
132962011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13297
13298 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
13299 be deterministic.
13300 (syndroms): Compute 0 syndrom.
13301 (rs_recover): Use 0 syndrom.
13302
7a7f7cc9
VS
133032011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13304
13305 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
13306
a14b16d1
VS
133072011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13308
13309 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
13310 brackets.
13311
9f59e9fc
VS
133122011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13313
ca1b552c
VS
13314 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
13315 account.
13316 (get_top_pad): Likewise.
13317 (get_right_pad): Likewise.
13318 (get_bottom_pad): Likewise.
13319
133202011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13321
13322 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 13323
e739d698
VS
133242011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13325
13326 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
13327 attribute as the structure isn't guaranteed to be properly aligned.
13328 (grub_efi_pci_device_path): Likewise.
13329 (grub_efi_pccard_device_path): Likewise.
13330 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
13331 specify the size of `memory_type'.
13332 (grub_efi_vendor_device_path): Likewise.
13333 (grub_efi_controller_device_path): Likewise.
13334 (grub_efi_acpi_device_path): Likewise.
13335 (grub_efi_expanded_acpi_device_path): Likewise.
13336 (grub_efi_atapi_device_path): Likewise.
13337 (grub_efi_scsi_device_path): Likewise.
13338 (grub_efi_fibre_channel_device_path): Likewise.
13339 (grub_efi_1394_device_path): Likewise.
13340 (grub_efi_usb_device_path): Likewise.
13341 (grub_efi_usb_class_device_path): Likewise.
13342 (grub_efi_i2o_device_path): Likewise.
13343 (grub_efi_mac_address_device_path): Likewise.
13344 (grub_efi_ipv4_device_path): Likewise.
13345 (grub_efi_ipv6_device_path): Likewise.
13346 (grub_efi_infiniband_device_path): Likewise.
13347 (grub_efi_uart_device_path): Likewise.
13348 (grub_efi_vendor_messaging_device_path): Likewise.
13349 (grub_efi_hard_drive_device_path): Likewise.
13350 (grub_efi_cdrom_device_path): Likewise.
13351 (grub_efi_vendor_media_device_path): Likewise.
13352 (grub_efi_file_path_device_path): Likewise.
13353 (grub_efi_protocol_device_path): Likewise.
13354 (grub_efi_piwg_device_path): Likewise.
13355 (grub_efi_bios_device_path): Likewise.
13356
cb8f88ea
VS
133572011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13358
13359 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
13360 (grub_ucs4_to_utf8_alloc): Likewise.
13361 (grub_ucs4_to_utf8): Likewise.
13362 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
13363 (grub_ucs4_to_utf8_alloc): Likewise.
13364
309e5352
VS
133652011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13366
13367 AFFS never uses unicode.
13368
13369 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
13370 (grub_latin1_to_utf8): New inline function.
13371 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
13372
e7987e1b
VS
133732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13374
13375 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
13376 overflow.
13377
efc2616e
VS
133782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13379
13380 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
13381 (grub_squash_dirent_header): Likewise.
13382 (read_chunk): Don't double swap.
13383 (grub_squash_iterate_dir): Fix swap sizes.
13384
3c349f5a
VS
133852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13386
13387 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
13388
b453412d
VS
133892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13390
13391 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
13392 (grub_hfs_iterate_dir): Likewise.
13393
12e9d4d1
VS
133942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13395
13396 Fix video on platforms where unaligned access is forbidden.
13397 Make several optimisations while on it.
13398
13399 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
13400 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13401 (grub_video_fbblit_replace_32bit_1bit): Likewise.
13402 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13403 Disable.
13404 (grub_video_fbblit_replace_16bit_1bit):
13405 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13406 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13407 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
13408 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
13409 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13410 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13411 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
13412 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
13413 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
13414 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
13415 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
13416 (grub_video_fbblit_replace_index_RGB888): Likewise.
13417 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
13418 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
13419 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
13420 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
13421 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
13422 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13423 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13424 Disable.
13425 (grub_video_fbblit_blend_XXX565_1bit):
13426 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13427 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
13428 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
13429 void *.
13430 * grub-core/video/fb/video_fb.c (common_blitter)
13431 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
13432 (grub_video_fb_create_render_target_from_pointer)
13433 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13434 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
13435 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
13436 definition.
13437 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
13438
ace96609
VS
134392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13440
13441 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
13442 HH22 and HM10 relocations.
13443
fd261d73
VS
134442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13445
13446 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
13447
e59b7857
VS
134482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13449
13450 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
13451 allocation succeeded.
13452
9b4baaa4
VS
134532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13454
13455 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
13456 argument a u8 pointer. All users updated.
13457 Handle unaligned buffers.
13458
dc713193
VS
134592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13460
13461 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
13462 add_part to workaround compiler bug.
13463
30dd48c2
VS
134642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13465
13466 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
13467
0c6087a8
VS
134682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13469
13470 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
13471 Reserve alignment invariants.
13472 (grub_multiboot_load): Likewise.
13473 (retrieve_video_parameters): Likewise.
13474 (grub_multiboot_make_mbi): Likewise.
13475
c2e77777
VS
134762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13477
13478 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
13479 incorrect pointer.
13480
b70b6d11
VS
134812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13482
13483 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
13484 (grub_pata_pio_write): Likewise.
13485
02a2bf83
VS
134862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13487
13488 Add noreturn attributes and remove unreachable code.
13489
13490 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
13491 code.
13492 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
13493 code. Mark as noreturn.
13494 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
13495 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
13496 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
13497 unreachable code.
13498 * grub-core/kern/main.c (grub_main): Mark as noreturn.
13499 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
13500 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
13501 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
13502 * include/grub/kernel.h (grub_main): Mark as noreturn.
13503 * include/grub/reader.h (grub_rescue_run): Likewise.
13504
2019d09e
VS
135052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13506
13507 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
13508 redundant declaration.
13509
d1c501ee
VS
135102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13511
13512 * include/grub/net.h (grub_net_network_level_interfaces): Remove
13513 redundant declaration.
13514 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
13515
61664420
VS
135162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13517
13518 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
13519 to ensure alignment.
13520 (grub_hdparm_print_identify): Make argument uint16 * to ensure
13521 alignment. Ensure tmp alignment.
13522 (grub_cmd_hdparm): Ensure buf alignment.
13523 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
13524 to ensure alignment.
13525 (grub_ata_dumpinfo): Ensure text alignment.
13526 (grub_atapi_identify): Preserve alignment invariant.
13527 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
13528
0d51ee20
VS
135292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13530
13531 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
13532 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
13533 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
13534 * include/grub/misc.h (grub_reboot)
13535 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
13536 (grub_halt) [__mips__]: Likewise.
13537
753ef8c1
VS
135382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13539
13540 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
13541 Remove redundant declaration.
13542 (grub_mmap_get_post64): Likewise.
13543 (grub_mmap_get_upper): Likewise.
13544 (grub_mmap_get_lower): Likewise.
13545
85c85365
VS
135462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13547
13548 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
13549 uint32_t * to ensure alignment.
13550 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
13551
a23f2cc4
VS
135522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13553
93018f64
VS
13554 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
13555 uint16_t * to ensure alignment.
13556 (sun_pc_partition_map_iterate): Make `block' a union to ensure
13557 alignment.
13558
135592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13560
13561 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
13562 to ensure alignment.
13563 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
13564
58acccd6
VS
135652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13566
13567 * grub-core/fs/ntfs.c (u16at): Make into inline function.
13568 Handle unaligned pointers.
13569 (u32at): Likewise.
13570 (u64at): Likewise.
13571 (fixup): Use byte access instead of v16at.
13572 (find_attr): Fix imporper usage of v32at.
13573 (read_data): Likewise.
13574 (list_file): Handle byte-swapping and unaligned strings.
13575 (grub_ntfs_label): Likewise.
13576
9b05cad7
VS
135772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13578
13579 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
13580 as it's not necessarily aligned.
13581
b3950b84
VS
135822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13583
13584 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
13585 redundant declaration.
13586 (grub_serial_init): Likewise.
13587 (grub_terminfo_init): Likewise.
13588
fcd232b7
VS
135892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13590
13591 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
13592 function.
13593 (ZAP_HASH_IDX): Likewise.
13594 (ZAP_LEAF_HASH_SHIFT): Likewise.
13595 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
13596 (LEAF_HASH): Likewise.
13597 (ZAP_LEAF_NUMCHUNKS): Likewise.
13598 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
13599 alignment invariants. Return pointer. All users updated.
13600 (ZAP_LEAF_ENTRY): Make into inline function.
13601 (NBBY): Removed.
13602 (xor): LIkewise.
13603 (xor_out): Use grub_crypto_xor.
13604 (dnode_get_path): Use grub_get_unaligned.
13605 (nvlist_find_value): Likewise.
13606 (grub_zfs_nvlist_lookup_uint64): Likewise.
13607 (grub_zfs_nvlist_lookup_string): Likewise.
13608 (get_nvlist_size): Likewise.
13609 (grub_zfs_open): Likewise.
13610 (fill_fs_info): Likewise.
13611 (grub_zfs_dir): Likewise.
13612 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
13613 alignment invariants.
13614 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
13615 necessarily aligned.
13616
f138623a
VS
136172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13618
13619 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
13620
564840dc
VS
136212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13622
13623 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
13624 arithmetic to conserve alignment invariants.
13625
9b40df20
VS
136262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13627
13628 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
13629 redundant declaration.
13630 (grub_efiemu_mm_obtain_request): Likewise.
13631 (grub_efiemu_prepare): Likewise.
13632
d1c930f9
VS
136332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13634
13635 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
13636 to match types.
13637
4c5f3056
VS
136382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13639
13640 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
13641 case of aunaligned recptr.
13642 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
13643 alignment.
13644 (grub_hfsplus_btree_search): Handle unaligned index.
13645
728cba91
VS
136462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13647
13648 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
13649 to get freetag and skip.
13650
eb561f31
VS
136512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13652
13653 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
13654 array.
13655 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
13656 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
13657
20993fbb
VS
136582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13659
13660 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
13661 name for checksum and fix allocation algorithm.
13662
1f313b94
VS
136632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13664
13665 * include/grub/types.h (grub_properly_aligned_t): New type.
13666 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
13667 (grub_get_unaligned16): Add explicit casts.
13668 (grub_get_unaligned32): Likewise.
13669 (grub_get_unaligned64): Likewise.
13670 (grub_set_unaligned16): New function.
13671 (grub_set_unaligned32): Likewise.
13672
47ae27ec
VS
136732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13674
13675 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
13676
78c2cd1c
VS
136772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13678
13679 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
13680 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
13681 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
13682
53072f9b
VS
136832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13684
13685 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
13686 conditionals.
13687
055dc239
VS
136882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13689
13690 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
13691 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
13692
496bd074
VS
136932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13694
13695 Unify and improve RAID and crypto xor.
13696
13697 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
13698 changed to grub_crypto_xor
13699 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
13700 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
13701 Use bigger types when possible.
13702
ef6e4335
VS
137032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13704
13705 * grub-core/disk/raid.c (scan_devices): Fix condition.
13706
5d048bf2
VS
137072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13708
13709 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
13710 Make name a const ptr.
13711
ee533335
VS
137122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13713
13714 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
13715 first argument a const pointer.
13716 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13717 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
13718 proto.
13719 (grub_children_iterate): Likewise.
13720 (grub_machine_mmap_iterate): Remove redundant declaration.
13721
cc8f3668
VS
137222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13723
13724 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
13725 (grub_cmd_acpi) [!x86]: Disable EBDA.
13726
c5fc563a
VS
137272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13728
13729 Enable UTF8 in gnulib regexp.
13730
13731 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
13732 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
13733 (isupper): Use grub_isupper.
13734 (isascii): New inline function.
13735 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
13736 * grub-core/lib/posix_wrap/wctype.h: Likewise.
13737 * grub-core/normal/charset.c (grub_utf8_process): New function.
13738 (grub_utf8_to_utf16): Use grub_utf8_process.
13739 (grub_encode_utf8_character): New function.
13740 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
13741 * include/grub/charset.h (grub_utf8_process): New declaration.
13742 (grub_encode_utf8_character): Likewise.
13743 * include/grub/misc.h (grub_islower): New inline function.
13744 (grub_isupper): Likewise.
13745 (grub_strchrsub): Moved down to fix the definitions.
13746
0af2346f
VS
137472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13748
13749 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
13750 specification.
13751
74dbd244
VS
137522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13753
13754 * include/grub/loader.h (grub_loader_register_preboot_hook):
13755 Use struct preboot * and not void * for handle. All users updated.
13756 (grub_loader_unregister_preboot_hook): Likewise.
13757
1bc8f60d
VS
137582011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13759
13760 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
13761 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
13762 UTF-16-BE. All users updated.
13763 (grub_hfsplus_cmp_catkey): Fix unicode handling.
13764 (grub_hfsplus_iterate_dir): Likewise.
13765 (grub_hfsplus_label): Likewise.
13766
48d6e456
VS
137672011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
13768
13769 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
13770
bf3a3857
VS
137712011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
13772
13773 Add missing const qualifiers.
13774
13775 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
13776 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
13777 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
13778 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
13779 (grub_lvm_check_flag): Likewise.
13780 * grub-core/efiemu/i386/coredetect.c
13781 (grub_efiemu_get_default_core_name): Likewise
13782 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
13783 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
13784 * grub-core/fs/ntfs.c (fixup): Likewise.
13785 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
13786 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
13787 (fzap_lookup): Likewise.
13788 (zap_lookup): Likewise.
13789 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
13790 * grub-core/lib/legacy_parse.c (check_option): Likewise.
13791 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
13792 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
13793 (grub_freebsd_add_meta_module): Likewise.
13794 (grub_cmd_freebsd_module): Likewise.
13795 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
13796 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
13797 (grub_xnu_writetree_get_size): Likewise.
13798 (grub_xnu_writetree_toheap_real): Likewise.
13799 (grub_xnu_find_key): Likewise.
13800 (grub_xnu_create_key): Likewise.
13801 (grub_xnu_create_value): Likewise.
13802 (grub_xnu_register_memory): Likewise.
13803 (grub_xnu_check_os_bundle_required): Likewise.
13804 (grub_xnu_scan_dir_for_kexts): Likewise.
13805 (grub_xnu_load_kext_from_dir): Likewise.
13806 * grub-core/normal/color.c (color_list): Likewise.
13807 * grub-core/normal/completion.c (current_word): Likewise.
13808 * grub-core/normal/menu_entry.c (insert_string): Likewise.
13809 * grub-core/term/serial.c (grub_serial_find): Likewise.
13810 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
13811 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
13812 Likewise.
13813 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
13814 (grub_freebsd_add_meta_module): Likewise.
13815 * include/grub/lib/arg.h (grub_arg_option): Likewise.
13816 * include/grub/net.h (grub_net_card_driver): Likewise.
13817 (grub_net_card): Likewise.
13818 (grub_net_app_protocol): Likewise.
13819 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
13820 * include/grub/serial.h (grub_serial_find): Likewise.
13821 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
13822 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
13823 (grub_xnu_create_value): Likewise.
13824 (grub_xnu_find_key): Likewise.
13825 (grub_xnu_scan_dir_for_kexts): Likewise.
13826 (grub_xnu_load_kext_from_dir): Likewise.
13827
13828 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
13829 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
13830 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
13831 Moved from here ...
13832 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
13833
112b4837
CW
138342011-11-28 Colin Watson <cjwatson@ubuntu.com>
13835
13836 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
13837
49e891ac
VS
138382011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
13839
13840 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
13841 (read_device): Fix size calculation.
13842
fd258e5c
RM
138432011-11-25 Robert Millan <rmh@gnu.org>
13844
13845 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
13846 (find_root_device_from_libzfs): Add zpool output parser to be used
13847 as fallback when libzfs isn't available.
13848
78845dc2
SG
138492011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
13850
13851 * po/Makefile.in.in: Add missing escape-continuation.
13852
adac5211
VS
138532011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
13854
13855 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
13856
10b64f1c
VS
138572011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13858
13859 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
13860
bb416954
VS
138612011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13862
13863 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
13864
bdfe9eeb
VS
138652011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13866
13867 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
13868
581ffa8a
VS
138692011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13870
13871 * grub-core/lib/adler32.c: Add missing license specification.
13872 * grub-core/lib/crc64.c: Likewise.
13873 * grub-core/loader/i386/pc/plan9.c: Likewise.
13874 * grub-core/partmap/plan.c: Likewise.
13875
2536cf64
LK
138762011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
13877
13878 Add facility to debug GRUB with gdb under qemu.
13879
13880 * grub-core/gdb_grub.in: New file.
13881 * grub-core/gmodule.pl.in: Likewise.
13882 * grub-core/Makefile.core.def (gmodule.pl): New script.
13883 (gdb_grub): Likewise.
13884
bc108a4a
VS
138852011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13886
13887 * util/grub-mount.c (argp_parser): Accept relative pathes.
13888 * util/grub-fstest.c (argp_parser): Likewise.
13889
111c1778
VS
138902011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13891
13892 Plan9 support.
13893
13894 * Makefile.util.def (libgrubmods): Add
13895 grub-core/partmap/plan.c.
13896 * docs/grub.texi: Notice Plan9 support.
13897 * grub-core/Makefile.core.def (plan9): New module.
13898 (part_plan): Likewise.
13899 * grub-core/loader/i386/pc/plan9.c: New file.
13900 * grub-core/partmap/plan.c: Likewise.
13901 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
13902 define.
13903 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
13904 * include/grub/mm.h (grub_extend_alloc): New inline function.
13905
c30be3b6
VS
139062011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13907
13908 Make Reed-Solomon faster by using power of generator representation of
13909 GF(256)*.
13910
13911 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
13912 (gf_double_t): Likewise.
13913 (gf_invert): Removed.
13914 (gf_powx): New array.
13915 (gf_powx_inv): Likewise.
13916 (scratch): Move higher.
13917 (gf_reduce): Removed.
13918 (gf_mul): Use powx.
13919 (gf_invert): Likewise.
13920 (init_inverts): Replaced with ...
13921 (init_powx): ...this. All users updated.
13922 (pol_evaluate): Replace multiplications with additions.
13923 (rs_encode): Likewise.
13924 (gauss_eliminate): Call gf_invert.
13925 (grub_reed_solomon_add_redundancy): Call init_powx.
13926 (grub_reed_solomon_recover): Call init_powx unconditionally.
13927
fa5aeffc
VS
139282011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13929
13930 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
13931
a346b81c
VS
139322011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13933
13934 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
13935 disk->partiton for safety.
13936
d89ee414
VS
139372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13938
13939 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
13940 Fix a memory leak.
13941 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
13942
91ee7b6d
VS
139432011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13944
13945 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
13946
91e5a33d
VS
139472011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13948
13949 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
13950
9edd7be2
VS
139512011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13952
13953 Fix spaces handling in proc/self/mountinfo.
13954
13955 * util/getroot.c (unescape): New function.
13956 (grub_find_root_device_from_mountinfo): Use unescape.
13957
ba102053
VS
139582011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13959
13960 Support ZFS embedding.
13961
13962 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
13963 (grub_zfs_fs): Register grub_zfs_embed.
13964
aa94b870
VS
139652011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13966
13967 Fix MIPS compilation.
13968
13969 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
13970 * include/grub/offsets.h: Rename decompressor fields from
13971 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
13972 * util/grub-mkimage.c (image_targets): Use new names.
13973
5fbdac14
VS
139742011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13975
13976 Defer multiboot device parsing until we're in compressed part.
13977
13978 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
13979 bsd_part. setdevice has fallen into disuse.
13980 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
13981 (bsd_part): Likewise.
13982 (boot_dev): New variable.
13983 (multiboot_trampoline): Don't parse multiboot device.
13984 Pass multiboot device in %edx.
13985 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
13986 grub_boot_device.
13987 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
13988 Likewise.
13989 * grub-core/kern/i386/pc/startup.S: Save edx.
13990 (grub_boot_drive): Removed.
13991 (grub_install_dos_part): Likewise.
13992 (grub_install_bsd_part): Likewise.
13993 (grub_boot_device): New variable.
13994 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
13995 (grub_install_bsd_part): Likewise.
13996 (grub_boot_drive): Likewise.
13997 (grub_boot_device): New variable.
13998 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
13999 Removed.
14000 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
14001 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
14002 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
14003 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
14004 * util/grub-install.in: Remove redundant condition.
14005
691cbb58
VS
140062011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14007
14008 Fix bug introduced by previous commit.
14009
14010 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
14011
60240b8b
VS
140122011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14013
14014 Use decompressors framework on i386-pc. It increases core size
14015 by 46 bytes but improves compatibility and maintainability.
14016
14017 * grub-core/Makefile.core.def (lzma_decompress): New image.
14018 (kernel): Add i386_pc_ldflags.
14019 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
14020 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
14021 to real_to_prot, prot_to_real and device info.
14022 * include/grub/offsets.h: Renamed decompressor offsets.
14023 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
14024 (image_target_desc): Remove raw_size and rename decompressor fields.
14025 (compress_kernel): Handle lzma.
14026 (generate_image): Handle decompressors on i386-pc.
14027
e9d3421c
VS
140282011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14029
14030 * configure.ac: Add -fno-asynchronous-unwind-tables.
14031
2b23074a
VS
140322011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14033
14034 Move assembly code to C by using intwrap. It increases core size
14035 by 88 bytes but improves compatibility and maintainability.
14036
14037 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
14038 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
14039 ... here. Translated to C.
14040 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
14041 * grub-core/term/i386/pc/console.c (grub_console_getkey):
14042 ... here. Translated to C.
14043 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
14044 * grub-core/term/i386/pc/console.c (grub_console_getxy):
14045 ... here. Translated to C.
14046 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
14047 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
14048 ... here. Translated to C.
14049 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
14050 * grub-core/term/i386/pc/console.c (grub_console_cls):
14051 ... here. Translated to C.
14052 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
14053 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
14054 ... here. Translated to C.
14055 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
14056 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
14057 Translated to C.
14058 * grub-core/term/i386/pc/console.c (int10_9): New function.
14059 (grub_console_putchar): Likewise.
14060 * include/grub/i386/pc/console.h: Removed the not anymore shared
14061 functions.
14062
678f4b67
VS
140632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14064
14065 Move grub_chainloader_real_boot out of the kernel.
14066
14067 * grub-core/Makefile.am: Remove machine/loader.h.
14068 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14069 Removed.
14070 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
14071 variable.
14072 (grub_relocator16_keep_a20_enabled): Likewise.
14073 (grub_relocator16_boot): Fill new variables.
14074 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
14075 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
14076 relocator.
14077 (grub_chainloader_unload): Likewise.
14078 (grub_chainloader_cmd): Likewise.
14079 * include/grub/i386/pc/loader.h: Removed.
14080 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
14081 and esi. All initialisers updated.
14082
4626edf6
VS
140832011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
140842011-11-12 Colin Watson <cjwatson@ubuntu.com>
14085
14086 * Makefile.util.def (grub-mount): New util.
14087 * .bzrignore: Add grub-mount.
14088 * configure.ac: Check for fuse and enable grub-mount if available.
14089 * docs/man/grub-mount.h2m: New file.
14090 * util/grub-mount.c: Likewise.
14091
10f0117b
VS
140922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14093
14094 * grub-core/commands/efi/fixvideo.c: Gettextize.
14095 * grub-core/commands/hashsum.c: Likewise.
14096 * grub-core/commands/i386/cmostest.c: Likewise.
14097 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14098 * grub-core/commands/i386/pc/lsapm.c: Likewise.
14099 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14100 * grub-core/commands/lsmmap.c: Likewise.
14101 * grub-core/commands/menuentry.c: Likewise.
14102 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
14103 * grub-core/commands/setpci.c: Likewise.
14104 * grub-core/loader/i386/bsd.c: Likewise.
14105 * grub-core/loader/i386/linux.c: Likewise.
14106 * util/getroot.c: Likewise.
14107 * util/grub-editenv.c: Likewise.
14108 * util/grub-fstest.c: Likewise.
14109 * util/grub-mkfont.c: Likewise.
14110 * util/grub-mkimage.c: Likewise.
14111 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14112 * util/grub-pe2elf.c: Likewise.
14113 * util/grub-probe.c: Likewise.
14114 * util/grub-setup.c: Likewise.
14115 * util/ieee1275/ofpath.c: Likewise.
14116 * util/misc.c: Likewise.
14117 * util/raid.c: Likewise.
14118
566f779b
RM
141192011-11-11 Robert Millan <rmh@gnu.org>
14120
14121 * util/getroot.c (grub_util_get_geom_abstraction): Remove
14122 __attribute__((unused)) from `os_dev', which *is* being used.
14123
b50787de
VS
141242011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14125
14126 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
14127 forgotten define.
14128 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
14129 GRUB_IA64_DL_GOT_ALIGN.
14130 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
14131 GRUB_IA64_DL_TRAMP_ALIGN.
14132
119d11c8
VS
141332011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14134
14135 Replace grub_fatal with normal errors in i386 linux loader.
14136
14137 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
14138 (allocate_pages): Check find_efi_mmap_size return value.
14139 (grub_e820_add_region): Return error.
14140 (grub_linux_boot): Check mmap return value.
14141
6e0632e2
VS
141422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14143
14144 * grub-core/commands/acpihalt.c: Gettextized.
14145 * grub-core/commands/cacheinfo.c: Likewise.
14146 * grub-core/commands/cmp.c: Likewise.
14147 * grub-core/commands/efi/loadbios.c: Likewise.
14148 * grub-core/commands/gptsync.c: Likewise.
14149 * grub-core/commands/ieee1275/suspend.c: Likewise.
14150 * grub-core/commands/legacycfg.c: Likewise.
14151 * grub-core/commands/memrw.c: Likewise.
14152 * grub-core/commands/minicmd.c: Likewise.
14153 * grub-core/commands/parttool.c: Likewise.
14154 * grub-core/commands/time.c: Likewise.
14155 * grub-core/commands/videoinfo.c: Likewise.
14156 * grub-core/disk/geli.c: Likewise.
14157 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
14158 * grub-core/disk/luks.c: Likewise.
14159 * grub-core/disk/lvm.c: Likewise.
14160 * grub-core/font/font_cmd.c: Likewise.
14161 * grub-core/fs/zfs/zfscrypt.c: Likewise.
14162 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14163 * grub-core/gfxmenu/view.c: Likewise.
14164 * grub-core/kern/emu/hostdisk.c: Likewise.
14165 * grub-core/kern/emu/main.c: Likewise.
14166 * grub-core/kern/emu/misc.c: Likewise.
14167 * grub-core/kern/emu/mm.c: Likewise.
14168 * grub-core/kern/mips/arc/init.c: Likewise.
14169 * grub-core/kern/mips/loongson/init.c: Likewise.
14170 * grub-core/kern/partition.c: Likewise.
14171 * grub-core/lib/i386/halt.c: Likewise.
14172 * grub-core/lib/mips/arc/reboot.c: Likewise.
14173 * grub-core/lib/mips/loongson/reboot.c: Likewise.
14174 * grub-core/loader/i386/pc/chainloader.c: Likewise.
14175 * grub-core/loader/i386/xnu.c: Likewise.
14176 * grub-core/loader/multiboot.c: Likewise.
14177 * grub-core/net/bootp.c: Likewise.
14178 * grub-core/net/net.c: Likewise.
14179 * grub-core/normal/term.c: Likewise.
14180 * grub-core/partmap/bsdlabel.c: Likewise.
14181 * grub-core/parttool/msdospart.c: Likewise.
14182 * grub-core/term/gfxterm.c: Likewise.
14183 * grub-core/term/terminfo.c: Likewise.
14184 * grub-core/video/i386/pc/vbe.c: Likewise.
14185 * util/grub-menulst2cfg.c: Likewise.
14186 * util/grub-mkdevicemap.c: Likewise.
14187 * util/grub-mklayout.c: Likewise.
14188 * util/grub-mkrelpath.c: Likewise.
14189 * util/grub-script-check.c: Likewise.
14190 * util/ieee1275/grub-ofpathname.c: Likewise.
14191 * util/resolve.c: Likewise.
14192
073aa7a9
VS
141932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14194
14195 Support %1$d syntax.
14196
14197 * tests/printf_unit_test.c: New file.
14198 * Makefile.util.def (printf_test): New test.
14199 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
14200
c76b5417
VS
142012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14202
14203 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
14204 fix.
14205
df067ad1
VS
142062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14207
14208 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
14209 dprintf.
14210 * grub-core/font/font.c (grub_font_load): Likewise.
14211
5b289bc5
VS
142122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14213
14214 * util/grub-macho2img.c: Add comment concerning gettext.
14215 * grub-core/lib/legacy_parse.c: Likewise.
14216
c1860f87
VS
142172011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14218
14219 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
14220 (grub_xvasprintf): Likewise.
14221
d35d0d37
VS
142222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14223
14224 Add const keyword to grub_env_get and gettextize week days.
14225
14226 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
14227 (grub_read_hook_datetime): Return const char *.
14228 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
14229 updated.
14230 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14231 Mark for gettext.
14232 (grub_get_weekday_name): Return const char *. Call gettext.
14233 * grub-core/script/argv.c (grub_script_argv_append): Receive const
14234 char * and len as the argument. All users updated.
14235 (grub_script_argv_split_append): Receive const char *.
14236 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
14237 * include/grub/env.h (grub_env_get): Likewise.
14238 (grub_env_read_hook_t): Return const char *.
14239 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
14240 (grub_script_argv_split_append): Likewise.
14241
9aed8a71
VS
142422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14243
14244 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
14245
067fdf00
VS
142462011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14247
14248 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
14249 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
14250
a8bd9d39
VS
142512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14252
14253 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
14254 Fix prototype.
14255
f7ce5baf
VS
142562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14257
14258 Fix mips compilation.
14259
14260 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
14261 normal decoder.
14262 (hashes): Use in embed decoder as well (for sizes).
14263 (dec_stream_header): Fix embed decompressor logic.
14264 (dec_stream_footer): Likewise.
14265
9bb182f3
VS
142662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14267
14268 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
14269 an error and not a fatal on unrecognised relocation types.
14270
63a9e6f6
VS
142712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14272
14273 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14274 Issue error rather than printf on unknown arguments.
14275
4c458569
VS
142762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14277
14278 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
14279 Make buf a const.
14280
e2d22baf
VS
142812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14282
14283 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
14284 Fix module name.
14285
53dc8590
VS
142862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14287
14288 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
14289 leftover debug printf.
14290
6c189294
VS
142912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14292
14293 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
14294
f7688369
VS
142952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14296
14297 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
14298 A stylistic fix.
14299
11a775a3
VS
143002011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14301
14302 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
14303
33f784e8
SL
143042011-11-10 Shea Levy <slevy@tieronedesign.com>
14305
14306 Allow all modules to perform serial IO
14307
14308 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
14309 * include/grub/serial.h (grub_serial_port_configure): New inline
14310 function.
14311 (grub_serial_port_fetch): Likewise.
14312 (grub_serial_port_put): Likewise.
14313 (grub_serial_port_fini): Likewise.
14314 (grub_serial_find): New proto.
14315
f6276525
VS
143162011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14317
14318 Put symlink at the end of the node and fix a potential
14319 memory corruption.
14320
14321 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
14322 Make symlink into an array.
14323 (set_rockridge): Set have_symlink and alloc_dirents.
14324 (grub_iso9660_read_symlink): Use new layout.
14325 (grub_iso9660_iterate_dir): Fix memory corruption.
14326 Use new layout.
14327 (grub_iso9660_dir): Set have_symlink.
14328 (grub_iso9660_open): Likewise.
14329
c3591189
VS
143302011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14331
14332 Remove local keyword.
14333
14334 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
14335 (version_test_gt): Likewise.
14336 (version_find_latest): Likewise.
14337 (gettext_printf): Likewise.
14338 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
14339
cb544caa
VS
143402011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14341
14342 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
14343
45bd824d
VS
143442011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14345
14346 Fix ZFS memory and resource leaks.
14347
14348 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
14349 All users updated.
14350 Free type on exit.
14351 (fill_vdev_info): New parameter inserted. All users updated.
14352 (check_pool_label): Likewise.
14353 (scan_disk): Likewise.
14354 (scan_devices): Close non-inserted disks.
14355 (fzap_iterate): Free l.
14356 (unmount_device): Free children descripto memory.
14357
ad9a2f44
VS
143582011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14359
14360 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
14361 argument (access out of bounds).
14362
6b68db81
VS
143632011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14364
14365 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
14366 >= 6 drives.
14367
28840fda
VS
143682011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14369
14370 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
14371 Fix declaration.
14372
8a5a3a5b
VS
143732011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14374
14375 Fix several memory leaks.
14376
14377 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
14378 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
14379 (grub_cpio_dir): Likewise.
14380 * grub-core/fs/fat.c (grub_fat_label): Likewise.
14381 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
14382 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
14383 (grub_romfs_label): Likewise.
14384 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
14385 (squash_unmount): New function.
14386 (grub_squash_dir): Fix memory leak.
14387 (grub_squash_open): Likewise.
14388 (grub_squash_read): Likewise.
14389 (grub_squash_mtime): Likewise.
14390 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
14391 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
14392 * util/grub-fstest.c (fstest): Likewise.
14393
57b01250
VS
143942011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14395
14396 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
14397 avoid accessing beyond the array.
14398
19e81ba7
VS
143992011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14400
14401 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
14402
52b656c0
VS
144032011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14404
14405 Several AFFS fixes.
14406
14407 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
14408 (GRUB_AFFS_FLAG_FFS): Removed.
14409 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
14410 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
14411 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
14412 (grub_fshelp_node): Make block 32-bit.
14413 Add block_cache and last_block_cache.
14414 (grub_affs_read_block): Fill and use block cache.
14415 (grub_affs_read_file): Removed.
14416 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
14417 boot block.
14418 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
14419 safety.
14420 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
14421 space.
14422 (grub_affs_close): Free block cache.
14423 (grub_affs_read): Use grub_fshelp_read_file directly.
14424
438a746a
VS
144252011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14426
14427 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
14428 with no error set.
14429
49a45021
VS
144302011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14431
14432 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
14433 used variable.
14434 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14435 Likewise.
14436
3ae17eb8
VS
144372011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14438
14439 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
14440
14441 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
14442 byteswap when needed.
14443
27610c38
VS
144442011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14445
14446 Fix FreeBSD compilation.
14447
14448 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
14449 to avoid circular dependency.
14450 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
14451 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
14452 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
14453
4a19b601
VS
144542011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14455
14456 Fix ZFS crypto error types.
14457
14458 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
14459 (grub_gcm_decrypt): Likewise.
14460 (grub_zfs_load_key_real): Fix error code type. Handle possible error
14461 from PBKDF2.
14462
958ee221
VS
144632011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14464
14465 Illumos support.
14466
14467 * Makefile.util.def (10_illumos): New script.
14468 * configure.ac: Set COND_HOST_ILLUMOS.
14469 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
14470 Support Illumos calls.
14471 (find_partition_start) [__sun__]: Likewise.
14472 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
14473 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
14474 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
14475 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
14476 device.
14477 * util/grub-probe.c (probe) [__sun__]: Do character check.
14478 * util/grub.d/10_illumos.in: New file.
14479
cac14fb6
VS
144802011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14481
14482 Support escaped commas in hostdisk.
14483
14484 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
14485 (find_grub_drive): Use unescape_cmp.
14486 (make_device_name): Escape commas.
14487
78e08dc3
VS
144882011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14489
14490 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
14491
9f421dd1
VS
144922011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14493
14494 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
14495 variable.
14496
ed64e9e2
VS
144972011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14498
14499 Support trampoline jumps on powerpc.
14500
14501 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
14502 __ia64__ path.
14503 (grub_dl_load_segments): Set mod->sz.
14504 (grub_dl_flush_cache): Flush whole space occupied by module, not just
14505 segments.
14506 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
14507 (jump): Likewise.
14508 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
14509 function.
14510 (trampoline): New struct.
14511 (trampoline_template): New const.
14512 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
14513 * include/grub/dl.h (grub_dl): Add sz element.
14514 [__powerpc__]: Follow __ia64__.
14515 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
14516 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
14517 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
14518 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
14519
3084ede4
VS
145202011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14521
14522 ZFS crypto support.
14523
14524 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
14525 * grub-core/Makefile.core.def (zfscrypt): New module.
14526 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
14527 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
14528 it. All users updated.
14529 (grub_zfs_decrypt): New var.
14530 (grub_zfs_load_key): Likewise.
14531 (zio_checksum_functions): Add SHA256+MAC.
14532 (zio_checksum_verify): Handle incomplete comparison due to MAC.
14533 (zio_read): Handle encrypted blocks.
14534 (zap_verify): Remove incorrect check.
14535 (fzap_iterate): Handle non-standard fzap.
14536 (zap_iterate): Likewise.
14537 (zap_iterate_u64): New function.
14538 (dnode_get_fullpath): Load keys.
14539 * grub-core/fs/zfs/zfscrypt.c: New file.
14540 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
14541 (grub_crypto_ecb_encrypt): Make input const.
14542 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
14543 (grub_crypto_ecb_encrypt): Make input const.
14544 (GRUB_CIPHER_AES): New macro.
14545 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
14546 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
14547 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
14548 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
14549 prefix. All users updated.
14550 (grub_zfs_add_key): New proto.
14551 (grub_zfs_decrypt): Likewise.
14552 (grub_zfs_load_key): Likewise.
14553 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
14554 * util/grub-fstest.c (options): Add -K option.
14555 (argp_parser): Likewise.
14556
b632b404
VS
145572011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14558
14559 Support zle compression on ZFS.
14560
14561 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
14562 (decomp_table): Add zle.
14563 * include/grub/zfs/zio.h (zio_compress): Add zle.
14564
c7ba4f69
VS
145652011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14566
14567 Support BtrFS embedding.
14568
14569 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
14570 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
14571 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
14572 * util/grub-setup.c (setup): Use fs embedding if available.
14573 Add additional sanity check.
14574
455377d9
VS
145752011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14576
14577 * util/grub-install.in: Fix condition for config_opt.
14578
c2fd16ca
VS
145792011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14580
14581 Support third redundancy strip on raidz3.
14582
14583 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
14584 Return error on singularity. All users updated.
14585 (read_device): Don't stop on 3rd failure on raidz3.
14586
8622923b
VS
145872011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14588
14589 Support case-insensitive ZFS subvolumes.
14590
14591 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
14592 All users updated.
14593 (zap_hash): Likewise.
14594 (name_cmp): New function.
14595 (zap_leaf_array_equal): New parameter case_insensitive.
14596 All users updated.
14597 (zap_leaf_lookup): Likewise.
14598 (fzap_lookup): Likewise.
14599 (zap_lookup): Likewise.
14600 (dnode_get_path): New parameter case_insensitive. Retrieve case
14601 sensitiviness of a volume. All users updated.
14602 (dnode_get_fullpath): New parameter case_insensitive.
14603 All users updated.
14604 (grub_zfs_dir): Set info.case_insensitiveness.
14605
95f2e860
VS
146062011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14607
14608 Support second redundancy strip on raidz(2,3).
14609
14610 * grub-core/fs/zfs/zfs.c (powx): New array.
14611 (powx_inv): Likewise.
14612 (poly): New const.
14613 (xor_out): New function.
14614 (gf_mul): Likewise.
14615 (recovery): Likewise.
14616 (read_device): Use second redundancy strip.
14617
11ee4389
VS
146182011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14619
14620 Use a power of generator representation of GF(256) multiplication group
14621 to save space time and complexity.
14622
14623 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
14624 (raid6_table2): Likewise.
14625 (powx): New array.
14626 (powx_inv): Likewise.
14627 (poly): New const.
14628 (grub_raid_block_mul): Replace with ...
14629 (grub_raid_block_mulx): ...this.
14630 (grub_raid6_init_table): Rewritten.
14631 (grub_raid6_recover): Use power of generator representation.
14632
09e2763f
VS
146332011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14634
14635 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
14636 for the right device.
14637
8bec9a28
VS
146382011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14639
14640 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
14641 expected by grub-mkimage and it's more clear since there is no implicit
14642 padding.
14643
dbd3a32e
VS
146442011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14645
14646 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
14647 disk.
14648 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14649
182c872a
PMH
146502011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
14651
14652 * util/grub-mkrescue.in: Fix handling xorriso option.
14653
1e51cabd
VS
146542011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14655
14656 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
14657 NULL.
14658
9cc3581d 146592011-11-03 crocket <crockabiscuit@gmail.com>
14660
14661 * util/grub.d/10_linux.in: Add Slackware initrd naming.
14662
158dc1ea
VS
146632011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14664
14665 XZ CRC64 and SHA256 support.
14666
14667 * Makefile.util.def (libgrubmods): Add crc64.c.
14668 * grub-core/Makefile.core.def (crc64): New module.
14669 * grub-core/lib/crc64.c: New file.
14670 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
14671 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
14672 Fix the type.
14673 (MAX_HASH_SIZE): New define.
14674 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
14675 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
14676 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14677 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14678 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
14679 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
14680 Handle non-crc32 hashes.
14681 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
14682 (dec_stream_header): Handle non-crc32 hashes.
14683 (dec_stream_footer): Likewise.
14684 (dec_block_header): Likewise.
14685 (dec_main): Likewise.
14686 (xz_dec_init): Likewise.
14687 (xz_dec_reset): Likewise.
14688 (xz_dec_end): Likewise.
14689 * util/import_gcry.py: Add CRC64 line.
14690
9d9b3d2f
VS
146912011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14692
14693 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
14694 as well.
14695
7d0ac931
VS
146962011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14697
14698 Make reiserfs label retrieval similar to other *_label functions.
14699
14700 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
14701 (REISERFS_MAX_LABEL_LENGTH): Removed.
14702 (REISERFS_LABEL_OFFSET): Likewise.
14703 (grub_reiserfs_label): Rewritten.
14704
147052011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14706
14707 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
14708 field.
14709
cf5ba824
VS
147102011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14711
14712 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
14713
17744004
VS
147142011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14715
14716 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
14717 drive failure on both raidz and raidz2.
14718
aca5aefc
VS
147192011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14720
14721 Fix RAIDZ(2) for >= 5 devices.
14722
14723 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
14724 asize argument. All users updated.
14725
ce8ca56e
VS
147262011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14727
14728 Fix RAIDZ(2).
14729
14730 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
14731 (fill_vdev_info_real): Set ashift.
14732 (read_device): Rewrite RAIDZ part based on reverse engineering.
14733
7c01e783
VS
147342011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14735
14736 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
14737 don't report potentially unavialiable fields in debug output.
14738 (find_path): Fix double-free and memory leak.
14739
ce109e84
VS
147402011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14741
14742 Read label on UFS1.
14743
14744 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
14745 (grub_ufs_fs): Always set .label.
14746
87661123
VS
147472011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14748
14749 Use shifts in UFS.
14750
14751 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
14752 (grub_ufs_data): New field log2_blksz.
14753 (grub_ufs_read_file): Use shifts.
14754 (grub_ufs_mount): Check block size and logarithm it.
14755
46bc1dc2
VS
147562011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
14757
14758 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
14759 long symlinks.
14760
19ee2987
VS
147612011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14762
14763 Handle symlinks and long names on tar and cpio.
14764
14765 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
14766 (ATTR_FILE): Likewise.
14767 (ATTR_DIR): Likewise.
14768 (ATTR_LNK): Likewise.
14769 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
14770 (grub_cpio_find_file): Fill mode, handle linkname field as well as
14771 L and K entries.
14772 (grub_cpio_mount): Zero-fill data.
14773 (handle_symlink): New function.
46bc1dc2
VS
14774 (grub_cpio_dir): Handle symlinks.
14775 (grub_cpio_open): Likewise.
14776 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 14777
c83a08d8
VS
147782011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14779
14780 Fix iso9660 filename limitations and fix memory leaks.
14781
14782 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
14783 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
14784
45cdd3ea
VS
147852011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14786
14787 Fix JFS file name length limitations.
14788
14789 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
14790 (grub_jfs_diropen): Fix maximum filename length.
14791 (grub_jfs_getent): Fix filename length.
14792 (grub_jfs_lookup_symlink): Fix size checks.
14793
94ef05c2
VS
147942011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14795
14796 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
14797 string.
14798
785ab8c7
VS
147992011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14800
eb0b6b45
VS
14801 Leverage BFS implementation to read AFS.
14802
14803 * Makefile.util.def (libgrubmods): Add afs.c.
14804 * grub-core/Makefile.core.def (afs): New module
14805 * grub-core/fs/afs.c: New file.
14806 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
14807
148082011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14809
14810 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 14811
c4a1628f
VS
148122011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14813
14814 * grub-core/fs/bfs.c: Run indent.
14815
5825b379
VS
148162011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14817
14818 BFS implementation based on the specification.
14819
14820 * grub-core/fs/bfs.c: New file.
14821 * Makefile.util.def (libgrubmods): Add bfs.c.
14822 * grub-core/Makefile.core.def (bfs): New module.
14823
42b2a706
VS
148242011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
14825
14826 * util/grub-fstest.c (cmd_cp): Clarify error message.
14827 (cmd_cmp): Likewise.
14828
61b99bfc
YB
148292011-10-30 Yves Blusseau <blusseau@zetam.org>
14830
14831 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
14832 and befs_be.
14833
faba3d16
VS
148342011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
14835
14836 Remove afs and befs because of copyright problem.
14837
14838 * grub-core/fs/afs.c: Removed.
14839 * grub-core/fs/afs_be.c: Removed.
14840 * grub-core/fs/befs.c: Removed.
14841 * grub-core/fs/befs_be.c: Removed.
14842 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
14843 * grub-core/Makefile.core.def (afs): Removed.
14844 (afs_be): Likewise.
14845 (befs): Likewise.
14846 (befs_be): Likewise.
14847
c39224b0
VS
148482011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14849
14850 Prefer rockridge over Joliet.
14851
14852 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
14853 to ...
14854 (set_rockridge): ... here.
14855 (grub_iso9660_mount): Check rockridge on the primary label when
14856 discovering. Ignore Joliet if Rockridge is present.
14857
e551115a
VS
148582011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14859
14860 Use shifts in nilfs2.
14861
14862 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
14863 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
14864 (grub_nilfs2_palloc_entries_per_group): Replace with ...
14865 (grub_nilfs2_log_palloc_entries_per_group): ... this.
14866 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
14867 (grub_nilfs2_entries_per_block): Replaced with ...
14868 (grub_nilfs2_log_entries_per_block_log): ... this.
14869 (grub_nilfs2_blocks_per_group): Replaced with ...
14870 (grub_nilfs2_blocks_per_group_log): ... this.
14871 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
14872 (grub_nilfs2_blocks_per_desc_block_log): ... this.
14873 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
14874 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
14875 (grub_nilfs2_palloc_entry_offset): Replaced ...
14876 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
14877 (grub_nilfs2_dat_translate): Use shifts.
14878 (grub_nilfs2_read_inode): Likewise.
14879 (GRUB_MOD_INIT): Ensure that logs are correct.
14880
564dd58c
VS
148812011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14882
14883 Use shifts in minix filesystem.
14884
14885 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
14886 (GRUB_MINIX_ZONE2SECT): Likewise.
14887 (grub_minix_data): Replace block_size with log_block_size.
14888 (grub_minix_read_file): Use shifts.
14889 (grub_minix_mount): Check block size and take a logarithm.
14890
ed9ba06d
VS
148912011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14892
14893 Use shifts in squash4.
14894
14895 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
14896 (squash_mount): Check block size and take logarithm.
14897 (direct_read): Use shifts.
14898
ad03fe76
VS
148992011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14900
14901 Correct befs block counting logic.
14902
14903 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
14904 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
14905 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
14906 (grub_afs_read_inode): Use block_shift.
14907 (RANGE_SHIFT): New definition.
14908 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
14909 unexpected conditions, use shifts and appropriate types.
14910 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
14911
6563f63d
VS
149122011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
14913
14914 * grub-core/disk/raid.c (scan_devices): Check partition.
14915 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14916
5b1ae25f
VS
149172011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
14918
14919 Support BFS (befs) UUID.
14920
14921 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
14922 (grub_afs_small_data_element_header): New struct.
14923 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
14924 (grub_afs_read_attribute) [MODE_BFS]: New function.
14925 (grub_afs_iterate_dir): Allocate for complete inode.
14926 (grub_afs_mount): Likewise.
14927 (grub_afs_uuid) [MODE_BFS]: New function.
14928 (grub_afs_fs) [MODE_BFS]: Add .uuid.
14929
f8d82408
VS
149302011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
14931
14932 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
14933 (zfs_unmount): Fix memory leak.
14934
5773fb64
VS
149352011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14936
14937 Support NTFS reparse points.
14938
14939 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
14940 (symlink_descriptor): New struct.
14941 (grub_ntfs_read_symlink): New function.
14942 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
14943 (grub_ntfs_open): Likewise.
14944
91c3fdde
VS
149452011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14946
14947 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
14948
3be82e10
VS
149492011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14950
14951 fstest xnu_uuid subcommand.
14952
14953 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
14954 grub-core/commands/xnu_uuid.c.
14955 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
14956 (fstest): Handle xnu_uuid.
14957 (options): Document xnu_uuid.
14958 (argp_parser): Parse xnu_uuid.
14959
8e32442e
VS
149602011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14961
14962 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
14963 -l argument. Add newline at the end if printing.
14964 (GRUB_MOD_INIT): Document -l.
14965
52a05075
VS
149662011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14967
14968 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
14969
1869edb5
VS
149702011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14971
14972 ZFS multi-device and version 33 support.
14973
14974 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
14975 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
14976 (grub_zfs_data): Add multidev-ice-related fields.
14977 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
14978 (dva_get_offset): Make dva const.
14979 (zfs_fetch_nvlist): New function.
14980 (fill_vdev_info_real): Likewise.
14981 (fill_vdev_info): Likewise.
14982 (check_pool_label): Likewise.
14983 (scan_disk): Likewise.
14984 (scan_devices): Likewise.
14985 (read_device): Likewise.
14986 (read_dva): Likewise.
14987 (zio_read_gang): Use read_dva.
14988 (zio_read_data): Likewise.
14989 (zap_leaf_lookup): Add missing endian conversion.
14990 (zap_verify): Add missing endian conversion. All users updated.
14991 (fzap_lookup): Likewise.
14992 (fzap_iterate): Likewise.
14993 (dnode_get_path): Handle SA bonus.
14994 (nvlist_find_value): Make input const. All users updated.
14995 (unmount_device): New function.
14996 (zfs_unmount): Use unmount_device.
14997 (zfs_mount): Use scan_disk.
14998 (zfs_mtime): New function.
14999 (grub_zfs_open): Handle system attributes.
15000 (fill_fs_info): Likewise.
15001 (grub_zfs_dir): Likewise.
15002 (grub_zfs_fs): Add mtime.
15003 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
15004 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
15005 (SA_MTIME_OFFSET): Likewise.
15006 (SA_SYMLINK_OFFSET): Likewise.
15007 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
15008 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
15009 (fstest): Support zfsinfo.
15010 (argp_parser): Likewise.
15011
186b4028
VS
150122011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15013
15014 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
15015 error.
15016
150172011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
15018
15019 ZFS fixes.
15020
15021 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
15022 sharing the same block. Iterate over correct number of indices.
15023 (dnode_get_path): Handle symlinks correctly.
15024
c0584900
VS
150252011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15026
15027 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
15028
67e2bd71
VS
150292011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15030
15031 Read label on HFS+.
15032
15033 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
15034 (grub_hfsplus_btree_search): Fix types.
15035 (grub_hfsplus_label): Implement.
15036
e9cc6b7b
VS
150372011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15038
15039 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
15040
19832ddb
VS
150412011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15042
15043 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
15044
66b40850
VS
150452011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15046
15047 Fix symlink handling on iso9660.
15048
15049 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
15050 All users updated.
15051 (grub_iso9660_susp_iterate): Accept zero-size iterate.
15052 (grub_iso9660_read_symlink): Moved most of code ...
15053 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
15054
db821363
VS
150552011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15056
15057 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15058 Use union to avoid breaking strict-aliasing rules.
15059
e1211949
VS
150602011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15061
15062 Support multi-extent iso files.
15063
15064 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
15065 Add node.
15066 (grub_fshelp_node): Revamp. All users updated.
15067 (FLAG_*): New enum.
15068 (read_node): New function.
15069 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
15070 All users updated.
15071 (grub_iso9660_mount): Don't attempt to read sua when there is none.
15072 (get_node_size): New function.
15073 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
15074 entries.
15075 Fix memory leak on . and ..
15076 (grub_iso9660_read): Use read_node.
15077 (grub_iso9660_close): Free node.
15078
d4888031
VS
150792011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15080
15081 Fix tar 4G limit and handle paths containing dot.
15082
15083 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
15084 (canonicalize): New function.
15085 (grub_cpio_find_file): Use canonicalize. Store offs in
15086 grub_disk_addr_t.
15087 (grub_cpio_dir): Use grub_disk_addr_t.
15088 (grub_cpio_open): Likewise.
15089
9f12e664
VS
150902011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15091
15092 Fix handling of uncompressed blocks on squashfs and break 4G limit.
15093
15094 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
15095 unused flags.
15096 (grub_squash_inode): Add long_file and block_size.
15097 (grub_squash_cache_inode): New struct.
15098 (grub_squash_dirent): Make types into enum.
15099 (SQUASH_TYPE_LONG_REGULAR): New type.
15100 (grub_squash_frag_desc): Add field size.
15101 (SQUASH_BLOCK_FLAGS): New enum.
15102 (grub_squash_data): Use grub_squash_cache_inode.
15103 (grub_fshelp_node): Make ino_chunk 64-bit.
15104 (read_chunk): Minor argument change. All users updated.
15105 (squash_mount): Use correct le_to_cpu.
15106 (grub_squash_open): Handle LONG_REGULAR.
15107 (direct_read): New function.
15108 (grub_squash_read_data): Handle blocks correctly.
15109
9f326fba
VS
151102011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15111
15112 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
15113
f4d9b64b
VS
151142011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15115
15116 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
15117
5bbd28b8
VS
151182011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15119
15120 Fix 2G limit on ZFS.
15121
15122 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
15123 types.
15124 (uberblock_verify): Likewise.
15125 (dmu_read): Likewise.
15126 (grub_zfs_read): Likewise. Remove invalid cast.
15127
68c72069
VS
151282011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15129
15130 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
15131 (grub_jfs_blkno): Fix incorrect shift.
15132 (grub_jfs_read_file): Use more appropriate types.
15133
6e536dc8
VS
151342011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15135
15136 Support triple indirect on minix2 and minix3.
15137
15138 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
15139 Declare triple_indir_zone.
15140 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
15141 indirect.
15142
e0864e7a
VS
151432011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15144
15145 Minix FS fixes.
15146
15147 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
15148 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
15149 Rename ctime to mtime. All users updated.
15150 (grub_minix_get_file_block): Fix types and double indirect computations.
15151
89481cab
VS
151522011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15153
15154 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
15155 if no label is found.
15156 (grub_fat_iterate_dir): Fix file size type.
15157 (grub_fat_iterate_dir): Likewise.
15158
f646e143
VS
151592011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15160
15161 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
15162 save some space.
15163 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15164 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15165
534d769e
VS
151662011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15167
15168 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
15169
e084ba18
VS
151702011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15171
15172 * util/import_gcry.py: Accept space between # and include.
15173
3471ecdf
VS
151742011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15175
15176 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
15177
124df5f6
VS
151782011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15179
15180 Fine grainely disable warnings on lexer. Remove Wno-error on it.
15181
15182 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
15183 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
15184 yylex_strncpy.
15185 * grub-core/script/yylex.l: Add fine-grained #pragma.
15186
4defb8d5
VS
151872011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15188
15189 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
15190 New inline function.
15191 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
15192 Likewise.
15193 (memset) [GRUB_UTIL]: Likewise.
15194 (memcmp) [GRUB_UTIL]: Likewise.
15195
4e94ae65
VS
151962011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15197
15198 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
15199 inline function rather than a define.
15200
18c575e5
VS
152012011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15202
15203 * util/grub-setup.c: Add missing include.
15204
f8bc22a8
VS
152052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15206
15207 * util/ieee1275/grub-ofpathname.c: Add missing include.
15208
3ce69fc9
VS
152092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15210
15211 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
15212 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
15213 Likewise.
15214
d1e293bb
VS
152152011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15216
15217 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
15218 grub_memcmp usage.
15219
7a5c54a4
VS
152202011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15221
15222 * util/grub-install.in: Add datarootdir as per automake manual
15223 suggestion.
15224 * util/grub-mknetdir.in: Likewise.
15225
152262011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
15227
15228 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
15229 suggestion.
15230 * util/grub.d/10_kfreebsd.in: Likewise.
15231 * util/grub.d/10_linux.in: Likewise.
15232 * util/grub.d/10_netbsd.in: Likewise.
15233 * util/grub.d/10_windows.in: Likewise.
15234 * util/grub.d/20_linux_xen.in: Likewise.
15235
766f7d08
VS
152362011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
15237
15238 Remove redundant grub_kernel_image_size.
15239
15240 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
15241 _edata and _start.
15242 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
15243 the small code. It moves it only by few bytes but simplifies the code.
15244 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
15245 _start.
15246 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
15247 (grub_kernel_image_size): Removed.
15248 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
15249 (grub_kernel_image_size): Removed.
15250 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
15251 compiled with Apple toolchain.
15252 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
15253 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
15254 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
15255 (grub_total_module_size): Likewise.
15256 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
15257 Removed.
15258 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
15259 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
15260 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15261 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
15262 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
15263 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
15264 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
15265 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
15266 Removed.
15267 (grub_total_module_size): Removed.
15268 * util/grub-mkimage.c (image_target_desc): Remove image_size.
15269 (image_targets): Likewise.
15270 Set .compressed_size to no field on sparc.
15271 (generate_image): Remove kernel_image_size handling.
15272
fcf1d672
SJ
152732011-10-19 Szymon Janc <szymon@janc.net.pl>
15274
15275 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
15276 NULL pointer dereference.
15277
de9c615e
VS
152782011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15279
15280 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
15281 done with a dedicated section.
15282
15283 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
15284 Ensure the correct position of boot_path.
15285 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
15286 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
15287 other fields.
15288 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
15289 * include/grub/boot.h: Removed. All references removed.
15290 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
15291 Removed.
15292 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
15293
e55599dc
VS
152942011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15295
15296 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
15297 name.
15298
36dd20ad
VS
152992011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15300
15301 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
15302
f8f72eb8
VS
153032011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15304
15305 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15306 Don't add the bogus brackets.
15307
a374751b
VS
153082011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15309
15310 ExFAT support.
15311
15312 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
15313 * grub-core/Makefile.core.def (exfat): New module.
15314 * grub-core/fs/exfat.c: New file.
15315 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
15316 (GRUB_FAT_ATTR_*): Make into an enum.
15317 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
15318 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
15319 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
15320 (GRUB_FAT_MAXFILE): Removed.
15321 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
15322 (grub_current_fat_bpb_t): New type.
15323 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
15324 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
15325 (grub_fat_dir_node_t): New type.
15326 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
15327 (fat_log2) [MODE_EXFAT]: Removed.
15328 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
15329 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
15330 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
15331 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
15332 (grub_fat_label) [MODE_EXFAT]: New function.
15333 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
15334 reserved_first_sector to 0.
15335
544c2487
VS
153362011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15337
15338 Move grub_reboot out of the kernel.
15339
15340 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
15341 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
15342 * grub-core/lib/efi/reboot.c: ... here.
15343 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
15344 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15345 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
15346 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
15347 * grub-core/lib/i386/reboot_trampoline.S: ... here.
15348 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
15349 * grub-core/lib/ieee1275/reboot.c: ... here.
15350 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
15351 * grub-core/lib/mips/arc/reboot.c: ... here.
15352 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
15353 * grub-core/lib/mips/loongson/reboot.c: ...here.
15354 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
15355 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
15356 * include/grub/emu/misc.h (grub_reboot): New function declaration.
15357 * include/grub/i386/reboot.h: New file.
15358 * include/grub/mips/loongson/ec.h: Fix includes.
15359 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
15360 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
15361 * grub-core/lib/i386/reboot.c: New file.
15362
a97501d2
VS
153632011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
15364
15365 Make grub_prefix into module to fix the arbitrary limit and save
15366 some space.
15367
15368 * grub-core/kern/emu/main.c (grub_prefix): Removed.
15369 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
15370 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
15371 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
15372 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
15373 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
15374 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
15375 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
15376 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15377 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
15378 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
15379 * include/grub/ia64/efi/kernel.h: Removed.
15380 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
15381 (grub_prefix): Removed.
15382 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
15383 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
15384 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
15385 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
15386 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
15387 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
15388 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
15389 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
15390 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
15391 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
15392 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15393 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15394 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15395 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15396 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
15397 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
15398 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
15399 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15400 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
15401 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
15402 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
15403 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
15404 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
15405 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
15406 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
15407 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
15408 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
15409 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
15410 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
15411 from module.
15412 * util/grub-mkimage.c (image_target_desc): Removed prefix and
15413 prefix_end.
15414 (image_targets): Likewise.
15415 (generate_image): Put prefix as a module.
15416
39705fad
VS
154172011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15418
15419 Replace grub_module_iterate with FOR_MODULES.
15420
15421 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
15422 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
15423 (grub_efi_modules_addr): ...this.
15424 * grub-core/kern/efi/init.c (grub_modbase): New variable.
15425 (grub_efi_init): Set grub_modbase.
15426 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
15427 (grub_modbase): New variable.
15428 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
15429 (grub_modbase): New variable.
15430 (grub_machine_init): Set grub_modbase.
15431 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
15432 (grub_modbase): New variable.
15433 (grub_machine_init): Set grub_modbase.
15434 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
15435 (grub_modbase): New variable.
15436 (grub_machine_init): Set grub_modbase.
15437 * grub-core/kern/main.c (grub_module_iterate): Remove.
15438 (grub_modules_get_end): Use grub_modbase.
15439 (grub_load_modules): Use FOR_MODULES.
15440 (grub_load_config): Likewise.
15441 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
15442 (grub_modbase): New variable.
15443 (grub_machine_init): Set grub_modbase.
15444 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
15445 (grub_modbase): New variable.
15446 (grub_machine_init): Set grub_modbase.
15447 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
15448 Removed.
15449 (grub_modbase): New variable.
15450 (grub_machine_init): Set grub_modbase.
15451 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
15452 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
15453 (grub_module_iterate): Likewise.
15454 (grub_modbase): New variable declaration.
15455 (FOR_MODULES): New macro.
15456
2afb7f6c
VS
154572011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15458
15459 * configure.ac: Check for __ctzdi2 and __ctzsi2.
15460 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
15461
366e34fa
VS
154622011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15463
15464 Fix few obvious type discrepancies.
15465
15466 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
15467 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
15468 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
15469 variable.
15470 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
15471 and connected types.
15472 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
15473 offset.
15474 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
15475 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
15476 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
15477 and connected types.
15478
177b960e
VS
154792011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15480
15481 Fix python 3.x incompatibilities.
15482
15483 * gentpl.py: Put brackets around print strings.
15484 * util/import_gcry.py: Open explicitly as utf-8.
15485 Use in instead of has_key.
15486
3b619ae1
VS
154872011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15488
15489 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
15490 (GRUB_XFS_INO_AGBITS): Make into inline function.
15491 (GRUB_XFS_INO_INOINAG): Likewise.
15492 (GRUB_XFS_INO_AG): Likewise.
15493 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15494 (GRUB_XFS_EXTENT_OFFSET): Likewise.
15495 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15496 (GRUB_XFS_EXTENT_SIZE): Likewise.
15497 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
15498 (GRUB_XFS_NEXT_DIRENT): Likewise.
15499 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
15500 (grub_xfs_read_file): Fix offset type.
15501
8bcebcb8
RM
155022011-10-15 Robert Millan <rmh@gnu.org>
15503
15504 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
15505
0017e5ef
RM
155062011-10-15 Robert Millan <rmh@gnu.org>
15507
15508 Fix build problem on FreeBSD and GNU/kFreeBSD.
15509
15510 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
15511
d8919552
VS
155122011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15513
15514 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
15515
15516 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
15517 types.
15518 (grub_hfsplus_btree_recoffset): Likewise.
15519 (grub_hfsplus_btree_recptr): Likewise.
15520 (grub_hfsplus_find_block): Likewise.
15521 (grub_hfsplus_btree_search): Likewise.
15522 (grub_hfsplus_read_block): Likewise.
15523 (grub_hfsplus_read_file): Likewise.
15524 (grub_hfsplus_mount): Likewise.
15525 (grub_hfsplus_btree_iterate_node): Likewise.
15526 (grub_hfsplus_btree_search): Likewise.
15527 (grub_hfsplus_iterate_dir): Likewise.
15528 (grub_hfsplus_read): A small code simplification.
15529
c81296b6
VS
155302011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15531
15532 * grub-core/kern/emu/hostdisk.c
15533 (convert_system_partition_to_system_disk): Don't assume that children
15534 of mapper nodes are mapper nodes.
15535
0eb8ffb1
VS
155362011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15537
15538 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
15539 * include/grub/misc.h (grub_isxdigit): New function.
15540 * grub-core/video/colors.c (my_isxdigit): Removed. All users
15541 switched to grub_isxdigit.
15542 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
15543 number starting with a letter.
15544
a98f4a08
RM
155452011-10-09 Robert Millan <rmh@gnu.org>
15546
15547 LVM support for FreeBSD and GNU/kFreeBSD.
15548
15549 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
15550 GNU/kFreeBSD.
15551 (LVM_DEV_MAPPER_STRING): Move from here ...
15552 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
15553 * util/getroot.c: Include `<grub/util/lvm.h>'.
15554 (grub_util_get_dev_abstraction): Enable
15555 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
15556 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
15557 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
15558 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
15559 support it.
15560 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
15561 GNU/kFreeBSD.
15562 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
15563 when LVM abstraction is required for ${GRUB_DEVICE}.
15564
050e8e90
SJ
155652011-10-06 Szymon Janc <szymon@janc.net.pl>
15566
15567 Add support for LZO compression in GRUB:
15568 - import of minilzo library,
15569 - LZO decompression for btrfs,
15570 - lzop files decompression.
15571
15572 * grub-core/io/lzopio.c: New file.
15573 * grub-core/lib/adler32.c: Likewise.
15574 * grub-core/lib/minilzo/lzoconf.h: Likewise.
15575 * grub-core/lib/minilzo/lzodefs.h: Likewise.
15576 * grub-core/lib/minilzo/minilzo.c: Likewise.
15577 * grub-core/lib/minilzo/minilzo.h: Likewise.
15578 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
15579 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
15580 grub-core/lib/minilzo/minilzo.c to common.
15581 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
15582 cflags in cppflags.
15583 * grub-core/Makefile.core.def (btrfs): Likewise.
15584 * grub-core/Makefile.core.def (lzopio): New module.
15585 (adler32): Likewise.
15586 * grub-core/fs/btrfs.c: Include minilzo.h.
15587 (GRUB_BTRFS_COMPRESSION_LZO): New define.
15588 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
15589 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
15590 (grub_btrfs_lzo_decompress): New function.
15591 (grub_btrfs_extent_read): Add support for LZO compression type.
15592 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
15593 (GRUB_USHRT_MAX): Likewise.
15594 (GRUB_UINT_MAX): Likewise.
15595 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
15596 (UINT_MAX): Likewise.
15597 (CHAR_BIT): Likewise.
15598 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
15599 grub-core/lib/posix_wrap/limits.h
15600 (UCHAR_MAX): Likewise.
15601 * include/grub/file.h (grub_file_filter_id): New compression filter
15602 GRUB_FILE_FILTER_LZOPIO.
15603 * include/grub/file.h (grub_file_filter_id): Set
15604 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
15605 * include/grub/types.h (grub_get_unaligned16): New function.
15606 (grub_get_unaligned32): Likewise.
15607 (grub_get_unaligned64): Likewise.
15608 * util/import_gcry.py (cryptolist): Add adler32.
15609
0eb8ffb1
VS
156102011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
15611
15612 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
15613 in perspective decreases the complexity of build system and fixes
15614 compilation right now.
15615
ce79cc99 156162011-10-01 Ales Nesrsta <starous@volny.cz>
15617
15618 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
15619 (fixed problem related to using UHCI with coreboot).
15620
8667a314
BC
156212011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15622
15623 * gentpl.py: Use Autogen macros so that the output template file
15624 (Makefile.tpl) size is reduced.
15625
fc5efcc0
MK
156262011-09-29 Mads Kiilerich <mads@kiilerich.com>
15627
15628 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
15629 extra_dist.
15630
d1ab689d
ML
156312011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15632
15633 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
15634 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
15635
c05de032
ML
156362011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15637
15638 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
15639 _fullpath.
15640
cca7ccd8
ML
156412011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15642
15643 Remove extra declaration of sleep for mingw32.
15644
15645 * util/misc.c (sleep) [__MINGW32__]: Removed.
15646 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
15647
e0b0dc83
GS
156482011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
15649
15650 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
15651 type and packname.
15652 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
15653 Resurrected.
15654 (NETBSD_BTINFO_BOOTWEDGE): New definition.
15655 (grub_netbsd_btinfo_bootwedge): New struct.
15656 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15657 New function.
15658 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
15659
91a1a164
TH
156602011-09-28 Thomas Haller <thomas.haller@fen-net.de>
15661
15662 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
15663 loader.
15664
2ded951e
AB
156652011-09-28 Andreas Born <futur.andy@googlemail.com>
15666
15667 Fix incorrect identifiers in bash-completion.
15668
15669 * util/bash-completion.d/grub-completion.bash.in
15670 (_grub_mkpasswd-pbkdf2): Rename to ...
15671 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
15672 (_grub_script-check): Rename to ...
15673 (_grub_script_check): ... this. All users updated.
15674
69915030
VS
156752011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
15676
15677 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
15678 Return 0 if disk isn't biosdisk.
15679
20fd15f9
GS
156802011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15681
15682 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
15683 on NetBSD.
15684 * Makefile.util.def (grub-fstest): Likewise.
15685
1a7d7db9
GS
156862011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15687
15688 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
15689 Get sector size from disk label.
15690
2221ab6c
CW
156912011-09-05 Colin Watson <cjwatson@ubuntu.com>
15692
15693 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
15694 */README* as well as README*.
15695 Reported by: Axel Beckert.
15696
ca51c4a0
VS
156972011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15698
15699 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
15700 case of less than 256 MiB of RAM.
15701
ab80f326
VS
157022011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15703
15704 * grub-core/commands/wildcard.c (make_regex): Handle @.
15705
4155e697
VS
157062011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15707
15708 * util/grub-install.in: Move cryptodisk logic to appropriate place.
15709
ab178c08
SJ
157102011-08-21 Szymon Janc <szymon@janc.net.pl>
15711
15712 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
15713 AC_LANG_CONFTEST macros.
15714
7dc3c686
SJ
157152011-08-20 Szymon Janc <szymon@janc.net.pl>
15716
15717 Add grub-fstest option to uncompress data for commands.
15718
15719 * util/grub-fstest.c (uncompress): New var.
15720 (options): New option -u.
15721
fe8d4a7b
SJ
157222011-08-20 Szymon Janc <szymon@janc.net.pl>
15723
15724 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
15725 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
15726
a5219af1
SJ
157272011-08-20 Szymon Janc <szymon@janc.net.pl>
15728
15729 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
15730 file type was not recognized correctly (not gzip or corrupted).
15731
f87abff5
VS
157322011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15733
15734 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
15735 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
15736
d94497ea
VS
157372011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15738
15739 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
15740 loongson.
15741 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
15742 video_radeon_fuloong2e.
15743 * grub-core/video/radeon_fuloong2e.c: New file.
15744 * include/grub/video.h (grub_video_id_t): Add new ID
15745 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
15746
0d1fd011
VS
157472011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15748
15749 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
15750 define.
15751 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
15752 that PRID matches the detected subplatform and reset the subplatform
15753 if it doesn't.
15754
84beb0ee
VS
157552011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15756
15757 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
15758
1227c133
VS
157592011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15760
15761 Fix PCI iterating on functions >= 4.
15762
15763 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
15764 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
15765 Removed.
15766 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
15767 (grub_pci_read): Fix bitmask.
15768 (grub_pci_read_word): Likewise.
15769 (grub_pci_read_byte): Likewise.
15770 (grub_pci_write): Likewise.
15771 (grub_pci_write_word): Likewise.
15772 (grub_pci_write_byte): Likewise.
15773
9594c689
VS
157742011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15775
15776 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
15777 can still be specified in TARGET_CFLAGS)
15778
14a2562c
VS
157792011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
15780
15781 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
15782
15783 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
15784 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
15785 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
15786 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
15787 (FULOONG): Rename to ...
15788 (FULOONG2F): ... this. All users updated.
15789 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
15790 (machtype_fuloong2f_str): ... this.
15791 (machtype_fuloong2e_str): New string.
15792 Check for machtype_fuloong2e_str.
15793 * grub-core/loader/mips/linux.c (loongson_machtypes)
15794 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
15795 * grub-core/term/serial.c (loongson_defserial)
15796 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
15797 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
15798 loongson_defserial.
15799 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
15800 Rename to ...
15801 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
15802 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
15803 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
15804 to IMAGE_FULOONG2F_FLASH. All users updated.
15805 (image_targets): Rename images.
15806 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
15807
b526cbb6
SJ
158082011-08-19 Szymon Janc <szymon@janc.net.pl>
15809
15810 Make enable of disk cache statistics code configurable.
15811
15812 * configure.ac: --enable-cache-stats added.
15813 * config.h.in (DISK_CACHE_STATS): New define.
15814 * grub-core/Makefile.core.def (cacheinfo): New command.
15815 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
15816 * grub-core/commands/cacheinfo.c: New file.
15817 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
15818 moved to cacheinfo.c.
15819 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
15820 debug code.
15821 * include/grub/disk.h: Likewise.
15822
fb739ccd
SJ
158232011-08-19 Szymon Janc <szymon@janc.net.pl>
15824
15825 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
15826 * grub-core/Makefile.am: Likewise.
15827
2bba8cfd
VS
158282011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15829
15830 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
15831 non-zero pull.
15832
43526629
VS
158332011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15834
15835 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
15836 All users updated.
15837 (grub_jfs_lookup_symlink): Use correct starting inode.
15838
5c144cc8
VS
158392011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15840
15841 * util/grub-setup.c (main): Add missing gcry initialisation.
15842
b1257f65
VS
158432011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
15844
15845 Don't accept text modes on EFI when booting Linux.
15846
15847 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
15848 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
15849
828bc390
ML
158502011-08-15 Mario Limonciello <mario_limonciello@dell.com>
158512011-08-15 Colin Watson <cjwatson@ubuntu.com>
15852
15853 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
15854 use of "/path/.." as in grub-install for EFI as well as handling
15855 symlinks correctly.
15856 Fixes Debian bug #637768.
15857
5f60ccac
CW
158582011-08-15 Colin Watson <cjwatson@ubuntu.com>
15859
15860 * util/grub-probe.c: Remove duplicate #include.
15861
6dc212f9
RM
158622011-08-10 Robert Millan <rmh@gnu.org>
15863
15864 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
15865
15866 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
15867 function.
15868 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
15869 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
15870
66816d85
RM
158712011-08-03 Robert Millan <rmh@gnu.org>
15872
15873 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
15874 la_array as packed.
15875 Reported by: Zachary Bedell
15876
20168fca
CW
158772011-07-26 Colin Watson <cjwatson@ubuntu.com>
15878
15879 * configure.ac: The Loongson port requires grub-mkfont due to its
15880 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
15881 be built.
15882
303b6246
CW
158832011-07-26 Colin Watson <cjwatson@ubuntu.com>
15884
15885 * util/grub-install.in: Don't source grub-mkconfig_lib until after
15886 processing arguments (otherwise help2man fails when GRUB has not yet
15887 been installed).
15888
6795300e
VS
158892011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15890
41aa28ea
VS
15891 New script grub-mkstandalone.
15892
15893 * Makefile.util.def (grub-mkstandalone): New script.
15894 * docs/man/grub-mkstandalone.h2m: New file.
15895 * util/grub-mkstandalone.in: Likewise.
15896
158972011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15898
15899 Support ATA disks with 4K sectors.
6795300e
VS
15900
15901 * include/grub/ata.h (grub_ata): New member log_sector_size.
15902 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
15903 (grub_ata_identify): Read sector size.
15904 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
15905
92227597
VS
159062011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15907
15908 * util/grub-install.in: Don't use uhci outside of x86.
15909
c77069f5
VS
159102011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
15911
15912 * util/grub-mkrescue.in: Add missing quotes.
15913
159142011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
15915
15916 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
15917 dereference.
15918
583168a2
VS
159192011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15920
15921 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
15922
6be1c01f
VS
159232011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15924
15925 * include/grub/video.h: add missing EXPORT_FUND on
15926 grub_video_edid_checksum and grub_video_edid_preferred_mode.
15927
a1167439
VS
159282011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15929
15930 * include/grub/mips/kernel.h: Fix define conflict.
15931
bf66054f
VS
159322011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
15933
15934 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
15935 all four ways.
15936
8fc4fa45
CW
159372011-07-21 Colin Watson <cjwatson@ubuntu.com>
15938
15939 Preferred resolution detection for VBE.
15940
15941 * grub-core/video/video.c (grub_video_edid_checksum): New function.
15942 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
15943 the Flat Panel extension, in line with the X.org VESA driver.
15944 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
15945 New function.
15946 (grub_vbe_bios_get_ddc_capabilities): Likewise.
15947 (grub_vbe_bios_read_edid): Likewise.
15948 (grub_vbe_get_preferred_mode): Likewise.
15949 (grub_video_vbe_setup): When the mode is "auto", try to get the
15950 preferred mode from VBE, and use the largest mode that is no larger
15951 than the preferred mode (some BIOSes expose a preferred mode that is
15952 not in their mode list!). If this fails, fall back to 640x480 as a
15953 safe conservative choice.
15954 (grub_video_vbe_get_edid): New function.
15955 (grub_video_vbe_adapter): Add get_edid.
15956 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
15957 (struct grub_video_adapter): Add get_edid.
15958 (grub_video_edid_checksum): Add prototype.
15959 (grub_video_edid_preferred_mode): Likewise.
15960 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
15961 structure.
15962
15963 * grub-core/commands/videoinfo.c (print_edid): New function.
15964 (grub_cmd_videoinfo): Print EDID if available.
15965
15966 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
15967 is more appropriate on a wider range of platforms than 640x480.
15968 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
15969 documentation.
15970
ca5572a9
VS
159712011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15972
15973 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
15974
e4bcf625
VS
159752011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15976
15977 * po/POTFILES.in: Regenerate.
15978
c4edd548
VS
159792011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15980
15981 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
15982 incorrect memory usage.
15983
16a2bab0
VS
159842011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15985
15986 * util/grub-install.in: Source grub-mkconfig_lib.
15987
2e418de6
VS
159882011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
15989
15990 Remove getroot.c from core on emu platform.
15991
15992 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
15993 kern/emu/raid.c.
15994 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
15995 useless.
15996 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
15997 * util/getroot.c (get_win32_path): ... here.
15998 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
15999 * util/getroot.c (fini_libzfs): ... here.
16000 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
16001 * util/getroot.c (grub_get_libzfs_handle): ... here.
16002 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
16003 Moved from here...
16004 * util/getroot.c (grub_find_zpool_from_dir): ... here.
16005 * grub-core/kern/emu/misc.c
16006 (grub_make_system_path_relative_to_its_root): Moved from here...
16007 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
16008 * grub-core/kern/emu/getroot.c: Moved from here ...
16009 * util/getroot.c: ... here. All users updated.
16010 * grub-core/kern/emu/raid.c: Moved from here ...
16011 * util/raid.c: ... here. All users updated.
16012
def9832a
VS
160132011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16014
16015 * po/POTFILES.in: Regenerate.
16016
cd8fe79a
VS
160172011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16018
16019 Fix compilation on GNU/Linux.
16020
16021 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
16022 Disable geli.
16023 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
16024 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
16025 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
16026
a251b719
VS
160272011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
160282011-07-07 Michael Gorven <michael@gorven.za.net>
160292011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
16030
16031 LUKS and GELI support.
16032
16033 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
16034 grub-core/disk/luks.c, grub-core/disk/geli.c,
16035 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
16036 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
16037 grub-core/lib/arg.c.
16038 (libgrubmods.a): Remove gcrypts cflags and cppflags.
16039 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
16040 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
16041 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
16042 (grub-bin2h): Add libgcry.a.
16043 (grub-mkimage): Likewise.
16044 (grub-mkrelpath): Likewise.
16045 (grub-script-check): Likewise.
16046 (grub-editenv): Likewise.
16047 (grub-mkpasswd-pbkdf2): Likewise.
16048 (grub-pe2elf): Likewise.
16049 (grub-fstest): Likewise.
16050 (grub-mkfont): Likewise.
16051 (grub-mkdevicemap): Likewise.
16052 (grub-probe): Likewise.
16053 (grub-ofpath): Likewise.
16054 (grub-mklayout): Likewise.
16055 (example_unit_test): Likewise.
16056 (grub-menulst2cfg): Likewise.
16057 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
16058 * grub-core/Makefile.core.def (cryptodisk): New module.
16059 (luks): Likewise.
16060 (geli): Likewise.
16061 * grub-core/disk/AFSplitter.c: New file.
16062 * grub-core/disk/cryptodisk.c: Likewise.
16063 * grub-core/disk/geli.c: Likewise.
16064 * grub-core/disk/luks.c: Likewise.
16065 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
16066 grub_util_is_lvm.
16067 (grub_util_get_dm_abstraction): New function.
16068 (grub_util_follow_gpart_up): Likewise.
16069 (grub_util_get_geom_abstraction): Likewise.
16070 (grub_util_get_dev_abstraction): Use new functions.
16071 (grub_util_pull_device): Pull GELI and LUKS.
16072 (grub_util_get_grub_dev): Handle LUKS and GELI.
16073 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
16074 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
16075 (follow_geom_up): Removed.
16076 (grub_util_fd_seek): New function.
16077 (open_device): Use grub_util_fd_seek.
16078 (nread): Rename to ..
16079 (grub_util_fd_read): ... this. All users updated.
16080 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
16081 (grub_crypto_cbc_decrypt): Likewise.
16082 (grub_crypto_hmac_write): Likewise.
16083 (grub_crypto_hmac_buffer): Likewise.
16084 (grub_password_get): Extend to util.
16085 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
16086 New member modname.
16087 (gcry_md_spec) [GRUB_UTIL]: Likewise.
16088 * include/grub/cryptodisk.h: New file.
16089 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
16090 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
16091 LUKS and GELI.
16092 (grub_util_follow_gpart_up): New proto.
16093 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
16094 (grub_util_fd_read): Likewise.
16095 (grub_cryptodisk_cheat_mount): Likewise.
16096 (grub_util_cryptodisk_print_uuid): Likewise.
16097 (grub_util_get_fd_sectors): Likewise.
16098 * util/grub-fstest.c (mount_crypt): New var.
16099 (fstest): Mount crypto if requested.
16100 (options): New option -C.
16101 (argp_parser): Parse -C.
16102 (main): Init and fini gcry.
16103 * util/grub-install.in: Support cryptodisk install.
16104 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
16105 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
16106 cryptodisk.
16107 (prepare_grub_to_access_device): Likewise.
16108 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
16109 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
16110 (probe_cryptodisk_uuid): New function.
16111 (probe_abstraction): Likewise.
16112 (probe): Use new functions.
16113 * util/import_gcry.py: Create Makefile.utilgcry.def.
16114 Add modname member.
16115
9bfdcbbc
VS
161162011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16117
16118 Lazy device scanning.
16119
16120 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
16121 (grub-setup): Remove util/raid.c.
16122 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
16123 * grub-core/disk/lvm.c (scan_depth): New variable.
16124 (grub_lvm_iterate): Rescan if necessary.
16125 (find_lv): New function based on grub_lvm_open.
16126 (grub_lvm_open): Use find_lv. Rescan on error.
16127 (is_node_readable): New function.
16128 (is_lv_readable): Likewise.
16129 (grub_lvm_scan_device): Skip already found disks.
16130 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
16131 Stop if searched device is found and readable.
16132 * grub-core/disk/raid.c (inscnt): New variable.
16133 (scan_depth): Likewise.
16134 (scan_devices): New function based on grub_raid_register. Abort if
16135 looked for device is found.
16136 (grub_raid_iterate): Rescan if needed.
16137 (find_array): NEw function based on -grub_raid_open.
16138 (grub_raid_open): Use find_array and rescan.
16139 (insert_array): Set became_readable_at.
16140 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
16141 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
16142 New function.
16143 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
16144 (grub_util_pull_device): New function.
16145 (grub_util_get_grub_dev): Call grub_util_pull_device.
16146 * util/raid.c: Moved to ..
16147 * grub-core/kern/emu/raid.c: ... here.
16148 (grub_util_raid_getmembers): New parameter "bootable".
16149 All users updated. Support 1.x.
16150 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
16151 All users updated.
16152 * include/grub/disk.h (grub_disk_pull_t): New enum.
16153 (grub_disk_dev): Change iterate prototype.
16154 All users updated.
16155 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
16156 New proto.
16157 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
16158 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
16159 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
16160 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
16161 All users updated.
16162 * include/grub/util/raid.h: Removed.
16163
1c358e59
VS
161642011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16165
16166 * po/POTFILES.in: Regenerate.
16167
abee94ed
VS
161682011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16169
16170 Unify sparc init with other ieee1275.
16171
16172 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
16173 instead of kern/sparc64/ieee1275/init.c.
16174 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
16175 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
16176 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
16177 grub/machine/kernel.h.
16178 (grub_ieee1275_original_stack) [__sparc__]: New variable.
16179 (grub_claim_heap) [__sparc__]: Use sparc version.
16180 (grub_machine_init): Moved args parsing to
16181 (grub_parse_cmdline): ...this.
16182 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
16183 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
16184 New definition.
16185 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
16186
16187 Move BOOTP to separate file.
16188
16189 * grub-core/Makefile.core.def (net): Add net/bootp.c.
16190 * grub-core/net/net.c: Move all BOOTP functions to
16191 * grub-core/net/bootp.c: ... here.
16192
16193 Use frame interface on PXE.
16194
16195 * grub-core/Makefile.core.def (pxecmd): Removed.
16196 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
16197 * grub-core/commands/i386/pc/pxecmd.c: Removed.
16198 * grub-core/i386/pc/pxe.c: Moved from here ...
16199 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
16200 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
16201 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
16202
16203 EFI network support.
16204
16205 * grub-core/Makefile.core.def (efinet): New module.
16206 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
16207 here...
16208 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
16209 All users updated.
16210 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
16211 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
16212 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
16213 * grub-core/net/drivers/efi/efinet.c: New file.
16214 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
16215 (grub_efi_net_config): New extern var.
16216
16217 Various cleanups and bugfixes.
16218
16219 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
16220 error.
16221 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
16222 disk declared as partition.
16223 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
16224 leak on failure.
16225 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
16226 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
16227 (grub_debug_zalloc): Likewise.
16228 (grub_debug_realloc): Likewise.
16229 (grub_debug_memalign): Likewise.
16230 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
16231 Check that target is IPv4.
16232 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
16233 local-mac-address as fallback.
16234 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
16235 memory leak.
16236 * grub-core/net/ip.c (ipchksum): Rename to ...
16237 (grub_net_ip_chksum): ... this. All users updated.
16238 (grub_net_recv_ip_packets): Special handling for DHCP.
16239 * util/grub-mkimage.c (generate_image): Zero-out aout header.
16240
16241 Unify prefix handling
16242
16243 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
16244 (grub_machine_get_bootlocation): ... this.
16245 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
16246 (grub_machine_get_bootlocation): ... this.
16247 (grub_prefix): New variable.
16248 (prefix): Removed.
16249 (root_dev): New variable.
16250 (dir): Likewise.
16251 (main): Use new variables.
16252 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
16253 Revamped into ...
16254 (grub_machine_get_bootlocation): ... this.
16255 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
16256 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
16257 (grub_machine_get_bootlocation): ... this.
16258 (grub_machine_set_prefix): Removed.
16259 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
16260 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
16261 Revamped into ...
16262 (grub_machine_get_bootlocation): ... this.
16263 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
16264 (grub_set_prefix_and_root): ... this. All users updated.
16265 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
16266 Revamped into ...
16267 (grub_machine_get_bootlocation): ... this.
16268 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
16269 (grub_machine_get_bootlocation): New proto.
16270 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
16271
16272 Less intrusive and more reliable seek on network implementation.
16273
16274 * grub-core/kern/file.c (grub_file_net_seek): Removed.
16275 (grub_file_seek): Don't call grub_file_net_seek.
16276 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
16277 (grub_net_fs_read_real): .. this.
16278 (grub_net_seek_real): Use net->offset.
16279 (grub_net_fs_read): Seek if necessary.
16280
16281 Unify IEEE1275 netwotk config with the other platforms.
16282
16283 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
16284 New variable.
16285 (grub_machine_get_bootlocation): Support network.
16286 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16287 Support type and device parsing.
16288 (grub_ieee1275_get_device_type): New function.
16289 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
16290 into ...
16291 (grub_ieee1275_net_config_real): ... this.
16292 (grub_ofnet_probecards): Removed.
16293 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
16294 * include/grub/ieee1275/ofnet.h: Removed.
16295 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
16296 extern var.
16297 (grub_ieee1275_get_device_type): New function.
16298
16299 Unify network device closing across platforms and make more robust.
16300
16301 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
16302 grub_grubnet_fini.
16303 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
16304 already.
16305 * grub-core/net/net.c (grub_net_network_level_interface_register):
16306 Update num_ifaces.
16307 (grub_net_card_unregister): Close all interfaces.
16308 (receive_packets): Don't poll if no iterfaces are registered.
16309 Open if necessary.
16310 (grub_net_fini_hw): New function.
16311 (grub_net_restore_hw): Likewise.
16312 (fini_hnd): New variable.
16313 (GRUB_MOD_INIT): Register preboot hook.
16314 (GRUB_MOD_FINI): Run and unregister preboot hook.
16315
16316 Poll network cards when idle.
16317
16318 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
16319 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
16320 * grub-core/net/net.c (receive_packets): Save last poll time.
16321 (grub_net_poll_cards_idle_real): New function.
16322 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
16323 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
16324 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
16325
16326 Rename ofnet interfaces.
16327
16328 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
16329 (grub_ofnet_findcards): Use ofnet_%s names.
16330
16331 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
16332
16333 Cleanup socket opening.
16334
16335 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
16336 (grub_net_fs_close): Likewise.
16337 (grub_net_fs_read_real): Use eof member.
16338 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
16339 (+grub_net_udp_close): New inline function.
16340
16341 * include/grub/net/tftp.h: Moved to the top of ...
16342 * grub-core/net/tftp.c: ... here.
16343 * include/grub/net/ip.h: Moved mostly to the top of ...
16344 * grub-core/net/ip.c: ... here.
16345 * include/grub/net/ethernet.h: Moved mostly to the top of ...
16346 * grub-core/net/ethernet.c: ... here.
16347
16348 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
16349
16350 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
16351 FS name.
16352
16353 * include/grub/net/ip.h (ipv4_ini): Removed.
16354 (ipv4_fini): Likewise.
16355
16356 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
16357 (grub_net_send_ip_packets): Likewise.
16358
cf1337aa
VS
163592011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16360
16361 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
16362 grub_read_cmos prototype.
16363
93c06ff9
VS
163642011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16365
16366 VGA text support in qemu-mips
16367
16368 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
16369 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
16370 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
16371 text.
16372 * grub-core/kern/i386/qemu/init.c: Renamed to ...
16373 * grub-core/kern/vga_init.c: ... this.
16374 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
16375 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
16376 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
16377 Adjust.
16378 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
16379 GRUB_MACHINE_PCI_IO_BASE.
16380
748ccabe
VS
163812011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16382
16383 MIPS qemu flash support.
16384
16385 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
16386 magic.
16387 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
16388 (grub_machine_init): Probe memory if its size isn't known.
16389 * util/grub-mkimage.c (image_targets): Add flash targets.
16390 (generate_image): Handle flash targets.
16391
d7345994
VS
163922011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16393
16394 MIPS qemu at_keyboard support.
16395
16396 * gentpl.py (videoinkernel): Add qemu-mips.
16397 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
16398 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
16399 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
16400 modules.
16401 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
16402 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
16403 * grub-core/term/serial.c (grub_serial_register)
16404 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
16405
a07a81b3
VS
164062011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16407
16408 CMOS support on sparc.
16409
16410 * gentpl.py (cmos): Add powerpc and sparc.
16411 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
16412 powerpc and sparc.
16413 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
16414 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
16415 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
16416 grub_set_datetime_cmos.
16417 * grub-core/lib/ieee1275/cmos.c: New file.
16418 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
16419 (find_rtc): Set no_ieee1275_rtc on error.
16420 (grub_get_datetime): Call grub_get_datetime_cmos on error.
16421 (grub_set_datetime): Call grub_set_datetime_cmos on error.
16422 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
16423 fail. Move value to argument. All users updated
16424 (grub_cmos_write): Likewise.
16425 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
16426 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
16427 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
16428 grub_get_datetime_cmos and grub_set_datetime_cmos.
16429
77546584
GS
164302011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16431
16432 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
16433 sourcing grub-mkconfig_lib.
16434 * util/update-grub_lib.in: Likewise.
16435 * util/grub.d/00_header.in: Likewise.
16436 * util/grub.d/10_hurd.in: Likewise.
16437 * util/grub.d/10_kfreebsd.in: Likewise.
16438 * util/grub.d/10_linux.in: Likewise.
16439 * util/grub.d/10_netbsd.in: Likewise.
16440 * util/grub.d/10_windows.in: Likewise.
16441 * util/grub.d/20_linux_xen.in: Likewise.
16442 * util/grub.d/30_os-prober.in: Likewise.
16443
54894791
CW
164442011-06-28 Colin Watson <cjwatson@ubuntu.com>
16445
16446 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
16447 default_bg_color rather than black.
16448 (grub_gfxterm_fullscreen): Likewise.
16449 (grub_gfxterm_background_color_cmd): Save new background color in
16450 default_bg_color.
16451
8d5d8444
VS
164522011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16453
16454 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
16455
5afeb5bd
VS
164562011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16457
16458 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
16459 mismerge.
16460
ba7df45e
VS
164612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16462
16463 Chainloading on coreboot support.
16464
16465 * grub-core/Makefile.core.def (chain): Add coreboot.
16466 * grub-core/loader/i386/coreboot/chainloader.c: New file.
16467
d0b526b2
VS
164682011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16469
16470 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
16471 if it happens.
16472
5ff1d945
VS
164732011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16474
16475 Implement time command.
16476
16477 * grub-core/Makefile.core.def (time): New module.
16478 * grub-core/commands/time.c: New file.
16479 * grub-core/script/parser.y: Remove "time" keyword.
16480 * grub-core/script/yylex.l: Likewise.
16481
5ebaad7e
VS
164822011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16483
16484 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
16485
bdea3798
VS
164862011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16487
16488 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
16489 when handling leftovers.
16490
b28c5655
VS
164912011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16492
16493 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
16494 so that help2man doesn't fail.
16495
b6f945dc
VS
164962011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16497
16498 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
16499 type in pointers on sparc64.
16500 (get_card_packet): Likewise.
16501
f9b75e8a
CW
165022011-06-27 Colin Watson <cjwatson@ubuntu.com>
16503
16504 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
16505 with `*'.
16506 (grub_cmd_videoinfo): Fetch current video mode.
16507
1e3d9b86
VS
165082011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16509
16510 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
16511 because of underlying system restrictions.
16512
efff4b1c
VS
165132011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16514
16515 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
16516 necessary.
16517
9fc9ce37
VS
165182011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16519
16520 Coreboot video support.
16521
16522 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
16523 (vbe): Likewise.
16524 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
16525 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
16526 here ...
16527 * grub-core/kern/i386/int.S: ... here.
16528 * grub-core/video/i386/pc/vbe.c: Updated includes.
16529 * grub-core/video/i386/pc/vga.c: Likewise.
16530 * include/grub/i386/coreboot/memory.h
16531 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
16532 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
16533 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
16534 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
16535 Disable interrupts.
16536 * include/grub/i386/pc/vga.h: Removed. All users updated.
16537
41bec7fe
VS
165382011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16539
16540 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
16541 definitions for dprintf.
16542 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
16543
ca80309d
VS
165442011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16545
16546 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
16547 prototype.
16548 (get_card_packet): Likewise.
16549
9e322ce8
YB
165502011-06-26 Yves Blusseau <blusseau@zetam.org>
16551
16552 Display the path of the file when file is not found
16553
16554 * grub-core/fs/fat.c: Display the filename when file is not found.
16555 * grub-core/fs/fshelp.c: Likewise.
16556 * grub-core/fs/hfs.c: Likewise.
16557 * grub-core/fs/jfs.c: Likewise.
16558 * grub-core/fs/minix.c: Likewise.
16559 * grub-core/fs/ufs.c: Likewise.
16560 * grub-core/fs/btrfs.c: Likewise.
16561 * grub-core/commands/i386/pc/play.c: Likewise.
16562
cbf597af
SJ
165632011-06-26 Szymon Janc <szymon@janc.net.pl>
16564
16565 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
16566 pointer checks before calling grub_free().
16567 * grub-core/commands/wildcard.c (match_devices): Likewise.
16568 * grub-core/commands/wildcard.c (match_files): Likewise.
16569 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
16570 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
16571 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
16572 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
16573 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
16574 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
16575 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
16576 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16577 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
16578
6295b32f
P
165792011-06-25 Patrick <p55@mailinator.com>
16580
16581 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
16582
77c0840b
VS
165832011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
16584
16585 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
16586 (grub_pxe_send): Likewise.
16587 (GRUB_MOD_INIT): Fix types.
16588
40ea05de
SJ
165892011-06-24 Szymon Janc <szymon@janc.net.pl>
16590
16591 * grub-core/io/xzio.c: Fix code style issues
16592
90162423
MRA
165932011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
165942011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
16595
16596 Network infrastructure.
16597 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
16598
16599 * include/grub/net/arp.h: New file.
90162423
MRA
16600 * include/grub/net/device.h: Likewise.
16601 * include/grub/net/ethernet.h: Likewise.
16602 * include/grub/net/ip.h: Likewise.
16603 * include/grub/net/netbuff.h: Likewise.
16604 * include/grub/net/tftp.h: Likewise.
16605 * include/grub/net/udp.h: Likewise.
16606 * include/grub/ieee1275/ofnet.h: Likewise.
16607 * include/grub/emu/export.h: Likewise.
16608 * include/grub/net.h: Likewise.
16609 * grub-core/net/arp.c: Likewise.
16610 * grub-core/net/ethernet.c: Likewise.
16611 * grub-core/net/ip.c: Likewise.
16612 * grub-core/net/udp.c: Likewise.
16613 * grub-core/net/tftp.c: Likewise.
16614 * grub-core/net/netbuff.c: Likewise.
16615 * grub-core/net/net.c: Likewise.
16616 * grub-core/net/drivers/emu/emunet.c: Likewise.
16617 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
16618 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
16619 export.h.
16620 * grub-core/Makefile.core.def (net): New module.
16621 (tftp): Likewise.
16622 (ofnet): Likewise.
16623 (emunet): Likewise.
16624 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
16625 network protocols.
16626 * grub-core/kern/device.c (grub_net_open) : New variable.
16627 (grub_device_open): Handle network device.
16628 (grub_device_close): Likewise.
16629 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
16630 (grub_grubnet_fini): Likewise.
16631 (grub_file_seek): Seek in network device.
16632 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
16633 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
16634 network root.
16635 (grub_machine_fini): Call grub_grubnet_fini.
16636 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
16637 network.
16638 (grub_ieee1275_get_aliasdevname): New function.
16639 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16640 Add unofficial Solaris network info.
16641 (grub_multiboot_make_mbi): Likewise.
16642 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
16643 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
16644 * include/grub/device.h (grub_fs): Removed.
16645 * include/grub/err.h (grub_err_t): Add network-related values.
16646 * include/grub/i386/pc/pxe.h: Removed bootp parts.
16647 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
16648 (grub_ieee1275_get_aliasdevname): New proto.
16649 * include/grub/net.h: Rewritten.
423a1849 16650
031f22a0
VS
166512011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16652
16653 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
16654 names.
16655
4388ca72
VS
166562011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16657
16658 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
16659 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
16660 it truncates the output.
16661 Reported by: Ximin Luo.
16662
98e2f506
VS
166632011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16664
16665 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
16666
2a5e94d8
VS
166672011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16668
16669 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
16670 partmap before abstraction.
16671
535c1910
AK
166722011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
16673
16674 * util/grub-mkconfig_lib.in: Add missing quotes.
16675
bc09e1a2
VS
166762011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16677
16678 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
16679 old method if mountinfo would return /dev/root and /dev/root doesn't
16680 exist.
16681
290766fb
VS
166822011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16683
16684 ZFS zlib support
16685
16686 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
16687 (decomp_table): Add zlib entries.
16688 (zio_read): USe 8 bits for compression function rather than 3.
16689 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
16690
166912011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16692
16693 * grub-core/disk/ahci.c: Add missing license statements.
16694 * grub-core/fs/romfs.c: Likewise.
16695 * grub-core/lib/ia64/setjmp.S: Likewise.
16696 * grub-core/loader/i386/pc/freedos.c: Likewise.
16697 * grub-core/loader/ia64/efi/linux.c: Likewise.
16698 * grub-core/video/colors.c: Likewise.
16699 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
16700
5ab3f48a
VS
167012011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16702
16703 AHCI support.
16704
16705 * grub-core/Makefile.core.def (ata_pthru): Removed.
16706 (ahci): New module.
16707 (pata): Likewise.
16708 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
16709 on unload.
16710 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
16711 readwrite.
16712 (grub_hdparm_do_check_powermode_cmd): Likewise.
16713 (grub_hdparm_do_smart_cmd): Likewise.
16714 (grub_hdparm_set_val_cmd): Likewise.
16715 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
16716 * grub-core/disk/ahci.c: New file.
16717 * grub-core/disk/ata.c: Factor out the low-level part into ...
16718 * grub-core/disk/pata.c: ... here.
16719 * grub-core/disk/ata_pthru.c: Contents moved to ...
16720 * grub-core/disk/pata.c: ... here.
16721 * grub-core/disk/scsi.c (grub_scsi_names): New array.
16722 (grub_scsi_iterate): Use grub_scsi_names.
16723 (grub_scsi_open): Likewise.
16724 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
16725 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
16726 (grub_ata_regs_t): New struct.
16727 (grub_disk_ata_pass_through_parms): Likewise.
16728 (grub_ata_device): Renamed to ...
16729 (grub_ata): ... this.
16730 (grub_ata_dev): New struct.
16731 Removed all low-level inline functions.
16732 * include/grub/scsi.h: Add PATA and AHCI subsystems.
16733 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
16734 iterate hooks and open. All users updated.
16735 * util/grub-install.in: Handle AHCI disk module.
16736
c31dc5f5
SJ
167372011-06-23 Szymon Janc <szymon@janc.net.pl>
16738
16739 Add support for DRI and RSTn markers in JPEG files.
16740
16741 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
16742 (JPEG_MARKER_RST0): Likewise.
16743 (JPEG_MARKER_RST1): Likewise.
16744 (JPEG_MARKER_RST2): Likewise.
16745 (JPEG_MARKER_RST3): Likewise.
16746 (JPEG_MARKER_RST4): Likewise.
16747 (JPEG_MARKER_RST5): Likewise.
16748 (JPEG_MARKER_RST6): Likewise.
16749 (JPEG_MARKER_RST7): Likewise.
16750 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
16751 (grub_jpeg_decode_dri): New function.
16752 (grub_jpeg_decode_sos): Move image data related part into
16753 grub_jpeg_decode_data function.
16754 (grub_jpeg_decode_data): New function.
16755 (grub_jpeg_reset): New function.
16756 (grub_jpeg_decode_jpeg): Handle new markers.
16757
fe12fd5b
VS
167582011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16759
16760 * util/ieee1275/ofpath.c (check_sas): Close fd.
16761 (main): Free of_path.
16762 Reported by: David Volgyes <dvolgyes>.
16763
03147f46
VS
167642011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16765
16766 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
16767 Reported by: David Volgyes <dvolgyes>.
16768
cad3237f
VS
167692011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16770
16771 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
16772 file after stat.
16773 Reported by: David Volgyes <dvolgyes>.
16774
13548d26
VS
167752011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16776
16777 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
16778
16779 Reported by: David Volgyes <dvolgyes>.
16780
e061a1b5
VS
167812011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16782
16783 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
16784 Prevent memory leak.
16785
1abe47dc
VS
167862011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16787
16788 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
16789 (main): Close file.
e061a1b5 16790 Reported by: David Volgyes <dvolgyes>.
1abe47dc 16791
fbc62666
VS
167922011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16793
16794 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
16795 to continue if allocation is failed.
16796
16797 Reported by: David Volgyes <dvolgyes>.
16798
e98c83e9
DV
167992011-06-23 David Volgyes <dvolgyes>
16800
16801 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
16802 dereference.
16803
a199a8cd
VS
168042011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16805
16806 Fix spurious warning.
16807
16808 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
16809 (acorn_partition_map_find): Use .bin member.
16810
e2d1dba0
VS
168112011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16812
16813 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
16814 /dev/root as a valid device.
16815
8a5d6919
JM
168162011-06-23 Jim Meyering <meyering@redhat.com>
16817
e2d1dba0
VS
16818 Avoid NULL deref in grub_device_open.
16819
8a5d6919
JM
16820 * grub-core/kern/device.c (grub_device_open): Don't dereference
16821 a NULL pointer upon failed grub_env_get.
16822
f7db6f4a
VS
168232011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16824
16825 Support non-512B sectors and agglomerate reads.
16826
16827 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
16828 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
16829 (disk_io_guid): Removed.
16830 (make_devices): Locate solely by BlockIO.
16831 (grub_efidisk_open): Fill log_sector_size and total_sectors.
16832 (grub_efidisk_read): Use read_blocks.
16833 (grub_efidisk_write): Use write_blocks.
16834 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
16835 log_sector_size.
16836 (get_safe_sectors): Handle non-512B sectors.
16837 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
16838 sectors.
16839 (grub_biosdisk_write): Handle non-512B sectors.
16840 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
16841 (grub_scsi_read): Remove special non-512B block handling (now handled
16842 one level up).
16843 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
16844 and do sanity checks.
16845 (grub_disk_adjust_range): Handle non-512B sectors.
16846 (transform_sector): New function.
16847 (grub_disk_read_small): Likewise.
16848 (grub_disk_read): Rewritten.
16849 (grub_disk_write): Handle non-512B sectors.
16850 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
16851 log_sector_size.
16852 (open_device): Use log_sector_size.
16853 (grub_util_biosdisk_read): Likewise.
16854 (grub_util_biosdisk_write): Likewise.
16855 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
16856 non-512B sectors.
16857 (pc_partition_map_embed): Likewise.
16858 * include/grub/disk.h (grub_disk): New field log_sector_size.
16859 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
16860 (GRUB_DISK_CACHE_BITS): Increased to 6.
16861 * util/grub-fstest.c (fstest): New command testload.
16862 (argp_parser): Likewise.
16863
881ac815
RM
168642011-06-16 Robert Millan <rmh@gnu.org>
16865
16866 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
16867 `ata' driver on kernel of FreeBSD 9.
16868
16869 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
16870 (get_ataraid_disk_name): New functions.
16871 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
16872 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
16873 get_ataraid_disk_name() and get_ada_disk_name().
16874
1e9aef7d
CW
168752011-06-13 Colin Watson <cjwatson@ubuntu.com>
16876
16877 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
16878 input format.
16879
351c7c8a
CW
168802011-05-29 Colin Watson <cjwatson@ubuntu.com>
16881
16882 * docs/grub.texi (Obtaining and Building GRUB): Substitute
16883 `ftp.gnu.org' for `alpha.gnu.org'.
16884
6b4e6430
CW
168852011-05-27 Colin Watson <cjwatson@ubuntu.com>
16886
16887 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
16888 partitions under /dev/disk/by-id/.
16889
c64db050
CW
168902011-05-27 Colin Watson <cjwatson@ubuntu.com>
16891
16892 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
16893 after ten consecutive open failures. Scanning all the way up to
16894 10000 is excessive and can cause serious performance problems in
16895 some configurations.
16896 Fixes Ubuntu bug #787461.
16897
245f4aba
VS
168982011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16899
16900 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
16901 opening new one.
16902
f767c929
VS
169032011-05-21 Colin Watson <cjwatson@ubuntu.com>
169042011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
16905
16906 Don't stat devices unless we have to.
16907
16908 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
16909 dir == /dev/mapper.
16910 (grub_guess_root_device): Use already known os_dev if possible.
16911 * grub-core/kern/emu/hostdisk.c
16912 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
16913 if device is known to be a dm one.
16914
f35fa3a6
CW
169152011-05-20 Colin Watson <cjwatson@ubuntu.com>
16916
16917 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
16918 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
16919 Reported by: Pawel Tecza.
16920
9a79fcf2
VS
169212011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
16922
16923 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
16924 (lsefisystab): Likewise.
16925 (lssal): Likewise.
16926 (lsefimmap): Likewise.
16927 (hdparm): Enable on qemu-mips.
16928 (setjmp): Add ia64 nodist.
16929 (serial): Simplify tags.
16930
63e3eea9
CW
169312011-05-18 Colin Watson <cjwatson@ubuntu.com>
16932
16933 * Makefile.util.def (grub-ofpathname): Install manual page.
16934
09728256
CW
169352011-05-18 Colin Watson <cjwatson@ubuntu.com>
16936
16937 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
16938
8b63a142
CW
169392011-05-18 Colin Watson <cjwatson@ubuntu.com>
16940
16941 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
16942
e775d8ed
VS
169432011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16944
16945 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
16946 into dprintf.
16947
bf947d36
VS
169482011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
16949
16950 Use full 64-bit division.
16951
16952 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
16953 (grub_divmod64): ... this.
16954 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
16955 version.
16956
b84f26c5
CW
169572011-05-18 Colin Watson <cjwatson@ubuntu.com>
16958
16959 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
16960 `source'.
16961
5626056f
CW
169622011-05-18 Colin Watson <cjwatson@ubuntu.com>
16963
16964 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
16965 to avoid accidents when debugging with 'sh -x'.
16966 * grub-core/gensyminfo.sh.in: Likewise.
16967 * tests/example_scripted_test.in: Likewise.
16968 * tests/grub_cmd_regexp.in: Likewise.
16969 * tests/grub_script_blanklines.in: Likewise.
16970 * tests/grub_script_dollar.in: Likewise.
16971 * tests/grub_script_expansion.in: Likewise.
16972 * tests/grub_script_final_semicolon.in: Likewise.
16973 * tests/partmap_test.in: Likewise.
16974 * tests/util/grub-shell-tester.in: Likewise.
16975 * tests/util/grub-shell.in: Likewise.
16976
e2965f4a
CW
169772011-05-18 Colin Watson <cjwatson@ubuntu.com>
16978
16979 Move gfxmenu color handling to video, so that gfxterm can use it
16980 too.
16981
16982 * grub-core/gfxmenu/named_colors.c: Move to ...
16983 * grub-core/video/colors.c: ... here. Rename
16984 grub_gui_get_named_color to grub_video_get_named_color.
16985 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
16986 * grub-core/video/colors.c (my_isxdigit): ... here.
16987 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
16988 Move to ...
16989 * grub-core/video/colors.c (parse_hex_color_component): ... here.
16990 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
16991 to ...
16992 * grub-core/video/colors.c (grub_video_parse_color): ... here.
16993
16994 * include/grub/gui.h (grub_gui_color_t): Move to ...
16995 * include/grub/video.h (grub_video_rgba_color_t): ... here.
16996 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
16997 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
16998 * include/grub/gui.h (grub_gui_map_color): Move to ...
16999 * include/grub/video.h (grub_video_map_rgba_color): ... here.
17000 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
17001 to ...
17002 * include/grub/video.h (grub_video_get_named_color): ... here.
17003 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
17004 * include/grub/video.h (grub_video_parse_color): ... here.
17005
17006 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
17007 video/colors.c.
17008 (gfxmenu): Remove gfxmenu/named_colors.c.
17009 (video) [videomodules]: Add video/colors.c.
17010
17011 Add a background_color command.
17012
17013 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
17014 function.
17015 (GRUB_MOD_INIT): Register background_color command.
17016 (GRUB_MOD_FINI): Unregister background_color command.
17017 (redraw_screen_rect): Allow blend/replace of text layer to be
17018 controlled independently from whether there is a background bitmap.
17019 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
17020 changing bitmap.
17021
1e4b4390
VS
170222011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17023
26618ff0
VS
17024 Patch BPB in ntldr and chainloader --bpb.
17025
1e4b4390
VS
17026 * grub-core/fs/fat.c: Include grub/fat.h.
17027 (grub_fat_bpb): Moved to ...
17028 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
17029 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
17030 grub/ntfs.h.
17031 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
17032 Moved from here...
17033 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
17034 here.
17035 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
17036 New function.
17037 (grub_chainloader_cmd): Patch BPB if --bpb is given.
17038 (GRUB_MOD_INIT): Show --bpb.
17039 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
17040 * grub-core/normal/main.c (features): New variable.
17041 (GRUB_MOD_INIT): Set feature_* variables.
17042 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
17043 proto.
17044 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
17045
cf02731e
VS
170462011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17047
17048 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
17049 for cleanness.
17050
e3a1073f
VS
170512011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17052
17053 FreeDOS direct loading support.
17054
17055 * docs/grub.texi (Supported OS): Add FreeDOS.
17056 * grub-core/Makefile.core.def (freedos): New module.
17057 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
17058 variable.
17059 (grub_relocator16_boot): Handle %ebx.
17060 * grub-core/lib/i386/relocator16.S: Likewise.
17061 * grub-core/loader/i386/pc/freedos.c: New file.
17062
05caa461
VS
170632011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17064
17065 Long Linux command line support.
17066
17067 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17068 (maximal_cmdline_size): New variable.
17069 (allocate_pages): Use maximal_cmdline_size.
17070 (grub_cmd_linux): Set and use maximal_cmdline_size.
17071 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17072 (allocate_pages): Use maximal_cmdline_size.
17073 (grub_cmd_linux): Set and use maximal_cmdline_size.
17074 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
17075 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
17076 and cmdline_size.
17077
a2491e23
VS
170782011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
170792011-05-18 Colin Watson <cjwatson@ubuntu.com>
17080
17081 Improve devmapper support
17082
17083 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
17084 (grub_util_is_lvm): New function.
17085 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
17086 than lvm if not dmraid.
17087 Handle mapped md nodes.
17088 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
17089 (grub_util_device_is_mapped): ... this. Make always available. All users
17090 updated.
17091 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
17092 (convert_system_partition_to_system_disk): Handle lvm, mpath and
17093 dmraid nodes.
17094 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
17095
6ad6223e
VS
170962011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17097
17098 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
17099
17100 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
17101 * grub-core/modinfo.sh.in: New file.
17102 * grub-core/Makefile.core.def (modinfo.sh): New script.
17103 * util/grub-mknetdir.in: Use modinfo.sh.
17104 * util/grub-mkrescue.in: Likewise.
17105
543a8f6e
VS
171062011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17107
17108 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
17109 Fix potential usage of Elf32 instead of Elf64 when compiling on
17110 32-bit architecture. Add endianness macros while on it.
17111
4959e111
VS
171122011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17113
17114 Use mipsel- rather than mips- in directories involving mipsel ports to
17115 allow both endiannesses coexist.
17116
17117 * configure.ac: proparate target_cpu=mipsel rather than resetting to
17118 mips. All conditions adjusted.
17119 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
17120 variable.
17121 * util/grub-install.in: Adjust conditions to take renaming into account.
17122 * util/grub-mkimage.c (image_targets): Likewise. New target
17123 mips-qemu_mips-elf for bigendian mips.
17124
35341bbc
VS
171252011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17126
17127 Avoid unnecessary copying on MIPS.
17128
17129 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
17130 early if src == dest.
17131 * util/grub-mkimage.c (generate_image): Arange for src == dest if
17132 compression is none.
17133
b772baed
VS
171342011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17135
17136 Reduce memory footprint on SGI by putting modules before the kernel
17137 as opposed to after.
17138
17139 * grub-core/Makefile.core.def (kernel): Increase linking address.
17140 (none_decompress): Likewise.
17141 (xz_decompress): Likewise.
17142 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
17143 address.
17144 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
17145 layout change.
17146 (grub_arch_modules_addr): New function.
17147 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
17148 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
17149 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
17150 here.
17151 * grub-core/kern/mips/startup.S (total_size): Rename to ...
17152 (grub_total_modules_size): ... this. Make global.
17153 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
17154 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
17155 New definition.
17156 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
17157 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
17158 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
17159 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
17160 * util/grub-mkimage.c (image_target_desc): New flag
17161 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
17162 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
17163 (generate_image): Handle images with modules before kernel.
17164
566a1917
VS
171652011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17166
17167 Prevent potential loss of memory map by overwrite on qemu-mips.
17168
17169 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17170 Save ram size in $s4.
17171 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
17172 All users changed to grub_arch_memsize.
17173 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
17174 Loongson.
17175 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
17176 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
17177 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
17178 external variable.
17179
5d420cd9
CW
171802011-05-17 Colin Watson <cjwatson@ubuntu.com>
17181
17182 * .bzrignore: Remove grub-dumpbios.
17183
d064b830
CW
171842011-05-17 Colin Watson <cjwatson@ubuntu.com>
17185
17186 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
17187 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
17188 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
17189 existing options which append).
17190 * docs/grub.texi (Simple configuration): Document new options.
17191 Reported by: Ian Jackson. Fixes Debian bug #617538.
17192
3ca2b466
CW
171932011-05-17 Colin Watson <cjwatson@ubuntu.com>
17194
17195 * util/grub-fstest.c (cmd_cat): New function.
17196 (fstest): Handle CMD_CAT.
17197 (options): Add cat.
17198 (argp_parser): Handle cat.
17199
24c9143a
CW
172002011-05-17 Colin Watson <cjwatson@ubuntu.com>
17201
17202 * Makefile.util.def (grub-bin2h): Don't install.
17203 * docs/man/grub-bin2h.h2m: Remove.
17204
90f7ac19
VS
172052011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17206
17207 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
17208 place.
17209
8d4a5178
VS
172102011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17211
17212 Reenable qemu-mips port.
17213
17214 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
17215 Fix small arc bug while on it.
17216 * gentpl.py: Handle qemu_mips.
17217 * grub-core/Makefile.am: Likewise.
17218 * grub-core/Makefile.core.def: Likewise.
17219 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
17220 inappropriate includes.
17221 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
17222 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
17223 * grub-core/kern/main.c (grub_modules_get_end)
17224 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
17225 * grub-core/kern/mips/qemu-mips: Moved to ..
17226 * grub-core/kern/mips/qemu_mips: ... this.
17227 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
17228 (grub_machine_init): Call terminfo_init and serial_init.
17229 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
17230 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17231 New variable.
17232 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
17233 parameter passing.
17234 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
17235 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
17236 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
17237 * include/grub/mips/qemu_mips/cmos.h: New file.
17238 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
17239 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
17240 Removed.
17241 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
17242 Use correct mips-style address.
17243 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
17244 (GRUB_TICKS_PER_SECOND): Removed.
17245 (grub_get_rtc): Likewise.
17246 (grub_cpu_idle): Likewise.
17247 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
17248 New definition.
17249 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
17250 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
17251 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
17252 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
17253 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17254 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17255 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
17256 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
17257
400b9371
VS
172582011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17259
17260 SGI ARCS port.
17261
17262 * Makefile.util.def (libgrubmods.a): Add dvh.c.
17263 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
17264 platforms.
17265 * configure.ac: New target mips-arc.
17266 * gentpl.py: Likewise.
17267 * grub-core/Makefile.am: Likewise.
17268 * grub-core/Makefile.core.def: Likewise.
17269 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
17270 (none_decompress): Likewise.
17271 (lsdev): New module.
17272 (datetime): Use lib/arc/datetime.c on ARC.
17273 (part_dvh): New module.
17274 * grub-core/commands/arc/lsdev.c: New file.
17275 * grub-core/disk/arc/arcdisk.c: Likewise.
17276 * grub-core/kern/mips/arc/init.c: Likewise.
17277 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
17278 aligned addresses.
17279 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
17280 support.
17281 (grub_arch_dl_relocate_symbols): Likewise.
17282 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
17283 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
17284 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
17285 platforms.
17286 * grub-core/lib/arc/datetime.c: New file.
17287 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
17288 pci.h on non-loongson.
17289 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
17290 (grub_linux_boot): Set unused registers to 0.
17291 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
17292 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
17293 * grub-core/mmap/mips/uppermem.c: ...here.
17294 * grub-core/partmap/dvh.c: New file.
17295 * grub-core/term/arc/console.c: Likewise.
17296 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
17297 (grub_terminfo_set_current): Add terminal "arc".
17298 (grub_terminfo_readkey): Support ARC sequences.
17299 * include/grub/arc/arc.h: New file.
17300 * include/grub/arc/console.h: Likewise.
17301 * include/grub/disk.h (grub_disk_dev_id): Add
17302 GRUB_DISK_DEVICE_ARCDISK_ID.
17303 * include/grub/mips/arc/kernel.h: New file.
17304 * include/grub/mips/arc/memory.h: Likewise.
17305 * include/grub/mips/arc/time.h: Likewise.
17306 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
17307 * include/grub/mips/kernel.h (grub_halt): ... here.
17308 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
17309 here...
17310 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
17311 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
17312 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
17313 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
17314 proto.
17315 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
17316 from here ...
17317 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
17318 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
17319 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
17320 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
17321 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
17322 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
17323 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
17324 (grub_phys_addr_t): Moved from here ...
17325 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
17326 (grub_vtop): Moved from here ...
17327 * include/grub/mips/memory.h (grub_vtop): ... here.
17328 (grub_map_memory): Moved from here ...
17329 * include/grub/mips/memory.h (grub_map_memory): ... here.
17330 (grub_unmap_memory): Moved from here ...
17331 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
17332 (grub_machine_mmap_iterate): Moved from here ...
17333 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
17334 (grub_mmap_get_lower): Moved from here ...
17335 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
17336 (grub_mmap_get_upper): Moved from here ...
17337 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
17338 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17339 here ...
17340 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17341 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
17342 here ...
17343 * include/grub/mips/time.h (grub_get_rtc): ... here.
17344 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17345 here ...
17346 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17347 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
17348 here ...
17349 * include/grub/mips/time.h (grub_cpu_idle): ... here.
17350 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
17351 definition.
17352 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
17353 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
17354 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
17355 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
17356 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17357 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17358 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
17359 (GRUB_MACHINE_LINK_ADDR): Likewise.
17360 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
17361 to 6.
17362 * util/grub-install.in: Run dvhtool on ARC.
17363 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 17364 (generate_image): Handle ECOFF output for mips-arc.
400b9371 17365
c8ecc840
VS
173662011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17367
17368 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
17369 blocks.
17370
153a4b55
VS
173712011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17372
17373 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
17374 after enabling port.
17375
ff44d107
VS
173762011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17377
17378 Skip incorrect USB devices.
17379
17380 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
17381 configcnt == 0.
17382 * include/grub/usb.h (grub_usb_err_t): New enum value
17383 GRUB_USB_ERR_BADDEVICE.
17384
638dbe4f
VS
173852011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17386
17387 Fuloong video init support.
17388
17389 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
17390 well.
17391 (grub_vga_read_arx): New function.
17392 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
17393 definition.
17394 (framebuffer): New members io, mmioptr and mmiobase.
17395 (read_sis_cmd): New function.
17396 (write_sis_cmd): Likewise.
17397 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
17398 rather than 640x400.
17399 * grub-core/video/sis315_init.c: New file.
17400
c3fc520c
VS
174012011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17402
17403 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
17404 non-loongson.
17405 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
17406 to grub_dl_register_symbol.
17407
67b1e5c9
VS
174082011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17409
17410 Fix compilation errors.
17411
17412 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
17413 potentially unused.
17414 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
17415 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
17416 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
17417 to loongson machines.
17418
b756f75f
VS
174192011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17420
17421 Several FS mtime support.
17422
17423 * grub-core/fs/affs.c (grub_affs_time): New struct.
17424 (grub_affs_file): New field mtime.
17425 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
17426 type. Removed 'size'. New field 'di'. All users updated.
17427 (grub_affs_mount): Simplify checsum checking.
17428 (grub_affs_iterate_dir): New helper grub_affs_create_node.
17429 (grub_affs_dir): Handle mtime.
17430 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
17431 (grub_cpio_dir): Likewise.
17432 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
17433 (grub_hfs_filerec): New field mtime.
17434 (grub_hfs_dir): Handle mtime.
17435 (grub_hfs_mtime): New function.
17436 (grub_hfs_fs): Register grub_hfs_mtime.
17437 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
17438 (grub_iso9660_dir): New field mtime.
17439 (grub_fshelp_node): New field dirent.
17440 (iso9660_to_unixtime): New function.
17441 (iso9660_to_unixtime2): Likewise.
17442 (grub_iso9660_read_symlink): Use node->dirent.
17443 (grub_iso9660_iterate_dir): Likewise.
17444 (grub_iso9660_dir): Set mtime.
17445 (grub_iso9660_mtime): New function.
17446 (grub_iso9660_fs): Register grub_iso9660_mtime.
17447 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
17448 (grub_jfs_inode): New fields atime, ctime and mtime.
17449 (grub_jfs_dir): Set mtime.
17450 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17451 * grub-core/fs/ntfs.c (list_file): Set mtime.
17452 (grub_ntfs_dir): Likewise.
17453 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
17454 (grub_reiserfs_iterate_dir): Set mtime.
17455 (grub_reiserfs_dir): Likewise.
17456 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
17457 (grub_fshelp_node): Likewise.
17458 (grub_sfs_iterate_dir): Set mtime.
17459 (grub_sfs_dir): Likewise.
17460 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
17461 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
17462 (grub_xfs_inode): New fields atime, mtime, ctime.
17463 (grub_xfs_dir): Set mtime.
17464 * include/grub/datetime.h (grub_datetime2unixtime): New function.
17465 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
17466 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
17467
17468 Support UDF symlinks.
17469
17470 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
17471 (grub_ufs_read_symlink): New function. All users updated.
17472
17473 Check amiga partmap checksum.
17474
17475 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
17476 (grub_amiga_partition): Likewise.
17477 (amiga_partition_map_checksum): New function.
17478 (amiga_partition_map_iterate): Check checksum.
17479
5470225d
VS
174802011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17481
17482 ROMFS support.
17483
17484 * Makefile.util.def (libgrubmods.a): Add romfs.
17485 * grub-core/Makefile.core.def (romfs): New module.
17486 * grub-core/fs/romfs.c: New file.
17487
d4680a35
VS
174882011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17489
17490 Squashfs v4 support.
17491
17492 * Makefile.util.def (libgrubmods.a): Add squash4.
17493 * grub-core/Makefile.core.def (squash4): New module.
17494 * grub-core/fs/squash4.c: New file.
17495 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
17496 disk_input_start, disk_input.
17497 (get_byte): Handle disk_input.
17498 (grub_zlib_disk_read): New function.
17499 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
17500
bcb18e74
FZ
175012011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
175022011-05-15 Feiran Zheng <famcool@gmail.com>
17503
17504 * Makefile.util.def (libgrubmods.a): Add minix3.
17505 * grub-core/Makefile.core.def (minix3): New module.
17506 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
17507 (GRUB_MINIX_BSIZE): Removed.
17508 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
17509 (grub_minix_ino_t): New type.
17510 (grub_minix_le_to_cpu_ino): New macro.
17511 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
17512 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
17513 (grub_minix_data): New field block_size.
17514 (grub_minix_read_file): Handle 64-bit correctly.
17515 * grub-core/fs/minix3.c: New file.
17516
32297d5f
TG
175172011-05-15 Tristan Gingold <gingold@free.fr>
175182011-05-15 Robert Millan <rmh.grub@aybabtu.com>
175192011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17520
17521 IA64 support.
17522
17523 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
17524 * configure.ac: Add ia64-efi target.
17525 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
17526 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
17527 * gentpl.py: Add ia64_efi platform.
17528 Rename x86_efi to efi and Add ia64-efi. All users updated.
17529 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
17530 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
17531 Remove kern/generic/rtc_get_time_ms.c on EFI.
17532 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
17533 kern/ia64/dl_helper.c on ia64-efi.
17534 Add kern/emu/cache.c on emu.
17535 (linux): Use on loader/ia64/efi/linux.c on ia64.
17536 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
17537 whether symbol is a function.
17538 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
17539 (grub_symbol): New field 'isfunc'.
17540 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
17541 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
17542 (grub_dl_load_segments): Place all sections into the same region.
17543 [__ia64__]: Create trampolines and got.
17544 [GRUB_MACHINE_EMU]: Call mprotect.
17545 (grub_dl_resolve_symbols): Resolve symbol type as well.
17546 [__ia64__]: Create function descriptors.
17547 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
17548 (grub_rtc_get_time_ms): ... this. Expressions simplified.
17549 (grub_get_rtc): New function.
17550 * grub-core/kern/emu/cache.c [__ia64__]: New file.
17551 * grub-core/kern/emu/cache.S: Renamed to ...
17552 * grub-core/kern/emu/cache_s.S: ... this.
17553 [__ia64__]: Add a nop.
17554 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
17555 [__ia64__]: New function.
17556 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
17557 * grub-core/kern/ia64/dl.c: New file.
17558 * grub-core/kern/ia64/dl_helper.c: Likewise.
17559 * grub-core/kern/ia64/efi/init.c: New file.
17560 * grub-core/kern/ia64/efi/startup.S: Likewise.
17561 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
17562 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
17563 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
17564 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
17565 * grub-core/loader/ia64/efi/linux.c: New file.
17566 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
17567 (GRUB_MOD_DEP): Likewise.
17568 (grub_dl) [__ia64__]: New fields got and tramp.
17569 (grub_dl): New field 'base'.
17570 (grub_dl_register_symbol): New argument isfunc. All users updated.
17571 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
17572 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
17573 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
17574 (grub_ia64_dl_get_tramp_got_size): New proto.
17575 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
17576 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
17577 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
17578 * include/grub/efi/api.h: Skip call wrappers on ia64.
17579 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
17580 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
17581 * include/grub/elf.h (ELF_ST_INFO): New definition.
17582 * include/grub/ia64/efi/kernel.h: New file.
17583 * include/grub/ia64/efi/memory.h: Likewise.
17584 * include/grub/ia64/efi/time.h: Likewise.
17585 * include/grub/ia64/kernel.h: Likewise.
17586 * include/grub/ia64/setjmp.h: Likewise (from glibc).
17587 * include/grub/ia64/time.h: New file.
17588 * include/grub/ia64/types.h: Likewise.
17589 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
17590 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
17591 New protos.
17592 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
17593 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17594 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
17595 * util/grub-mkimage.c (image_target_desc): New field pe_target.
17596 All users updated.
17597 (EFI64_HEADER_SIZE): New definition. All users updated.
17598 (image_targets): Add ia64-efi.
17599 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
17600 jumpers_addr. All users updated.
17601 Create function descriptors.
17602 (count_funcs): New function.
17603 (unaligned_uint32): New struct.
17604 (MASK20): New definition.
17605 (MASK19): Likewise.
17606 (MASKF21): Likewise.
17607 (add_value_to_slot_20b): New function.
17608 (add_value_to_slot_21_real): Likewise.
17609 (add_value_to_slot_21): Likewise.
17610 (ia64_kernel_trampoline): New struct.
17611 (nopm): New variable.
17612 (jump): Likewise.
17613 (make_trampoline): New function.
17614 (relocate_addresses): Handle ia64.
17615 (make_reloc_section): Likewise.
17616 (load_image): Likewise.
17617
983b414d
VS
176182011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17619
17620 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
17621 warning. Move variables before code while on it.
17622
5d063cdc
VS
176232011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17624
17625 Fuloong support.
17626
17627 * configure.ac: Rename yeeloong platform to loongson. All users updated.
17628 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
17629 * grub-core/boot/mips/loongson/fuloong.S: New file.
17630 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
17631 Explicitly init CS5536.
17632 [FULOONG]: Don't use serial until CS5536 is available.
17633 Set GPIO based on dumps.
17634 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
17635 [FULOONG]: Handle GPIO and memory controller differences.
17636 Parse machine type in $a2.
17637 * grub-core/boot/mips/startup_raw.S: Determine and save the
17638 architecture.
17639 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
17640 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
17641 init on architecture type.
17642 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17643 SIS315E. Don't init at_keyboard on fuloong.
17644 (grub_halt): Support Fuloong.
17645 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
17646 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
17647 (loongson_machtypes): New array.
17648 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
17649 type.
17650 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
17651 config. All users updated. Handle CS5536 serial.
17652 * grub-core/term/serial.c (grub_serial_register): Conditionalise
17653 default port on machine type. Register serial as inactive.
17654 * grub-core/video/sis315pro.c: New file.
17655 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
17656 definition.
17657 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
17658 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
17659 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
17660 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
17661 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
17662 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
17663 to ...
17664 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
17665 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
17666 definition.
17667 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
17668 (grub_arch_machine): New extern var.
17669 * include/grub/mips/loongson/serial.h
17670 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
17671 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
17672 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
17673 (GRUB_MACHINE_SERIAL_PORT0): ... this.
17674 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
17675 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
17676 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
17677 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
17678 * include/grub/term.h (grub_term_register_input_inactive): New inline
17679 function.
17680 (grub_term_register_output_inactive): Likewise.
17681 * include/grub/video.h (grub_video_driver_id): New value
17682 GRUB_VIDEO_DRIVER_SIS315PRO.
17683 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
17684 New field "names". All users updated.
17685 New field value IMAGE_FULOONG_FLASH.
17686 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
17687
6ada82d1
JU
176882011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
17689
17690 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
17691 and add some clarification.
17692
90c571a4
VS
176932011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17694
17695 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
17696 platforms if kernel is compressed.
17697
de04eecf
VS
176982011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17699
17700 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
17701 unused modules since currently referrence counter isn't reliable and
17702 there isn't much memory to recover there anyway.
17703
57688121
VS
177042011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17705
17706 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
17707 rather than resetting it to allow modules to reference themselves
17708 in init.
17709
3d2c7e35
VS
177102011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17711
17712 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
17713 counter on dependencies since grub_dl_unref already handles this.
17714
b25db218
VS
177152011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17716
17717 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
17718 on error if not already done.
17719
25a45338
VS
177202011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17721
17722 Fix few potential memory misusage.
17723
17724 * grub-core/font/font.c (load_font_index): Don't free char_index to
17725 avoid double free.
b25db218
VS
17726 (grub_font_load): Zero-fill font at alloc for safety.
17727 Close file on error.
17728 (free_font): Free bmp_idx.
25a45338 17729
0cac83df
VS
177302011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17731
17732 * docs/grub.texi (Installation): Fix several outdated claims.
17733
2217a143
VS
177342011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17735
17736 Handle module_license on windows.
17737
17738 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
17739 sections shifted.
17740 (insert_string): Make argument const char * instead of char *.
17741 (write_section_data): Handle long section names.
17742 Handle module_license.
17743
d4de6b01
VS
177442011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17745
17746 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
17747 handle class-free menuentries.
17748 (grub_normal_add_menu_entry): Add a check to be sure.
17749
4c2a3b43
VS
177502011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17751
17752 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
17753 PgUp and PgDown.
17754
85c6210f
VS
177552011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17756
17757 * configure.ac: Bump version to 1.99.
17758
36084912
VS
177592011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17760
17761 Give ATA device a bit more time on first try in order to allow disks
17762 to spin up.
17763
17764 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
17765 if dev->present is 1. Reset dev->present on failure.
17766 (grub_ata_device_initialize): Set dev->present to 1.
17767 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
17768 (grub_ata_device): New member 'present'.
17769
bda0e219
VS
177702011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17771
17772 * util/grub-mkimage.c (generate_image): Update hash.
17773
19e1c41b
VS
177742011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17775
17776 Flush caches on DMA memory.
17777
17778 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
17779 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
17780 (grub_dma_free): Likewise.
17781 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
17782
91bbcc0c
VS
177832011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17784
17785 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
17786 to avoid asm treating ld and sd as macros.
17787
60ddfad3
VS
177882011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17789
17790 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
17791 decompressor.
17792
a298aa04
VS
177932011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17794
17795 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
17796 grub_decompress_core since later would fail if grub_decompress_core
17797 is too far.
17798
9b44feca
VS
177992011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17800
17801 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
17802 R_MIPS_JALR since it's used by newer compiler.
17803
56dbe7b4
VS
178042011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
17805
17806 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
17807
52856af2
VS
178082011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17809
17810 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
17811 file_path to 0 for surety.
17812 (grub_chainloader_boot): Set exit_data to NULL.
17813 Unset the loader once done.
17814 (grub_cmd_chainloader): Fix confusing error message if file is empty.
17815
9c9bfc6d
VS
178162011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17817
17818 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
17819 unknown key into a dprintf.
17820
dd94a3df
VS
178212011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17822
17823 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
17824 on first non-existant partition.
17825
fa68d99c
VS
178262011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17827
17828 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
17829 openning fails.
17830 Reported by: Mark Korenberg.
17831
157effb7
VS
178322011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17833
17834 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
17835 overflow.
17836
ea75312f
VS
178372011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17838
17839 * util/grub-mkimage.c (main): Explicitely flush and sync the output
17840 before closing to ensure that it will be readable by grub-setup.
17841
072b5d31
VS
178422011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17843
17844 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
17845 (devpath_1): Use MAKE_PIWG_PATH.
17846 (devpath_2): Likewise.
17847 (devpath_3): Likewise.
17848 (devpath_4): Likewise.
17849 (devpath_5): Likewise.
17850 (devpath_6): Likewise.
17851
17852 The appleldr.mod was checked that to be binary identical to previous
17853 version.
17854
7fae0051
Z
178552011-05-05 Zach <mikezackles>
17856
17857 Support 2010 Macbooks.
17858
17859 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
17860 (devs): Add devpath_6.
17861
7c515bee
VS
178622011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17863
17864 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
17865 /dev/random. /dev/urandom is good enough for our purposes (salting).
17866
ed660bd8
VS
178672011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17868
17869 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
17870
ee5614b7
VS
178712011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17872
17873 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
17874 hexadecimal.
17875
664889a6
VS
178762011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17877
17878 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
17879 and not 0 on failure.
17880
bd405bbc
CW
178812011-05-03 Colin Watson <cjwatson@ubuntu.com>
17882
17883 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
17884 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
17885 disk; otherwise grub_fs_probe will not fall back to the next
17886 filesystem.
17887 (grub_pxefs_open): Likewise, for consistency.
17888 Reported and tested by: Ezekiel Grave.
17889
4ebff753
CW
178902011-05-03 Colin Watson <cjwatson@ubuntu.com>
17891
17892 * tests/partmap_test.in: Don't hardcode path to parted.
17893 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
17894
8f942553
CW
178952011-05-01 Colin Watson <cjwatson@ubuntu.com>
17896
17897 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
17898 of `ls' to find out which devices are available.
17899
3c62402d
VS
179002011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17901
17902 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
17903 than source address for efi mmap buffer.
17904
723f63f2
VS
179052011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17906
17907 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
17908 wrong action on non-detecting the magic.
17909
68797f92
VS
179102011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17911
17912 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
17913 already supplied by another part of the module (fixes compilation on
17914 FreeBSD).
17915
6be8715d
VS
179162011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17917
17918 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
17919 match the one used by mdadm.
17920
e91dba5b
CW
179212011-04-21 Colin Watson <cjwatson@ubuntu.com>
17922
17923 * po/README: Add instructions for creating po/LINGUAS.
17924
c85140b3
CW
179252011-04-21 Colin Watson <cjwatson@ubuntu.com>
17926
17927 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
17928 #551428.
17929
17930 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
17931 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
17932 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
17933 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
17934 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
17935 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
17936 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
17937 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
17938 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
17939 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
17940 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
17941 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
17942 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
17943 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
17944 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
17945 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
17946 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
17947 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
17948 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
17949 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
17950 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
17951 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
17952
92051871
CW
179532011-04-21 Colin Watson <cjwatson@ubuntu.com>
17954
17955 * grub-core/kern/emu/getroot.c
17956 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
17957 test that was incorrectly reintroduced in r3214.
17958 Reported by: Ian Dall. Fixes Savannah bug #33133.
17959
b13f79a4
CW
179602011-04-21 Colin Watson <cjwatson@ubuntu.com>
17961
17962 Fix stack pointer handling in 16-bit relocator.
17963
17964 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
17965 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
17966 Fixes Ubuntu bug #683904.
17967
9b710a88
VS
179682011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17969
17970 * configure.ac: Bump version to 1.99~rc2.
17971
d97e7b59
VS
179722011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17973
17974 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
17975 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
17976 * grub-core/lib/x86_64/setjmp.S: Likewise.
17977 * grub-core/lib/mips/setjmp.S: Likewise.
17978 * grub-core/lib/powerpc/setjmp.S: Likewise.
17979 * grub-core/lib/sparc64/setjmp.S: Likewise.
17980
0624551c
VS
179812011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
17982
17983 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
17984 * grub-core/lib/efi/datetime.c: Likewise.
17985
e8f28d4c
VS
179862011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17987
17988 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
17989 New function.
17990 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
17991 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
17992 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
17993
bba79a15
VS
179942011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17995
17996 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
17997 bitmap.
17998 (grub_gfxterm_term_init): Likewise.
17999
abc474ef
VS
180002011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18001
18002 Take into account the decorations the computing menu entry width.
18003
18004 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
18005 (grub_gfxmenu_create_box): Register get_border_width.
18006 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
18007 if available.
18008 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
18009 get_border_width.
18010
e74b3947
EP
180112011-04-18 Endres Puschner <code@e7p.de>
18012
18013 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
18014 Don't skip first class.
18015
34faa595
VS
180162011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18017
18018 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
18019 chunks.
18020 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
18021
93a777e3
VS
180222011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18023
18024 Complete 64-bit division support.
18025
18026 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
18027 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
18028 * include/grub/misc.h (grub_divmod64): Rename to ...
18029 (grub_divmod64_full): ... this.
18030 (grub_divmod64): New inline function.
18031
a5102d94
VS
180322011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18033
18034 * util/grub-mkimage.c (generate_image): Add forgotten comma.
18035
f3fb7b36
VS
180362011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18037
18038 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
18039 performing the necessary test.
18040
9ac718b0
VS
180412011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18042
18043 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
18044 (kfreebsd.elf): Likewise.
18045 (pc-chainloader.elf): Likewise.
18046 (ntldr.elf): Likewise.
18047
50d2cc5a
VS
180482011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18049
18050 Identify RAID by its UUID rather than (guessed) name.
18051
18052 * grub-core/disk/raid.c (ascii2hex): New function.
18053 (grub_raid_open): Accept mduuid/%s specification.
18054 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
18055 (get_mdadm_uuid): ... this.
18056 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
18057
e03f7bea
VS
180582011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
18059
18060 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
18061 to negative size.
18062
e74c3112
CW
180632011-04-13 Colin Watson <cjwatson@ubuntu.com>
18064
18065 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
18066 btrfs subvolume.
18067 * util/grub.d/20_linux_xen.in: Likewise.
18068
78fa584f
CW
180692011-04-13 Colin Watson <cjwatson@ubuntu.com>
18070
18071 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
18072 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
18073
18074 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
18075 Build a list of relevant visible mounts using the mnt_id and
18076 parent_mnt_id fields, and then scan that list at the end.
18077
9d5f8162
CW
180782011-04-12 Colin Watson <cjwatson@ubuntu.com>
18079
18080 * docs/grub.texi (normal): New section.
18081 (normal_exit): New section.
18082 (Embedded configuration): Add reference to normal.
18083 (GRUB only offers a rescue shell): Likewise.
18084 * docs/grub-dev.texi (Error Handling): Fix typo.
18085
09a9d66f
CW
180862011-04-12 Colin Watson <cjwatson@ubuntu.com>
18087
18088 * NEWS: Drop obsolete entry about probe-only btrfs support.
18089
0c676933
CW
180902011-04-12 Colin Watson <cjwatson@ubuntu.com>
18091
18092 * util/import_gcry.py: Fix typo.
18093
ec9f5e0d
VS
180942011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18095
18096 * NEWS: Add btrfs support.
18097
fe6b2cba
VS
180982011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
180992011-04-11 Colin Watson <cjwatson@ubuntu.com>
18100
18101 BtrFS support. Written by me (Vladimir) with important bugfixes and
18102 even more important testing by Colin.
18103
18104 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
18105 * grub-core/Makefile.core.def (btrfs): Add crc.c.
18106 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
18107 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
18108 mem_input_off and mem_input. All users updated to accept in-RAM input.
18109 (gzio_seek): New function.
18110 (test_zlib_header): Likewise.
18111 (grub_gzio_read): Likewise.
18112 (grub_zlib_decompress): Likewise.
18113 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
18114 Accept partial and non-virtual mounts.
18115 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
18116 avoid receiving /dev/dm-X as device.
18117 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
18118 Handle bind and partial mounts.
18119 * grub-core/lib/crc.c: New file.
18120 * include/grub/deflate.h: Likewise.
18121 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
18122 proto.
18123 * include/grub/lib/crc.h: New file.
18124
e745cf0c
VS
181252011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18126
18127 Implement automatic module license checking according to new GNU
18128 guidelines.
18129
18130 * grub-core/kern/dl.c (grub_dl_check_license): New function.
18131 (grub_dl_load_core): Use grub_dl_check_license.
18132 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
18133 (GRUB_MOD_LICENSE): Likewise.
18134 (GRUB_MOD_DUAL_LICENSE): Likewise.
18135 All modules updated.
18136
2a9bc016
CW
181372011-04-11 Colin Watson <cjwatson@ubuntu.com>
18138
18139 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
18140 reserved_first_sector to 1. btrfs reserves plenty of space for boot
18141 loaders.
18142 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
18143
8a3bc88e
VS
181442011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18145
18146 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
18147
af869a4a
VS
181482011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18149
18150 * util/grub-fstest.c (read_file): Report GRUB error if file opening
18151 failed.
18152
9ee8d94f
VS
181532011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18154
18155 * grub-core/kern/file.c (grub_file_open): Don't take into account the
18156 parenthesis in the middle of the filename.
18157
b01abe3e
VS
181582011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18159
18160 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
18161 rather than trying to put initrd way too high.
18162 Reported by: Ryan Lortie <desrt@desrt.ca>
18163
335bda1e
VS
181642011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18165
18166 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
18167 improperly removed string.
18168
5ca1a64d
VS
181692011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18170
18171 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
18172 is_disk.
18173 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
18174 (open_device) Likewise.
18175 (grub_util_biosdisk_close): Likewise.
d8ce9995 18176 Reported by: Mark Korenberg.
5ca1a64d 18177
cbac5b1e
AK
181782011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
18179
18180 * util/grub-mkconfig_lib.in: Add missing quotes.
18181
088cdb65
CW
181822011-04-10 Colin Watson <cjwatson@ubuntu.com>
18183
18184 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
18185 is NULL.
18186
8b8a81fa
VS
181872011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18188
18189 Dynamically count the number of lines for the lower banner.
18190
18191 * grub-core/normal/menu_entry.c (per_term_screen): New member
18192 num_entries.
18193 (print_down): Use num_entries.
18194 (update_screen): Likewise.
18195 (grub_menu_entry_run): Set num_entries.
18196 * grub-core/normal/menu_text.c (menu_viewer_data): New member
18197 num_entries.
18198 (grub_print_message_indented): Move real part to ...
18199 (grub_print_message_indented_real): ... here. Additional argument
18200 dry_run.
18201 (draw_border): Additional argument num_entries.
18202 (print_message): Additional argument dry_run.
18203 (print_entries): Receive menu viewer data.
18204 (grub_menu_init_page): New argment num_entries.
18205 (menu_text_set_chosen_entry): Use num_entries.
18206 (grub_menu_try_text): Likewise.
18207 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
18208 All users updated.
18209 (grub_ucs4_count_lines): New function.
18210 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
18211 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
18212 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
18213 (grub_term_border_height): Likewise.
18214 (grub_term_num_entries): Likewise.
18215
277f955b
VS
182162011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18217
18218 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
18219 Remove now unused string.
18220
536ce85a
CW
182212011-04-09 Colin Watson <cjwatson@ubuntu.com>
18222
18223 * docs/grub-dev.texi (Finding your way around): Update for 1.99
18224 build system.
18225 (Getting started): GRUB is developed in Bazaar now, not Subversion.
18226
18227 (Comment): Fix typo.
18228 (Getting started): General copy-editing.
18229 (Typical Development Experience): Likewise.
18230 (Error Handling): Likewise.
18231 (Video API): Likewise.
18232
2cf09e32
CW
182332011-04-09 Colin Watson <cjwatson@ubuntu.com>
18234
18235 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
18236 throughout.
18237
1ec652f4
VS
182382011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18239
18240 * util/grub-mkimage.c (main): Handle special naming of yeeloong
18241 directory.
18242
2c583728
CW
182432011-04-08 Colin Watson <cjwatson@ubuntu.com>
18244
18245 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
18246 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
18247 "development".
18248
d7a565e9
VS
182492011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18250
18251 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
18252 grub_strcpy since the lines aren't necessarily 0-terminated.
18253
7c2e4909
VS
182542011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18255
18256 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
18257 root on legacy.
18258
34c09785
VS
182592011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18260
18261 * grub-core/commands/probe.c (options): Argument to set isn't optional.
18262 (GRUB_MOD_INIT): DEVICE isn't optional.
18263
6a6f8058
VS
182642011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18265
18266 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
18267 word on new line if it's too long anyway. Fixes a hang.
18268
2e335e90
VS
182692011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18270
18271 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
18272 const.
18273 * util/grub-setup.c (main): Reuse md device name if available.
18274 * util/raid.c (grub_util_raid_getmembers): Receive device name and
18275 not GRUB name as argument.
18276 Based on patch by: Florian Wagner <fwagner>.
18277
10a7a867
VS
182782011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18279
18280 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18281 Place mbi on low memory for better compatibility.
18282
7a3d6cd9
VS
182832011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18284
18285 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
18286
18dd6b47
VS
182872011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
182882011-04-08 Colin Watson <cjwatson@ubuntu.com>
18289
18290 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 18291 * conf/Makefile.common: Likewise.
18dd6b47 18292
3c0e3f14
VS
182932011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18294
f7148863
VS
18295 * grub-core/normal/menu.c: Add missing include.
18296
182972011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18298
18299 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 18300
6d1fa41f
MZ
183012011-04-08 Martin Zuther <mzuther@mzuther.de>
18302
18303 * util/grub-mkconfig.in: Ignore emacsen backup.
18304
478182a8
VS
183052011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18306
18307 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
18308 on open.
18309 (grub_util_biosdisk_close): Likewise.
18310
72a89a54
VS
183112011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18312
18313 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
18314 const attribute and use grub_isdigit.
18315
b5ebecfa
A
183162011-04-06 Andrey <dev_null@ukr.net>
18317
18318 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
18319 gcc warning.
18320
7755f66e
VS
183212011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18322
18323 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
18324 useful grub_dprintf's.
18325
461121ff
VS
183262011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18327
18328 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
18329
2a961775
VS
183302011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18331
18332 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
18333
adf594cc
VS
183342011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18335
18336 Output errors if theme loading failed.
18337
18338 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
18339 grub_gfxterm_fullscreen on error paths to ...
18340 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
18341 theme loading error.
18342
665900a3
VS
183432011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18344
18345 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
18346 space for older compilers.
18347 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18348
a562b479
VS
183492011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18350
18351 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
18352 and report them as not RAID members since they are useless for GRUB.
18353 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18354
850e9373
VS
183552011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18356
18357 Increase LVM implementation robustness in order not to crash on
18358 configurations like pvmove. Previously code assumed that in some places
18359 only lvs or only pvs are used whereas it seems that they are used
18360 interchangeably.
18361
18362 * grub-core/disk/lvm.c (read_node): New function.
18363 (read_lv): Use read_node.
18364 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
18365 Match volumes only at the end when all lvs are found. Take both
18366 pvs (first) and lvs (second) into account.
18367 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
18368 mirror_* into node_*. All users updated.
18369 (grub_lvm_stripe): Merge this ...
18370 (grub_lvm_mirror): ... and this ...
18371 (grub_lvm_node): ... into this. All users updated.
18372
6f332153
VS
183732011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18374
18375 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
18376 of function to allow further scanning for LVMs.
18377
829ea451
VS
183782011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18379
18380 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
18381 on failed seek as it breaks open fd reusage.
18382
09ceb9a5
VS
183832011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18384
18385 * util/grub-install.in: Add a recommendation to use --recheck before
18386 reporting bugs.
18387
67e11623
VS
183882011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18389
18390 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
18391 are obtained.
18392
caee5efd
VS
183932011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18394
18395 GRUB developper manual based on existing Internals section and
18396 contributions by the various authors with active copyright assignment.
18397
18398 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
18399 * docs/font_char_metrics.png: New file.
18400 * docs/font_char_metrics.txt: Likewise.
18401 * docs/grub-dev.texi: Likewise.
18402 * docs/grub.texi (Internals): Move from here ...
18403 * docs/grub-dev.texi: ... here.
18404
2cccc747
CW
184052011-04-01 Colin Watson <cjwatson@ubuntu.com>
18406
18407 Store the loopback device as data on loopback grub_disk structures,
18408 rather than the file it points to. This fixes use of freed memory
18409 if an existing loopback device is replaced.
18410
18411 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
18412 disk->data, not dev->file.
18413 (grub_loopback_read): Adjust file assignment to match.
18414 Fixes Ubuntu bug #742967.
18415
186ae367
CW
184162011-04-01 Colin Watson <cjwatson@ubuntu.com>
18417
18418 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
18419 when replacing an existing device.
18420
cfed2ad0
VS
184212011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
18422
18423 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
18424 memory corruptions.
18425
18426 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
18427 unsigned.
18428 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
18429 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
18430 (grub_jfs_read_inode): Likewise.
18431 (grub_jfs_opendir): Likewise. Remove now useless casts.
18432 (grub_jfs_getent): Likewise.
18433 Make ino a grub_uint32_t rather than int.
18434 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
18435 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
18436 division and module with bit operations.
18437 (grub_jfs_find_file): Make ino a grub_uint32_t.
18438 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
18439
05d2ed32
CW
184402011-04-01 Colin Watson <cjwatson@ubuntu.com>
18441
18442 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
18443 warning. (This was in fact always initialised before use, but GCC
18444 wasn't smart enough to prove that.)
18445 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
18446
91dc6073
VS
184472011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18448
18449 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
18450 stack alignment.
18451 (efi_wrap_1): Likewise.
18452 (efi_wrap_2): Likewise.
18453 (efi_wrap_3): Likewise.
18454 (efi_wrap_4): Likewise.
18455 (efi_wrap_5): Likewise.
18456 (efi_wrap_6): Likewise.
18457 (efi_wrap_10): Likewise.
18458 Based on information by: Red Hat/Peter Jones.
18459
a8afc1d1
CW
184602011-03-31 Colin Watson <cjwatson@ubuntu.com>
18461
18462 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
18463 set-but-not-used variable.
18464
a826cc7d
CW
184652011-03-31 Colin Watson <cjwatson@ubuntu.com>
18466
18467 * docs/grub.texi (Simple configuration): Be more explicit about
18468 GRUB_DEFAULT, and add an example.
18469 Reported by: Leslie Rhorer.
18470
875b67ba
CW
184712011-03-30 Colin Watson <cjwatson@ubuntu.com>
18472
18473 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
18474 shell".
18475
fd7cd914
AS
184762011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18477
18478 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
18479 * util/grub.d/20_linux_xen.in: Likewise.
18480
090b1b6a
VS
184812011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18482
18483 * util/grub.d/10_linux.in: Try alternative config filenames where
18484 we parse config file.
18485 * util/grub.d/20_linux_xen.in: Likewise.
18486
baad885c
AS
184872011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18488
18489 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
18490 * util/grub.d/20_linux_xen.in: Likewise.
18491
241e41f5
VS
184922011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18493
18494 * grub-core/disk/raid.c (insert_array): Add few potentially
18495 useful grub_util_info.
18496 (grub_raid_register): Likewise.
18497
56445fb2
VS
184982011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18499
18500 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
18501 Preserve partition number in mdadm code path.
18502
c871b1c6
VS
185032011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18504
18505 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
18506 few potentially useful grub_util_info.
18507
5e631b4f
CW
185082011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18509
18510 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
18511
2d5d0333
CW
185122011-03-30 Colin Watson <cjwatson@ubuntu.com>
18513
18514 * docs/grub.texi (default): Use @example rather than nested
18515 itemized lists to avoid breaking gendocs.
18516
3d7ed04e
CW
185172011-03-30 Colin Watson <cjwatson@ubuntu.com>
18518
18519 * docs/grub.texi (Future): Update.
18520
abf04200 185212011-03-30 Colin Watson <cjwatson@ubuntu.com>
18522
18523 * docs/grub.texi (Environment): New chapter.
18524 (Changes from GRUB Legacy): Link to "Environment block" section for
18525 details of limitations.
18526 (Simple configuration): Likewise. Link to documentation of gfxmode
18527 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
18528 respectively.
18529 (Shell-like scripting): Note that normal variables are stored in the
18530 environment.
18531 (gettext): Link to documentation of lang and locale_dir.
18532 (list_env): New section.
18533 (load_env): New section.
18534 (save_env): New section.
18535
18536 (Reporting bugs): Fix typo.
18537
e1ad0edd
VS
185382011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18539
18540 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
18541 the example.
18542
5d803174
VS
185432011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18544
18545 * grub-core/term/at_keyboard.c (set_scancodes)
18546 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
18547
2a2da1d0
CW
185482011-03-30 Colin Watson <cjwatson@ubuntu.com>
18549
18550 * docs/grub.texi (Menu-specific commands): Remove some semantics
18551 that were true in GRUB Legacy but not in GRUB 2.
18552 (submenu): New section.
18553 (false): New section.
18554 (read): New section.
18555 (true): New section.
18556
a7527639
CW
185572011-03-30 Colin Watson <cjwatson@ubuntu.com>
18558
18559 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
18560
185612011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
18562
18563 * docs/grub.texi (Simple configuration): Explain some of the
18564 current limitations of grub-mkconfig.
8a748df2 18565 Reported by: Leslie Rhorer.
e30af029 18566
fc858482
VS
185672011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18568
18569 Old macs search for boot.efi rather than for bootia32.efi.
18570
18571 * util/grub-install.in: Copy bootia32.efi to boot.efi.
18572 * util/grub-mkrescue.in: Likewise.
18573 Suggested by: Peter Jones.
18574
e1eb511d
VS
185752011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18576
18577 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
18578
70e75364
VS
185792011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18580
18581 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
18582 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
18583 (grub_lvm_mirror): New struct.
18584 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
18585 (grub_lvm_iterate): Iterate only visible volumes.
18586 (grub_lvm_read): Factor out to ..
18587 (read_lv): ... this. Support mirrors.
18588 (grub_lvm_read): New wrapper function.
18589 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
18590 stripped or mirrored.
18591
fc18f6a3
VS
185922011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18593
18594 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
18595
5c650f4c
CW
185962011-03-29 Colin Watson <cjwatson@ubuntu.com>
18597
18598 * docs/grub.texi (loopback): New section.
18599
61d7156b
CW
186002011-03-29 Colin Watson <cjwatson@ubuntu.com>
18601
18602 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
18603 removed -p option.
18604
994b8264
CW
186052011-03-29 Colin Watson <cjwatson@ubuntu.com>
18606
18607 * docs/grub.texi (BIOS installation): New section, partly based on
18608 previous text in other sections.
18609 (Installing GRUB using grub-install): Replace BIOS discussion with a
18610 cross-reference.
18611 (Images): Likewise.
18612
9e4d19e0
VS
186132011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18614
18615 * grub-core/kern/emu/hostdisk.c (find_partition_start)
18616 [HAVE_DIOCGDINFO]: Add safety checks.
18617
a307c0b2
VS
186182011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18619
18620 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
18621 per default compiled in kernel and prior to 8.0 isn't shipped at all.
18622
b4db4f39
CW
186232011-03-29 Colin Watson <cjwatson@ubuntu.com>
18624
18625 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
18626 real_sb->size is zero (e.g. RAID-0), get the disk size from
18627 real_sb->data_size instead.
18628 Fixes Ubuntu bug #743136.
18629
35e5f84c
VS
186302011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18631
18632 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
18633 printf clauses for printing size and start.
18634
d2e29d81
VS
186352011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18636
18637 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
18638 Reported and tested by: Timothy Nikkel.
18639
ed5587af
VS
186402011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18641
18642 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
18643 (dirty_region_add_real): ... this.
18644 (dirty_region_add): Don't discard margin refresh when performing
18645 scheduled repaint.
18646
a1dc717c
VS
186472011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18648
18649 * grub-core/lib/relocator.c (allocate_regstart)
18650 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
18651 terminals are capabple of malloc-free operation.
18652 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18653 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18654
9f3677d3
VS
186552011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
18656
18657 * util/grub-setup.c: Copy the partition table zone if floppy support
18658 is disabled, even if no partition table is found.
18659
18660 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
18661 during POST if an invalid partition table is contained in the PBR
18662 of the active partition when GRUB is installed to a partition.
18663
24148725
CW
186642011-03-28 Colin Watson <cjwatson@debian.org>
18665
18666 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
18667 comment.
18668
f329eda7
CW
186692011-03-28 Colin Watson <cjwatson@debian.org>
18670
18671 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
18672 to be specific about what kind of RAID device we're scanning for.
18673
c482ad98
SG
186742011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
18675
18676 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
18677 return freed string.
18678
5ee04984
VS
186792011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18680
18681 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
18682
f4727da9
VS
186832011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18684
18685 Use libgeom on FreeBSD to detect partitions.
18686
18687 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
18688 (grub-mkrelpath): Likewise.
18689 (grub-script-check): Likewise.
18690 (grub-editenv): Likewise.
18691 (grub-mkpasswd-pbkdf2): Likewise.
18692 (grub-fstest): Likewise.
18693 (grub-mkfont): Likewise.
18694 (grub-mkdevicemap): Likewise.
18695 (grub-probe): Likewise.
18696 (grub-setup): Likewise.
18697 (grub-ofpathname): Likewise.
18698 (grub-mklayout): Likewise.
18699 (example_unit_test): Likewise.
18700 (grub-menulst2cfg): Likewise.
18701 * grub-core/Makefile.core.def (grub-emu): Likewise.
18702 (grub-emu-lite): Likewise.
18703 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
18704 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
18705 define HAVE_DIOCGDINFO.
18706 (follow_geom_up) [FreeBSD]: New function.
18707 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
18708 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
18709 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
18710 unconditionally of HAVE_DIOCGDINFO.
18711
82fe6c75
VS
187122011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18713
18714 Fix FreeBSD compilation problem.
18715
18716 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
18717 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
18718
4c6c9431
CW
187192011-03-24 Colin Watson <cjwatson@ubuntu.com>
18720
18721 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
18722 Switch back to page zero before loading a kernel, since some kernel
18723 drivers expect that.
18724 Thanks to: Felix Kuehling.
18725
c7064d94
VS
187262011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18727
18728 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
18729 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
18730 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
18731
3f71cded
VS
187322011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18733
18734 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
18735 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
18736
ef6de21a
VS
187372011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18738
18739 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
18740 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
18741 malloc is disabled.
18742
8bc66a2c
VS
187432011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
18744
18745 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
18746 for modules headers when counting the needed allocation size.
18747
5657722c
VS
187482011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18749
18750 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
18751 if no ASCII character is found to prevent crash.
18752
41a85f55
AK
187532011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
18754
18755 * grub-core/video/bitmap.c (match_extension): Ignore case.
18756
59e1e5f1
VS
187572011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18758
18759 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
18760
bd4d051a
VS
187612011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18762
18763 * grub-core/script/parser.y: Declare "time" as valid argument.
18764
bae7fcc1
PJ
187652011-03-23 Peter Jones <pjones@redhat.com>
18766
18767 Fix incorrect assert failure reporting.
18768
18769 * grub-core/tests/example_functional_test.c (example_test): Add
18770 a failure comment.
18771 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
18772 (failure_start): ...this. Check that malloc succeeded.
18773 Don't call xvasprintf. Return failure struct.
18774 (failure_append_vtext): New function.
18775 (failure_append_text): Likewise.
18776 (add_failure): Likewise.
18777 (grub_test_assert_helper): Likewise.
18778 * include/grub/test.h (grub_test_assert_helper): New declaration.
18779 (grub_test_assert): Macro rewritten.
18780
537dc9be
VS
187812011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18782
18783 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
18784
fa3e01bf
VS
187852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18786
18787 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
18788
b1d28404
VS
187892011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18790
18791 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
18792 into GRUB-style one.
18793
2e3e2e09
VS
187942011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18795
18796 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
18797 error and not grub_errno.
18798 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
18799
ed57e557
VS
188002011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18801
18802 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
18803 GRUB_USB_SPEED_NONE in case of failure and not the error code.
18804
d1611f01
VS
188052011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18806
18807 * grub-core/efiemu/i386/pc/cfgtables.c
18808 (grub_machine_efiemu_init_tables): Make declaration a prototype.
18809 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
18810 (grub_xnu_unlock): Likewise.
18811 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
18812
7d4e39d6
VS
188132011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18814
18815 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
18816 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
18817 * grub-core/commands/hashsum.c (aliases): Likewise.
18818 * grub-core/commands/setpci.c (pci_registers): Likewise.
18819 * grub-core/disk/usbms.c (attach_hook): Likewise.
18820 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
18821 (zio_checksum_table): Likewise.
18822 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
18823 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
18824 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
18825 * grub-core/lib/relocator.c (leftovers): Likewise.
18826 (extra_blocks): Likewise.
18827 * grub-core/loader/i386/bsd.c (relocator): Likewise.
18828 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
18829 (modules_last): Likewise.
18830 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
18831 (devices): Likewise.
18832 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
18833 (modules_last): Likewise.
18834 * grub-core/normal/auth.c (users): Likewise.
18835 * grub-core/normal/context.c (initial_menu): Likewise.
18836 (current_menu): Likewise.
18837 * grub-core/normal/crypto.c (crypto_specs): Likewise.
18838 * grub-core/term/serial.c (grub_serial_ports): Likewise.
18839 (grub_serial_terminfo_input_template): Likewise.
18840 (grub_serial_terminfo_output_template): Likewise.
18841 (grub_serial_terminfo_input): Likewise.
18842 (grub_serial_terminfo_output): Likewise.
18843 (registered): Likewise.
18844 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
18845
40fc4659
VS
188462011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18847
18848 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
18849 grub_video_mode_type_t.
18850 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
18851 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
18852 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
18853
2da48d28
VS
188542011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
18855
18856 * util/grub-install.in: Correct the x86-64 name as x86_64.
18857
9b43bf39
CW
188582011-03-11 Colin Watson <cjwatson@ubuntu.com>
18859
18860 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
18861 initial chunk read from the kernel always includes GRUB's multiboot
18862 header, which is now outside the first sector.
18863
be1a7ce0
CW
188642011-03-09 Colin Watson <cjwatson@ubuntu.com>
18865
18866 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
18867 cached mmap_size, so that this works correctly when called multiple
18868 times.
18869 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
18870
83a3c48d
CW
188712011-03-09 Colin Watson <cjwatson@ubuntu.com>
18872
18873 * docs/grub.texi (Simple configuration): Tidy up formatting.
18874
57d75699
SJ
188752011-03-07 Szymon Janc <szymon@janc.net.pl>
18876
18877 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
18878 Set-but-not-used variable removed.
18879
028501a0
VS
188802011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18881
18882 Workaround yet another IEEE1275 bug.
18883
18884 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
18885 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
18886 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
18887 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
18888 is set.
18889 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18890 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
18891
d998657d
VS
188922011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18893
18894 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
18895 error.
18896
fee7cdd4
CW
188972011-02-11 Colin Watson <cjwatson@ubuntu.com>
18898
18899 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
18900 empty, since in that case we can only generate either nothing or a
18901 syntactically invalid configuration file.
18902 Reported by: Michal Suchanek. Fixes Debian bug #612898.
18903
97286eb5
CW
189042011-02-09 Colin Watson <cjwatson@ubuntu.com>
18905
18906 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
18907 (Making a GRUB bootable CD-ROM): Likewise.
18908 (Invoking grub-mkrescue): New section.
18909 Reported by: Yann Dirson. Fixes Debian bug #612585.
18910
22b28eb3
CW
189112011-02-09 Colin Watson <cjwatson@ubuntu.com>
18912
18913 * util/grub-install.in: Remove unnecessary brackets from tr
18914 arguments.
18915 * util/grub.d/10_hurd.in: Likewise.
18916 * util/grub.d/10_kfreebsd.in: Likewise.
18917 * util/grub.d/10_linux.in: Likewise.
18918 * util/grub.d/20_linux_xen.in: Likewise.
18919 Reported by: Jamie Heilman. Fixes Debian bug #612564.
18920
7e735e43
CW
189212011-02-08 Colin Watson <cjwatson@ubuntu.com>
18922
18923 * include/grub/file.h (not_easly_seekable): Rename to ...
18924 (not_easily_seekable): ... this. Update all users.
18925
800f1881
CW
189262011-01-28 Colin Watson <cjwatson@ubuntu.com>
18927
18928 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
18929 grub-mkrescue.
18930
3281d3d6
VS
189312011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
18932
18933 * util/grub-mkimage.c (generate_image): Refuse to create the images
18934 bigger than the actual flash (512K) in Loongson machines. 512K is also
18935 the biggest chip supported by them.
18936
3533413c
VS
189372011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18938
18939 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
18940
73ae4f4f
VS
189412011-01-22 Anthony DeRobertis <anthony@derobert.net>
18942
18943 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
18944 super_offset field.
18945
37f4f608
VS
189462011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18947
18948 * util/grub-install.in: Ignore install device on platforms
18949 where it doesn't make sense. Always use UUIDs except on pc, efi and
18950 sparc64.
18951 Reported by: Daniel Kahn Gillmor.
18952
03a4ccb5
VS
189532011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18954
18955 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
18956
ffc8f4d8
VS
189572011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18958
18959 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
18960 (iterate_real): Don't rely on partition being non-NULL.
18961
80f23be7
VS
189622011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18963
18964 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
18965 supported platforms. Put a compile time assert for this rather than
18966 generate a warning with 32-bit shift.
18967
5d4f4dd5
VS
189682011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18969
18970 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
18971 logical expression more readable.
18972
e489601a
VS
189732011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18974
18975 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
18976 even if some elements have a name.
18977 Reported by: Alexander GQ Gerasiov.
18978
96e0a6ea
CW
189792011-01-22 Colin Watson <cjwatson@ubuntu.com>
18980
18981 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
18982 path unreadable if `grub-probe -t abstraction' fails, for example if
18983 memberlist fails on an LVM volume group.
18984 Reported by: Darius Jahandarie.
18985
81431e2b
CW
189862011-01-22 Colin Watson <cjwatson@ubuntu.com>
18987
18988 * docs/grub.texi (Simple configuration): Document
18989 GRUB_PRELOAD_MODULES.
18990
5e79d66a
CW
189912011-01-17 Colin Watson <cjwatson@ubuntu.com>
18992
18993 * .bzrignore: Remove nonexistent grub-pbkdf2.
18994
646ada34
VS
189952011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
18996
18997 * configure.ac: Bump version to 1.99~rc1.
18998
04360337
VS
189992011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19000
19001 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
19002 for safety.
19003
46c9db88
VS
190042011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19005
19006 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
19007 module.
19008
190092011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
19010
19011 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
19012
4fbf1852
VS
190132011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19014
19015 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
19016 diskdevid.
19017
f1632d4d
VS
190182011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19019
19020 Fix compilation on cygwin.
19021
19022 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
19023 -R .drectve on cygwin.
19024 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
19025 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
19026 (COND_CYGWIN): New condition.
19027 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
19028 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
19029 not @TARGET_OBJ2ELF@.
19030 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
19031 type to determine whether aux is to be used.
19032
0b5e127b
VS
190332011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19034
19035 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
19036 realpath'ed device string.
19037 Handle floppy (somewhat).
19038 Issue error in unknown case rather than garbage.
19039 Reported by: Axel Beckert.
19040
173b71e9
VS
190412011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19042
19043 * util/grub.d/00_header.in (load_video): Handle the case when no video
19044 drivers available.
19045 Thanks to: Axel Beckert.
19046
f8f479db
VS
190472011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19048
19049 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
19050 variable. Fixes problem on big endian platforms.
19051
8fc0a245
VS
190522011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19053
19054 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
19055 It doesn't work well there.
19056
b8494fbe
VS
190572011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19058
19059 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
19060 warning.
19061 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
19062 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
19063 counter.
19064
b44a558c
VS
190652011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19066
19067 Use alias->path rather than buggy "canon".
19068
19069 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
19070 (ofdisk_hash_add): New argument curcan. All users updated.
19071
51fa856c
CW
190722011-01-11 Colin Watson <cjwatson@ubuntu.com>
19073
19074 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
19075
9da068a5
VS
190762011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19077
19078 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
19079 loadmask before doing any calculations. Use correct type for offset.
19080 (grub_linux_load64): Likewise.
19081
86205c94
CW
190822011-01-11 Colin Watson <cjwatson@ubuntu.com>
19083
19084 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
19085 with NULL.
19086 (console_grub_equivalences_unshift): Likewise.
19087 Reported by: Daniel Dehennin.
19088
4531a206
VS
190892011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19090
19091 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
19092 (set_env_limn_ro): Likewise.
19093 (GRUB_MOD_INIT): Likewise.
19094 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
19095 ARRAY_SIZE while on it.
19096 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
19097 * grub-core/normal/context.c (grub_env_export): Move from here ...
19098 * grub-core/kern/env.c (grub_env_export): ... here.
19099 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
19100 prefix.
19101 * grub-core/kern/main.c (grub_main): Export root and prefix.
19102 * include/grub/env.h (grub_env_export): Export.
19103 Reported by: Seth Goldberg.
19104
45146057
VS
191052011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19106
19107 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19108 Take into account space used by ELF sections and multiboot palette.
19109 Reported by: Grégoire Sutre.
19110
f093110b
VS
191112011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19112
19113 * BUGS: New file.
19114
3395fe52
VS
191152011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19116
19117 Pass more appropriate video id to Linux.
19118
19119 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
19120 grub_video_get_driver_id and variable gfxpayloadforcelfb to
19121 fill have_vga.
19122 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
19123 shift params->lfb_size.
19124 * include/grub/i386/linux.h: Make an enume out of have_vga values.
19125
c2fa6cbb
VS
191262011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19127
19128 * util/grub-menulst2cfg.c: Add missing include of misc.h.
19129
b3ff6ff0
VS
191302011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19131
19132 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
19133 separator and pass bootpath/devid even if only one of them is available.
19134 Reported by: Seth Goldberg.
19135
ae67942e
VS
191362011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19137
19138 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
19139 implementations bug on them.
19140
19141 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
19142 memory.
19143 (filter_memory_map): Likewise.
19144
d570097a
VS
191452011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19146
19147 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
19148 Reported by: nebuchadnezzar.
19149
a508e776
VS
191502011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19151
19152 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
19153 Reported by: nebuchadnezzar.
19154
dcb883b1
VS
191552011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19156
19157 Submenu default support.
19158
19159 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
19160 auto_boot. All users updated.
19161 Declared static.
19162 Handle chosen and default with submenus.
19163 (grub_menu_execute_with_fallback): Declared static.
19164 Don't notify failure if autobooted. Upper level does it.
19165 (menuentry_eq): New function.
19166 (get_entry_number): Use menuentry_eq.
19167 (show_menu): New parameter "autobooted". All users updated.
19168 (grub_show_menu): Likewise.
19169 * include/grub/normal.h (grub_show_menu): Likewise.
19170 * include/grub/menu.h (grub_menu_execute_entry): Removed.
19171 (grub_menu_execute_with_fallback): Likewise.
19172
6fef99b4
VS
191732011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19174
19175 * util/grub-mklayout.c (usage): Update help text.
19176
47a77af5
VS
191772011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19178
19179 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
19180
ce6bb3ee
VS
191812011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19182
19183 * util/grub-menulst2cfg.c (main): Trim the line.
19184
db87be2a
VS
191852011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19186
19187 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
19188 (grub_machine_init): Don't check amount of low memory as reportedly
19189 INT 12h can be broken and if low memory is too low we wouldn't have
19190 gotten into grub_machine_init anyway.
19191
c49849cc
VS
191922011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19193
19194 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
19195 (grub_machine_mmap_iterate): Take low memory into account
19196
b1969b30
VS
191972011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19198
19199 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
19200 badfs.
19201 Reported by: TiCPU.
19202
cf0eaf13
VS
192032011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19204
19205 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
19206 members errors.
19207
1f060f39
GS
192082011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19209
19210 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
19211 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
19212
a21e5672
GS
192132011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19214
19215 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
19216 openbsd and netbsd types being in part_bsd module.
19217
c88172fa
VS
192182011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19219
19220 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
19221 (_FILE_OFFSET_BITS): Likewise.
19222 Reported by: Seth Goldberg.
19223
53798c4b
GS
192242011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19225
19226 * configure.ac: Check for libdevmapper header.
19227
e7121b69
VS
192282011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19229
19230 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
19231 avoid aliasing.
19232 (fzap_lookup): Likewise.
19233 (dnode_get): Likewise.
19234 (make_mdn): Likewise.
19235 (zfs_mount): Likewise.
19236 (fzap_iterate): Use temporary pointer to avoid aliasing.
19237 (grub_zfs_read): Likewise.
19238 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
19239 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
19240 pointers to avoid aliasing.
19241 (grub_cmd_xnu_kernel64): Likewise.
19242 (grub_xnu_load_driver): Likewise.
19243
fc836af9
VS
192442011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19245
19246 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
19247 aliasing warning.
19248 (grub_cmd_terminal_output): Likewise.
19249 Reported and tested by: Grégoire Sutre.
19250
f9f37648
VS
192512011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19252
19253 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
19254 warning.
19255 Reported and tested by: Grégoire Sutre.
19256
ec1dfd63
VS
192572011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19258
19259 * configure.ac: Do CPU substitution even if it's specified explicitly.
19260 Reported and tested by: Alain Greppin.
19261
9462775a
VS
192622011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19263
19264 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
19265 Reported and tested by: Alain Greppin.
19266
0fd48e35
VS
192672011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19268
19269 Satisfy some bison versions need for inttypes.h.
19270
19271 * grub-core/lib/posix_wrap/inttypes.h: New file.
19272 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
19273 (int16_t): Likewise.
19274 (int32_t): Likewise.
19275 (int64_t): Likewise.
19276 Reported and tested by: Alain Greppin.
19277
43f1bc83
VS
192782011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19279
19280 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
19281 Silence spurious warning.
19282 Reported and tested by: Alain Greppin.
19283
64d1f041
SJ
192842011-01-07 Szymon Janc <szymon@janc.net.pl>
19285
19286 * docs/grub.texi (Support automatic decompression): Update with xz
19287 decompression support.
19288
25953e10
SJ
192892011-01-07 Szymon Janc <szymon@janc.net.pl>
19290
19291 Improve loaders' kernel command line handling.
19292
19293 * grub-core/lib/cmdline.c: New file.
19294 * include/grub/lib/cmdline.h: Likewise.
19295 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
19296 grub_create_loader_cmdline to create kernel command line.
19297 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19298 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
19299 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
19300 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
19301 (linux): Add lib/cmdline.c on common.
19302
e72d259f
VS
193032011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19304
19305 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
19306 inopos might be unaligned.
19307
c0cf26da
VS
193082011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19309
19310 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
19311 endian transformations.
19312 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19313 Based on report by: Doug Nazar.
19314
0ca09e6c
DN
193152011-01-07 Doug Nazar <nazard.michi@gmail.com>
19316
19317 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
19318 array->members[i].start_sector.
19319 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
19320
014b6806
VS
193212011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19322
19323 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
19324 Reported and tested by: Grégoire Sutre.
19325
415502c2
CW
193262011-01-06 Colin Watson <cjwatson@ubuntu.com>
19327
19328 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
19329 avoid causing test failures by clearing the screen.
19330
71b6a2b7
CW
193312011-01-06 Colin Watson <cjwatson@ubuntu.com>
19332
19333 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19334 Fix prefix check to handle the case where dir ends with a slash
19335 (most significantly, "/" itself).
19336 Reported by: Michael Vogt.
19337
b3f8d28a
VS
193382011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19339
19340 Run terminfo_cls on initing terminfo output to clear the screen and
19341 move the cursor to (0,0).
19342
19343 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
19344 Call grub_terminfo_output_init.
19345 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
19346 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
19347 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
19348
4c3e4f37
VS
193492011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19350
19351 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
19352 only when needed.
19353
488f71f1
VS
193542011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19355
19356 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
19357 CTRL.
19358
18a38098
VS
193592011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19360
19361 The E820 type 5 is BADRAM, not EXEC_CODE.
19362
19363 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19364 (GRUB_E820_BADRAM): New define.
19365 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
19366 into reserved. Propagate BADRAM.
19367 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19368 (GRUB_E820_BADRAM): New define.
19369
9eae2084
VS
193702011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19371
19372 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
19373 Ignore the memory post-4G.
19374 (grub_relocator_firmware_alloc_region): Additional debug statement.
19375
ebc71d28
VS
193762011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19377
19378 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
19379 names.
19380 Reported by: David Pravec.
19381
446fa400
VS
193822011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19383
19384 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
19385 BIOSes.
19386
a0159f37
VS
193872011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19388
19389 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
19390 Prevent overflow.
19391 (grub_reed_solomon_recover): Likewise.
19392
e5146ca1
VS
193932011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19394
19395 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
19396
193972011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
19398
19399 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
19400 variable.
19401
5b1bdf12
CW
194022011-01-04 Colin Watson <cjwatson@ubuntu.com>
19403
19404 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
19405 descriptions of extract_legacy_entries_source and
19406 extract_legacy_entries_configfile.
19407 Reported by: Seung Soo, Ha.
19408
99d925aa
CW
194092011-01-03 Colin Watson <cjwatson@ubuntu.com>
19410
19411 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
19412 on devices that do not implement function 0.
19413
4af0504b
DV
194142011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
19415
19416 * grub-core/fs/hfsplus.c: Make parent unsigned.
19417 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
19418 overflows.
19419 (grub_hfsplus_cmp_extkey): Likewise
19420
469ee10a
VS
194212011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19422
19423 * util/grub-install.in: Correctly use bootloader_id and not
19424 GRUB_DISTRIBUTOR on efibootmgr line.
19425
323a8e9c
VS
194262011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19427
19428 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
19429
1b394975
IC
194302010-12-31 Ian Campbell <ijc@hellion.org.uk>
19431
19432 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
19433 Xen and reorder menu item wording to make it clearer that this entry
19434 will launch Xen. Print separate messages when loading Xen and
19435 Linux.
19436
275bff5f
VS
194372010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19438
19439 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
19440 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
19441 loop in case of incorrect amiga partmap.
19442
307806cb
VS
194432010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19444
19445 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
19446 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
19447 Reported by:EHeM.
19448
b12b923e
VS
194492010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19450
19451 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
19452 spurious warning.
19453 Reported by: crocket
19454
14b48a19
VS
194552010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19456
19457 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
19458 Preload EFIemu.
19459 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
19460
693db2df
VS
194612010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19462
19463 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
19464 is loaded
19465 (grub_cmd_xnu_kextdir): Likewise.
19466 (grub_cmd_xnu_splash): Likewise.
19467
c7638645
VS
194682010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19469
19470 Avoid using Reed-Solomon with 0 redundancy.
19471
19472 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
19473 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
19474 or 0 redundancy.
19475 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
19476 (grub_reed_solomon_recover): Likewise.
19477
25dd4780
VS
194782010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19479
19480 Don't use disk subsystem in freebsd_boot.
19481
19482 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
19483 (freebsd_biosdev): Likewise.
19484 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
19485 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
19486
0b2db943
VS
194872010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
19488
19489 Handling of files of unknown size is currently limited. They can't be
19490 used e.g. for initrd or modules. Moreover gzip handling of not
19491 easily seekable files is buggy. Disable unknown file size for now. May
19492 be inefficient but works.
19493
19494 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
19495 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
19496
5c408d0f
MP
194972010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
19498
19499 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
19500 floppy probe.
19501
190a011a
JD
195022010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
19503
19504 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
19505
022d01b8
SL
195062010-12-25 Shea Levy <shlevy>
19507
19508 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
19509
c4855fdc
VS
195102010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19511
19512 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
19513 Windows Server 2008.
19514 Reported by: Devin Giddings.
19515
0354b867
VS
195162010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19517
19518 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
19519 writing an error message because of async power management.
19520 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
19521 (grub_reboot): Likewise.
19522
ab66c69f
JU
195232010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
19524
19525 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
19526 keep unit tests from failing when they shouldn't.
19527
1426ef35
CW
195282010-12-21 Colin Watson <cjwatson@ubuntu.com>
19529
19530 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
19531 previous patch increased the size of the RS code by 20 bytes (at
19532 least with gcc-4.4), so increase this by 20 bytes to match.
19533 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19534
20641b6b
CW
195352010-12-21 Colin Watson <cjwatson@ubuntu.com>
19536
19537 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
19538 scratch area. Make sure to initialise chosen in standalone mode as
19539 well as non-standalone.
19540 Reported by: Robert Hooker and Andy Whitcroft.
19541 Tested by: Andy Whitcroft.
19542
d060ad60
CW
195432010-12-21 Colin Watson <cjwatson@ubuntu.com>
19544
19545 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
19546 constructing a new unescaped string and passing it to grub_xputs in
19547 one go, rather than passing characters to grub_printf one at a time.
19548
b889cfad
CW
195492010-12-21 Colin Watson <cjwatson@ubuntu.com>
19550
19551 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
19552 initialising utf16.
19553
4e01b6c8
CW
195542010-12-21 Colin Watson <cjwatson@ubuntu.com>
19555
19556 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
19557 comment. Add an extra layer of quotation, requiring the output of
19558 this function to be used in a printf format string.
19559 (gettext_printf): New function.
19560 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
19561 Extract translatable strings from here-documents and use a temporary
19562 variable instead, so that xgettext can find them.
19563 * util/grub.d/10_kfreebsd.in: Likewise.
19564 * util/grub.d/10_linux.in: Likewise.
19565 * util/grub.d/20_linux_xen.in: Likewise.
19566
19567 * po/grub.d.sed: New file.
19568 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
19569 arguments. Set c-format flags on all strings extracted from
19570 util/grub.d/ (xgettext refuses to include these itself for strings
19571 it extracted from a shell file, but these really are c-format).
19572
5318fe98
VS
195732010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19574
19575 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
19576 Avoid next pointing to nowhere.
19577
6c85b743
VS
195782010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19579
19580 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
19581 rather than assuming than rootblock is exactly in the middle.
19582 (grub_affs_label): Likewise.
19583
a2a08a35
VS
195842010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19585
19586 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
19587 reserved_first_sector to 0.
19588 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
19589 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
19590 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
19591
7059d1ec
VS
195922010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19593
19594 Fix handling of UTF-16 UDF labels.
19595
19596 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
19597 (read_string): .. here.
19598 (grub_udf_label): Use read_string.
19599
30aff4cb
BC
196002010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
19601
19602 * grub-core/normal/menu_entry.c (run): Execute commands from menu
19603 editor under argument scope.
19604 Reported by: Jordan Uggla
19605
5cf86f4b
VS
196062010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19607
19608 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
19609
32570200
CW
196102010-12-18 Colin Watson <cjwatson@ubuntu.com>
19611
19612 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
19613 line, and other keys scroll an entire page (previous handling was
19614 for \r and \n to scroll a page and other keys to scroll two lines).
19615
e1dffcf2
VS
196162010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19617
19618 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19619 Set ptrdest to correct get_physical_target_address rather than
19620 incorrect get_virtual_current_address.
19621
b04298cf 196222010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
19623
19624 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
19625 correct cat to grub_uint8_t * rather than grub_uint32_t *.
19626
5367ecd3
CW
196272010-12-10 Colin Watson <cjwatson@ubuntu.com>
19628
19629 * .bzrignore: Ignore grub-core/rs_decoder.S.
19630
1fb430f8
CW
196312010-12-10 Colin Watson <cjwatson@ubuntu.com>
19632
19633 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
19634 .mo/.mo.gz opening sequence to ...
19635 (grub_mofile_open_lang): ... here.
19636 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
19637 * util/grub.d/00_header.in (grub_lang): Include country part of
19638 locale.
19639 Reported by: Mario Limonciello.
19640
a94a6671
RM
196412010-12-09 Robert Millan <rmh@gnu.org>
19642
19643 * NEWS: Document addition of ZFS support.
19644
24b7938b
CW
196452010-12-04 Colin Watson <cjwatson@ubuntu.com>
19646
19647 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
19648 rather than `/ 2', as the latter requires -Wa,--divide which would
19649 require bumping our minimum binutils version.
19650
bddc3ef6
BC
196512010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
19652
19653 * util/grub-script-check.c (main): Print script line number on
19654 error.
19655
bf78d5b2
RM
196562010-12-01 Robert Millan <rmh@gnu.org>
19657
19658 * grub-core/fs/zfs/zfs.c: New file.
19659 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
19660 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
19661 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
19662 * grub-core/fs/zfs/zfsinfo.c: Likewise.
19663
19664 * include/grub/zfs/dmu.h: Likewise.
19665 * include/grub/zfs/dmu_objset.h: Likewise.
19666 * include/grub/zfs/dnode.h: Likewise.
19667 * include/grub/zfs/dsl_dataset.h: Likewise.
19668 * include/grub/zfs/dsl_dir.h: Likewise.
19669 * include/grub/zfs/sa_impl.h: Likewise.
19670 * include/grub/zfs/spa.h: Likewise.
19671 * include/grub/zfs/uberblock_impl.h: Likewise.
19672 * include/grub/zfs/vdev_impl.h: Likewise.
19673 * include/grub/zfs/zap_impl.h: Likewise.
19674 * include/grub/zfs/zap_leaf.h: Likewise.
19675 * include/grub/zfs/zfs.h: Likewise.
19676 * include/grub/zfs/zfs_acl.h: Likewise.
19677 * include/grub/zfs/zfs_znode.h: Likewise.
19678 * include/grub/zfs/zil.h: Likewise.
19679 * include/grub/zfs/zio.h: Likewise.
19680 * include/grub/zfs/zio_checksum.h: Likewise.
19681
19682 * Makefile.util.def: Build ZFS into libgrubmods.
19683 * grub-core/Makefile.core.def: Build zfs.mod.
19684
3f0f3831
SJ
196852010-11-30 Szymon Janc <szymon@janc.net.pl>
19686
19687 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
19688 variable.
19689 * grub-core/commands/wildcard.c (match_files): Likewise.
19690
3a4253b2
RM
196912010-11-30 Robert Millan <rmh@gnu.org>
19692
19693 * grub-core/loader/i386/bsd.c
19694 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
19695 whether kernel is loaded using grub_loader_is_loaded(), rather
19696 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
19697 certain error conditions.
19698
8c317b27
RM
196992010-11-30 Robert Millan <rmh@gnu.org>
19700
c5c9cd3e
RM
19701 * grub-core/commands/echo.c: Include `<grub/term.h>'.
19702 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 19703
49d3ab46
VS
197042010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19705
19706 Avoid using tricks for initialising endian variables.
19707
19708 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
19709 Make const.
19710 (GRUB_MOD_INIT): Don't byte-swap.
19711 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19712 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
19713 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
19714 (grub_swap_bytes32_compile_time): Likewise.
19715 (grub_cpu_to_le32_compile_time): Likewise.
19716 (grub_cpu_to_le16_compile_time): Likewise.
19717
f420a804
VS
197182010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19719
19720 * util/grub-setup.c (setup): Stop recommending --force. People who
19721 understand the dangers of blocklists are able to find this option
19722 anyway and the ones who don't shouldn't use it anyway.
19723
4e7db17b
RM
197242010-11-26 Robert Millan <rmh@gnu.org>
19725
19726 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
19727 Update all users.
19728
9be57a0d
CW
197292010-11-26 Colin Watson <cjwatson@ubuntu.com>
19730
19731 Fix LVM-on-RAID probing.
19732
19733 * util/grub-probe.c (probe): Remember which disk was detected as
19734 RAID (perhaps an LVM physical volume). Use that disk's raidname
19735 rather than that of the top-level disk.
19736
2c7859b3 197372010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 19738
d7647bb6
BC
19739 Fix cmdline argument quotes for setparams command of menuentry
19740 definitions.
7e623b0d
BC
19741
19742 * grub-core/commands/menuentry.c (setparams_prefix): Use single
19743 quotes for arguments.
f866fe80 19744 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 19745 grub_strchrsub function instead.
f866fe80 19746
7955bea0 19747 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 19748
74f72a64
CW
197492010-11-24 Colin Watson <cjwatson@ubuntu.com>
19750
19751 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
19752 effort by skipping "." and ".." entries up-front.
19753 Suggested by: Michael Lazarev.
19754
5a407278
CW
197552010-11-24 Colin Watson <cjwatson@ubuntu.com>
19756
19757 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
19758 ldflags to ldadd, to fix link line ordering.
19759 (none_decompress): Likewise.
19760
3030d8ec
CW
197612010-11-24 Colin Watson <cjwatson@ubuntu.com>
19762
19763 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
19764 platforms.
19765 (grub-emu-lite): Remove kern/emu/cache.S.
19766
b7fbac12
CW
197672010-11-23 Colin Watson <cjwatson@ubuntu.com>
19768
19769 * util/deviceiter.c (compare_devices): If the by-id link for a
19770 device couldn't be resolved, fall back to sorting by the by-id link
19771 rather than segfaulting.
19772 Reported and tested by: Daniel Mierswa.
19773
5225f328
CW
197742010-11-23 Colin Watson <cjwatson@ubuntu.com>
19775
19776 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
19777 ldflags, to fix link line ordering.
19778
038b3ce8
CW
197792010-11-23 Colin Watson <cjwatson@ubuntu.com>
19780
19781 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
19782 linkers are picky about this.
19783
bf16e98e
CW
197842010-11-23 Colin Watson <cjwatson@ubuntu.com>
19785
19786 * grub-core/Makefile.am (command.lst): Adjust sed expression
19787 ordering so that extended and priority commands aren't treated as
19788 ordinary commands.
19789
7242bab6
CW
197902010-11-23 Colin Watson <cjwatson@ubuntu.com>
19791
19792 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19793 Remove byte-swapping function calls, which are not valid in
19794 structure initialisers.
19795 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
19796 non-const.
19797 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
19798 grub_gpt_partition_type_bios_boot.
19799
14e8b279
CW
198002010-11-22 Colin Watson <cjwatson@ubuntu.com>
19801
19802 Fix test program build on GNU/kFreeBSD.
19803
19804 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
19805 $(LIBNVPAIR)' library dependencies.
19806
e6f63338 198072010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
19808
19809 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
19810
cf8ffc38
CW
198112010-11-22 Colin Watson <cjwatson@ubuntu.com>
19812
19813 * util/grub-install.in: Remove excessive quoting that broke
19814 installations to RAID devices.
19815
7f8b0fd7
VS
198162010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19817
19818 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
19819 bootloader version instead of 0.
19820
dfd240b1
VS
198212010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19822
19823 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
19824 warning.
19825
7b61e609
VS
198262010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
19827
19828 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
19829 retrieve the metadat sector if size isn't known.
19830 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19831
9dfe92d0
RM
198322010-11-18 Robert Millan <rmh@gnu.org>
19833
19834 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
19835 with grub_memcmp().
19836
41cc919e
VS
198372010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
19838
19839 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
19840 arrow.
19841 Reported by: Jordan Uggla.
19842
1afcc914
VS
198432010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19844
19845 Make better UTF compliant.
19846
19847 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
19848 sequences as incorrect.
19849 (grub_is_valid_utf8): Likewise.
19850 (grub_utf8_to_ucs4): Likewise.
19851 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
19852 (grub_ucs4_to_utf8_alloc): Likewise.
19853 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
19854
f1808884
VS
198552010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19856
19857 Make legacy_source behave like source.
19858
19859 * grub-core/commands/legacycfg.c (legacy_file): Don't call
19860 grub_show_menu.
19861 (grub_cmd_legacy_source): Call grub_show_menu if needed.
19862
24ec575b
CW
198632010-11-16 Colin Watson <cjwatson@debian.org>
19864
19865 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
19866 (-Wunused implies -Wunused-parameter, but not vice versa).
19867
72b7c7aa
CW
198682010-11-16 Colin Watson <cjwatson@ubuntu.com>
19869
19870 * configure.ac: Make error messages less confusing by testing for
19871 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
19872 accepted, but produces a diagnostic if something else is wrong).
19873
e98937aa
VS
198742010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
19875
19876 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
19877 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
19878 (now unused).
19879 (grub_keyboard_controller_init)
19880 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
19881 read the initial state since controller isn't inited yet.
19882
f6bbabc3
VS
198832010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
19884
19885 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
19886 allocate_regbeg may need to create new chunk header.
19887
22e7dbb2
VS
198882010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19889
19890 Fix quoting in legacy parser.
19891
19892 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
19893 single quotes.
19894 (grub_legacy_parse): Likewise.
19895 Reported by: Jordan Uggla.
19896 Tested by: Jordan Uggla.
19897
03f80960
VS
198982010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19899
19900 Don't add -lgcc on i386 and x86_64.
19901
19902 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
19903 * conf/Makefile.common (LDADD_KERNEL): Likewise.
19904 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
19905
779dc15b
VS
199062010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19907
19908 * configure.ac: Add -Wno-trampolines when supported.
19909
d20a3b37
MV
199102010-11-14 Modestas Vainius <modax@debian.org>
19911
19912 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
19913 fakeraid.
19914
e5360933
GC
199152010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19916
19917 Add generic logical block size support for UDF.
19918
19919 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
19920 (GRUB_UDF_BLKSZ): Removed.
19921 (struct grub_udf_data): New field "lbshift" to hold the logical block
19922 size of the file system in log2 format. All users updated.
19923 (sblocklist): Change type to unsigned.
19924 (grub_udf_mount): Change type of "sblklist" to unsigned.
19925 Move AVDP search before VRS recognition, because the latter requires
19926 knowledge of the logical block size, which is detected during the
19927 former.
19928 Detect and validate logical block size during AVDP search, adding
19929 support for block sizes 512, 1024 and 4096.
19930 Make VRS recognition independent of block size.
19931
cb0229c5
GC
199322010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19933
19934 Properly handle deleted files on UDF.
19935
19936 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
19937 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
19938 set.
19939
406858a8
GC
199402010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
19941
19942 Support reading files larger than 2 GiB.
19943
19944 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
19945 "offset" to grub_off_t.
19946 (grub_udf_read_file): Likewise for parameter "pos".
19947
130da6a7
VS
199482010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19949
19950 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
19951 unavailable.
19952 (Simple configuration): Refer to Changes from GRUB Legacy about
19953 save_env availability.
19954
65e93f6b
VS
199552010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19956
19957 * util/grub-install.in: Ignore empty partition table detection
19958 instead of trying to include part_ module.
19959
1fd08bf1
VS
199602010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19961
19962 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
19963 LVM on RAID support.
19964
de1a024f
VS
199652010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
19966
19967 Properly define WORDS_BIGENDIAN in wrapped environments.
19968
19969 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
19970 definition.
19971 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
19972
19973 Reported by: Manoel Rebelo Abranches.
19974 Tested by: Manoel Rebelo Abranches.
19975
bc5dd0b9
VS
199762010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19977
19978 * util/grub-mkconfig.in: Fix quoting.
19979
58c184be
VS
199802010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19981
19982 Support big ext2 files.
19983
19984 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
19985 (grub_ext2_read_block): Support triple indirect blocks.
19986 (grub_ext2_read_file): Use 64-bit types and read size_high.
19987 (grub_ext2_open): Read size_high.
19988 Reported by: Ximin Luo.
19989 Tested by: Manoel Rebelo Abranches.
19990
5f0c02b3
VS
199912010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19992
19993 * util/grub-install.in: Handle filenames containing spaces.
19994 Reported by: Jordan Uggla.
19995 Tested by: Jordan Uggla.
19996
4417aae6
VS
199972010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
19998
19999 * util/grub-mkconfig.in (grub_script_check): New variable.
20000 Use grub_script_check instead of grub-script-check.
20001 Reported by: Barry Jackson.
20002
7625a68e
VS
200032010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20004
20005 * docs/grub.texi (menu): Correct the order.
20006 Reported by: D. Hugh Redelmeier.
20007
10001ac5
VS
200082010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
20009
20010 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
20011 jump.
20012
9c4cf53b
MRA
200132010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
20014
10001ac5
VS
20015 * include/grub/elfload.h (grub_elf32_size): New parameter.
20016 All users updated.
9c4cf53b
MRA
20017 Return maximum segments alignment.
20018 (grub_elf64_size): Likewise.
20019 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
20020 Return maximum segments alignment.
20021 (grub_elf64_size): Likewise.
20022 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
20023 (grub_linux_claimmap_iterate): New function. Uses the
20024 "available" property in the "memory" node for memory allocation
20025 for kernel in the PowerPC loader.
9c4cf53b
MRA
20026 (grub_linux_load32): Correctly find linux entry point offset.
20027 (grub_linux_load64): Likewise.
20028
d2bf06bf
RM
200292010-11-07 Robert Millan <rmh@gnu.org>
20030
20031 On mips-yeeloong, build with -march=loongson2f when this flag is
20032 available (GCC >= 4.4).
20033 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
20034 `-march=mips3'.
20035 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
20036 or otherwise add -march=mips3.
20037
898c99a2
BC
200382010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
20039
87220a68
BC
20040 Suppress shell expansion on echo '*' and echo "*" like cases.
20041 Reported by: Jordan Uggla.
898c99a2
BC
20042
20043 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
20044 string arguments before shell expansion.
20045 * tests/grub_cmd_echo.in: New testcases.
20046
4f9b406a
RM
200472010-11-07 Robert Millan <rmh@gnu.org>
20048
20049 * conf/mips-qemu-mips.rmk: Remove stale file from previous
20050 transition.
20051
80c6d25e
VS
200522010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
20053
20054 * grub-core/kern/emu/hostdisk.c
20055 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
20056
4a1a0153
VS
200572010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20058
20059 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
20060 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
20061 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
20062
34706ddc
VS
200632010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20064
20065 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
20066
6972dea9
VS
200672010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20068
20069 * util/grub-install.in: Replace useless recomendation to pass
20070 --modules with a recomendation to report a bug.
20071
9c693bd6
VS
200722010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20073
20074 Properly register serial terminfo.
20075 Reported by: Jordan Uggla
20076
20077 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
20078 const.
20079 (grub_serial_terminfo_output_template): Likewise.
20080 (grub_cmd_serial): Register "serial" with terminfo.
20081 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
20082 grub_serial_terminfo_output.
20083
6c9e4c0c
RM
200842010-11-05 Robert Millan <rmh@gnu.org>
20085
20086 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
20087 needed).
20088
b9b3839f
RM
200892010-11-05 Robert Millan <rmh@gnu.org>
20090
20091 On Yeeloong, pass machine type information to Linux.
20092
20093 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
20094 (LOONGSON_MACHTYPE): New macro, set to
20095 "machtype=lemote-yeeloong-2f-8.9inches".
20096 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
20097 additional argument to Linux.
20098
1a3aaff4
RM
200992010-11-04 Robert Millan <rmh@gnu.org>
20100
20101 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
20102 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
20103 (its SATA disks are detected as slaveless IDE master drives on
20104 kFreeBSD).
20105 Reported by Carsten Aulbert.
20106
a75f4f62
CW
201072010-11-02 Colin Watson <cjwatson@ubuntu.com>
20108
20109 * util/bin2h.c (main): Fix spelling error in generated output.
20110
33b4b0c6
GS
201112010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
20112
20113 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
20114
2b36fbf4
VS
201152010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20116
20117 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
20118 vga= option is supplied.
20119
74aaf558
VS
201202010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20121
20122 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
20123 * util/grub.d/10_kfreebsd.in: Likewise.
20124 * util/grub.d/10_linux.in: Likewise.
20125 * util/grub.d/20_linux_xen.in: Likewise.
20126
6428dec3
VS
201272010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20128
20129 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
20130 argument as an argument to no-argument option.
20131
f8729d98
VS
201322010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20133
20134 * util/grub.d/10_linux.in: Add missing load_video with explicit
20135 GRUB_GFXPAYLOAD_LINUX.
20136
89d68fa6
VS
201372010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20138
20139 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
20140
3a1197cd
VS
201412010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20142
20143 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
20144 elements with invlid index.
20145 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20146 * grub-core/disk/raid.c (insert_array): Automatically reallocate
20147 members.
20148 * include/grub/raid.h (grub_raid_member): New struct.
20149 (grub_raid_array): Transform devices and start_sector into usage of
20150 grub_raid_member. All users updated
20151 (allocated_devs): New member.
20152
71574288
VS
201532010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20154
20155 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
20156 is modified
20157
8d40ec65
BC
201582010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
20159
20160 NetBSD build fix for getline function conflict from gnulib.
20161
20162 * Makefile.util.def (libgrubkern.a): New library for grub kernel
20163 components that depend on gnulib headers.
20164 (libgrubmods.a): Renamed from earlier libgrub.a.
20165 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
20166
95b9257e
VS
201672010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20168
20169 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
20170 install rather than creating a broken install.
20171
26c53dc6
VS
201722010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20173
20174 * util/grub-setup.c (argp): Remove misleading example of installing to
20175 a partition.
20176
4171b3c5
VS
201772010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20178
20179 * util/grub-setup.c (setup): Clarify the error message.
20180
18568d18
VS
201812010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20182
20183 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
20184
4f6a2e21
VS
201852010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
20186
20187 * grub-core/kern/emu/misc.c
20188 (grub_make_system_path_relative_to_its_root)
20189 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
20190
201912010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
20192
20193 * grub-core/kern/emu/misc.c
20194 (grub_make_system_path_relative_to_its_root): Revert r2882.
20195
e138c458
VS
201962010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
20197
20198 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
20199 useless field head. All users updated.
20200 (free_subchunk): Correct handling of IN_REGION subchunk.
20201
0cbcdf0e
CW
202022010-10-22 Colin Watson <cjwatson@ubuntu.com>
20203
20204 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
20205 (Supported kernels): Likewise.
20206
b65ea155
GS
202072010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20208
20209 Make mktemp invocations portable.
20210
20211 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
20212 exit if mktemp fails.
20213 * tests/grub_script_blockarg.in: Likewise.
20214 * tests/partmap_test.in: Likewise.
20215 * tests/util/grub-shell-tester.in: Likewise.
20216 * tests/util/grub-shell.in: Likewise.
20217 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20218 * Makefile.am: Likewise, and chain shell commands with `&&'
20219 instead of ';'.
20220 * util/grub-mkrescue.in: Use the same explicit template as above, and
20221 exit if mktemp fails.
20222
05f43cdd
BC
202232010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
20224
20225 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
20226 Linux kernel, reported by Dennis Schridde.
20227
800e6a9b
SJ
202282010-10-17 Szymon Janc <szymon@janc.net.pl>
20229
20230 * grub-core/normal/auth.c (grub_auth_check_authentication):
20231 Set-but-not-used variable removed.
20232
d82df574
VS
202332010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20234
20235 * docs/grub.texi (GNU/Linux): Document APM unavailability with
20236 32-bit linux protocol.
20237
7bced458
VS
202382010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20239
20240 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
20241 cursor shape for sanity.
20242
5b027690
VS
202432010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20244
20245 * docs/grub.texi (Installation): Document buggy BIOS install.
20246
ba5f65cf
VS
202472010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20248
20249 * docs/grub.texi (Installation): Indent.
20250
fdf2ec9c
VS
202512010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20252
20253 * util/grub-setup.c (setup): New parameter allow_floppy.
20254 (arguments): New member allow_floppy.
20255 (argp_parser): Handle --allow-floppy.
20256 (main): Pass allow_floppy.
20257 * util/grub-install.in: New option --allow-floppy passed though to
20258 grub-setup.
20259
861dfd4c
VS
202602010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20261
20262 * util/grub-install.in: Handle partitionless disks.
20263
f77a8c24
VS
202642010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20265
20266 * util/grub-setup.c (setup): Don't clean blocklists before readability
20267 verfification.
20268
27d9ee32
VS
202692010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20270
20271 * docs/grub.texi (Installation): Document embedding zone. Remove
20272 obsolete grub-install example.
20273
6bdda8f8
SJ
202742010-10-16 Szymon Janc <szymon@janc.net.pl>
20275
20276 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
20277 Set-but-not-used variable ifdef'ed.
20278 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
20279 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
20280 variable removed.
20281 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
20282 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
20283 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
20284 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
20285 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
20286 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
20287 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
20288 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
20289 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
20290 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
20291 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
20292 Likewise.
20293
e19b016b
VS
202942010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20295
20296 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
20297 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
20298 enum value.
20299
6c8d3002
VS
203002010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20301
20302 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
20303 synonym to _S5_. Needed for some DSDTs.
20304
c32b51c9
VS
203052010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20306
20307 Userspace ACPI parser debugging.
20308
20309 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
20310 headers and add relevant defines. Don't include standard headers.
20311 (main) [GRUB_DSDT_TEST]: New function.
20312 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
20313 Don't declare functions.
20314
fbfbeb39
VS
203152010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20316
20317 Remove dead grub_efi_mm_fini.
20318
20319 * grub-core/kern/efi/mm.c (allocated_page): Removed.
20320 (ALLOCATED_PAGES_SIZE): Likewise.
20321 (MAX_ALLOCATED_PAGES): Likewise.
20322 (allocated_pages): Likewise.
20323 (grub_efi_allocate_pages): Don't record allocated pages.
20324 (grub_efi_free_pages): Likewise.
20325 (grub_efi_mm_init): Likewise.
20326 (grub_efi_mm_fini): Removed.
20327
65f7ed7c
VS
203282010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20329
20330 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
20331 (grub_efi_mm_init): Take into account the memory map size increase.
20332
24977b44
VS
203332010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20334
20335 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
20336 (serial_hw_put): Wait based on real time rather than port reads. Don't
20337 roken ports.
20338 * include/grub/serial.h (grub_serial_port): New field broken.
20339
1eb01cd2
RM
203402010-10-16 Robert Millan <rmh@gnu.org>
20341
20342 * grub-core/kern/emu/misc.c
20343 (grub_make_system_path_relative_to_its_root): Fix premature return
20344 when processing non-root ZFS filesystems.
5f8b440b 20345 Reported by Sergio Talens-Oliag.
1eb01cd2 20346
2d5fed60
RM
203472010-10-15 Robert Millan <rmh@gnu.org>
20348
20349 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
20350 guarantee compressed ones are processed first.
20351
d0f4c1ea
VS
203522010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20353
20354 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
20355 grub_efiemu_autocore.
20356
d87c681f
VS
203572010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20358
20359 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
20360 rather than 0x1b.
20361 (grub_console_getkey): Use correct jae opcode rather than ja.
20362
219b3564
RM
203632010-10-12 Robert Millan <rmh@gnu.org>
20364
20365 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
20366 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
20367 variable. All references updated.
20368
20369 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
20370
20c6bb7e
VS
203712010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
20372
20373 Correctly distinguish mdraid flavours.
20374
20375 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
20376 (insert_array): New argument raid.
20377 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
20378 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
20379 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
20380
74baff84
VS
203812010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
20382
20383 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
20384 handling of special keys.
20385
3ef068df 203862010-10-02 Aleš Nesrsta <starous@volny.cz>
20387
c7980ad9
VS
20388 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
20389 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 20390
a9455194 203912010-10-02 Aleš Nesrsta <starous@volny.cz>
20392
c7980ad9
VS
20393 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
20394 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
20395 users updated.
a9455194 20396 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 20397 Use right endpoint when querying descriptor.
a9455194 20398
441cfe65
VS
203992010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20400
20401 Clear out 0x80 color bit on EFI.
20402 Tested by: decoder
20403 Reported by: decoder and meta tech.
20404
20405 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
20406 (grub_console_setcolorstate): Clear out 0x80 bit.
20407 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
20408 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
20409 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
20410
bf26bcc4
VS
204112010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20412
20413 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
20414 Set to "auto".
20415
6e3c515d
VS
204162010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20417
20418 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
20419 mo_file after freeing.
20420
e6d983ba
VS
204212010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20422
20423 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
20424
74ccb5b5
VS
204252010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20426
20427 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
20428 flags.
20429
17821956
VS
204302010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20431
20432 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
20433 usage.
20434
ee74fa48
VS
204352010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20436
20437 Put terminfo into core on ieee1275 and yeeloong (needed for console).
20438
20439 * gentpl.py: New groups terminfoinkernel and terminfomodule.
20440 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
20441 and terminfo.h when needed.
20442 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
20443 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
20444 (terminfo): Enable only on terminfokernel.
20445 (extcmd): Likewise.
20446 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
20447 * include/grub/lib/arg.h: Likewise.
20448 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
20449 incorrect usage of ->.
20450
aa438e68
VS
204512010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20452
20453 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
20454 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
20455
57994012
VS
204562010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20457
20458 Fix coreboot compilation.
20459
20460 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
20461 Take VBE info into account even if only text is supported.
20462 (fill_vbe_info): Take into account the case when only VGA text
20463 is supported.
20464 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
20465 on coreboot, multiboot and qemu.
20466
2a406611
VS
204672010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20468
20469 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
20470 debug messages.
20471 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
20472
d33613fc
VS
204732010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20474
20475 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
20476 parameters.
20477
44a1b432
VS
204782010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20479
20480 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
20481 if they were BSD-style.
20482
edde54e6
VS
204832010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20484
20485 * grub-core/boot/i386/pc/lnxboot.S: Replace
20486 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
20487 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
20488
b65830fa
VS
204892010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20490
20491 Write embedding zone using Reed-Solomon.
20492
20493 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
20494 * grub-core/Makefile.am (rs_decoder.S): New target.
20495 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
20496 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
20497 (multiboot): Move to RS part.
20498 (post_reed_solomon): New label.
20499 (grub_boot_drive): Move to non-RS part since it's modified in memory
20500 on boot.
20501 Include rs_decoder.S.
20502 * grub-core/lib/reed_solomon.c: New file.
20503 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
20504 New definition.
20505 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
20506 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
20507 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
20508 * include/grub/partition.h (grub_partition_map): Change prototype of
20509 embed to allow returning additional sectors.
20510 * include/grub/reed_solomon.h: New file.
20511 * util/grub-setup.c (setup): Handle Reed-Solomon.
20512
0b4b227f
CW
205132010-09-28 Colin Watson <cjwatson@ubuntu.com>
20514
20515 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20516 i386 and x86-64 definedness tests.
20517
f772623b
YB
205182010-09-27 Yves Blusseau <blusseau@zetam.org>
20519
20520 Fix generation of kernel_syms.lst
20521
20522 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
20523 ASM_PREFIX
20524
8e57a6ca
RM
205252010-09-26 Robert Millan <rmh@gnu.org>
20526
20527 Support degraded ZFS arrays in "grub-probe -t device" resolution.
20528
20529 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
20530 the pool is an array of devices, iterate through it and return the
20531 first device that passes a stat() test (instead of blindly returning
20532 the first one).
20533
f9130836
RM
205342010-09-26 Robert Millan <rmh@gnu.org>
20535
20536 Build fixes for GNU/kFreeBSD.
20537
20538 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
20539 to programs that require ZFS conversion.
20540 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
20541 kernels that don't have FLOPPY_MAJOR.
20542
96510faf
BC
205432010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20544
20545 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
20546
449333eb
BC
205472010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20548
20549 Fix grub-emu build.
20550
20551 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
20552 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
20553 mdraid09 and mdraid1x.
20554
e1fd1939
CW
205552010-09-24 Colin Watson <cjwatson@ubuntu.com>
20556
20557 Re-enable grub-extras.
20558
20559 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
20560 avoid confusing Automake. Run autogen only twice, once for the top
20561 level and once for grub-core. Add Makefile.util.def and
20562 Makefile.core.def from extra modules to the appropriate autogen
20563 invocations. If Makefile.common exists in an extra module, include
20564 it in both Makefile.util.am and grub-core/Makefile.core.am;
20565 similarly, include any Makefile.util.common file in Makefile.util.am
20566 and any Makefile.core.common file in grub-core/Makefile.core.am.
20567 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
20568 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
20569 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
20570 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
20571
20572 * gentpl.py (gvar_add): Turn GVARS into a set.
20573 (global_variable_initializers): Sort global variables on output.
20574 (vars_init): New function.
20575 (first_time): Likewise.
20576 (library): Ensure that non-global variable initialisations are
20577 emitted before the first time we emit code for a library block.
20578 Append to variables rather than setting them. Only emit
20579 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
20580 each conditional path.
20581 (program): installdir() emits an Autogen macro, so must be passed to
20582 var_add rather than gvar_add.
20583 (data): Likewise.
20584 (script): Likewise.
20585 (rules): New function, centralising handling for different target
20586 types. Set up Guile association lists for first_time and vars_init,
20587 and send most output to a diversion so that variable initialisations
20588 can be emitted first.
20589 (module_rules): Use new rules function.
20590 (kernel_rules): Likewise.
20591 (image_rules): Likewise.
20592 (library_rules): Likewise.
20593 (program_rules): Likewise.
20594 (script_rules): Likewise.
20595 (data_rules): Likewise.
20596
20597 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
20598
20599 * .bzrignore: Add contrib and grub-core/contrib. Remove
20600 grub-core/Makefile.gcry.am.
20601
1d12cf29
YB
206022010-09-24 Yves Blusseau <blusseau@zetam.org>
20603
20604 * grub-core/lib/LzFind.c: Add missing include.
20605 * grub-core/lib/LzmaEnc.c: Likewise.
20606 * grub-core/script/lexer.c: Likewise.
20607 * grub-core/script/yylex.l: Likewise.
20608 * util/grub-macho2img.c: Likewise.
20609 * util/grub-menulst2cfg.c: Likewise.
20610 * util/grub-mklayout.c: Likewise.
20611 * util/grub-mkpasswd-pbkdf2.c
20612 * util/grub-mkrelpath.c: Likewise.
20613 * util/resolve.c: Likewise.
20614
dd363028
BC
206152010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
20616
20617 * Makefile.util.def (example_unit_test): Add
20618 grub-core/gnulib/libgnu.a.
20619
f5a109e2
GS
206202010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
20621
20622 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
20623
6d0fa83c
VS
206242010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
20625
20626 Support xz compression on yeeloong.
20627
20628 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
20629 * configure.ac: Check for LZMA.
20630 * grub-core/Makefile.core.def (xz_decompress): New target.
20631 (none_decompress): Likewise.
20632 * grub-core/boot/decompressor/minilib.c: New file.
20633 * grub-core/boot/decompressor/none.c: Likewise.
20634 * grub-core/boot/decompressor/xz.c: Likewise.
20635 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
20636 * grub-core/kern/mips/cache_flush.S: Likewise.
20637 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
20638 * grub-core/kern/mips/startup.S: Move first stage to ...
20639 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
20640 nomacro.
20641 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
20642 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
20643 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
20644 Allocate statically.
20645 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
20646 Allocate statically or use scratch. Don't check CRC32.
20647 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
20648 Allocate statically. Don't check CRC32.
20649 * include/grub/decompressor.h: New file.
20650 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
20651 Removed.
20652 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
20653 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
20654 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
20655 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
20656 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
20657 * util/grub-mkimage.c (grub_compression_t): New type.
20658 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
20659 (image_target_desc): New field default_compression.
20660 (image_targets): Adjust yeeloong targets.
20661 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
20662 (compress_kernel): New parameter comp.
20663 (generate_image): Likewise. Handle new compression case.
20664 (options): New option --compression
20665 (help): Likewise.
20666 (main): Handle new option.
20667
1b655af6
GS
206682010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
20669
20670 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
20671
8f03f0b5
CW
206722010-09-22 Colin Watson <cjwatson@ubuntu.com>
20673
20674 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20675 typo in __i386__ conditional.
20676
7835dfd3
VS
206772010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20678
20679 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
20680 include.
20681
e255597e
VS
206822010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20683
6d0fa83c 20684 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
20685
20686 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
20687 new tags as supported.
20688 (acpiv2_size): New function.
20689 (grub_multiboot_get_mbi_size): Take new tags into account.
20690 (grub_multiboot_make_mbi): Add new tags.
20691 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 20692
6cc14051 206932010-09-21 Aleš Nesrsta <starous@volny.cz>
20694
20695 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
20696 Added missing configuration of USB device.
20697
df7769d8
CW
206982010-09-21 Colin Watson <cjwatson@ubuntu.com>
20699
20700 * grub-core/normal/menu_entry.c (run): Make sure we always return
20701 a value.
20702
b031012d
CW
207032010-09-21 Colin Watson <cjwatson@ubuntu.com>
20704
20705 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
20706 NumberOfPages is UINT64 according to the UEFI specification, not
20707 UINTN. Fix printf format.
20708
174de8f3
CW
207092010-09-21 Colin Watson <cjwatson@ubuntu.com>
20710
20711 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
20712 `err' to grub_usb_err_t.
20713 Reported and tested by: KESHAV P.R.
20714
d7dbe923
CW
207152010-09-21 Colin Watson <cjwatson@ubuntu.com>
20716
20717 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
20718 tpart non-const, so that we can assign to it. (Since this is a
20719 typedef, the constness refers to the pointer rather than what it
20720 points to.)
20721
8d5e2af3
CW
207222010-09-21 Colin Watson <cjwatson@ubuntu.com>
20723
20724 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
20725 $(top_srcdir)/grub-core/gnulib as well as
20726 $(top_builddir)/grub-core/gnulib.
20727 Reported by: KESHAV P.R.
20728
5c527783
CW
207292010-09-21 Colin Watson <cjwatson@ubuntu.com>
20730
20731 * util/grub-install.in: Fix the bootloader ID option to be
20732 consistently --bootloader-id, not --bootloader_id.
20733 Reported by: KESHAV P.R.
20734
d309a16e
CW
207352010-09-21 Colin Watson <cjwatson@ubuntu.com>
20736
20737 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
20738 check hash checksum." consistently translatable.
20739
b830cd16
YB
207402010-09-21 Yves Blusseau <blusseau@zetam.org>
20741
20742 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
20743 $(top_builddir).
20744
c4fe27a8
CW
207452010-09-21 Colin Watson <cjwatson@ubuntu.com>
20746
20747 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
20748 (GRUB_MOD_INIT): Register sha1sum command.
20749 (GRUB_MOD_FINI): Unregister sha1sum command.
20750
a4c1d277
YB
207512010-09-21 Yves Blusseau <blusseau@zetam.org>
20752
20753 Keep boot and grub directory names in sync with utils scripts
20754
20755 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
20756 * config.h.in: Add previous macros.
20757 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
20758 * util/grub-install.in: Use $bootdir and $grubdir variables.
20759
4eff79d2
CW
207602010-09-21 Colin Watson <cjwatson@ubuntu.com>
20761
20762 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
20763 convert partition names to disk names if the new `convert' parameter
20764 is set.
20765 (grub_util_biosdisk_get_grub_dev): If opening the disk device
20766 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
20767 disk in its own right. This can happen with Xen disk images.
20768
934d7e44
YB
207692010-09-21 Yves Blusseau <blusseau@zetam.org>
20770
20771 * util/grub-editenv.c: Update strings to avoid warnings when generating
20772 grub.pot file.
20773 * util/grub-setup.c: Likewise.
934d7e44 20774
df3367cc
VS
207752010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20776
20777 * configure.ac: Change version to 1.99~beta0.
20778
77a94e98
VS
207792010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
20780
20781 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
20782 Add BADRAM.
20783 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
20784 Likewise.
20785 * include/multiboot.h: Resynced with specification.
20786 * include/multiboot2.h: Likewise.
20787
269004c1
CW
207882010-09-21 Colin Watson <cjwatson@ubuntu.com>
20789
20790 Fix po directory handling.
20791
20792 * configure.ac: Create po/Makefile.in rather than po/Makefile.
20793 * grub-core/gnulib/Makefile.am: Import gettext module.
20794 * m4/gnulib-cache.m4: Likewise.
20795 * m4/gnulib-comp.m4: Likewise.
20796 * m4/gettext.m4: New file, from gnulib.
20797 * m4/glibc2.m4: Likewise.
20798 * m4/iconv.m4: Likewise.
20799 * m4/intdiv0.m4: Likewise.
20800 * m4/intl.m4: Likewise.
20801 * m4/intldir.m4: Likewise.
20802 * m4/intlmacosx.m4: Likewise.
20803 * m4/intmax.m4: Likewise.
20804 * m4/inttypes-pri.m4: Likewise.
20805 * m4/lcmessage.m4: Likewise.
20806 * m4/lib-ld.m4: Likewise.
20807 * m4/lib-link.m4: Likewise.
20808 * m4/lib-prefix.m4: Likewise.
20809 * m4/lock.m4: Likewise.
20810 * m4/nls.m4: Likewise.
20811 * m4/po.m4: Likewise.
20812 * m4/printf-posix.m4: Likewise.
20813 * m4/progtest.m4: Likewise.
20814 * m4/threadlib.m4: Likewise.
20815 * m4/uintmax_t.m4: Likewise.
20816 * m4/visibility.m4: Likewise.
20817 * po/Makefile.am: Remove.
20818 * po/Makefile.in.in: New file, from gettext.
20819 ($(DOMAIN).pot-update): Support POTFILES-shell.
20820 * po/Makevars: New file.
20821 * po/POTFILES-shell: Rename to ...
20822 * po/POTFILES-shell.in: ... this. Update.
20823 * po/POTFILES: Rename to ...
20824 * po/POTFILES.in: ... this. Update.
20825 * po/Rules-quot: New file, from gettext.
20826 * po/boldquot.sed: Likewise.
20827 * po/en@boldquot.header: Likewise.
20828 * po/en@quot.header: Likewise.
20829 * po/insert-header.sin: Likewise.
20830 * po/quot.sed: Likewise.
20831 * po/remove-potcdate.sin: Likewise.
20832
3e0fa5d0
VS
208332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20834
20835 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
20836
ade9bd66
VS
208372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20838
20839 * util/grub.d/20_linux_xen.in: Use submenus.
20840
fc55cc4c
VS
208412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20842
20843 Support submenus.
20844
20845 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
20846 parameter submenu. All users updated.
20847 * grub-core/normal/main.c (free_menu): Rename to ...
20848 (grub_normal_free_menu): ... this. Made global.
20849 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
20850 if requested.
20851 * grub-core/normal/menu_entry.c (screen): New field submenu.
20852 (make_screen): Set submenu.
20853 (run): Open new context if requested.
20854 * include/grub/menu.h (grub_menu_entry): New field submenu.
20855 * include/grub/normal.h (grub_normal_free_menu): New proto.
20856
600cedf7
VS
208572010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20858
20859 Menu entries extractor.
20860
20861 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
20862 variants.
20863 (GRUB_MOD_INIT): Register new variants.
20864 (GRUB_MOD_FINI): Unregister new variants.
20865 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
20866 into grub_cmd_legacy_source.
20867 (grub_cmd_legacy_source): Implement extractor variants.
20868 (GRUB_MOD_INIT): Register new variants.
20869 (GRUB_MOD_FINI): Unregister new variants.
20870 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
20871 as an extractor.
20872 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
20873 search as an extractor.
20874 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
20875 test as an extractor.
20876 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
20877 as an extractor.
20878 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
20879 (grub_env_new_context): New function.
20880 (grub_env_context_open): Likewise.
20881 (grub_env_extractor_open): Likewise.
20882 (grub_env_extractor_close): Likewise.
20883 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
20884 grub_extractor_level.
20885 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
20886 * include/grub/env.h (grub_env_extractor_open): New proto.
20887 (grub_env_extractor_close): Likewise.
20888 * include/grub/normal.h (grub_extractor_level): New external variable.
20889
7bda3a87
VS
208902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20891
20892 Make cutmem accept a region specification.
20893 Suggested by: Samuel Thibault
20894
20895 * grub-core/mmap/mmap.c (parsemem): New function.
20896 (grub_cmd_cutmem): Handle new arguments.
20897
2ea57f88
VS
208982010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20899
20900 New command cutmem.
20901
20902 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
20903 (GRUB_MOD_INIT): Register new command.
20904 (GRUB_MOD_FINI): Unregister new command.
20905
74342e31
VS
209062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20907
20908 Support some annoying BSD and Minix subpartitions.
20909
20910 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
20911 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
20912 Properly handle concatenation.
20913 * grub-core/kern/device.c (grub_device_iterate): Likewise.
20914 * grub-core/normal/completion.c (iterate_partition): Likewise.
20915 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
20916 contain partition. All users updated.
20917 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
20918 struct.
20919 (grub_openbsdlabel_partition_map): Likewise.
20920 (bsdlabel_partition_map_iterate): Rename to ..
20921 (iterate_real): ... this. New arguments sector, freebsd and pmap.
20922 (bsdlabel_partition_map_iterate): New function.
20923 (netopenbsdlabel_partition_map_iterate): Likewise.
20924 (netbsdlabel_partition_map_iterate): Likewise.
20925 (openbsdlabel_partition_map_iterate): Likewise.
20926 (GRUB_MOD_INIT): Register new partmaps.
20927 (GRUB_MOD_FINI): Unregister new partmaps.
20928 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
20929 (grub_partition_msdos_iterate): ... this. All users updated.
20930 Don't support embedding other than in a minix partition.
20931 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
20932 proto.
20933 * include/grub/partition.h (grub_partition): New field msdostype.
20934 * util/grub-install.in: Handle openbsd and netbsd types being in
20935 part_bsd module.
20936
1e8d555b
VS
209372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20938
20939 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
20940
20941 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
20942 * grub-core/Makefile.core.def (mdraid): Renamed to ...
20943 (mdraid09): ... this.
20944 (mdraid1x): New module.
20945 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
20946 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
20947
899d8af4
VS
209482010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20949
20950 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
20951 vsprintf.
20952
40901acd
CW
209532010-09-20 Colin Watson <cjwatson@ubuntu.com>
20954
20955 * grub-core/commands/efi/lsefimmap.c: Correct header.
20956 * NEWS: Update.
20957
dfe3b247
CW
209582010-09-20 Colin Watson <cjwatson@ubuntu.com>
20959
20960 * util/grub-editenv.c (argp_parser): Don't pass translated strings
20961 as printf format strings; the translations might contain '%' which
20962 could cause a crash.
20963 (main): Likewise.
20964 * util/grub-fstest.c (argp_parser): Likewise.
20965 * util/grub-setup.c (argp_parser): Likewise.
20966 (main): Likewise.
20967
3286a4b4
VS
209682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20969
20970 Use argp in grub-fstest.
20971
20972 * util/grub-fstest.c: Don't include getopt.h.
20973 Include argp.h.
20974 (root): New variable.
20975 (args_count): Likewise.
20976 (nparm): Likewise.
20977 (num_disks): Likewise.
20978 (images): Likewise.
20979 (cmd): Likewise.
20980 (debug_str): Likewise.
20981 (args): Likewise.
20982 (options): Transformed to argp.
20983 (usage): Removed.
20984 (main): Split argument parsing into ...
20985 (argp_parser): ... this. Changed to argp format.
20986 (argp): New variable.
20987 (main): Use argp_parse.
20988
3dccbe4b
TG
209892010-09-20 Tristan Gingold <gingold@free.fr>
209902010-09-20 Robert Millan <rmh.grub@aybabtu.com>
209912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20992
20993 * grub-core/commands/efi/lsefimmap.c: New file.
20994 * grub-core/Makefile.core.def (lsefimmap): New module.
20995 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
20996
38c259a7
VS
209972010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
20998
20999 Pause the execution (10s max) if any errors are displayed so the user
21000 has a chance to see them.
21001
21002 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
21003 (grub_print_error): Increment grub_err_printed_errors.
21004 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
21005 execution if any errors were displayed.
21006 (show_menu): Remove old code for pause.
21007 * grub-core/normal/menu_entry.c (run): Likewise.
21008 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
21009 users updated.
21010 (grub_normal_get_char_counter): Likewise.
21011 * include/grub/err.h (grub_err_printed_errors): New external variable.
21012 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
21013
f218b09c
VS
210142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21015
21016 Support multiboot VBE info.
21017
21018 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21019 Take VBE info into account.
21020 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
21021 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21022 Call fill_vbe_info when appropriate.
21023 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
21024 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
21025 as supported.
21026 (grub_multiboot_get_mbi_size): Take new tags into account.
21027 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
21028 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21029 Call fill_vbe_tag when appropriate.
21030 (grub_multiboot_make_mbi): Properly align tags.
21031 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
21032 function.
21033 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
21034 proto.
21035 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
21036
a9cc5438
VS
210372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21038
21039 Suport manual terminal geometry specification.
21040
21041 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
21042 Save state in grub_ofconsole_terminfo_output.
21043 (grub_ofconsole_term): Use grub_terminfo_getwh.
21044 (grub_ofconsole_getwh): Removed.
21045 * grub-core/term/serial.c (grub_serial_getwh): Removed.
21046 (grub_serial_term): Use grub_terminfo_getwh.
21047 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
21048 (options): New struct.
21049 (OPTION_*): New enum.
21050 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
21051 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
21052 width and height.
21053 (grub_terminfo_getwh): New proto.
21054 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
21055
1a8fed20
VS
210562010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21057
21058 Handle legacy "terminal" command.
21059
21060 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
21061 and FLAG_TERMINAL.
21062 (legacy_commands): Add terminal and title.
21063 (grub_legacy_parse): Handle terminal. Simplify title handling.
21064
41e9c57d
VS
210652010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21066
21067 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
21068 parameters overflow.
21069
61c874c5
CW
210702010-09-20 Colin Watson <cjwatson@ubuntu.com>
21071
21072 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
21073 widthspec.h.
21074
21075 * docs/grub.texi (Shell-like scripting): Document `!'.
21076 (Network): Simplify using new i386-pc-pxe format. Mention
21077 grub-mknetdir.
21078
21079 * NEWS: Update.
21080
943682b4
CW
210812010-09-20 Colin Watson <cjwatson@ubuntu.com>
21082
21083 * Makefile.am (SUBDIRS): Restore "."; it's important to force
21084 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
21085 when needed.
21086
6d3d698d
CW
210872010-09-20 Colin Watson <cjwatson@ubuntu.com>
21088
21089 * grub-core/commands/efi/lsefisystab.c: Correct header.
21090 * grub-core/commands/efi/lssal.c: Likewise.
21091 * grub-core/commands/testload.c: Likewise.
21092
c982589f
CW
210932010-09-20 Colin Watson <cjwatson@ubuntu.com>
21094
21095 * util/grub-mkrescue.in: Add explicit root argument to --set to
21096 prevent the UUID being interpreted as an argument to --set (matches
21097 previous change to prepare_grub_to_access_device).
21098
a63c31b6
CW
210992010-09-20 Colin Watson <cjwatson@ubuntu.com>
21100
21101 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
21102 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
21103 the verbosity of later #ifs.
21104 (find_partition_start): Define this function on FreeBSD too.
21105 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
21106 function.
21107 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
21108 on FreeBSD.
21109
6439b8ee
YB
211102010-09-20 Yves Blusseau <blusseau@zetam.org>
21111
21112 * util/grub-editenv.c: Use argp instead of getopt.
21113
c5930ec8
YB
211142010-09-20 Yves Blusseau <blusseau@zetam.org>
21115
21116 * util/grub-setup.c: Use argp instead of getopt.
21117
15c69261
YB
211182010-09-20 Yves Blusseau <blusseau@zetam.org>
21119
21120 Use gnulib-tool to create gnulib source files.
21121
21122 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
21123 grub-core/gnulib directories
21124 * .bzignore: Add **/.deps and autogenerated gnulib files
21125 * configure.ac: Assign auxiliary directory to build-aux, add invocation
21126 of gnulib macros, add grub-core/gnulib/Makefile
21127 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
21128 include m4 directory to aclocal.
21129 * Makefile.util.def: Remove direct compilation of gnulib source files
21130 and use the new grub-core/gnulib/libgnu.a.
21131 * build-aux/config.rpath: move config.rpath from top directory to
21132 build-aux
21133 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
21134 in gnulib headers
21135 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
21136 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
21137 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
21138 header.
21139 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
21140 string.
21141
e511c9f5
YB
211422010-09-20 Yves Blusseau <blusseau@zetam.org>
21143
21144 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
21145 grub-core/genmod.sh and grub-core/gensyminfo.sh
21146
c2dede05
BC
211472010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
21148
21149 Add a test for echo command options.
21150
21151 * tests/grub_cmd_echo.in: New test.
21152 * Makefile.util.def: Rules for new test.
21153
c55f5018
SJ
211542010-09-20 Szymon Janc <szymon@janc.net.pl>
21155
21156 Remove crc.mod and move crc command to hashsum.mod.
21157 Remove lib/crc.c - users updated to use gcrypt implementation.
21158
21159 * grub-core/commands/crc.c: Removed.
21160 * grub-core/Makefile.core.def (crc): Module removed.
21161 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
21162 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
21163 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
21164 * grub-core/lib/crc.c: Removed.
21165 * include/grub/lib/crc.h: Removed.
21166 * Makefile.util.def (crc): Remove lib/crc.c
21167 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
21168 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
21169 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
21170 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
21171 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
21172 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
21173
e0337366
VS
211742010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21175
21176 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
21177
742f9232
VS
211782010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21179
21180 Split config.h for util and core.
21181
21182 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
21183 (ADDR32): Likewise.
21184 (DATA32): Likewise.
21185 (BSS_START_SYMBOL): Likewise.
21186 (END_SYMBOL): Likewise.
21187 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
21188 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
21189 * config.h.in: New file.
21190 * configure.ac: Use config-util.h as config define file.
21191 Rename MACHINE into GRUB_MACHINE. All users updated.
21192 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
21193 updated.
21194 (NESTED_FUNC_ATTR): Likewise.
21195 Substitue new variables.
21196 (COND_HAVE_ASM_USCORE): New conditional.
21197 * grub-core/Makefile.am (ASM_PREFIX): New variable.
21198 (kernel_syms.lst): Use ASM_PREFIX.
21199 * grub-core/kern/emu/console.c: Include config-util.h.
21200 * grub-core/kern/emu/misc.c: Likewise.
21201 * grub-core/kern/emu/mm.c: Likewise.
21202 * include/grub/emu/misc.h: Likewise.
21203 * include/grub/libgcc.h: Likewise.
21204
39feb0e8
VS
212052010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21206
21207 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
21208 constants usage.
21209 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
21210 Fix GRUB_TERM_KEY_* constants usage.
21211 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
21212
9af6dac3
VS
212132010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21214
21215 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
21216 print pointer.
21217 * grub-core/bus/usb/uhci.c: Remove empty define.
21218 (grub_uhci_check_transfer): Add missing cast.
21219 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
21220 print pointer.
21221 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
21222 PRIuGRUB_SIZE.
21223 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
21224
d6d94820
VS
212252010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21226
21227 * grub-core/Makefile.core.def (legacycfg): Add
21228 lib/i386/pc/vesa_modes_table.c on emu.
21229
3572f2b6
BC
212302010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21231
21232 Reduce number of temporary files generated by build system.
21233
21234 * grub-core/gencmdlist.sh: Removed.
21235 * grub-core/genfslist.sh: Removed.
21236 * grub-core/genhandlerlist.sh: Removed.
21237 * grub-core/genmodsrc.sh: Removed.
21238 * grub-core/genpartmaplist.sh: Removed.
21239 * grub-core/genparttoollist.sh: Removed.
21240 * grub-core/gentermiinallist.sh: Removed.
21241 * grub-core/genvideolist.sh: Removed.
21242
21243 * grub-core/genmod.sh.in: New file.
21244 * grub-core/gensyminfo.sh.in: New file.
21245
21246 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
21247 * conf/Makefile.extra-dist: Update with new files.
21248 * gentpl.py: Remove rules related to unnecessary temporary files.
21249 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
21250 and und-* files.
21251 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
21252 genmod.sh scripts.
21253 * grub-core/bus/usb/uhci.c: Remove empty #define.
21254 * grub-core/genmoddep.awk: Updated with new syminfo format.
21255 * util/bash-completion.d/Makefile.am: Add config.log to
21256 CLEANFILES.
21257
c836b030
YB
212582010-09-19 Yves Blusseau <blusseau@zetam.org>
21259
21260 * Makefile.util.def: Add forgotten $(LIBINTL) library.
21261
2f4e8053
BC
212622010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21263
21264 * util/grub-mkconfig.in: Check the config script for syntax errors
21265 before saving.
21266
75831c34
CW
212672010-09-19 Colin Watson <cjwatson@ubuntu.com>
212682010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21269
21270 * Makefile.util.def (grub-install): Use util/grub-install.in on all
21271 platforms.
21272 * util/grub-install.in: Add EFI and IEEE1275 support.
21273 * util/i386/efi/grub-install.in: Removed.
21274 * util/ieee1275/grub-install.in: Likewise.
21275
eaf41b25
VS
212762010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21277
21278 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
21279 (grub_cmd_cmosclean): Likewise.
21280 (GRUB_MOD_INIT): Register command cmosclean.
21281 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
21282 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
21283
1a9130dd
CPE
212842010-09-18 Carles Pina i Estany <carles@pina.cat>
212852010-09-18 Aleš Nesrsta <starous@volny.cz>
212862010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21287
21288 Add keyboard layouts support.
21289
21290 * Makefile.util.def (grub-mklayout): New file.
21291 (grub-kbdcomp): New script.
21292 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
21293 Add keyboard_layouts.h.
21294 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
21295 commands/boot.c on yeeloong.
21296 (keylayouts): New module.
21297 * grub-core/bus/usb/ohci.c
21298 * grub-core/bus/usb/uhci.c
21299 * grub-core/bus/usb/usbhub.c (rescan): New variable.
21300 (grub_usb_add_hub): Poll interrupt pipe for device handling.
21301 (attach_root_port): Likewise.
21302 (poll_nonroot_hub): Likewise.
21303 (grub_usb_poll_devices): Likewise.
21304 (detach_device): Close transfer.
21305 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
21306 function.
21307 (grub_usb_bulk_setup_readwrite): Likewise.
21308 (grub_usb_bulk_finish_readwrite): Likewise.
21309 * grub-core/commands/keylayouts.c: New file.
21310 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
21311 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
21312 aliases.
21313 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
21314 support scancode 2.
21315 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
21316 * include/grub/keyboard_layouts.h: New file.
21317 * util/grub-mklayout.c: New file.
21318 * util/grub-kbdcomp.in: Likewise.
21319
a1d84a5e
VS
213202010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21321
21322 Unify memory types.
21323
21324 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
21325 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
21326 types.
21327 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
21328 (grub_upper_mem): Likewise.
21329 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
21330 * include/grub/memory.h (grub_memory_type_t): New enum.
21331 All users updated.
21332
9696382e
VS
213332010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21334
21335 * grub-core/Makefile.core.def (lsapm): New module.
21336 * grub-core/commands/i386/pc/lsapm.c: New file.
21337 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
21338 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
21339 Likewise.
21340 * include/grub/i386/pc/apm.h: New file.
21341 * include/multiboot.h (multiboot_apm_info): New struct.
21342
213432010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21344
21345 GRUB-legacy configuration file support.
21346
21347 * Makefile.util.def (grub-menulst2cfg): New util.
21348 * docs/man/grub-menulst2cfg.h2m: New file.
21349 * grub-core/Makefile.core.def (legacycfg): New module.
21350 * grub-core/commands/legacycfg.c: New file.
21351 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
21352 (grub_normal_add_menu_entry): ... this.
21353 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
21354 (grub_normal_set_password): ...this.
21355 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
21356 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
21357 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
21358 * grub-core/lib/legacy_parse.c: New file.
21359 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
21360 * include/grub/i386/pc/vesa_modes_table.h: New file.
21361 * include/grub/legacy_parse.h: Likewise.
21362 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
21363 * util/grub-menulst2cfg.c: New file.
21364
bf8d1338
CW
213652010-09-17 Colin Watson <cjwatson@ubuntu.com>
21366
21367 * grub-core/kern/emu/hostdisk.c
21368 (convert_system_partition_to_system_disk): Initialise node.
21369
9c0bad2e
CW
213702010-09-17 Colin Watson <cjwatson@ubuntu.com>
21371
21372 * grub-core/kern/emu/hostdisk.c
21373 (convert_system_partition_to_system_disk): Fix devmapper memory pool
21374 leak.
21375 Reported and based on patch by: Modestas Vainius.
21376
a939d135
CW
213772010-09-17 Colin Watson <cjwatson@ubuntu.com>
21378
21379 Fix DM-RAID probing with recent versions of device-mapper udev
21380 rules.
21381
21382 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
21383 canonicalise device paths under /dev/mapper/.
21384 (convert_system_partition_to_system_disk): Compare the
21385 uncanonicalised path to /dev/mapper/ rather than the canonicalised
21386 path, since device nodes under /dev/mapper/ are often symlinks.
21387
0f7ee3c9
YB
213882010-09-17 Yves Blusseau <blusseau@zetam.org>
21389
21390 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
21391
10854d0d
YB
213922010-09-16 Yves Blusseau <blusseau@zetam.org>
21393
21394 * configure.ac: Avoid some annoying error messages if freetype-config
21395 program is not found.
21396
108538d8
CW
213972010-09-16 Colin Watson <cjwatson@ubuntu.com>
21398
21399 Support RAID on virtio devices, and others.
21400
21401 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
21402 Rename to ...
21403 [__MINGW32__] (grub_find_device): ... this.
21404 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
21405 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
21406 reasonable default if dir is NULL.
21407 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
21408 ...
21409 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
21410 (grub_guess_root_device): Update callers.
21411 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
21412
21413 * util/raid.c (grub_util_getdiskname): Remove.
21414 (grub_util_raid_getmembers): Use grub_find_device rather than
21415 grub_util_getdiskname.
21416
e5bfc130
CW
214172010-09-16 Colin Watson <cjwatson@ubuntu.com>
21418
21419 * docs/grub.texi (serial): Remove obsolete comment about GRUB
21420 needing to be compiled with serial support.
21421 (ls): Indicate that multiple files are accepted.
21422 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
21423 indicate that multiple files are accepted.
21424
be458ae2
CW
214252010-09-16 Colin Watson <cjwatson@ubuntu.com>
21426
21427 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
21428 libgrub_a_init.c, and util/bash-completion.d/grub.
21429
cb731b5e
VS
214302010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21431
21432 * util/grub-setup.c (setup): Fix incorrect container semantics.
21433
35139e8a
VS
214342010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21435
21436 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
21437 misusage.
21438 Reported by: J. Nick Terry
21439
e50fca4a
VS
214402010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21441
21442 Move embedding routines to partmap sources files.
21443
21444 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
21445 [GRUB_UTIL]: New variable.
21446 (gpt_partition_map_iterate): Set part.parent.
21447 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
21448 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
21449 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
21450 New function.
21451 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
21452 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
21453 (grub_partition_map) [GRUB_UTIL]: New field embed.
21454 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
21455 (setup): Use ->embed.
21456
f00478b7
VS
214572010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21458
21459 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
21460 function.
21461 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
21462 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
21463
2b94e3ff
YB
214642010-09-15 Yves Blusseau <blusseau@zetam.org>
21465
21466 Add function to get completions from usage.
21467
21468 * util/bash-completion.d/grub-completion.bash.in: Add function to get
21469 completions from usage. Use LC_ALL=C to get options properly.
21470
2e04a006
VS
214712010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21472
21473 * grub-core/gnulib/basename-lgpl.c: Imported.
21474 * grub-core/gnulib/basename.c: Likewise.
21475 * grub-core/gnulib/dirname-lgpl.c: Likewise.
21476 * grub-core/gnulib/dirname.c: Likewise.
21477 * grub-core/gnulib/dirname.h: Likewise.
21478 * grub-core/gnulib/stripslash.c: Likewise.
21479
5dcdf93a
VS
214802010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21481
21482 * grub-core/gnulib/error.c: Resynced.
21483 * grub-core/gnulib/getopt.c: Likewise.
21484 * grub-core/gnulib/getopt_int.h: Likewise.
21485 * grub-core/gnulib/regex.h: Likewise.
21486 * grub-core/gnulib/regex_internal.c: Likewise.
21487 * grub-core/gnulib/regex_internal.h: Likewise.
21488
014f47b7
SJ
214892010-09-15 Szymon Janc <szymon@janc.net.pl>
21490
21491 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
21492 CRC calculations and validity checks.
21493 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
21494 calculations.
21495
dd521a4a
SJ
214962010-09-15 Szymon Janc <szymon@janc.net.pl>
21497
21498 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
21499
79c4eeb9
VS
215002010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21501
21502 Fix incorrect echo options handling.
21503 Reported by: Yves Blusseau.
21504
21505 * include/grub/command.h (grub_command_flags_t): New flags
21506 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
21507 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
21508 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
21509
ed80f7d5
VS
215102010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21511
21512 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
21513 users updated.
21514 (GRUB_COMMAND_FLAG_MENU): Likewise.
21515 (GRUB_COMMAND_FLAG_BOTH): Likewise.
21516 (GRUB_COMMAND_FLAG_TITLE): Removed.
21517 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
21518 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
21519 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
21520 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
21521 (grub_command_flags_t): New enum. All users updated.
21522
5fe7620a
SG
215232010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
21524
21525 Fix solaris compilation.
21526
21527 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
21528 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
21529 (grub-emu-list): Likewise.
21530
545b752f
VS
215312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21532
21533 Remove deprecated root command.
21534
21535 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
21536 updated.
21537
6c1a338c
VS
215382010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21539
21540 * util/i386/pc/grub-setup.c: Merge this ...
21541 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
21542 * util/grub-setup.c: ... into this.
21543 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
21544 New struct.
21545
215462010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21547
21548 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
21549 possible.
21550
d2ea4551
VS
215512010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21552
21553 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
21554 allocate p.
21555
3c3b5040
VS
215562010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21557
21558 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
21559 explicit root argument to set to prevent UUID to be interpreted as
21560 argument to set.
21561
b71c3fae
VS
215622010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21563
21564 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
21565
275433e6
VS
215662010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21567
21568 Don't export grub_gate_a20.
21569
21570 * grub-core/kern/i386/pc/init.c: Remove leftovers.
21571 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
21572 to ...
21573 (grub_gate_a20): ... this. All users updated.
21574 * include/grub/i386/pc/init.h: Removed. All users updated.
21575
a5dbb1f1
VS
215762010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21577
21578 Create euro.pf2 which supports most European languages.
21579
21580 * Makefile.am (grubdata_DATA): Add euro.pf2.
21581 (euro.pf2): New target.
21582 (CLEANFILES): Add euro.pf2.
21583
62a747cb
VS
215842010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21585
21586 * configure.ac: Disable emu-usb by default to prevent inadvertent
21587 device takeover.
21588
608e43b1
VS
215892010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21590
21591 Disable usbserial on grub-emu since our libusb code isn't good enough
21592 yet.
21593
21594 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
21595 (usbserial_pl2303): Likewise.
21596 (usbserial_ftdi): Likewise.
21597
94564f81
VS
215982010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21599
21600 * include/grub/disk.h (grub_disk): Remove has_partitions.
21601 All users updated.
21602 * disk/loopback.c (grub_loopback): Remove has_partitions.
21603 All users updated.
21604 (options): Remove partitions. All users updated.
21605 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
21606 * util/i386/pc/grub-setup.c (setup): copy partition table only when
21607 actual partition table is found.
21608
3352800b
VS
216092010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21610
21611 Remove readability checks (too many false negatives).
21612
21613 * util/grub-install.in: Remove readability checks.
21614 * util/grub-mkconfig.in: Likewise.
21615 * util/grub.d/10_hurd.in: Likewise.
21616 * util/grub.d/10_kfreebsd.in: Likewise.
21617 * util/grub.d/10_linux.in: Likewise.
21618 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
21619 way.
21620
2419f17a
VS
216212010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21622
21623 Enable acpi shutdown on all ACPI platforms.
21624
21625 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
21626 on coreboo, multiboot and EFI.
21627 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
21628 (grub_acpi_halt): Likewise.
21629 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
21630 (grub_cmd_halt): Don't call grub_acpi_halt directly.
21631 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
21632 * grub-core/lib/i386/halt.c (grub_halt)
21633 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
21634
0575c7c3
VS
216352010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21636
21637 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
21638 context.
21639
54ac3cd1
VS
216402010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21641
21642 * grub-core/video/efi_gop.c: Fix over-80-chars line.
21643 * grub-core/video/efi_uga.c: Likewise.
21644
b2a30ac5
VS
216452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21646
21647 Filter devaliases and never open same device twice.
21648
21649 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
21650 (last_ihandle): Likewise.
21651 (ofdisk_hash_ent): New member shortest.
21652 (ofdisk_hash_add): Add canonical path too.
21653 (scan): New function.
21654 (grub_ofdisk_iterate): Iterate over hashed entries.
21655 (compute_dev_path): Don't add :0.
21656 (grub_ofdisk_open): Don't really open the disk.
21657 (grub_ofdisk_close): Avoid closing unrelated disk.
21658 (grub_ofdisk_read): Implement reopen logic.
21659 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
21660 New function.
21661 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
21662 New proto.
21663
fb53b340
VS
216642010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21665
21666 Fix sparc64.
21667
21668 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
21669 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
21670 right address. Add sparc64_ieee1275_ldflags.
21671 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
21672 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
21673 to grub_host_to_target_addr
21674 (load_image): Likewise.
21675
f452b040
VS
216762010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21677
21678 * grub-core/normal/completion.c (complete_file): Handle device
21679 containing slash.
21680 Fix based on patch by Doug Nazar.
21681
9b5b2541
VS
216822010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21683
21684 grub-mknetdir script.
21685
21686 * Makefile.util.def (grub-mknetdir): New module.
21687 * tests/util/grub-shell.in: Support boot=net
21688 * util/grub-mknetdir.in: New file.
21689
9d2be652
VS
216902010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21691
21692 videoinfo on non-vbe.
21693
21694 * grub-core/Makefile.core.def (vbeinfo): Removed.
21695 (vbetest): Removed.
21696 (videoinfo): New module.
21697 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
21698 * grub-core/commands/i386/pc/vbetest.c: Removed.
21699 * grub-core/commands/videoinfo.c: New file.
21700 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
21701 specification.
21702 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
21703 as vbetest.
21704 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
21705 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
21706 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
21707 mode_number. New parameter mode. All users updated.
21708 (grub_video_gop_iterate): New function.
21709 (grub_video_efi_gop): New member iterate.
21710 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
21711 (grub_vbe_set_video_mode): Remove setting useless fields.
21712 (vbe2videoinfo): New function.
21713 (grub_video_vbe_iterate): Likewise.
21714 (grub_video_vbe_setup): Use vbe2videoinfo.
21715 (grub_video_vbe_print_adapter_specific_info): New function.
21716 (grub_video_vbe_adapter): New fields iterate and
21717 print_adapter_specific_info.
21718 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
21719 All users updated.
21720 (grub_video_mode_info): New field mode_number.
21721 (grub_video_adapter): New fields iterate and
21722 print_adapter_specific_info.
21723
179503f5
TG
217242010-09-13 Tristan Gingold <gingold@free.fr>
217252010-09-13 Robert Millan <rmh.grub@aybabtu.com>
217262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21727
21728 * grub-core/commands/efi/lsefisystab.c: New file.
21729 * grub-core/commands/efi/lssal.c: Likewise.
21730 * grub-core/Makefile.core.def (lsacpi): New module.
21731 (lsefisystab): Likewise.
21732 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
21733 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
21734 (grub_efi_sal_system_table): New struct.
21735 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
21736 (grub_efi_sal_system_table_memory_descriptor): Likewise.
21737 (grub_efi_sal_system_table_platform_features): Likewise.
21738 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
21739 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
21740 (grub_efi_sal_system_table_ap_wakeup): Likewise.
21741 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
21742
cf9827de
VS
217432010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21744
21745 Support explicit user claim that a device is BIOS-visible.
21746
21747 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
21748 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
21749 * grub-core/kern/emu/hostdisk.c
21750 (convert_system_partition_to_system_disk): Support mdX.
21751 (find_system_device): New parameter add. All users updated.
21752 (grub_util_biosdisk_is_present): New function.
21753 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
21754 proto.
21755
53f0eb1f
VS
217562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21757
21758 Search hints support.
21759
21760 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
21761 All users updated.
21762
b23ffd70
YB
217632010-09-13 Yves Blusseau <blusseau@zetam.org>
21764
21765 Bash completion script for util commands
21766
21767 * Makefile.am: Add util/bash-completion.d directory
21768 * configure.ac: Likewise.
21769 * util/bash-completion.d/Makefile.am: New file.
21770 * util/bash-completion.d/grub-completion.bash.in: Likewise.
21771
d547dc28
VS
217722010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21773
21774 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
21775 (print_backlog): set backlog_ucs4 and backlog_glyphs.
21776 Reported by: Yves Blusseau.
21777
2fc8ccb9
VS
217782010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21779
21780 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
21781 partition size and offset.
21782
d8a84076
VS
217832010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21784
21785 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
21786
84fb3b3d
VS
217872010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21788
21789 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
21790
768ec2e2
VS
217912010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21792
21793 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
21794 (grub_xvasprintf): Likewise.
21795
4870900f
VS
217962010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21797
21798 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
21799
faca6bec
VS
218002010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
21801
21802 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
21803 args ending with NULL.
21804
218052010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
21806
21807 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
21808 pointer.
21809
3c70f225
SJ
218102010-09-11 Szymon Janc <szymon@janc.net.pl>
21811
21812 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
21813
4df7996d
VS
218142010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21815
21816 Shutdown using ACPI.
21817
21818 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
21819 * grub-core/commands/acpihalt.c: New file.
21820 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
21821 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
21822 (grub_acpi_halt): New proto.
21823 (GRUB_ACPI_SLP_EN): New const.
21824 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
21825 (GRUB_ACPI_OPCODE_*): New enum.
21826 (GRUB_ACPI_EXTOPCODE_*): Likewise.
21827
126b4c32
TG
218282010-09-11 Tristan Gingold <gingold@free.fr>
218292010-09-11 Robert Millan <rmh.grub@aybabtu.com>
218302010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21831
21832 * commands/lsacpi.c: New file.
21833 * grub-core/Makefile.core.def (lsacpi): New module.
21834 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
21835 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
21836 (grub_acpi_madt_entry_header): New struct.
21837 (grub_acpi_madt): Likewise.
21838 (grub_acpi_madt_entry_interrupt_override): Likewise.
21839 (grub_acpi_madt_entry_sapic): Likewise.
21840 (grub_acpi_madt_entry_lsapic): Likewise.
21841 (grub_acpi_madt_entry_platform_int_source): Likewise.
21842 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
21843 (PRIuGRUB_UINT32_T): Likewise.
21844 (PRIxGRUB_UINT64_T): Likewise.
21845
1aa4fe88
VS
218462010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21847
21848 Implement loading palette on ieee1275_fb.
21849
21850 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
21851 (have_setcolors): Likewise.
21852 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
21853 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
21854 (grub_video_ieee1275_set_palette): Implement.
21855
25761e13
VS
218562010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
218572010-09-11 Colin Watson <cjwatson@ubuntu.com>
21858
21859 * util/grub-install.in (grub_partition): New variable.
21860 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
21861 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
21862 Fixes a bug reported by Yves Blusseau.
21863
050abaea
VS
218642010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21865
21866 Fix emu on mipsel.
21867
21868 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
21869 =grub_cpu_flush_cache on all mips and not only yeeloong.
21870 * configure.ac (COND_mips): New conditional.
21871 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
21872 platforms.
21873 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
21874 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
21875 [GRUB_LINKER_HAVE_INIT]: New function.
21876 (grub_emu_post_init): Likewise.
21877 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
21878 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
21879 * include/grub/cache.h (_mips): Include mips/cache.h.
21880 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
21881 LVM and RAID prototypes.
21882 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
21883 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
21884 function.
21885
5ed7d816
CW
218862010-09-10 Colin Watson <cjwatson@ubuntu.com>
21887
21888 * util/grub-install.in: Don't try to verify core.img until after
21889 running grub-mkimage to create it.
21890
90367e04
RM
218912010-09-10 Robert Millan <rmh@gnu.org>
21892
21893 * util/grub.d/10_hurd.in: Add misc readability checks.
21894 * util/grub.d/10_kfreebsd.in: Likewise.
21895 * util/grub.d/10_linux.in: Likewise.
21896
c452fa66
CW
218972010-09-10 Colin Watson <cjwatson@ubuntu.com>
21898
21899 * util/grub-install.in: ${imgext} won't be defined here until the
21900 install branch is merged. For the meantime, only verify core.img on
21901 i386-pc and sparc64-ieee1275 platforms.
21902
c38fe9f4
RM
219032010-09-10 Robert Millan <rmh@gnu.org>
21904
21905 Solaris support in grub_find_zpool_from_dir(). Thanks
21906 Seth Goldberg for referring to getextmntent() facility.
21907
21908 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
21909 `sys/mkdev.h'.
21910 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
21911 `<sys/mnttab.h>'.
21912 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
21913 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
21914 method for finding zpool name.
21915
905f7773
CW
219162010-09-10 Colin Watson <cjwatson@ubuntu.com>
21917
21918 grub-fstest needs the host and hostfs modules while other utilities
21919 actively require those modules to be absent, so grub-fstest needs
21920 its own initialisation and finalisation code.
21921
21922 * Makefile.am (grub_fstest.pp): New target.
21923 (grub_fstest_init.lst): Likewise.
21924 (grub_fstest_init.c): Likewise.
21925 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
21926
fb90b546
RM
219272010-09-10 Robert Millan <rmh@gnu.org>
21928
21929 * configure.ac: Check for `struct statfs.f_fstypename' and
21930 `struct statfs.f_mntfromname'.
21931
21932 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
21933 kFreeBSD-specific code.
21934
66d4bea5
RM
219352010-09-10 Robert Millan <rmh@gnu.org>
21936
21937 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
21938 on ZFS. Now non-main filesystems are supported as / too.
21939
b6a690ee
CW
219402010-09-09 Colin Watson <cjwatson@ubuntu.com>
21941
21942 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
21943 and grub-core/disk/host.c to ...
21944 (grub-fstest): ... here. Having the host disk implementation
21945 present confuses grub-probe and other utility programs.
21946
21947 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
21948 when writing to a file, not when writing to stdout.
21949
8901b00c 219502010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
21951
21952 * tests/partmap_test.in: New test for partitions.
21953 * Makefile.util.def: Rules for new test.
21954
7bf45fdd
RM
219552010-09-09 Robert Millan <rmh@gnu.org>
21956
21957 * util/grub-probe.c (probe): Fix a pair of unhandled error
21958 conditions.
21959
4dfbc574
RM
219602010-09-09 Robert Millan <rmh@gnu.org>
21961
21962 Basic Btrfs support (detection and UUID).
21963
21964 * grub-core/fs/btrfs.c: New file.
21965 * Makefile.util.def (library): Register btrfs.c.
21966 * grub-core/Makefile.core.def: Likewise.
21967
6b8e78ae
RM
219682010-09-08 Robert Millan <rmh@gnu.org>
21969
21970 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
21971 with (optional) parameters to specify device and relative path.
21972 * util/grub-install.in: Use is_path_readable_by_grub() to
21973 verify readability of a few critical files.
21974 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
21975 verify readability of grub.cfg.new.
21976
27f21a8b
VS
219772010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
21978
21979 Split minix.mod into minix.mod and minix2.mod.
21980
21981 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
21982 * grub-core/Makefile.core.def (minix2): New module.
21983 * grub-core/fs/minix.c: Use definitions instead of runtime version
21984 checking.
21985 * grub-core/fs/minix2.c: New file.
21986
c0e53ea5
YB
219872010-09-08 Yves Blusseau <blusseau@zetam.org>
21988
21989 Add new --boot-directory option to replace --root-directory
21990
21991 * util/grub-install.in: Add new --boot-directory option
21992 * util/grub-reboot.in: Likewise.
21993 * util/grub-set-default.in: Likewise.
21994
b9fe6ea2
YB
219952010-09-08 Yves Blusseau <blusseau@zetam.org>
21996
21997 * util/grub-mkconfig.in: Use new variable.
21998
d87aedff
YB
219992010-09-08 Yves Blusseau <blusseau@zetam.org>
22000
22001 * configure.ac: Define some useful variables.
22002
e55e8495
VS
220032010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22004
22005 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22006 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
22007 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
22008 Use terminfo and don't use cursor-on/cursor-off unless it's known
22009 to work.
22010 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
22011 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
22012
6fa6d675
CW
220132010-09-08 Colin Watson <cjwatson@ubuntu.com>
22014
22015 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
22016 starts with "(,", fill the drive containing the loaded image in
22017 between those two characters, but expect that a full partition
22018 specification including partition map names will follow.
22019
92f2aef0
RM
220202010-09-08 Robert Millan <rmh@gnu.org>
22021
22022 * configure.ac: Remove `--enable-grub-fstest' option.
22023 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
22024
22025 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
22026 `grub-fstest' instead of `grub-probe' for readability verification.
22027 * util/grub-probe.c (probe): Remove readability verification kludge.
22028
99fd620d
RM
220292010-09-08 Robert Millan <rmh@gnu.org>
22030
22031 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
22032 initializing `GRUB_FS'.
22033
058e30ac 220342010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
22035
22036 Not command (!) support to GRUB script.
22037
22038 * tests/grub_script_not.in: New test.
22039 * Makefile.util.def: Rules for new test.
22040
22041 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22042 ! command as a special case.
22043 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
22044
b61d05ed 220452010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22046
058e30ac 22047 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
22048 grub_free.
b61d05ed 22049
4d69c786 220502010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22051
22052 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
22053
aa3119c4 220542010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22055
22056 * docs/grub.texi (Shell-like scripting): Documentation for break,
22057 continue, shift and return commands.
22058
db0f7e3d
VS
220592010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
22060
22061 Rename CD-ROM to cd on BIOS.
22062
22063 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
22064 "cd".
22065 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
22066
88b87c93
VS
220672010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22068
22069 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
22070 * util/grub-probe.c (main): Likewise.
22071 * util/i386/pc/grub-setup.c (main): Likewise.
22072 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
22073 Reported and debugged by: alexxy
22074
294f324d
VS
220752010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22076
22077 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
22078 diagnostic info.
22079
d7ee3441
JS
220802010-09-05 Jo Shields <directhex@apebox.org>
22081
22082 * util/grub.d/30_os-prober.in: Add missing classes.
22083
d7e06c1f
VS
220842010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22085
22086 * docs/grub.texi (Theme file format): Document new position format.
22087
fc157e53
VS
220882010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22089
22090 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
22091 a table. Use @code instead of @verbatim.
22092
506e9a1c
CB
220932010-09-05 Colin D Bennett <colin@gibibit.com>
22094
22095 Gfxmenu documentation.
22096
22097 * docs/grub.texi (Theme file format): New chapter.
22098
f0aff67c
SJ
220992010-09-05 Szymon Janc <szymon@janc.net.pl>
22100
22101 * grub-core/Makefile.core.def (xzio): New module.
22102 * grub-core/io/xzio.c: New file.
22103 * grub-core/lib/xzembed/xz.h: New file (from xembed).
22104 * grub-core/lib/xzembed/xz_config.h: Likewise.
22105 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
22106 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
22107 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
22108 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
22109 * grub-core/lib/xzembed/xz_private.h: Likewise.
22110 * grub-core/lib/xzembed/xz_stream.h: Likewise.
22111 * include/grub/file.h (grub_file_filter_id): New compression filter
22112 GRUB_FILE_FILTER_XZIO.
22113
82a85062
VS
221142010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22115
22116 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
22117 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
22118 size.
22119
3579415d
VS
221202010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22121
22122 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
22123 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
22124
5124ae6d
VS
221252010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22126
22127 Uncompressed checksum support.
22128
22129 * grub-core/commands/hashsum.c (options): Add option --uncompress.
22130 (check_list): New parameter uncompress.
22131 (grub_cmd_hashsum): Handle --uncompress.
22132
9aadb3d1
VS
221332010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22134
22135 Reintroduce testload.
22136
22137 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
22138 from here ...
22139 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
22140 (GRUB_MOD_INIT): New function.
22141 (GRUB_MOD_FINI): Likewise.
22142 * grub-core/Makefile.core.def (testload): New module.
22143
a17792c3
SJ
221442010-09-05 Szymon Janc <szymon@janc.net.pl>
22145
22146 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
22147 (uint8_t): New type.
22148 (uint16_t): Likewise.
22149 (uint32_t): Likewise.
22150 (uint64_t): Likewise.
22151
b81e40a3
SJ
221522010-09-05 Szymon Janc <szymon@janc.net.pl>
22153
22154 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
22155
fc2ef117
VS
221562010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22157
22158 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
22159 Made static.
22160 (grub_gzfile_open): Removed. All users updated.
22161 (GRUB_MOD_INIT): New function.
22162 (GRUB_MOD_FINI): Likewise.
22163 * grub-core/kern/file.c (grub_file_filters_all): New variable.
22164 (grub_file_filters_enabled): Likewise.
22165 (grub_file_open): Handle filters.
22166 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
22167 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
22168 * include/grub/file.h (grub_file_filter_id_t): New type.
22169 (grub_file_filter_t): Likewise.
22170 (grub_file_filters_all): New extern variable.
22171 (grub_file_filters_enabled): Likewise.
22172 (grub_file_filter_register): New inline function.
22173 (grub_file_filter_unregister): Likewise.
22174 (grub_file_filter_disable): Likewise.
22175 (grub_file_filter_disable_compression): Likewise.
22176 * include/grub/gzio.h: Removed.
22177
35ee15e0
BC
221782010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22179
22180 Filename expansion support for wildcards in GRUB script.
22181
22182 * tests/grub_script_expansion.in: New test.
22183 * Makefile.util.def: Rule for new test.
22184
22185 * grub-core/commands/wildcard.c: New file, implements filename
22186 expansion support for GRUB script.
22187 * grub-core/Makefile.core.def: Rule update for regexp.mod.
22188 * grub-core/script/argv.c: Cosmetic changes.
22189 * grub-core/script/execute.c (grub_script_arglist_to_argv):
22190 Refactored to perform wildcard expansion on arguments.
22191 * include/grub/script_sh.h (grub_script_wildcard_translator): New
22192 struct.
22193
22194 * tests/util/grub-shell.in: Fix quoting for read input.
22195
5f0c4aca
BC
221962010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22197
22198 Support for updating environment variables with matched substrings
22199 of regexp.
22200
22201 * tests/grub_cmd_regexp.in: New test.
22202 * Makefile.util.def: Rule for new test.
22203
22204 * grub-core/commands/regexp.c: New option -s to update environment
22205 variables with regexp matches.
22206
3759a35f
SJ
222072010-09-04 Szymon Janc <szymon@janc.net.pl>
22208
22209 * include/grub/file.h (grub_file): New member not_easly_seekable.
22210 (grub_file_seekable): New inline function.
22211 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
22212 easily seekable.
22213 (grub_gzio_open): Set not_easly_seekable.
22214 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
22215 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
22216
ed8c6dec
BC
222172010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22218
22219 Support for options to appear multiple times on cmdline.
22220
22221 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
22222 * grub-core/commands/extcmd.c: Support for repeatable option.
22223 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
22224 repeatable option support.
22225
22226 Refactor menuentry into a regular command.
22227
22228 * grub-core/commands/menuentry.c: New file, menuentry command
22229 implementation.
22230 * grub-core/Makefile.core.def: Rule update for normal.mod.
22231 * grub-core/normal/main.c: Moved menuentry creation to
22232 grub-core/commands/menuentry.c.
22233 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
22234 (grub_menu_execute_entry_real): Removed.
22235 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
22236 function.
22237 (grub_script_execute_menuentry): Removed.
22238 * grub-core/script/parser.y (menuentry): Removed.
22239 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
22240 * grub-core/script/yylex.l (menuentry): Removed.
22241 * include/grub/menu.h (grub_menu_init): New prototype.
22242 (grub_menu_fini): New prototype.
22243 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
22244 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
22245 (grub_script_execute_sourcecode): New prototype.
22246
dacd0cf0
BC
222472010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22248
22249 "return" command for GRUB script functions.
22250
22251 * tests/grub_script_return.in: New test.
22252 * Makefile.util.def: Rules for new test.
22253
22254 * grub-core/script/execute.c (grub_script_return): New function.
22255 * grub-core/script/main.c: Register/unregister return commaond.
22256 * include/grub/script_sh.h (grub_script_return): New prototype.
22257
52e72f9d
BC
222582010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22259
22260 "setparams" command to update positional parameters.
22261
22262 * tests/grub_script_setparams.in: New test.
22263 * Makefile.util.def: Rules for new test.
22264
22265 * grub-core/script/argv.c (grub_script_argv_make): New function.
22266 * grub-core/script/execute.c (replace_scope): New function.
22267 (grub_script_setparams): New function.
22268 * grub-core/script/lexer.c: Remove unused variables.
22269 * grub-core/script/main.c: Register/unregister setparams command.
22270 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
22271 (grub_script_setparams): New prototype.
22272
25b60c91
BC
222732010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22274
22275 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
22276 grub_free order.
22277
37e7bf68
BC
222782010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22279
22280 Support for passing block of commands as an argument to extcmds.
22281
22282 * Makefile.util.def: Rules for new test.
22283 * tests/grub_script_blockarg.in: New test.
22284 * grub-core/tests/test_blockarg.c: New file, block argument
22285 command used in the test.
22286
22287 * include/grub/extcmd.h (grub_extcmd_context): New struct.
22288 (grub_register_extcmd_prio): New function prototype.
22289 (grub_extcmd_dispatcher): New function prototype.
22290 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
22291 type.
22292 * include/grub/script_sh.h (struct grub_script): New members
22293 `children', `next_siblings' and `refcnt' for block arguments and
22294 reference counting.
22295 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
22296 (grub_script_arg): New member `script' for block argument.
22297 (grub_script_argv): New member `script' for block argument.
22298 (grub_parser_param): New member `scripts' for block argument.
22299 (grub_script_mem_free): New extern function prototype.
22300 (grub_script_ref): New function prototype.
22301 (grub_script_unref): New function prototype.
22302
22303 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
22304 extcmd form to support block arguments.
22305 * grub-core/script/argv.c: Block arguments support.
22306 * grub-core/script/execute.c: Likewise.
22307 * grub-core/script/lexer.c: Likewise.
22308 * grub-core/script/main.c: Likewise.
22309 * grub-core/script/script.c: Likewise.
22310 * grub-core/script/parser.y: Likewise. New `block' and `block0'
22311 non-terminals.
22312
22313 * grub-core/commands/acpi.c: Update extcmd implementations with
22314 grub_extcmd_context_t.
22315 * grub-core/commands/cat.c: Likewise.
22316 * grub-core/commands/echo.c: Likewise.
22317 * grub-core/commands/extcmd.c: Likewise.
22318 * grub-core/commands/hashsum.c: Likewise.
22319 * grub-core/commands/hdparm.c: Likewise.
22320 * grub-core/commands/help.c: Likewise.
22321 * grub-core/commands/hexdump.c: Likewise.
22322 * grub-core/commands/i386/cpuid.c: Likewise.
22323 * grub-core/commands/i386/pc/drivemap.c: Likewise.
22324 * grub-core/commands/i386/pc/halt.c: Likewise.
22325 * grub-core/commands/i386/pc/sendkey.c: Likewise.
22326 * grub-core/commands/iorw.c: Likewise.
22327 * grub-core/commands/keystatus.c: Likewise.
22328 * grub-core/commands/loadenv.c: Likewise.
22329 * grub-core/commands/ls.c: Likewise.
22330 * grub-core/commands/lspci.c: Likewise.
22331 * grub-core/commands/memrw.c: Likewise.
22332 * grub-core/commands/probe.c: Likewise.
22333 * grub-core/commands/search_wrap.c: Likewise.
22334 * grub-core/commands/setpci.c: Likewise.
22335 * grub-core/commands/sleep.c: Likewise.
22336 * grub-core/disk/loopback.c: Likewise.
22337 * grub-core/hello/hello.c: Likewise.
22338 * grub-core/loader/i386/bsd.c: Likewise.
22339 * grub-core/loader/xnu.c: Likewise.
22340 * grub-core/term/gfxterm.c: Likewise.
22341 * grub-core/term/serial.c: Likewise.
22342 * grub-core/tests/lib/functional_test.c: Likewise.
22343
888d1500
BC
223442010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22345
22346 Multi-line quoted strings support.
22347
22348 * grub-core/script/lexer.c (append_newline): Removed.
22349 (grub_script_lexer_yywrap): Refactored.
22350 (grub_script_lexer_init): Refactored.
22351 * grub-core/script/yylex.l (yywrap): New function.
22352 (grub_lexer_resplit): New function.
22353 (grub_lexer_unput): New function.
22354 * include/grub/script_sh.h (grub_lexer_param): New members, unput
22355 and resplit.
22356 * tests/grub_script_echo1.in: Added few more testcases.
22357
dda060dd
VS
223582010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22359
22360 * grub-core/kern/misc.c: Don't add abort alias in utils.
22361 Reported by: echoline.
22362
6556eba9
BC
223632010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
22364
22365 Add missing files into "make dist" tarball for other platforms.
22366
22367 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
22368 * conf/Makefile.common (dist_noinst_DATA): New variable.
22369 * conf/Makefile.extra-dist: Added missing make dist files.
22370 * grub-core/Makefile.core.def: Likewise.
22371
c8e7bf5f
VS
223722010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22373
22374 Compress grub_prefix.
22375
22376 * grub-core/boot/i386/pc/lnxboot.S: Use
22377 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
22378 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
22379 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
22380 GRUB_MACHINE_PREFIX_END. All users updated.
22381 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
22382 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
22383 + 0x40.
22384 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
22385 * util/grub-mkimage.c (image_target_desc): Change data_end to
22386 prefix_end. All users updated.
22387
a7c00cdb
VS
223882010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22389
22390 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
22391 value.
22392 (grub_openbsd_boot): Likewise.
22393 (grub_netbsd_boot): Likewise.
22394 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
22395 (grub_xnu_boot): Likewise.
22396
9f915872
VS
223972010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22398
22399 * configure.ac: Clean LIBS variable after tests.
22400
efa1bee7
CW
224012010-09-02 Colin Watson <cjwatson@ubuntu.com>
22402
22403 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
22404
61d720e5
VS
224052010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22406
22407 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
22408 echo if libdevmapper will be used.
22409
ef8e0ec8
IT
224102010-09-02 Ian Turner <Ian.Turner@deshaw.com>
22411
22412 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
22413 constant for the same file.
22414
03e261d8
VS
224152010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22416
22417 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
22418
c2a4eba6
CW
224192010-09-02 Colin Watson <cjwatson@ubuntu.com>
22420
22421 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
22422 grub-core/*.pp.
22423
9056cbf3
CW
224242010-09-02 Colin Watson <cjwatson@ubuntu.com>
22425
22426 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
22427 required by the boot protocol.
22428
22429 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
22430 ebp and edi members.
22431 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
22432 state.ebp and state.edi.
22433 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
22434 %ebp and %edi according to grub_relocator32_ebp and
22435 grub_relocator32_edi respectively.
22436 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
22437 and state.edi.
22438
529cc99a
VS
224392010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22440
22441 Add i386-pc-pxe image target.
22442
22443 * util/grub-mkimage.c (image_target_desc): New enum value
22444 IMAGE_I386_PC_PXE.
22445 (image_targets): New target i386-pc-pxe.
22446 (generate_image): Handle i386-pc-pxe image.
22447
9a093920
VS
224482010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22449
22450 Fix grub_pxe_scan.
22451
22452 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
22453 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
22454 All users updated.
22455 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
22456 (grub_pxe_pxenv): Correct type.
22457
f9cefc4e
CW
224582010-09-01 Colin Watson <cjwatson@ubuntu.com>
22459
22460 * NEWS: Document most of the important changes since 1.98.
22461
4066f57f
CW
224622010-09-01 Colin Watson <cjwatson@ubuntu.com>
22463
22464 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
22465 generated manual page) a little.
22466
da2891f9
CW
224672010-09-01 Colin Watson <cjwatson@ubuntu.com>
22468
22469 * docs/grub.texi: Add myself as an author.
22470
ad717fae
VS
224712010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
22472
22473 * Makefile.util.def (libgrub.a): Add missing sunpc.
22474 Reported by: Seth Goldberg.
22475
eefe8abd
VS
224762010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22477
22478 Interrupt wrapping and code simplifications.
22479
9494ef9a
VS
22480 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
22481 x86_noieee1275 which are functionaly equivalent in this case.
22482 (grub-install): Make source on each platform explicit. Enable on
22483 all noemu.
22484 * gentpl.py (x86_efi_pc): Removed group.
22485 (x86_noefi): Likewise.
22486 (i386_noefi): Likewise.
22487 (x86_noieee1275): Likewise.
22488 (i386_noieee1275): Likewise.
22489 (i386_noefi_noieee1275): Likewise.
22490 (i386_pc_qemu_coreboot): Likewise.
22491 (i386_coreboot_multiboot): Likewise.
22492 (i386_pc_coreboot_multiboot_qemu): Likewise.
22493 (x86_noefi_mips): Likewise.
22494 (noieee1275): Likewise.
22495 (ieee1275_mips): Likewise.
22496 (noemu_noieee1275): Likewise.
22497 (cmos): New group.
22498 (usb): Likewise.
22499 (videoinkernel): Likewise.
22500 (videomodules): Likewise.
eefe8abd 22501 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
22502 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
22503 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
22504 include/grub/loader.h, include/grub/msdos_partition.h,
22505 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
22506 include/grub/machine/console.h, include/grub/machine/vga.h,
22507 include/grub/machine/vbe.h, include/grub/machine/init.h,
22508 include/grub/machine/kernel.h, include/grub/cpu/time.h,
22509 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 22510 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
22511 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
22512 * grub-core/Makefile.core.def (kernel): Explicit the source for
22513 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
22514 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
22515 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
22516 Use videoinkernel tag.
22517 (usb): Enable on all usb.
22518 (usbserial_common): Likewise.
22519 (usbserial_pl2303): Likewise.
22520 (usbserial_ftdi): Likewise.
22521 (uhci): Enable on all x86.
22522 (ohci): Enable on all pci.
22523 (cmostest): Enable on all CMOS.
22524 (acpi): Include commands/acpi.c on all platforms.
22525 (halt): Add relevant lib/*/halt.c.
22526 (hdparm): Enable on all pci.
22527 (lspci): Likewise.
22528 (usbtest): Enable on all usb.
22529 (ata): Enable on all pci.
22530 (ata_pthru): Likewise.
22531 (usbms): Enable on all usb.
22532 (usb_keyboard): Likewise.
22533 (font): Use tag videomodules.
22534 (bufio): Likewise.
22535 (datetime): Use tag cmos. Enable on all noemu.
22536 (mmap): Use tags common and x86.
22537 (gfxterm): Use tag videomodules.
22538 (bitmap): Likewise.
22539 (bitmap_scale): Likewise.
22540 (video_fb): Likewise.
22541 (video): Likewise.
22542 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
22543 adjust padding accordingly. All users updated.
22544 (grub_ohci_transaction): Fix bad format specification.
22545 (GRUB_MOD_INIT): Add asserts for struct size.
22546 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
22547 (grub_alloc_td): Likewise.
22548 (grub_free_queue): Likewise.
22549 (grub_uhci_transfer): Likewise.
22550 (grub_uhci_transaction): Fix bad format specification.
22551 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22552 (grub_usb_bulk_readwrite): Likewise.
22553 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
22554 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
22555 Made static.
22556 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
22557 Made static.
22558 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
22559 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
22560 Transformed into C.
22561 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
22562 Moved from here ...
22563 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
22564 ... here. Transformed into C. Made static.
22565 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
22566 Moved from here ...
22567 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
22568 ... here. Transformed into C. Made static.
22569 * grub-core/kern/i386/pc/startup.S
22570 (grub_biosdisk_check_int13_extensions): Moved from here ...
22571 * grub-core/disk/i386/pc/biosdisk.c
22572 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
22573 Made static.
22574 * grub-core/kern/i386/pc/startup.S
22575 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
22576 * grub-core/disk/i386/pc/biosdisk.c
22577 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
22578 Transformed into C. Made static.
22579 * grub-core/kern/i386/pc/startup.S
22580 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
22581 * grub-core/disk/i386/pc/biosdisk.c
22582 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
22583 Transformed into C. Made static.
22584 * grub-core/kern/i386/pc/startup.S
22585 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
22586 * grub-core/disk/i386/pc/biosdisk.c
22587 (grub_biosdisk_get_diskinfo_standard): ... here.
22588 Transformed into C. Made static.
22589 * grub-core/kern/i386/pc/startup.S
22590 (grub_biosdisk_get_num_floppies): Moved from here ...
22591 * grub-core/disk/i386/pc/biosdisk.c
22592 (grub_biosdisk_get_num_floppies): ... here.
22593 Transformed into C. Made static.
22594 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
22595 New function.
22596 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
22597 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
22598 Transformed into C. Made static.
22599 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
22600 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
22601 Transformed into C. Made static.
22602 * grub-core/kern/i386/ieee1275/init.c: Removed.
22603 * grub-core/kern/i386/misc.S: Likewise.
22604 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
22605 Splitted from here ...
22606 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
22607 Transformed into C. Made static. All users updated.
22608 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
22609 Transformed into C. Made static. All users updated.
22610 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
22611 Moved from here...
22612 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
22613 Transformed into C. Made static. All users updated.
22614 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
22615 Moved from here...
22616 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
22617 Transformed into C. Made static. All users updated.
22618 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
22619 Removed (replaced by C version).
22620 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
22621 Moved from here...
22622 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
22623 Transformed into C. Made static.
22624 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
22625 Moved from here...
22626 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
22627 ... here. Transformed into C.
22628 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
22629 Moved from here...
22630 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
22631 ... here. Transformed into C.
22632 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
22633 Moved from here...
22634 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
22635 ... here. Transformed into C. Made static.
22636 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
22637 Moved from here...
22638 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
22639 ... here. Transformed into C.
21ed554b
VS
22640 * grub-core/kern/i386/pc/startup.S
22641 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
22642 * grub-core/video/i386/pc/vbe.c
22643 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
22644 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
22645 Moved from here...
22646 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
22647 ... here. Transformed into C.
22648 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
22649 Moved from here...
22650 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
22651 ... here. Transformed into C.
22652 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
22653 Moved from here...
22654 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
22655 ... here. Transformed into C.
22656 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
22657 Moved from here...
22658 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
22659 ... here. Transformed into C.
22660 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
22661 Moved from here...
22662 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
22663 ... here. Transformed into C. Made static.
22664 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
22665 Moved from here...
22666 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
22667 ... here. Transformed into C. Made static.
22668 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
22669 Moved from here...
22670 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
22671 ... here. Transformed into C. Made static.
22672 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
22673 pxe_rm_entry as third argument.
22674 (grub_bios_interrupt): New function.
22675 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
22676 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
22677 of calling grub_stop.
22678 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
22679 * grub-core/lib/efi/halt.c (grub_halt): ...here.
22680 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
22681 * grub-core/lib/emu/halt.c (grub_halt): ... here.
22682 * grub-core/lib/i386/halt.c: Moved from here ...
22683 * grub-core/lib/i386/halt.c: ... here.
22684 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
22685 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
22686 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
22687 grub_stop_floppy.
22688 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
22689 * include/grub/i386/coreboot/init.h: Removed.
22690 * include/grub/i386/multiboot/init.h: Likewise.
22691 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
22692 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
22693 * include/grub/i386/pc/int.h: New file.
22694 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
22695 (grub_pxe_scan): Removed.
22696 (grub_pxe_call): Update prototype.
22697 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
22698 prototypes.
22699 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
22700 * include/grub/i386/qemu/init.h: Removed.
22701 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
22702 noreturn.
22703 (grub_halt): Likewise.
22704 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
22705 (grub_reboot): Likewise.
22706 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
22707 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
22708 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
22709
215dd471
RM
227102010-08-30 Robert Millan <rmh@gnu.org>
22711
22712 * NEWS: Document addition of ZFS support in `grub-install' and
22713 `grub-mkconfig'.
22714
ebd65b82
BC
227152010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
22716
22717 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
22718 dprintf output.
22719
11721d19
VS
227202010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22721
22722 Remove leftover embedding of font objects.
22723
22724 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22725 * util/grub-install.in (font): Removed.
22726 * util/grub-mkimage.c (generate_image): Remove font support. All users
22727 updated.
22728
37837d4e
VS
227292010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22730
22731 Remove leftover embedding of font objects.
22732
22733 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
22734 * util/grub-install.in (font): Removed.
22735 * util/grub-mkimage.c (generate_image): Remove font support. All users
22736 updated.
22737
b4c1aae0
VS
227382010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22739
22740 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 22741 Reported by: Ian Turner
b4c1aae0 22742
8920a08d
VS
227432010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22744
22745 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
22746 timeout to avoid indefinite boot stalling.
22747
f21db033
VS
227482010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22749
22750 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
22751 (grub_env_write_color_highlight): Likewise.
22752
9a9de209
VS
227532010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22754
22755 * grub-core/normal/term.c (print_more): Return to normal and not
22756 to standard state after printing "---MORE---".
22757
3dca01d7
VS
227582010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22759
22760 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
22761 Mask out the bit 0x80 since it has other meaning that specifiing color.
22762
0b986c40
VS
227632010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22764
22765 New relocator. Allows for more kernel support and more straightforward
22766 loader writing.
22767
22768 * Makefile.am (BOOTTARGET): New variable.
22769 (QEMU32): Likewise.
22770 (linux.init.x86_64): New target.
22771 (linux.init.i386): Likewise.
22772 (multiboot.elf): Likewise.
22773 (kfreebsd.elf): Likewise.
22774 (kfreebsd.aout): Likewise.
22775 (pc-chainloader.elf): Likewise.
22776 (pc-chainloader.bin): Likewise.
22777 (ntldr.elf): Likewise.
22778 (ntldr.bin): Likewise.
22779 (multiboot2.elf): Likewise.
22780 (kfreebsd.init.x86_64): Likewise.
22781 (kfreebsd.init.i386): Likewise.
22782 (knetbsd.init.i386): Likewise.
22783 (kopenbsd.init.i386): Likewise.
22784 (knetbsd.init.x86_64): Likewise.
22785 (kopenbsd.init.x86_64): Likewise.
22786 (linux-initramfs.i386): Likewise.
22787 (linux-initramfs.x86_64): Likewise.
22788 (kfreebsd-mfsroot.i386.img): Likewise.
22789 (knetbsd.image.i386): Likewise.
22790 (kopenbsd.image.i386): Likewise.
22791 (kopenbsd.image.x86_64): Likewise.
22792 (knetbsd.miniroot-image.i386.img): Likewise.
22793 (kfreebsd-mfsroot.x86_64.img): Likewise.
22794 (knetbsd.image.x86_64): Likewise.
22795 (knetbsd.miniroot-image.x86_64.img): Likewise.
22796 (kfreebsd-mfsroot.i386.gz): Likewise.
22797 (bootcheck-kfreebsd-i386): Likewise.
22798 (kfreebsd-mfsroot.x86_64.gz): Likewise.
22799 (bootcheck-kfreebsd-x86_64): Likewise.
22800 (knetbsd.miniroot-image.i386.gz): Likewise.
22801 (bootcheck-knetbsd-i386): Likewise.
22802 (bootcheck-kopenbsd-i386): Likewise.
22803 (bootcheck-kopenbsd-x86_64): Likewise.
22804 (knetbsd.miniroot-image.x86_64.gz): Likewise.
22805 (bootcheck-knetbsd-x86_64): Likewise.
22806 (bootcheck-linux-i386): Likewise.
22807 (bootcheck-linux-x86_64): Likewise.
22808 (bootcheck-linux16-i386): Likewise.
22809 (bootcheck-linux16-x86_64): Likewise.
22810 (bootcheck-multiboot): Likewise.
22811 (bootcheck-multiboot2): Likewise.
22812 (bootcheck-kfreebsd-aout): Likewise.
22813 (bootcheck-pc-chainloader): Likewise.
22814 (bootcheck-ntldr): Likewise.
22815 (CLEANFILES): Add new targets.
22816 (BOOTCHECKS): New variable.
22817 (.PHONY): Add bootchecks.
22818 (SUCCESSFUL_BOOT_STRING): New variable.
22819 (BOOTCHECK_TIMEOUT): Likewise.
22820 (bootcheck): New target
22821 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
22822 * configure.ac: Correct efiemu excuse.
22823 * docs/grub.texi (Supported kernels): New chapter.
22824 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
22825 include/grub/mm_private.h. Simplify inclusion of
22826 include/grub/boot.h, include/grub/loader.h
22827 and include/grub/msdos_partition.h
22828 (KERNEL_HEADER_FILES) [i386_coreboot]:
22829 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
22830 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
22831 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
22832 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
22833 include/grub/machine/loader.h.
22834 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
22835 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
22836 extra_dist.
22837 (pci.mod): Enable on i386-multiboot.
22838 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
22839 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
22840 i386-qemu.
22841 (relocator.mod): Rewritten.
22842 (aout.mod): Enable on all x86.
22843 (bsd.mod): Likewise.
22844 (ntldr.mod): New module.
22845 (linux.mod): Use loader/i386/linux.c on all x86.
22846 (xnu.mod): Enable on all x86.
22847 (vga_text.mod): disable on EFI and QEMU.
22848 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
22849 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
22850 * grub-core/efiemu/loadcore.c: Likewise.
22851 * grub-core/efiemu/main.c: Likewise.
22852 (grub_efiemu_exit_boot_services): Removed.
22853 (grub_efiemu_finish_boot_services): Likewise.
22854 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
22855 function.
22856 * grub-core/efiemu/i386/nocfgtables.c: New file.
22857 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
22858 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
22859 (grub_efi_finish_boot_services): Moved from here ...
22860 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
22861 Fille finish memory map and related data.
22862 (finish_mmap_buf): New variable.
22863 (grub_efi_uintn_t finish_mmap_size): Likewise.
22864 (grub_efi_uintn_t finish_key): Likewise.
22865 (grub_efi_uintn_t finish_desc_size): Likewise.
22866 (grub_efi_uint32_t finish_desc_version): Likewise.
22867 (grub_efi_is_finished): Likewise.
22868 (grub_efi_get_memory_map): Use saved memory map if EFI is already
22869 finished.
22870 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
22871 (grub_elf64_phdr_iterate): Likewise.
22872 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
22873 (grub_os_area_size): Likewise.
22874 (grub_machine_init): Don't reserve os area.
22875 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
22876 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
22877 * grub-core/kern/i386/loader.S: Removed.
22878 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
22879 (grub_os_area_size): Likewise.
22880 (grub_machine_init): Don't reserve os area.
22881 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
22882 Don't call grub_dl_unload_all.
22883 Don't include loader.S.
22884 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
22885 Declare the memory after _end as available.
22886 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 22887 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 22888 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
22889 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
22890 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
22891 * include/grub/mm_private.h (grub_mm_header): ... here.
22892 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
22893 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
22894 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
22895 (grub_mm_region): ..here. Removed addr. Added pre_size.
22896 All users updated.
22897 * grub-core/kern/mm.c (base): Renamed to ...
22898 (grub_mm_base): ... this. Made global.
22899 (grub_real_malloc): Alloc from end of region.
22900 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
22901 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
22902 * grub-core/kern/powerpc/cache_flush.S: ... here.
22903 * grub-core/lib/efi/relocator.c: New file.
22904 * grub-core/lib/i386/relocator.c: Rewritten.
22905 * grub-core/lib/i386/relocator16.S: New file.
22906 * grub-core/lib/i386/relocator32.S: Likewise.
22907 * grub-core/lib/i386/relocator64.S: Likewise.
22908 * grub-core/lib/i386/relocator_asm.S: Rewritten.
22909 * grub-core/lib/i386/relocator_common.S: New file.
22910 * grub-core/lib/ieee1275/relocator.c: Likewise.
22911 * grub-core/lib/mips/relocator.c: Rewritten.
22912 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
22913 stylistic adjustments.
22914 * grub-core/lib/powerpc/relocator.c: New file.
22915 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
22916 * grub-core/lib/relocator.c: Rewritten.
22917 * grub-core/lib/x86_64/relocator_asm.S: New file.
22918 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
22919 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
22920 (bsd_tag): New struct.
22921 (tags): New variable.
22922 (tags_last): Likewise.
22923 (netbsd_module): New struct.
22924 (netbsd_mods): New variable.
22925 (netbsd_mods_last): Likewise.
22926 (openbsd_opts): New parameter "serial".
22927 (OPENBSD_SERIAL_ARG): New definition.
22928 (netbsd_opts): New parameter "serial".
22929 (NETBSD_SERIAL_ARG): New definition.
22930 (grub_freebsd_add_meta): Reorganised into ...
22931 (grub_bsd_add_meta): ...this. All users updated.
22932 (grub_freebsd_add_mmap): Reorganised into ...
22933 (generate_e820_mmap): ...this...
22934 (grub_bsd_add_mmap): ...and this. All users updated.
22935 (grub_freebsd_list_modules): Use tags.
22936 (grub_netbsd_add_meta_module): New function.
22937 (grub_netbsd_list_modules): Likewise.
22938 (grub_freebsd_boot): Use relocator and finish EFI.
22939 (grub_openbsd_boot): Likewise.
22940 (grub_netbsd_setup_video): New function.
22941 (grub_netbsd_add_modules): Likewise.
22942 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
22943 and finish EFI.
22944 (grub_bsd_unload): Unload tags.
22945 (grub_bsd_load_aout): Use relocator.
22946 (grub_bsd_elf32_size_hook): New function.
22947 (grub_bsd_elf32_hook): Use relocator.
22948 (grub_bsd_elf64_size_hook): New function.
22949 (grub_bsd_elf64_hook): Use relocator.
22950 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
22951 (grub_bsd_load): Zero-out openbsd_ramdisk.
22952 (grub_bsd_load): Use relocator.
22953 (grub_cmd_openbsd): Support serial.
22954 (grub_cmd_netbsd): Support modules.
22955 (grub_cmd_freebsd_module): Use relocator.
22956 (grub_netbsd_module_load): New function.
22957 (grub_cmd_netbsd_module): Likewise.
22958 (grub_cmd_openbsd_ramdisk): Likewise.
22959 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
22960 kopenbsd_ramdisk.
22961 (GRUB_MOD_FINI): Unregister new commands.
22962 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
22963 (grub_freebsd_load_elfmodule_obj): Use relocator.
22964 (grub_freebsd_load_elfmodule): Likewise.
22965 (grub_freebsd_load_elf_meta): Likewise.
22966 (grub_netbsd_load_elf_meta): New function.
22967 (grub_openbsd_find_ramdisk): Likewise.
22968 * grub-core/loader/i386/bsd_helper.S: Removed.
22969 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
22970 * grub-core/loader/i386/bsd_trampoline.S: Removed.
22971 * grub-core/loader/i386/efi/linux.c: Likewise.
22972 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
22973 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
22974 (DEFAULT_VIDEO_MODE): Likewise.
22975 (real_mode_target): New variable.
22976 (prot_mode_target): Likewise.
22977 (initrd_mem_target): Likewise.
22978 (relocator): Likewise.
22979 (efi_mmap_buf): Likewise.
22980 (efi_mmap_size): Likewise.
22981 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
22982 (free_pages): Use relocator.
22983 (allocate_pages): Account for efi_mmap and use relocator. Return error.
22984 (grub_linux_setup_video): Return error.
22985 (grub_linux_trampoline_start): Removed.
22986 (grub_linux_trampoline_end): Likewise.
22987 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
22988 andd video parameters depending on firmware.
22989 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
22990 [GRUB_MACHINE_EFI]: Pass EFI parameters.
22991 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
22992 (grub_cmd_initrd): Use relocator.
22993 * grub-core/loader/i386/linux_trampoline.S: Removed.
22994 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
22995 (elf_sec_entsize): Likewise.
22996 (elf_sec_shstrndx): Likewise.
22997 (elf_sections): Likewise.
22998 (grub_multiboot_load): Use relocator.
22999 (grub_multiboot_get_mbi_size): Account for sections.
23000 (grub_multiboot_make_mbi): Use relocator and support sections.
23001 (grub_multiboot_add_elfsyms): New function.
23002 (grub_multiboot_free_mbi): Free sections.
23003 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
23004 (grub_linux_real_target): Likewise.
23005 (grub_linux_real_chunk): Likewise.
23006 (grub_linux16_prot_size): Likewise.
23007 (grub_linux16_boot): Use relocator.
23008 (grub_linux_unload): Unload relocator.
23009 (grub_cmd_linux): Use relocator.
23010 (grub_cmd_initrd): Likewise.
23011 * grub-core/loader/i386/pc/ntldr.c: New file.
23012 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
23013 Don't try to guess CPU frequency.
23014 (grub_xnu_set_video): Stretch bitmap.
23015 (grub_xnu_boot): Use relocator.
23016 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
23017 (grub_linux_unload): Free relocator.
23018 (grub_linux_load32): Use relocator.
23019 (grub_linux_load64): Likewise.
23020 (grub_cmd_initrd): Likewise.
23021 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
23022 (grub_multiboot_unload): Unload relocator.
23023 (grub_cmd_multiboot): Use relocator.
23024 (grub_cmd_module): Likewise.
23025 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
23026 Use relocator and support sections.
23027 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
23028 (elf_sec_entsize): Likewise.
23029 (elf_sec_shstrndx): Likewise.
23030 (elf_sections): Likewise.
23031 (grub_multiboot_load): Use relocator.
23032 (grub_multiboot_get_mbi_size): Account for sections.
23033 (grub_multiboot_make_mbi): Use relocator and support sections.
23034 (grub_multiboot_add_elfsyms): New function.
23035 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
23036 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
23037 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
23038 Prototype changed. All users updated.
23039 (grub_xnu_align_heap): Simplified.
23040 (grub_xnu_writetree_toheap): Likewise.
23041 (grub_xnu_unload): Unload relocator.
23042 (grub_cmd_xnu_kernel): Use relocator.
23043 (grub_cmd_xnu_kernel64): Likewise.
23044 (grub_xnu_register_memory): Simplified.
23045 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
23046 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
23047 EFI is finished.
23048 (grub_console_checkkey): Likewise.
23049 (grub_console_getkey): Likewise.
23050 (grub_console_getwh): Likewise.
23051 (grub_console_getxy): Likewise.
23052 (grub_console_gotoxy): Likewise.
23053 (grub_console_cls): Likewise.
23054 (grub_console_setcolorstate): Likewise.
23055 (grub_console_setcursor): Likewise.
23056 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
23057 * grub-core/tests/boot/kbsd.init-i386.S: New file.
23058 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
23059 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
23060 * grub-core/tests/boot/kernel-8086.S: Likewise.
23061 * grub-core/tests/boot/kernel-i386.S: Likewise.
23062 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
23063 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
23064 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
23065 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
23066 * grub-core/tests/boot/knetbsd.cfg: Likewise.
23067 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
23068 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
23069 * grub-core/tests/boot/linux.cfg: Likewise.
23070 * grub-core/tests/boot/linux.init-i386.S: Likewise.
23071 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
23072 * grub-core/tests/boot/linux16.cfg: Likewise.
23073 * grub-core/tests/boot/multiboot.cfg: Likewise.
23074 * grub-core/tests/boot/multiboot2.cfg: Likewise.
23075 * grub-core/tests/boot/ntldr.cfg: Likewise.
23076 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
23077 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
23078 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
23079 New definition.
23080 * include/grub/dl.h (grub_dl_unload_all): Removed.
23081 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
23082 (grub_efi_finish_boot_services): Change prototype.
23083 (grub_efi_is_finished): New variable.
23084 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
23085 Changed prototype.
23086 (grub_efiemu_finish_boot_services): Removed.
23087 (grub_machine_efiemu_init_tables): New prototype.
23088 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
23089 (grub_elf64_phdr_iterate): Likewise.
23090 * include/grub/i386/bsd.h: Include relocator.h.
23091 (freebsd_tag_header): New struct.
23092 (grub_openbsd_bios_mmap): Removed.
23093 (grub_unix_real_boot): Removed.
23094 (grub_freebsd_load_elfmodule32): Changed prototype.
23095 (grub_freebsd_load_elfmodule_obj64): Likewise.
23096 (grub_freebsd_load_elf_meta32): Likewise.
23097 (grub_freebsd_load_elf_meta64): Likewise.
23098 (grub_freebsd_add_meta): Removed.
23099 (grub_netbsd_load_elf_meta32): New prototype.
23100 (grub_netbsd_load_elf_meta64): Likewise.
23101 (grub_bsd_add_meta): Likewise.
23102 (grub_openbsd_ramdisk_descriptor): New struct.
23103 (grub_openbsd_find_ramdisk32): New prototype.
23104 (grub_openbsd_find_ramdisk64): Likewise.
23105 * include/grub/i386/coreboot/loader.h: Removed.
23106 * include/grub/i386/efi/loader.h: Likewise.
23107 * include/grub/i386/ieee1275/loader.h: Likewise.
23108 * include/grub/i386/linux.h (linux_kernel_header): Change void *
23109 to grub_uint32_t.
23110 * include/grub/i386/loader.h: Removed.
23111 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
23112 value.
23113 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
23114 (grub_phys_addr_t): New type.
23115 (grub_vtop): New inline function.
23116 (grub_map_memory): Likewise.
23117 (grub_unmap_memory): Likewise.
23118 * include/grub/i386/multiboot/loader.h: Removed.
23119 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
23120 (NETBSD_BTINFO_CONSOLE): New definition.
23121 (NETBSD_BTINFO_SYMTAB): Likewise.
23122 (NETBSD_BTINFO_MODULES): Likewise.
23123 (NETBSD_BTINFO_FRAMEBUF): Likewise.
23124 (grub_netbsd_bootinfo): New struct.
23125 (grub_netbsd_btinfo_common): Use explicit bitsize.
23126 (grub_netbsd_btinfo_mmap_entry): Removed.
23127 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
23128 (grub_netbsd_btinfo_bootdisk): New struct.
23129 (grub_netbsd_btinfo_symtab): Likewise.
23130 (grub_netbsd_btinfo_serial): Likewise.
23131 (grub_netbsd_btinfo_modules): Likewise.
23132 (grub_netbsd_btinfo_framebuf): Likewise.
23133 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
23134 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
23135 Likewise.
23136 (grub_openbsd_bootargs): Use explicit bitsize.
23137 (grub_openbsd_bootarg_console): New struct.
23138 (GRUB_OPENBSD_COM_MAJOR): New definition.
23139 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
23140 * include/grub/i386/pc/efiemu.h: Removed.
23141 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
23142 * include/grub/i386/qemu/loader.h: Removed.
23143 * include/grub/i386/relocator.h: Rewritten.
23144 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
23145 * include/grub/mips/memory.h: New file.
23146 * include/grub/mips/multiboot.h: Rewritten.
23147 * include/grub/mips/relocator.h: Rewritten.
23148 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
23149 (grub_vtop): New function.
23150 (grub_map_memory): Likewise.
23151 (grub_unmap_memory): Likewise.
23152 * include/grub/misc.h (ALIGN_DOWN): New definition.
23153 * include/grub/mm.h (grub_mm_check_real): New proto.
23154 (GRUB_MM_CHECK): New definition.
23155 * include/grub/mm_private.h: New file.
23156 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
23157 (grub_multiboot_get_mbi_size): Removed.
23158 (grub_multiboot_make_mbi): Change prottype.
23159 (grub_multiboot_set_accepts_video): New proto.
23160 (grub_multiboot_add_elfsyms): Likewise.
23161 (grub_multiboot_payload_eip): New variable.
23162 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
23163 New prototype.
23164 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
23165 New definition.
23166 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
23167 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
23168 * include/grub/powerpc/ieee1275/loader.h: Removed.
23169 * include/grub/powerpc/memory.h: New file.
23170 * include/grub/powerpc/relocator.h: Likewise.
23171 * include/grub/relocator.h: Likewise.
23172 * include/grub/relocator_private.h: Likewise.
23173 * include/grub/sparc64/ieee1275/loader.h: Removed.
23174 * include/grub/x86_64/memory.h: New file.
23175 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
23176 (grub_xnu_heap_malloc): Likewise.
23177 (grub_xnu_heap_real_start): Removed.
23178 (grub_xnu_heap_start): Likewise.
23179 (grub_xnu_relocator): New variable.
23180 (grub_xnu_heap_target_start): Likewise.
23181 * tests/util/grub-shell.in: Support non-pc.
23182 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 23183
5303b85d
VS
231842010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23185
23186 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
23187 on malloc error.
23188 (grub_bidi_logical_to_visual): Check that malloc succeded.
23189 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
23190 puts.
23191 (grub_xputs_normal): Likewise.
23192
d768d159
VS
231932010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23194
23195 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
23196 extra_dist.
23197
231982010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23199
23200 * grub-core/efiemu/runtime/efiemu.sh: Removed.
23201
5bf84df4
VS
232022010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23203
23204 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
23205
3626810e
VS
232062010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23207
23208 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
23209 dprintf.
23210
a7363f53
BC
232112010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
23212
23213 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
23214
902f75f6
VS
232152010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23216
23217 * grub-core/normal/term.c (print_more): Fix a memory leak.
23218 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
23219 (grub_xputs_normal): Likewise.
23220
3c707967
VS
232212010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23222
23223 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
23224 the begining of the string
23225
2053cc07
VS
232262010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23227
23228 * grub-core/script/script.c (grub_script_parse): Free parsed on
23229 failure.
23230
46422ebf
VS
232312010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23232
23233 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
23234 on failure.
23235
9e0fa3f6
VS
232362010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23237
23238 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
23239 return.
23240
3393cf16
VS
232412010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23242
23243 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
23244 (scroll_up): Fix a memory leak.
23245
b17540cb
VS
232462010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23247
23248 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
23249 errors.
23250
67140446
VS
232512010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
23252
23253 Handle USB pendrives exposed as floppies.
23254
23255 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
23256 floppy.
23257 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
23258 Check for partitions on all devices.
23259
e35e46fc
VS
232602010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23261
23262 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
23263 (readkey): Likewise.
23264
d24c6190
BC
232652010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
23266
23267 Multiple variable names support to "export" command.
23268
23269 * normal/context.c (grub_cmd_export): "export" command supports
23270 multiple variable names.
23271
04ddcc6a
ST
232722010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
23273
23274 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
23275 --target=drive output to Mach device name.
23276
0c8b61d8
BC
232772010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23278
23279 New Automake based build system for GRUB.
23280
23281 * ABOUT-NLS: New file.
23282 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
23283 in Makefile.util.def file.
23284 * Makefile.util.def: New file. Autogen build definitions file for
23285 GRUB host utils.
23286 * conf/Makefile.common: New file. Common variables for GRUB host
23287 utils and target modules.
23288 * conf/Makefile.extra-dist: New file. Extra files for make dist.
23289 * docs/Makefile.am: New file. Automake file for docs.
23290 * gentpl.py: New file. Python script to generate Autogen
23291 template.
23292 * grub-core/Makefile.am: New file. GRUB target modules' rules
23293 that doesn't fit in Makefile.core.def file.
23294 * grub-core/Makefile.core.def: New file. Autogen build
23295 definitions file for GRUB target modules.
23296 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
23297 specific setjmp.S file.
23298 * po/Makefile.am: New file.
23299
23300 * .bzrignore: New ignores.
23301 * INSTALL: New requirements, without Ruby.
23302 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
23303 * autogen.sh: Updated to invoke autogen as necessary.
23304 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
23305 and defines for Automake conditionals.
23306 * geninit.sh: Refactoring.
23307
23308 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
23309 necessary.
23310 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
23311 New prototype.
23312
23313 * include/grub/test.h: Fix functional test modules' naming.
23314 * grub-core/tests/example_functional_test.c: Fix test module name.
23315
23316 * util/misc.c: Hosted versions' of grub functions for libgrub.a
23317 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
23318 * util/grub-editenv.c: Likewise.
23319 * util/grub-fstest.c: Likewise.
23320 * util/grub-mkdevicemap.c: Likewise.
23321 * util/grub-mkfont.c: Likewise.
23322 * util/grub-mkimage.c: Likewise.
23323 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23324 * util/grub-probe.c: Likewise.
23325 * util/grub-script-check.c: Likewise.
23326 * util/i386/pc/grub-setup.c: Likewise.
23327 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23328
23329 * tests/util/grub-shell.in: Fix override directory path.
23330 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
23331 * util/import_gcry.py: Create Makefile.gcry.def file instead.
23332
23333 * util/lvm.c: Update #includes.
23334 * util/raid.c: Likewise.
23335 * util/resolve.c: Likewise.
23336 * grub-core/bus/emu/pci.c: Likewise.
23337 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
23338 * grub-core/lib/posix_wrap/string.h: Likewise.
23339 * grub-core/kern/emu/main.c: Likewise.
23340
23341 * grub-core/gensymlist.sh: New file. Script for generating kernel
23342 symbols file.
23343 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
23344
23345 * grub-core/gentrigtables.c: Fix unused variable warnings.
23346
23347 * Makefile.in: Removed.
23348 * conf/any-emu.rmk: Removed.
23349 * conf/common.rmk: Removed.
23350 * conf/i386-coreboot.rmk: Removed.
23351 * conf/i386-efi.rmk: Removed.
23352 * conf/i386-ieee1275.rmk: Removed.
23353 * conf/i386-multiboot.rmk: Removed.
23354 * conf/i386-pc.rmk: Removed.
23355 * conf/i386-qemu.rmk: Removed.
23356 * conf/i386.rmk: Removed.
23357 * conf/mips-yeeloong.rmk: Removed.
23358 * conf/mips.rmk: Removed.
23359 * conf/powerpc-ieee1275.rmk: Removed.
23360 * conf/sparc64-ieee1275.rmk: Removed.
23361 * conf/tests.rmk: Removed.
23362 * conf/x86-efi.rmk: Removed.
23363 * conf/x86_64-efi.rmk: Removed.
23364 * gendistlist.sh: Removed.
23365 * geninitheader.sh: Removed.
23366 * genkernsyms.sh.in: Removed.
23367 * genmk.rb: Removed.
23368 * gensymlist.sh.in: Removed.
23369 * mkinstalldirs: Removed.
23370 * boot: Moved ...
23371 * grub-core/boot: ... to here.
23372 * bus: Moved ...
23373 * grub-core/bus: ... to here.
23374 * commands: Moved ...
23375 * grub-core/commands: ... to here.
23376 * disk: Moved ...
23377 * grub-core/disk: ... to here.
23378 * efiemu: Moved ...
23379 * grub-core/efiemu: ... to here.
23380 * font: Moved ...
23381 * grub-core/font: ... to here.
23382 * fs: Moved ...
23383 * grub-core/fs: ... to here.
23384 * gencmdlist.sh: Moved ...
23385 * grub-core/gencmdlist.sh: ... to here.
23386 * genemuinit.sh: Moved ...
23387 * grub-core/genemuinit.sh: ... to here.
23388 * genemuinitheader.sh: Moved ...
23389 * grub-core/genemuinitheader.sh: ... to here.
23390 * genfslist.sh: Moved ...
23391 * grub-core/genfslist.sh: ... to here.
23392 * genhandlerlist.sh: Moved ...
23393 * grub-core/genhandlerlist.sh: ... to here.
23394 * genmoddep.awk: Moved ...
23395 * grub-core/genmoddep.awk: ... to here.
23396 * genmodsrc.sh: Moved ...
23397 * grub-core/genmodsrc.sh: ... to here.
23398 * genpartmaplist.sh: Moved ...
23399 * grub-core/genpartmaplist.sh: ... to here.
23400 * genparttoollist.sh: Moved ...
23401 * grub-core/genparttoollist.sh: ... to here.
23402 * genterminallist.sh: Moved ...
23403 * grub-core/genterminallist.sh: ... to here.
23404 * gentrigtables.c: Moved ...
23405 * grub-core/gentrigtables.c: ... to here.
23406 * genvideolist.sh: Moved ...
23407 * grub-core/genvideolist.sh: ... to here.
23408 * gettext: Moved ...
23409 * grub-core/gettext: ... to here.
23410 * gfxmenu: Moved ...
23411 * grub-core/gfxmenu: ... to here.
23412 * gnulib: Moved ...
23413 * grub-core/gnulib: ... to here.
23414 * hello: Moved ...
23415 * grub-core/hello: ... to here.
23416 * hook: Moved ...
23417 * grub-core/hook: ... to here.
23418 * io: Moved ...
23419 * grub-core/io: ... to here.
23420 * kern: Moved ...
23421 * grub-core/kern: ... to here.
23422 * lib: Moved ...
23423 * grub-core/lib: ... to here.
23424 * loader: Moved ...
23425 * grub-core/loader: ... to here.
23426 * mmap: Moved ...
23427 * grub-core/mmap: ... to here.
23428 * normal: Moved ...
23429 * grub-core/normal: ... to here.
23430 * partmap: Moved ...
23431 * grub-core/partmap: ... to here.
23432 * parttool: Moved ...
23433 * grub-core/parttool: ... to here.
23434 * script: Moved ...
23435 * grub-core/script: ... to here.
23436 * term: Moved ...
23437 * grub-core/term: ... to here
23438 * tests/example_functional_test.c: Moved ...
23439 * grub-core/tests/example_functional_test.c: ... to here.
23440 * tests/lib/functional_test.c: Moved ...
23441 * grub-core/tests/lib/functional_test.c: ... to here.
23442 * tests/lib/test.c: Moved ...
23443 * grub-core/tests/lib/test.c: ... to here.
23444 * video: Moved ...
23445 * grub-core/video: ... to here.
23446
645586e6
BC
234472010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23448
23449 Replace --enable-grub-emu-modules with grub-emu-lite.
23450
23451 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
23452 cache.S.
23453
23454 * include/grub/emu/misc.h (grub_emu_init): New prototype.
23455 * kern/emu/full.c: New file. For grub-emu specific initialization.
23456 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
23457 * kern/emu/main.c: Call initialization function grub_emu_init.
23458
23459 * Makefile.in: Include grub-emu-lite in install.
23460 * commands/parttool.c: Use grub_no_autoload to differentiate
23461 between grub-emu and grub-emu-lite.
23462 * include/grub/misc.h: New variable grub_no_autoload.
23463
23464 * conf/any-emu.rmk: New rules for grub-emu-lite.
23465 * configure.ac: Remove --enable-grub-emu-modules.
23466 * genmk.rb: Cleanup unnecessary rules.
23467 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
23468
23469 * normal/main.c: Don't load list files on grub-emu-lite.
23470 * util/misc.c (grub_arch_sync_caches): Removed.
23471
f86a4030
CW
234722010-08-23 Colin Watson <cjwatson@ubuntu.com>
23473
23474 * kern/mips/startup.S (grub_prefix): Update comment to refer to
23475 grub-mkimage rather than grub-mkelfimage.
23476 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
23477
06776944
VS
234782010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23479
23480 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
23481 a key after CapsLock or NumLock. It's just a qemu bug.
23482
df262419
VS
234832010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23484
23485 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
23486 needed by libusb wrapper.
23487
b40ea81b
ST
234882010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23489
23490 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
23491
dee50575
VS
234922010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23493
23494 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
23495 --nounzip is passed.
23496
fb1d7b79
VS
234972010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
23498
23499 USB hotunplugging and USB serial support.
23500
23501 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
23502 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
23503 (grub_uhci_transfer): Respect timeout and set *actual.
23504 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
23505 non-standard length.
23506 (grub_usb_device_attach): Autoload modules.
23507 (GRUB_MOD_INIT): Set grub_term_poll_usb.
23508 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
23509 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
23510 users updated.
23511 (grub_usb_add_hub): Fill nports and children.
23512 (attach_root_port): Receive hub instead of controller.
23513 All users updated. Fill hub->devices.
23514 (grub_usb_root_hub): Allocate hub->devices.
23515 (detach_device): New function.
23516 (poll_nonroot_hub): Fill children and detach devices.
23517 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
23518 actual arguments. All users updated.
23519 (grub_usb_bulk_read_extended): New function.
23520 * bus/usb/serial/common.c: New file.
23521 * bus/usb/serial/ftdi.c: Likewise.
23522 * bus/usb/serial/pl2303.c: Likewise.
23523 * commands/terminal.c (handle_command): Support wildcard.
23524 * commands/usbtest.c: Output "Unknown" instead of empty string.
23525 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
23526 (usbserial_common_mod_SOURCES): New variable.
23527 (usbserial_common_mod_CFLAGS): Likewise.
23528 (usbserial_common_mod_LDFLAGS): Likewise.
23529 (pkglib_MODULES): Add usbserial_pl2303.mod.
23530 (usbserial_pl2303_mod_SOURCES): New variable.
23531 (usbserial_pl2303_mod_CFLAGS): Likewise.
23532 (usbserial_pl2303_mod_LDFLAGS): Likewise.
23533 (pkglib_MODULES): Add usbserial_ftdi.mod.
23534 (usbserial_ftdi_mod_SOURCES): New variable.
23535 (usbserial_ftdi_mod_CFLAGS): Likewise.
23536 (usbserial_ftdi_mod_LDFLAGS): Likewise.
23537 (pkglib_MODULES): Add serial.mod.
23538 (serial_mod_SOURCES): New variable.
23539 (serial_mod_CFLAGS): Likewise.
23540 (serial_mod_LDFLAGS): Likewise.
23541 * conf/i386-pc.rmk: Likewise.
23542 * conf/mips-yeeloong.rmk: Likewise.
23543 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
23544 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23545 * disk/usbms.c (first_available_slot): New variable.
23546 (grub_usbms_attach): Don't reuse free slots due to potential cache
23547 problems.
23548 * include/grub/serial.h: Moved to ..
23549 * include/grub/ns8250.h: ...this.
23550 * include/grub/serial.h: New file.
23551 * include/grub/term.h (grub_term_poll_usb): New variable.
23552 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
23553 readkey. All users updated.
23554 (grub_terminfo_output_state): Pass term to put.
23555 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
23556 (grub_usb_controller_dev): Add timeout and actual arguments to
23557 transfer. All users updated.
23558 (grub_usb_interface): New field detach_data.
23559 (grub_usb_device): New fields children and nports.
23560 (grub_usb_ep_type_t): New type.
23561 (grub_usb_get_ep_type): New function.
23562 (grub_usb_bulk_read_extended): Likewise.
23563 * include/grub/usbdesc.h (grub_usb_desc): New type.
23564 * include/grub/usbserial.h: New file.
23565 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
23566 * kern/term.c (grub_term_poll_usb): New variable.
23567 (grub_getkey): Call grub_term_poll_usb if set.
23568 (grub_checkkey): Likewise.
23569 (grub_getkeystatus): Likewise.
23570 * term/serial.c: Moved controller-specific parts to ...
23571 * term/ns8250.c: ... here.
23572 * term/serial.c: Mostly rewritten.
23573 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
23574 according to spec.
23575
21a313de
RM
235762010-08-20 Robert Millan <rmh@gnu.org>
23577
23578 Make kFreeBSD code more generic to support ext2fs as root, ufs as
23579 a separate module and maybe other interesting combinations.
23580
23581 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
23582 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
23583 (kfreebsd_entry): Add generic filesystem module load routine.
23584 Map GRUB `ext2' to kFreeBSD `ext2fs'.
23585
63c734a6
CW
235862010-08-20 Colin Watson <cjwatson@ubuntu.com>
23587
23588 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
23589 "numcenter" (I misunderstood the purpose of this entry).
23590 * docs/grub.texi (sendkey): Likewise.
23591
c4d16542
CW
235922010-08-20 Colin Watson <cjwatson@ubuntu.com>
23593
23594 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
23595 status flag options; simply omitting the option is equivalent and
23596 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
23597 (keysym_table): Rename "num5numlock" to "numlock".
23598 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
23599 can uniformly say that only the last of multiple `sendkey'
23600 invocations has any effect.
23601 * docs/grub.texi (sendkey): New section.
23602
93541d66
CW
236032010-08-19 Colin Watson <cjwatson@ubuntu.com>
23604
23605 * commands/i386/pc/sendkey.c (options): Fix three typos.
23606
b4ece5e1
VS
236072010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
23608
23609 Implement sendkey support.
23610
23611 * commands/i386/pc/sendkey.c: New file.
23612 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
23613 (sendkey_mod_SOURCES): New variable.
23614 (sendkey_mod_CFLAGS): Likewise.
23615 (sendkey_mod_LDFLAGS): Likewise.
23616
51f1f5af
CW
236172010-08-18 Colin Watson <cjwatson@ubuntu.com>
23618
23619 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
23620 fix warnings from Autoconf.
23621
9da94e05
CW
236222010-08-18 Colin Watson <cjwatson@ubuntu.com>
23623
23624 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
23625 to avoid false positives with some assemblers that output things
23626 like "someprefix_func" as part of their output.
23627
729a0f2e
RM
236282010-08-15 Robert Millan <rmh@gnu.org>
23629
23630 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
23631 errors.
23632 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
23633 grub_get_libzfs_handle() errors.
23634
f3710e08
RM
236352010-08-14 Robert Millan <rmh@gnu.org>
23636
23637 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
23638 filesystem is not ZFS.
23639
7a3c13de
BC
236402010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23641
23642 Fix for misspelled color names defaulting to black/black (bug
23643 reported by Doug Nazar)
23644
23645 * include/grub/normal.h (grub_parse_color_name_pair): Add return
23646 status to prototype.
23647 * normal/color.c (grub_parse_color_name_pair): Return failure
23648 status.
23649 (grub_env_write_color_normal): Ignore bad color names.
23650 (grub_env_write_color_highlight): Likewise.
23651 * normal/main.c (GRUB_MOD_INIT): Set default color names.
23652
ab8ba50d
BC
236532010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23654
23655 "shift" command support to GRUB script.
23656
23657 * include/grub/script_sh.h (grub_script_shift): New prototype.
23658 * script/execute.c (grub_script_shift): New function.
23659 * script/main.c (grub_script_init): Register shift command.
23660 (grub_script_fini): Unregister shift command.
23661 * util/grub-script-check.c (grub_script_cmd_shift): New function.
23662
23663 * tests/grub_script_shift.in: New testcase.
23664 * conf/tests.rmk: Rules for new testcase.
23665
4d61999e
BC
236662010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23667
23668 "continue" command support to GRUB script.
23669
23670 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
23671 (grub_script_break): Continue support.
23672 * script/main.c (grub_script_init): Register continue command.
23673 (grub_script_fini): Unregister continue command.
23674
23675 * tests/grub_script_continue.in: New testcase.
23676 * conf/tests.rmk: Rules for new testcase.
23677
4df51e00
BC
236782010-08-12 BVK Chaitanya <bvk@dbook>
23679
23680 "break" command support to GRUB script.
23681
23682 * conf/common.rmk: Rule updates to grub-script-check.
23683 * include/grub/misc.h (grub_min): New function.
23684 * include/grub/script_sh.h (grub_script_init): New prototype.
23685 (grub_script_fini): New prototype.
23686 (grub_script_break): New prototype.
23687 * script/main.c (grub_script_init): New function.
23688 (grub_script_fini): New function.
23689 * script/execute.c (grub_script_break): New function.
23690 * normal/main.c: Calls to grub_script_{init,fini}.
23691 * util/grub-script-check.c (grub_script_break): New function.
23692
23693 * tests/grub_script_break.in: New testcase.
23694 * conf/tests.rmk: Rules for new test case.
23695
f12c8420
BC
236962010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23697
23698 Function parameters support to GRUB script.
23699
23700 * script/yylex.l (VARIABLE): Regular expression update.
23701 * script/function.c (grub_script_function_call): Moved ...
23702 * script/execute.c (grub_script_function_call): ... to here.
23703 (grub_script_execute_arglist_to_argv): Removed.
23704 (grub_script_arglist_to_argv): New function.
23705 * script/argv.c: New file.
23706 (grub_script_argv_free): New function.
23707 (grub_script_argv_next): Likewise.
23708 (grub_script_argv_append): Likewise.
23709 (grub_script_argv_split_append): Likewise.
23710 * include/grub/script_sh.h (grub_script_argv): New struct.
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
23716 * conf/common.rmk (normal.mod): New source script/argv.c.
23717
23718 * tests/grub_script_echo1.in: More tests.
23719 * tests/grub_script_vars1.in: Likewise.
23720 * tests/grub_script_functions.in: New test case.
23721 * conf/tests.rmk: Rules for new testcase.
23722
8022b748
BC
237232010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23724
23725 Remove grub_script_cmdblock struct.
23726
23727 * include/grub/script_sh.h: Remove grub_script_cmdblock.
23728 * script/parser.y: Likewise.
23729 * script/execute.c: Rename cmdblock suffix to cmdlist.
23730 * script/script.c: Likewise.
23731 * util/grub-script-check.c: Likewise.
23732
79a6ba61
YB
237332010-08-11 Yves Blusseau <blusseau@zetam.org>
23734
23735 * .bzrignore: add grub-macho2img
23736
d04b9414
VS
237372010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23738
23739 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
23740
f947ab49
VS
237412010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
23742
23743 Remove the dump of sm712 initialisation sequence.
23744
23745 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
23746 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
23747 (GRUB_VGA_IO_MISC_WRITE): Likewise.
23748 (GRUB_VGA_CR_*): Added many registers.
23749 (GRUB_VGA_SR_*): Likewise.
23750 (GRUB_VGA_GR_*): Likewise.
23751 (grub_vga_write_arx): New function.
23752 (grub_video_hw_config): New struct.
23753 (grub_vga_set_geometry): New function.
23754 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
23755 GRUB_PCI_CLASS_SUBCLASS_VGA.
23756 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
23757 * video/sm712.c (grub_sm712_write_reg): New function
23758 (grub_sm712_read_reg): Likewise.
23759 (grub_sm712_sr_write): Likewise.
23760 (grub_sm712_gr_write): Likewise.
23761 (grub_sm712_cr_write): Likewise.
23762 (grub_sm712_write_arx): Likewise.
23763 (grub_sm712_cr_shadow_write): Likewise.
23764 (grub_sm712_write_dda_lookup): Likewise.
23765 (grub_video_sm712_setup): Initialise the video rather then
23766 blindly replay the dump.
23767 (main) [TEST]: Add a routine to be able to compile as standalone for
23768 tests.
23769 * video/sm712_init.c (sm712_init): Removed.
23770 (sm712_sr_seq1): New array.
23771 (sm712_sr_seq2): Likewise.
23772
f0206638
VS
237732010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23774
23775 * include/grub/vga.h: Add missing grub/pci.h include.
23776
2764da3b
YB
237772010-08-10 Yves Blusseau <blusseau@zetam.org>
23778
23779 * util/grub-macho2img.c (main): fix typo
23780
cf0c775e
VS
237812010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
23782
23783 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
23784 (grub_vga_gr_read): Likewise.
23785 (grub_vga_cr_write): Likewise.
23786 (grub_vga_cr_read): Likewise.
23787 (grub_vga_sr_write): Likewise.
23788 (grub_vga_sr_read): Likewise.
23789 (grub_vga_palette_read): Likewise.
23790 (grub_vga_palette_write): Likewise.
23791 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
23792 (grub_sm712_sr_read): New function.
23793 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
23794 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
23795
07f360e9
RM
237962010-08-09 Robert Millan <rmh@gnu.org>
23797
23798 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
23799 out unused variables on non-ZFS build.
23800
346c2072
RM
238012010-08-08 Robert Millan <rmh@gnu.org>
23802
23803 Fix path generation for sub-filesystems in ZFS.
23804
23805 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
23806 missing slash.
23807
71175420
RM
238082010-08-08 Robert Millan <rmh@gnu.org>
23809
23810 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
23811
0d8286f3
RM
238122010-08-08 Robert Millan <rmh@gnu.org>
23813
23814 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
23815 exist, issue a proper error message (rely on `ls' for translated
23816 strings).
23817
55dd2924
RM
238182010-08-08 Robert Millan <rmh@gnu.org>
23819
23820 Fix grub-probe invocation.
23821
23822 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
23823
d3dd9e80
RM
238242010-08-04 Robert Millan <rmh@gnu.org>
23825
23826 * configure.ac: Remove checks for getfsstat() and getmntany().
23827 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
23828 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
23829 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
23830 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
23831 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
23832 function.
23833 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
23834 via find_mount_point_from_dir() and getfsstat() / getmntany().
23835
0de22aa9
RM
238362010-08-04 Robert Millan <rmh@gnu.org>
23837
23838 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23839 (grub_find_zpool_from_mount_point): Merge into ...
23840 (grub_find_zpool_from_dir): ... this.
23841 * kern/emu/misc.c: Likewise.
23842
23843 * kern/emu/misc.c
23844 (grub_make_system_path_relative_to_its_root): Replace
23845 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
23846 with grub_find_zpool_from_dir().
23847 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
23848
62858144
RM
238492010-08-04 Robert Millan <rmh@gnu.org>
23850
23851 Support OpenSolaris in ZFS device resolution.
23852
23853 * configure.ac: Check for getmntany().
23854 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
23855 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
23856 support.
23857
9dd6fd50
RM
238582010-08-03 Robert Millan <rmh@gnu.org>
23859
23860 Fix grub-emu build.
23861
23862 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
23863 * include/grub/emu/misc.h: ... here.
23864
23865 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
23866 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
23867
23868 * util/misc.c: Remove `<grub/util/libzfs.h>'.
23869 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
23870 (grub_get_libzfs_handle): Move to ...
23871 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
23872 (grub_get_libzfs_handle): ... here.
23873
c9f7ff97
BC
238742010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
23875
23876 * script/execute.c (grub_script_execute_cmdline): Check for NULL
23877 as command name case.
23878
a870a783
CW
238792010-08-02 Colin Watson <cjwatson@ubuntu.com>
23880
23881 * disk/raid.c (insert_array): Select unique numbers for named arrays
23882 as well, for use as keys in the disk cache.
23883
c7db243b
RM
238842010-08-01 Robert Millan <rmh@gnu.org>
23885
23886 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
23887 kFreeBSD device name, except on ZFS where the filesystem label is
23888 used.
23889 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
23890 `/boot/zfs/zpool.cache'.
23891 Set mountfrom kernel variable using ${kfreebsd_device}.
23892
f7abdefb
RM
238932010-08-01 Robert Millan <rmh@gnu.org>
23894
23895 Make it even harder to use uninitialized `libzfs_handle' (and
23896 make the interface a bit simpler).
23897
23898 * include/grub/util/misc.h (grub_util_init_libzfs)
23899 (libzfs_handle): Remove.
23900 (grub_get_libzfs_handle): New prototype.
23901
23902 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
23903 attribute.
23904 (grub_util_init_libzfs): Remove.
23905 (grub_get_libzfs_handle): New function.
23906
23907 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
23908 grub_get_libzfs_handle() to obtain a libzfs handle instead of
23909 accessing `libzfs_handle' directly.
23910
c882acc0
RM
239112010-08-01 Robert Millan <rmh@gnu.org>
23912
23913 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23914 (grub_find_zpool_from_mount_point): New function prototypes.
23915
23916 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
23917 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
23918
23919 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
23920 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
23921 `static' attribute.
23922
23923 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
23924 finding zpool from mount point into ...
23925 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
23926
23927 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
23928 requested path is part of a ZFS pool, use
23929 grub_find_zpool_from_mount_point() to detect its filesystem name,
23930 and generate a path with `/fsname@path' syntax.
23931
8bfe31d8
CW
239322010-08-01 Colin Watson <cjwatson@ubuntu.com>
23933
23934 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
23935 (void) rather than () so that this is a proper prototype.
23936
553df63d
VS
239372010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23938
23939 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
23940
8687cf07
VS
239412010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23942
23943 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
23944 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
23945
ea9be8ea
CW
239462010-08-01 Colin Watson <cjwatson@ubuntu.com>
23947
23948 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
23949
6eea041a
CW
239502010-08-01 Colin Watson <cjwatson@ubuntu.com>
23951
23952 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
23953
2cfb45df
CW
239542010-08-01 Colin Watson <cjwatson@ubuntu.com>
23955
23956 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
23957 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
23958 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
23959 disable gfxpayload.
23960 (Shell-like scripting): Add real content.
23961 (Serial terminal): Suggest `terminal_input serial; terminal_output
23962 serial' rather than putting the two commands on separate lines,
23963 since console input will be inoperative after the first command.
23964 (menuentry): Document --class, --users, and --hotkey options.
23965 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
23966 Vladimir Serbinenko).
23967
7decd202
VS
239682010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
239692010-08-01 Colin Watson <cjwatson@ubuntu.com>
23970
23971 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
23972
c882acc0
RM
239732010-08-01 Robert Millan <rmh@gnu.org>
23974
23975 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
23976 (grub_find_zpool_from_mount_point): New function prototypes.
23977
23978 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
23979 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
23980
23981 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
23982 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
23983 `static' attribute.
23984
23985 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
23986 finding zpool from mount point into ...
23987 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
23988
23989 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
23990 requested path is part of a ZFS pool, use
23991 grub_find_zpool_from_mount_point() to detect its filesystem name,
23992 and generate a path with `/fsname@path' syntax.
23993
deb0caa3
RM
239942010-08-01 Robert Millan <rmh@gnu.org>
23995
23996 Prevent accidental use of uninitialized libzfs_handle.
23997
23998 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
23999 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
24000 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
24001
ce04ef47
CW
240022010-08-01 Colin Watson <cjwatson@ubuntu.com>
24003
24004 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
24005 util/grub.d/10_linux.in). Fixes Debian bug #591093.
24006
ebf53056
RM
240072010-08-01 Robert Millan <rmh@gnu.org>
24008
24009 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 24010
3710bb6b
RM
240112010-07-31 Robert Millan <rmh@gnu.org>
24012
24013 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
24014
8072efeb
RM
240152010-07-31 Robert Millan <rmh@gnu.org>
24016
24017 * kern/emu/misc.c: Add missing license header.
24018
3169f4c7
RM
240192010-07-31 Robert Millan <rmh@gnu.org>
24020
24021 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
24022
24023 * include/grub/util/libnvpair.h: Include `<config.h>'.
24024 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
24025 declaring libnvpair prototypes ourselves.
24026 * include/grub/util/libzfs.h: Include `<config.h>'.
24027 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
24028 declaring libzfs prototypes ourselves.
24029
24030 (libzfs_handle): Moved to ...
24031 * include/grub/util/misc.h (libzfs_handle): ... here.
24032 Include `<grub/util/libzfs.h>'.
24033
c9a00aee
RM
240342010-07-30 Robert Millan <rmh@gnu.org>
24035
24036 * include/grub/emu/misc.h: Add missing license header.
24037
a184f9c8
RM
240382010-07-30 Robert Millan <rmh@gnu.org>
24039
24040 Enable `grub-probe -t device' resolution on ZFS.
24041
24042 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
24043 * include/grub/util/libnvpair.h: New file.
24044 * include/grub/util/libzfs.h: New file.
24045
24046 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
24047 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
24048 `<grub/util/libnvpair.h>'.
24049 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
24050
24051 (find_mount_point_from_dir): New static function.
24052 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
24053 function.
24054 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
24055 find_root_device_from_libzfs() before ressorting to find_root_device().
24056
24057 * include/grub/util/misc.h (grub_util_init_libzfs): New function
24058 prototype.
24059 * util/misc.c: Include `<grub/util/libzfs.h>'.
24060 (grub_util_init_libzfs): New function.
24061 [HAVE_LIBZFS] (libzfs_handle): New global variable.
24062 [HAVE_LIBZFS] (fini_libzfs): New static function.
24063 (grub_util_init_libzfs): New function.
24064 * util/grub-probe.c (main): Call grub_util_init_libzfs().
24065
f7790cdd
RM
240662010-07-30 Robert Millan <rmh@gnu.org>
24067
24068 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
24069 (xmalloc, xrealloc, xstrdup, xasprintf): Add
24070 `warn_unused_result' attribute.
24071 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
24072 (grub_xasprintf, grub_xvasprintf): Likewise.
24073 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
24074
0806b63c
RM
240752010-07-29 Robert Millan <rmh@gnu.org>
24076
24077 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
24078 (probe): Handle `PRINT_FS_LABEL'.
24079 (main): Handle `-t fs_label'.
24080
9f841f5c
RM
240812010-07-29 Robert Millan <rmh@gnu.org>
24082
24083 * configure.ac: Remove grub-mkisofs checks.
24084
46371121
VS
240852010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
24086
24087 * util/ieee1275/grub-install.in: Don't use empty grub_device.
24088 Reported by: Lennart Sorensen.
24089
240902010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24091
24092 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
24093 prior to terminal_input/terminal_output separation. It's been over 1.5
24094 years and those versions weren't widely deployed.
24095
a9600892
CW
240962010-07-22 Colin Watson <cjwatson@ubuntu.com>
24097
24098 * disk/raid.c (insert_array): Don't count named arrays when looking
24099 for unused array numbers.
697e053c 24100 Reported and tested by: Michael Guntsche.
a9600892 24101
c03507df
CW
241022010-07-20 Colin Watson <cjwatson@ubuntu.com>
24103
24104 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
24105 implementation of this so that grub-emu links again, with a note
24106 that this should support hotplugging in the future.
24107
b26f1c11
CW
241082010-07-20 Colin Watson <cjwatson@ubuntu.com>
24109
24110 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24111
efc9d7f1
CW
241122010-07-20 Colin Watson <cjwatson@ubuntu.com>
24113
24114 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
24115 handle on failure.
24116 (grub_loopback_close): Remove empty function.
24117 (grub_loopback_dev): Remove close method.
24118
dd8ff5c9
CW
241192010-07-20 Colin Watson <cjwatson@ubuntu.com>
24120
24121 Disable EFI cursor when the EFI console becomes inactive.
24122
24123 * term/efi/console.c (grub_efi_console_init): New function.
24124 (grub_efi_console_fini): New function.
24125 (grub_console_term_output): Register init and fini methods.
24126
5e3bec67
VS
241272010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24128
24129 * tests/util/grub-shell-tester.in: Remove bashism and declare as
24130 sh script.
24131
afaec079
VS
241322010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24133
24134 * disk/loopback.c (grub_loopback): Replace filename with file.
24135 (delete_loopback): Handle new semantics.
24136 (grub_cmd_loopback): Likewise.
24137 (grub_loopback_iterate): Likewise.
24138 (grub_loopback_close): Likewise.
24139
a6a11f3c
VS
241402010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24141
24142 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
24143 with -p "".
24144 Reported by: Tito Keitel.
24145
64a638b0
VS
241462010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24147
24148 * docs/grub.texi (Naming convention): Document new naming convention.
24149
ab8ba957
VS
241502010-07-20 Vadim Solomin <vadic052@gmail.com>
241512010-07-20 Colin Watson <cjwatson@ubuntu.com>
24152
24153 Generate device.map in something closer to the old ordering.
24154
24155 * util/deviceiter.c (struct device): New declaration.
24156 (compare_file_names): Rename to ...
24157 (compare_devices): ... this. Sort by kernel name in preference to
24158 the stable by-id name, but keep the latter as a fallback comparison.
24159 Update header comment.
24160 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
24161 of `struct device' rather than of plain file names.
24162
a29d6a4b
TF
241632010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
24164
24165 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
24166 on i386.
24167
39d824e8
VS
241682010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24169
24170 * commands/acpi.c (setup_common_tables): Use sizeof instead of
24171 hardcoding size.
24172 (setv1table): Likewise.
24173
f058276b
FZ
241742010-07-20 Colin Watson <cjwatson@ubuntu.com>
24175
24176 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
24177 removing the homehost if present.
24178 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
24179 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
24180 removing the homehost if present.
24181 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
24182 if possible.
24183 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
24184
24185 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
24186 parameter. Set its pointer target to 0.
24187 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
24188 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
24189 `data_offset' value from the superblock for 1.x metadata.
24190 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
24191 data on the device.
24192 (insert_array): Record the start sector of data on the device.
24193 (grub_raid_register): Pass start_sector parameters to
24194 grub_raid_list->detect and insert_array.
24195 * include/grub/raid.h (struct grub_raid_array): Add start_sector
24196 member.
24197 (struct grub_raid): Add start_sector parameter to `detect'.
24198
24199 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
24200 __attribute__ ((packed)), leaving a comment.
24201 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
24202 (grub_mdraid_detect_09): ... here and ...
24203 (grub_mdraid_detect_1x): ... here.
24204
242052010-07-20 Peter Henn <peter.henn@web.de>
24206
24207 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
24208 chunk size and disk size, which are already given as sector counts
24209 as distinct from the 0.90 units. Fetch the correct device number
24210 from the role table instead of using the table index.
24211
242122010-07-20 Felix Zielcke <fzielcke@z-51.de>
24213
24214 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
24215 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
24216 (WriteMostly1): New macro.
24217 Set array->name to NULL for metadata format 0.90. Add support for
24218 metadata 1.x. Fix some comments.
24219 * disk/raid.c (): Add support for name based RAID arrays. Fix a
24220 few comments.
24221 * util/getroot.c (grub_util_get_grub_dev): Add support for
24222 /dev/md/name style devices.
24223
4b761da9
CW
242242010-07-20 Colin Watson <cjwatson@ubuntu.com>
24225
24226 * .bzrignore: Ignore 20_linux_xen.
24227
5771289a
CW
242282010-07-17 Colin Watson <cjwatson@ubuntu.com>
24229
24230 * util/import_unicode.py: Remove unnecessary imports.
24231
5dab68df
AN
242322010-07-17 Aleš Nesrsta <starous@volny.cz>
24233
24234 Hotplugging and USB hub support.
24235
24236 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
24237 (grub_ohci): Likewise.
24238 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
24239 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
24240 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
24241 (GRUB_OHCI_CTRL_EDS): Likewise.
24242 (GRUB_OHCI_BULK_EDS): Likewise.
24243 (GRUB_OHCI_TDS): Likewise.
24244 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
24245 (grub_ohci_ed_phys2virt): New function.
24246 (grub_ohci_virt_to_phys): Likewise.
24247 (grub_ohci_td_phys2virt): Likewise.
24248 (grub_ohci_td_virt2phys): Likewise.
24249 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
24250 attachment.
24251 (grub_ohci_find_ed): New function.
24252 (grub_ohci_alloc_td): Likewise.
24253 (grub_ohci_free_td): Likewise.
24254 (grub_ohci_free_tds): Likewise.
24255 (grub_ohci_transfer): Use previously allocated memory.
24256 (grub_ohci_portstatus): Reset status changed bit.
24257 (grub_ohci_detect_dev): Supply status changed.
24258 (grub_ohci_fini_hw): Free memory.
24259 (grub_ohci_restore_hw): Reallocate memory.
24260 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
24261 Reset status change.
24262 (grub_uhci_detect_dev): Supply status_change.
24263 * bus/usb/usb.c (attach_hooks): New var.
24264 (grub_usb_device_attach): New function.
24265 (grub_usb_register_attach_hook_class): Likewise.
24266 (grub_usb_unregister_attach_hook_class): Likewise.
24267 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
24268 (grub_usb_add_hub): Reset connection changed bit.
24269 (attach_root_port): New function.
24270 (grub_usb_root_hub): Likewise.
24271 (poll_nonroot_hub): Likewise.
24272 (grub_usb_poll_devices): Likewise.
24273 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
24274 * disk/usbms.c (grub_usbms_open): Use device hooks.
24275 (grub_usbms_iterate) :Poll devices.
24276 (grub_usbms_finddevs): Split into ...
24277 (grub_usbms_attach): ... this ...
24278 (grub_usbms_attach): ... and this.
24279 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
24280 in detect_dev.
24281 (grub_usb_interface): New fields attached and detach_hook.
24282 (grub_usb_attach_hook_class): New type.
24283 (grub_usb_attach_desc): New struct.
24284 (grub_usb_register_attach_hook_class): New function.
24285 (grub_usb_unregister_attach_hook_class): Likewise.
24286 (grub_usb_poll_devices): Likewise.
24287 (grub_usb_device_attach): Likewise.
24288 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
24289 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
24290
3222efaf
VS
242912010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24292
24293 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
24294 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
24295 delta determination style. Works with most NetBSD partitions too.
24296
139b714a
VS
242972010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24298
24299 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
24300 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
24301
986aad56
VS
243022010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24303
24304 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
24305
99be513c
AB
243062010-07-14 Anton Blanchard <anton@samba.org>
24307
24308 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
24309 ET_DYN files.
24310
18075f62
GS
243112010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24312
24313 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
24314
8d9a5b15
GS
243152010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24316
24317 * kern/partition.c (grub_partition_check_containment): New function to
24318 check that a partition is physically contained in a parent. Since
24319 offsets are relative (and non-negative), this reduces to checking that
24320 the partition ends before its parent.
24321 (grub_partition_map_probe): Discard out-of-range sub-partitions.
24322 (grub_partition_iterate): Likewise.
24323 * include/grub/partition.h (grub_partition_map): Slightly more detailed
24324 comments.
24325 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
24326 partitions that start before their parent, and add debug printfs.
24327
19563c25
CW
243282010-07-13 Colin Watson <cjwatson@ubuntu.com>
24329
24330 * Makefile.in (.SUFFIX): Spell correctly, as ...
24331 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
24332 bare module name without `.mod', e.g. `test') tried to invoke a
24333 Modula-2 compiler.
24334
1a1f1e67
CW
243352010-07-13 Colin Watson <cjwatson@ubuntu.com>
24336
24337 * README: Point to the Info manual.
24338
811b0dca
JS
243392010-07-13 Jiro SEKIBA <jir@unicus.jp>
24340
24341 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
24342 2nd superblock position from partition size.
24343
e4f4eafc
CW
243442010-07-10 Colin Watson <cjwatson@ubuntu.com>
24345
24346 * Makefile.in (MAINTAINER_CLEANFILES): Remove
24347 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
24348 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
24349 outputs.
24350
4274c30f
VS
243512010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24352
24353 Restructure SCSI .id handling.
24354 Reported and tested by: Aleš Nesrsta.
24355
24356 * disk/ata.c (grub_atapi_close): Removed. All users updated.
24357 (grub_atapi_dev): Changed .name to "ata". New field .id.
24358 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
24359 (grub_usbms_dev): New field .id.
24360 * disk/scsi.c (grub_scsi_iterate): Generate name.
24361 (grub_scsi_open): Parse name.
24362 * include/grub/scsi.h (grub_make_scsi_id): New function.
24363 (grub_scsi_dev): Change iterate and open to number instead of naming
24364 busses. All users updated.
24365 (grub_scsi): Remove name. Add .bus.
24366
5bc24388
VS
243672010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24368
24369 * commands/help.c (grub_cmd_help): Fix a typo.
24370
249975ba
VS
243712010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24372
24373 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
24374 Reported and tested by: Colin Watson.
24375
3eaac1a1
VS
243762010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24377
24378 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
24379 in this context.
24380
becce1b1
VS
243812010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
24382
24383 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
24384
f7bf0918
CW
243852010-07-07 Colin Watson <cjwatson@ubuntu.com>
24386
24387 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
24388 indentation.
24389
0b0f9620
CW
243902010-07-06 Colin Watson <cjwatson@ubuntu.com>
24391
24392 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
24393 and disk/raid6_recover.c.
24394 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24395 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24396
1e545469
CW
243972010-07-06 Colin Watson <cjwatson@ubuntu.com>
24398
24399 * term/gfxterm.c (repaint_schedulded): Rename to ...
24400 (repaint_scheduled): ... this. Update all callers.
24401 (repaint_was_schedulded): Rename to ...
24402 (repaint_was_scheduled): ... this. Update all callers.
24403
5357687a
CW
244042010-07-06 Colin Watson <cjwatson@ubuntu.com>
24405
24406 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
24407 which we expect to be handled by upper layers.
24408
29d7e783
BC
244092010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
24410
24411 * bus/usb/usbhub.c: #include time.h header.
24412
37582066
CW
244132010-07-06 Colin Watson <cjwatson@ubuntu.com>
24414
24415 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
24416 entry_name also for entries without stat blocks (e.g. ".."); fixes
24417 corruption of the first entry in a directory.
24418
c8c06953
CW
244192010-07-06 Colin Watson <cjwatson@ubuntu.com>
24420
24421 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
24422 after setting gfxterm as the active terminal. GRUB_BACKGROUND
24423 doesn't work otherwise.
24424
e75056f1
CW
244252010-07-05 Colin Watson <cjwatson@ubuntu.com>
24426
24427 * docs/grub.texi (Features): Update list of supported file systems.
24428 (GNU/Linux): Update for GRUB 2.
24429 (Serial terminal): Remove mention of --disable-serial, which was a
24430 GRUB Legacy configure option. Update instructions to use
24431 `terminal_input' and `terminal_output' rather than `terminal'.
24432 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
24433 configuration' and `Installing GRUB using grub-install'.
24434 (Menu entry editor): Update for GRUB 2.
24435 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
24436 Document new -a, -u, and -v options.
24437 (initrd): New section.
24438 (initrd16): New section.
24439 (linux): New section.
24440 (linux16): New section.
24441 (search): The `var' argument to `--set' is optional.
24442 (GRUB only offers a rescue shell): Go into a little more detail on
24443 drive ordering.
24444
5cf69151
CW
244452010-07-05 Colin Watson <cjwatson@ubuntu.com>
24446
24447 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
24448
e3f90044
CW
244492010-07-05 Colin Watson <cjwatson@ubuntu.com>
24450
24451 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
24452 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
24453
38d8f4f3
CW
244542010-07-05 Colin Watson <cjwatson@ubuntu.com>
24455
24456 * util/i386/pc/grub-setup.c (setup): Rename prefix to
24457 install_prefix, in line with install_dos_part and install_bsd_part.
24458 Add new prefix variable, which is copied to install_prefix after
24459 comparing core.img in memory with the one read from disk in the
24460 no-embedding case, and use that rather than overwriting
24461 install_prefix immediately when installing to a partition.
24462 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
24463 Bicakci.
24464
57ebd41e
GS
244652010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24466
24467 * configure.ac: Avoid == in test command, it's not portable.
24468 * util/grub.d/30_os-prober.in: Likewise.
24469
cb7f64b2
CW
244702010-07-04 Colin Watson <cjwatson@ubuntu.com>
24471
24472 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
24473
6b654bb0
GS
244742010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24475
24476 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
24477 multiple (top-level) partmaps.
24478
72a2026d
VS
244792010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24480
24481 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 24482 Reported by: Tino Keitel.
72a2026d 24483
df3eb88f
VS
244842010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24485
24486 Bidi and diacritics support.
24487
24488 * Makefile.in (widthspec.bin): New target.
24489 (widthspec.h): Likewise.
24490 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
24491 * autogen.sh: Generate unidata.c.
24492 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
24493 * commands/ls.c (grub_ls_list_devices): Likewise.
24494 (grub_ls_list_files): Likewise.
24495 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
24496 (grub_mini_cmd_lsmod): Likewise.
24497 * commands/read.c: Likewise.
24498 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
24499 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
24500 * lib/arg.c (grub_arg_show_help): Likewise.
24501 * lib/crypto.c (grub_password_get): Likewise.
24502 * normal/auth.c (grub_username_get): Likewise.
24503 * normal/misc.c (grub_normal_print_device_info): Likewise.
24504 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
24505 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
24506 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
24507 (normal/charset.c_DEPENDENCIES): New variable.
24508 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
24509 (pkglib_MODULES): Remove charset.mod.
24510 (charset_mod_SOURCES): Removed.
24511 (charset_mod_CFLAGS): Likewise.
24512 (charset_mod_LDFLAGS): Likewise.
24513 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
24514 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
24515 and term/tparm.c.
24516 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24517 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24518 (kernel_img_HEADERS): Add terminfo.h.
24519 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
24520 Fill ->font. Reverse ascii bitmaps.
24521 (grub_font_get_xheight): New function.
24522 * font/font.c (grub_font_get_string_width): Moved from here ...
24523 * gfxmenu/font.c (grub_font_get_string_width): ... here.
24524 * font/font.c (grub_font_draw_string): Moved from here ...
24525 * gfxmenu/font.c (grub_font_draw_string): ... here.
24526 * font/font.c (grub_font_dup_glyph): New function.
24527 (grub_font_blit_glyph): Likewise.
24528 (grub_font_blit_glyph_mirror): Likewise.
24529 (blit_comb): Likewise.
24530 (grub_font_construct_dry_run): Likewise.
24531 (grub_font_get_constructed_device_width): Likewise.
24532 (grub_font_construct_glyph): Likewise.
24533 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
24534 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
24535 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
24536 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
24537 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
24538 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
24539 (grub_font_get_xheight): New proto.
24540 (grub_font_get_constructed_device_width): Likewise.
24541 (grub_font_construct_glyph): Likewise.
24542 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
24543 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
24544 * include/grub/font.h (grub_font_draw_string): Moved from here ...
24545 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
24546 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
24547 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
24548 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
24549 (grub_console_getcharwidth): Likewise.
24550 * include/grub/misc.h (grub_xputs): New proto.
24551 (grub_puts): Inlined.
24552 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
24553 (grub_normal_get_line_counter): Removed.
24554 (grub_install_newline_hook): Likewise.
24555 (grub_normal_get_char_counter): New proto.
24556 (grub_normal_reset_more): Likewise.
24557 (grub_xputs_normal): Likewise.
24558 * include/grub/powerpc/ieee1275/console.h: Removed.
24559 * include/grub/sparc64/ieee1275/console.h: Likewise.
24560 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
24561 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
24562 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
24563 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
24564 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
24565 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
24566 (grub_term_input): Pass reference to self. All users updated.
24567 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
24568 Pass reference to self. New fields normal_color, highlight_color and
24569 data. All users updated.
24570 (grub_putchar): Removed.
24571 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
24572 (grub_unicode_estimate_width): New function.
24573 (grub_term_getcharwidth): Add defaults.
24574 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
24575 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
24576 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
24577 (grub_cls): Remove EXPORT_FUNC.
24578 (grub_setcolorstate): Inline.
24579 (grub_newline_hook): Removed.
24580 * include/grub/terminfo.h: Rewritten. All users updated.
24581 * include/grub/unicode.h: New file.
24582 * include/grub/video.h (grub_video_signed_rect): New type.
24583 * kern/emu/console.c (grub_console_highlight_color): Removed.
24584 (grub_console_normal_color): Likewise.
24585 (grub_console_standard_color): Made static.
24586 (grub_ncurses_putchar): Remove mapping.
24587 (grub_ncurses_getcharwidth): Removed.
24588 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24589 (grub_ncurses_setcolor): Removed.
24590 (grub_ncurses_getcolor): Likewise.
24591 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
24592 (grub_console_putchar): ... this.
24593 (grub_console_putchar): Handle argument difference.
24594 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
24595 console_init_early and console_init_lately.
24596 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
24597 * kern/misc.c (grub_puts): Removed.
24598 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
24599 (grub_vsnprintf_real): Remove str = NULL support.
24600 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
24601 * normal/charset.c (grub_utf8_to_ucs4): ... here.
24602 * kern/term.c (grub_putcode): Renamed to ...
24603 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
24604 (grub_putchar): Removed.
24605 (grub_xputs_dumb): New function.
24606 (grub_xputs): New variable.
24607 * lib/charset.c: Move from here ...
24608 * normal/charset.c: ... to here.
24609 (grub_ucs4_to_utf8): New function.
24610 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
24611 (join_types): New variable.
24612 (unpack_join): New function.
24613 (bidi_types): New variable.
24614 (unpack_bidi): New function.
24615 (get_bidi_type): Likewise.
24616 (get_join_type): Likewise.
24617 (is_mirrored): Likewise.
24618 (grub_unicode_get_comb_type): Likewise.
24619 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
24620 (is_type_after): Likewise.
24621 (grub_unicode_aglomerate_comb): Likewise.
24622 (bidi_line_wrap): Likewise.
24623 (grub_bidi_line_logical_to_visual): Likewise.
24624 (grub_bidi_logical_to_visual): Likewise.
24625 (grub_unicode_mirror_code): Likewise.
24626 (grub_unicode_shape_code): Likewise.
24627 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
24628 Don't use grub_putchar.
24629 * normal/main.c (grub_normal_init_page): Use grub_putcode.
24630 (grub_normal_reader_init): Likewise.
24631 (grub_xputs_saved): New variable.
24632 (GRUB_MOD_INIT): Set grub_xputs.
24633 (GRUB_MOD_FINI): Restore grub_xputs.
24634 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
24635 (menu_init): Avoid printing gfxmenu error.
24636 (show_menu): Use grub_normal_get_char_counter.
24637 * normal/menu_entry.c (update_screen): Fix out-of-array.
24638 (complete): Avoid NULL dereferencing.
24639 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
24640 * normal/menu_text.c (print_spaces): Removed.
24641 (grub_print_ucs4): Likewise.
24642 (grub_print_message_indented): Use grub_print_ucs4.
24643 (print_message): Use grub_putcode.
24644 (print_entry): Hanlde diacritics.
24645 * normal/term.c (term_state): New type.
24646 (grub_more_lines): Removed.
24647 (term_states): New variable.
24648 (grub_normal_line_counter): Renamed to ..
24649 (grub_normal_char_counter): ...this. All users updated.
24650 (grub_normal_get_line_counter): Renamed to ...
24651 (grub_normal_get_char_counter): ... this.
24652 (grub_normal_reset_more): New function.
24653 (process_newline): Removed.
24654 (print_more): New function.
24655 (grub_install_newline_hook): Removed.
24656 (map_code): New function.
24657 (grub_puts_terminal): Use grub_print_ucs4.
24658 (putglyph): New function.
24659 (putcode_real): Likewise.
24660 (grub_putcode): Use putcode_real.
24661 (get_maxwidth): New function.
24662 (get_startwidth): Likewise.
24663 (print_ucs4_terminal): Likewise.
24664 (find_term_state): Likewise.
24665 (put_glyphs_terminal): Likewise.
24666 (print_backlog): Likewise.
24667 (print_ucs4_real): Likewise.
24668 (grub_print_ucs4): Likewise.
24669 (grub_xputs_normal): Likewise.
24670 * term/efi/console.c (grub_console_putchar): Output diacritics.
24671 (grub_console_getcharwidth): Removed.
24672 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24673 * term/gfxterm.c (clear_char): Free chars.
24674 (scroll_up): Avoid leaking memory.
24675 (grub_gfxterm_putchar): Support diacritics.
24676 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24677 * term/i386/pc/console.c (grub_console_term_output): Declare as
24678 GRUB_TERM_CODE_TYPE_VGA.
24679 * term/i386/pc/vga.c (grub_vga_term): Declare as
24680 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
24681 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
24682 GRUB_TERM_CODE_TYPE_VGA.
24683 * term/i386/vga_common.c (map_char): Removed.
24684 (grub_console_putchar): Likewise.
24685 (grub_console_getcharwidth): Likewise.
24686 * term/ieee1275/ofconsole.c: Simplify using terminfo.
24687 (colors): Reordered to match terminfo.
24688 (grub_ofconsole_normal_color): Removed.
24689 (grub_ofconsole_writeesc): Likewise.
24690 (grub_ofconsole_highlight_color): Likewise.
24691 (grub_ofconsole_getcharwidth): Likewise.
24692 (grub_ofconsole_setcolorstate): Likewise.
24693 (grub_ofconsole_setcolor): Likewise.
24694 (grub_ofconsole_getcolor): Likewise.
24695 (grub_ofconsole_readkey): Renamed to ...
24696 (readkey): ... this. Remove escape sequence handling. Return -1 on no
24697 key.
24698 (grub_ofconsole_checkkey): Removed.
24699 (grub_ofconsole_getkey): Likewise.
24700 (grub_ofconsole_getxy): Likewise.
24701 (grub_ofconsole_gotoxy): Likewise.
24702 (grub_ofconsole_cls): Likewise.
24703 (grub_ofconsole_refresh): Likewise.
24704 (grub_ofconsole_terminfo_input): New struct.
24705 (grub_ofconsole_terminfo_output): Likewise.
24706 (grub_ofconsole_term_input): Use terminfo.
24707 (grub_ofconsole_term_output): Likewise.
24708 (grub_console_init): Split into ...
24709 (grub_console_init_early): ...this and ...
24710 (grub_console_init_lately): ...this. Use terminfo.
24711 (grub_ofconsole_putchar): Renamed to ...
24712 (put): ... this. Remove mapping.
24713 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24714 * term/serial.c: Simplify using terminfo.
24715 (xpos): Removed.
24716 (ypos): Likewise.
24717 (keep_track): Likewise.
24718 (registered): Likewise.
24719 (input_buf): Likewise.
24720 (npending): Likewise.
24721 (serial_translate_key_sequence): Likewise.
24722 (fill_input_buf): Likewise.
24723 (grub_serial_checkkey): Likewise.
24724 (grub_serial_getkey): Likewise.
24725 (grub_serial_getxy): Likewise.
24726 (grub_serial_gotoxy): Likewise.
24727 (grub_serial_putchar): Likewise.
24728 (grub_serial_cls): Likewise.
24729 (grub_serial_setcolorstate): Likewise.
24730 (grub_serial_setcursor): Likewise.
24731 (serial_hw_init): Use serial_hw_fetch.
24732 (grub_serial_terminfo_input): New variable.
24733 (grub_serial_terminfo_output): Likewise.
24734 (grub_serial_term_input): Use terminfo.
24735 (grub_serial_term_output): Likewise.
24736 * term/terminfo.c (putstr): Use put.
24737 (grub_terminfo_all_free): New function
24738 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
24739 (grub_terminfo_output_register): New function.
24740 (grub_terminfo_output_unregister): Likewise.
24741 (grub_terminfo_getxy): Likewise.
24742 (grub_terminfo_readkey): Likewise.
24743 (grub_terminfo_checkkey): Likewise.
24744 (grub_terminfo_getkey): Likewise.
24745 (grub_terminfo_input_init): Likewise.
24746 (print_terminfo): Likewise.
24747 (grub_cmd_terminfo): Handle encoding.
24748 (grub_terminfo_gotoxy): Track position.
24749 (grub_terminfo_cls): Likewise.
24750 (grub_terminfo_putchar): Likewise.
24751 (grub_terminfo_setcolorstate): Handle colors
24752 (grub_terminfo_cursor_on): This ...
24753 (grub_terminfo_cursor_off): ... and this merged into ...
24754 (grub_terminfo_setcursor): ... this.
24755 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
24756 * unicode/ArabicShaping.txt: New file (imported from Unicode).
24757 * unicode/BidiMirroring.txt: Likewise.
24758 * unicode/UnicodeData.txt: Likewise.
24759 * unicode/COPYING: Likewise.
24760 * util/grub-editenv.c (grub_putchar): Removed.
24761 (grub_xputs_real): New function.
24762 (grub_xputs): New variable.
24763 * util/grub-fstest.c (grub_putchar): Removed.
24764 (grub_xputs_real): New function.
24765 (grub_xputs): New variable.
24766 * util/grub-mkdevicemap.c (grub_putchar): Removed.
24767 (grub_xputs_real): New function.
24768 (grub_xputs): New variable.
24769 * util/grub-probe.c (grub_putchar): Removed.
24770 (grub_xputs_real): New function.
24771 (grub_xputs): New variable.
24772 * util/grub-script-check.c (grub_putchar): Removed.
24773 (grub_xputs_real): New function.
24774 (grub_xputs): New variable.
24775 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
24776 (grub_xputs_real): New function.
24777 (grub_xputs): New variable.
24778 * util/import_unicode.py: New file.
24779 * util/grub-mkfont.c (ft_errmsgs): New array.
24780 (grub_glyph_info): Make bitmap a pointer.
24781 (file_formats): New type WIDTH_SPEC.
24782 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
24783 (options): Add width-spec.
24784 (help): Likewise.
24785 (add_char): Renamed to ...
24786 (add_glyph): ... this.
24787 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
24788 (glyph_replace): New type.
24789 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
24790 (add_char): New function.
24791 (add_subst): Likewise.
24792 (process_cursive): Likewise.
24793 (add_font): Handle GSUB.
24794 (write_font_width_spec): New function.
24795 (main): Sort glyphs.
24796 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
24797 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
24798 * kern/term.c (grub_cls): Moved from here...
24799 * normal/term.c (grub_cls): ... here.
24800
50f0bcda
CW
248012010-07-02 Colin Watson <cjwatson@ubuntu.com>
24802
24803 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
24804 suitable for using within the format argument of printf when
24805 converting grub_size_t.
24806 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
24807 "x" to convert grub_size_t arguments.
24808
40372103
VS
248092010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24810
24811 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
24812 too long captions.
24813 (list_get_minimal_size): Take selection box into account.
24814
942a10c7
VS
248152010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24816
24817 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
24818 NULL font.
24819
2bdb2892
CW
248202010-07-02 Colin Watson <cjwatson@ubuntu.com>
24821
24822 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
24823 devices when iterating over /dev/disk/by-id; they will be handled
24824 later if appropriate, which they aren't always (e.g. LVM).
24825
e03ed6c1
CW
248262010-07-02 Colin Watson <cjwatson@ubuntu.com>
24827
24828 * include/grub/misc.h (grub_reboot): Declare as noreturn.
24829 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
24830 fails.
24831 (grub_halt): Likewise.
24832 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
24833 reset-all fails.
24834 (grub_halt): Don't return, even if all of shut-down, power-off, and
24835 poweroff fail.
24836
47695765
CW
248372010-07-02 Colin Watson <cjwatson@ubuntu.com>
24838
24839 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
24840 arguments, not three.
24841
507736c8
CW
248422010-07-02 Colin Watson <cjwatson@ubuntu.com>
24843
24844 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
24845 * util/grub.d/10_linux.in: Use it to check for LVM, so that
24846 LVM-on-RAID is handled correctly.
24847
e3c8cd37
CW
248482010-07-02 Colin Watson <cjwatson@ubuntu.com>
24849
24850 * docs/grub.texi (Changes from GRUB Legacy): New section.
24851 (Future): Fix typo.
24852
8d4a2fec
CW
248532010-07-02 Colin Watson <cjwatson@ubuntu.com>
24854
24855 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
24856 grub.d/README accidentally ends up executable for one reason or
24857 another. Ignore it.
24858
1c4827be
VS
248592010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24860
24861 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
24862 (gpt_partition_map_iterate): Support non-512B sectors.
24863
d9a0c941
VS
248642010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24865
24866 * kern/efi/init.c (grub_efi_init): Disable watchdog.
24867 Tested by: Seth Goldberg.
24868
48f27e87
VS
248692010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24870
24871 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
24872 Properly align mbi.
24873 Reported by: Seth Goldberg.
24874
b0c4f956
VS
248752010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24876
24877 * util/grub-mkrescue.in: Avoid module duplication.
24878
105a2e8c
SF
248792010-07-01 Sean Finney <seanius@seanius.net>
24880
24881 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
24882
5944958c
SF
248832010-07-01 Sean Finney <seanius@seanius.net>
24884
24885 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
24886
248872010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24888
24889 * disk/lvm.c (grub_lvm_checkvalue): New function.
24890 (grub_lvm_check_flag): Likewise.
24891
b79889ba
RM
248922010-07-01 Robert Millan <rmh@gnu.org>
24893
24894 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
24895 Support 'p' as partition separator on kernel of FreeBSD (used
24896 with GPT labels).
24897 (grub_util_biosdisk_get_grub_dev): Likewise.
24898
ec1d04f1
VS
248992010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
24900
24901 Yeeloong firmware port.
24902
24903 * boot/mips/yeeloong/fwstart.S: New file.
24904 * bus/cs5536.c (gpiodump): New const.
24905 (set_io_space): New function.
24906 (set_iod): Likewise.
24907 (set_p2d): Likewise.
24908 (grub_cs5536_init_geode): Likewise.
24909 * commands/mips/yeeloong/lsspd.c: New file.
24910 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
24911 (serial_mod_SOURCES): New variable.
24912 (serial_mod_CFLAGS): Likewise.
24913 (serial_mod_LDFLAGS): Likewise.
24914 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
24915 term/terminfo.c and term/tparm.c.
24916 (pkglib_IMAGES): Add fwstart.img.
24917 (fwstart_img_SOURCES): New variable.
24918 (fwstart_img_CFLAGS): Likewise.
24919 (fwstart_img_ASFLAGS): Likewise.
24920 (fwstart_img_LDFLAGS): Likewise.
24921 (fwstart_img_FORMAT): Likewise.
24922 (pkglib_MODULES): Add lsspd.mod.
24923 (lsspd_mod_SOURCES): New variable.
24924 (lsspd_mod_CFLAGS): Likewise.
24925 (lsspd_mod_LDFLAGS): Likewise.
24926 (pkglib_MODULES): Add halt.mod.
24927 (halt_mod_SOURCES): New variable.
24928 (halt_mod_CFLAGS): Likewise.
24929 (halt_mod_LDFLAGS): Likewise.
24930 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
24931 (serial_mod_SOURCES): Removed.
24932 (serial_mod_CFLAGS): Likewise.
24933 (serial_mod_LDFLAGS): Likewise.
24934 * disk/ata.c (check_device): New function.
24935 (grub_ata_device_initialize): Use check_device.
24936 (grub_ata_iterate): Recheck devices.
24937 (grub_ata_open): Likewise.
24938 (grub_atapi_iterate): Likewise.
24939 (grub_atapi_open): Likewise.
24940 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
24941 (GRUB_ATA_CH1_PORT1): Likewise.
24942 (GRUB_ATA_CH0_PORT2): Likewise.
24943 (GRUB_ATA_CH1_PORT2): Likewise.
24944 * include/grub/mips/loongson.h: New file.
24945 * include/grub/mips/yeeloong/ec.h: Likewise.
24946 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
24947 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
24948 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
24949 * include/grub/misc.h (grub_halt): Declare as noreturn.
24950 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
24951 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
24952 (UART_ENABLE_FIFO_TRIGGER1): New definition.
24953 (UART_ENABLE_DTRRTS): Likewise.
24954 (UART_ENABLE_MODEM): Removed.
24955 (UART_ENABLE_OUT2): New const.
24956 * include/grub/term.h (grub_term_register_input_active): New function.
24957 (grub_term_register_output_active): Likewise.
24958 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
24959 argument.
24960 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
24961 (init_pci): New function.
24962 (grub_machine_init): Execute platform init when firmware. Init serial.
24963 (grub_halt): Implement.
24964 (grub_exit): Likewise.
24965 (grub_reboot): Likewise.
24966 * term/serial.c (serial_hw_init): Update macros.
24967 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
24968 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
24969 (image_targets): New target mipsel-yeeloong-flash.
24970 (generate_image): Support IMAGE_YEELOONG_FLASH.
24971 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
24972 (grub_video_sm712_setup): Init card.
24973 (grub_video_sm712_set_palette): Removed.
24974 * video/sm712_init.c: New file.
24975
ff4a70d2
CW
249762010-06-30 Colin Watson <cjwatson@ubuntu.com>
24977
24978 * Makefile.in (install-local): Temporarily prepend $(builddir) to
24979 PATH when running help2man and then run it on the unadorned
24980 executable names, rather than passing $(builddir)/* paths to
24981 help2man. This avoids the build directory ending up in generated
24982 manual pages.
24983
1246efeb
CW
249842010-06-29 Colin Watson <cjwatson@ubuntu.com>
24985
24986 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
24987 to avoid accidents when debugging with 'sh -x'.
24988 * util/grub-mkrescue.in: Likewise.
24989 * util/grub.d/00_header.in: Likewise.
24990 * util/grub.d/10_hurd.in: Likewise.
24991 * util/grub.d/10_kfreebsd.in: Likewise.
24992 * util/grub.d/10_linux.in: Likewise.
24993 * util/grub.d/10_netbsd.in: Likewise.
24994 * util/grub.d/10_windows.in: Likewise.
24995 * util/grub.d/20_linux_xen.in: Likewise.
24996 * util/grub.d/30_os-prober.in: Likewise.
24997 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
24998
1ba9b889
CW
249992010-06-29 Colin Watson <cjwatson@ubuntu.com>
25000
25001 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
25002 last character in the buffer.
25003 Reported by: Vladimir Serbinenko.
25004
dccaf99d
RM
250052010-06-29 Robert Millan <rmh@gnu.org>
25006
25007 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
25008 (Command-line and menu entry commands): Document `badram' command.
25009
d500ed12
RM
250102010-06-28 Robert Millan <rmh@gnu.org>
25011
25012 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
25013 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
25014 command using ${GRUB_BADRAM} as parameter.
25015
20bc84a6
CW
250162010-06-28 Colin Watson <cjwatson@ubuntu.com>
25017
25018 * docs/grub.texi (Device map): New section.
25019 (Themes): New section (stub).
25020 * Makefile.in (docs/grub.info): The info documentation now builds
25021 without errors. Make sure it stays that way.
25022
4045dee1
VS
250232010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25024
25025 Use normal parser for menu entries.
25026 Reported by: Thomas Frauendorfer
25027
25028 * include/grub/parser.h (grub_parser_execute): Don't export.
25029 * normal/menu.c (grub_menu_execute_entry_real): New function.
25030 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
25031
bca58c7b
CW
250322010-06-28 Colin Watson <cjwatson@ubuntu.com>
25033
25034 * docs/grub.texi (Embedded configuration): New section (replacing
25035 old "Preset Menu" stub).
25036 (Images): New section.
25037 (configfile): Note that any menu entries defined in `file' are shown
25038 immediately.
25039
dec53e63
JT
250402010-06-28 Josh Triplett <josh@joshtriplett.org>
25041
25042 * mmap/i386/pc/mmap_helper.S: Set CF on return.
25043
c06e40f7
CW
250442010-06-28 Colin Watson <cjwatson@ubuntu.com>
25045
25046 * util/grub-install.in: Add --debug-image= option.
25047
cb88052b
CW
250482010-06-28 Colin Watson <cjwatson@ubuntu.com>
25049
25050 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
25051 possible on Linux.
25052
25053 * util/deviceiter.c (check_device): Rename to ...
25054 (check_device_readable_unique): ... this. Update all callers.
25055 Maintain and check a list of which devices (by canonicalized name)
25056 have already been seen.
25057 (clear_seen_devices): New function.
25058 (compare_file_names) [__linux__]: New function.
25059 (grub_util_iterate_devices): Clear the list of seen devices on exit
25060 and (just in case) on entry.
25061 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
25062 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
25063 seen-devices list, superseded by general code in check_device.
25064
bbe34652
CW
250652010-06-28 Colin Watson <cjwatson@ubuntu.com>
25066
25067 * commands/cat.c (options): New variable.
25068 (grub_cmd_cat): Parse options. If the --dos option is given, print
25069 DOS-style "\r\n" line endings as simple newlines (Debian bug
25070 #586358).
25071 (GRUB_MOD_INIT): Use extcmd.
25072 (GRUB_MOD_FINI): Likewise.
25073 * docs/grub.texi (cat): Document --dos.
25074
412e09f3
VS
250752010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25076
25077 XEN with Linux grub-mkconfig support.
25078
25079 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
25080 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
25081 GRUB_CMDLINE_XEN_DEFAULT.
25082 * util/grub.d/20_linux_xen.in: New file.
25083
53f3ef38 250842010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
25085
25086 Initialise VGA video on qemu ourselves.
25087
25088 * boot/i386/qemu/boot.S: Don't call 0xc000.
25089 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
25090 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
25091 (kernel_img_HEADERS): Add pci.h.
25092 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
25093 * configure.ac: Force unifont on qemu and yeeloong.
25094 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
25095 (grub_vga_palette_write): Use correct register.
25096 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
25097 Call grub_qemu_init_cirrus.
25098 * kern/i386/qemu/init.c: New file.
25099 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
25100
25101 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
25102
c75be4fb
PR
251032010-06-26 Pavel Roskin <proski@gnu.org>
25104
25105 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
25106 13.
25107
d8034603
CW
251082010-06-26 Colin Watson <cjwatson@ubuntu.com>
25109
25110 * docs/grub.texi (Simple configuration): Explain that
25111 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
25112 set to `true' to disable their respective recovery entries, not
25113 merely set.
25114
3fa06487
CW
251152010-06-26 Colin Watson <cjwatson@ubuntu.com>
25116
25117 Make the `source' command slightly faster.
25118
25119 * normal/main.c (grub_normal_execute): Don't re-read list files when
25120 nested.
25121
e9b29642
CW
251222010-06-23 Colin Watson <cjwatson@ubuntu.com>
25123
25124 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
25125 field position and mask size to red fields from mode_info, not
25126 green.
25127 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
25128 Remove redundant tag->common.framebuffer_type assignment.
25129 Reported by: Seth Goldberg.
25130
e726542f
CW
251312010-06-23 Colin Watson <cjwatson@ubuntu.com>
25132
25133 Sync up other versions of the Linux loader with Robert Millan's
25134 change of 2010-01-09, "Make loader output a bit more user-friendly".
25135
25136 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
25137 grub_dprintf().
25138 (grub_cmd_linux): Likewise.
25139 (grub_cmd_initrd): Likewise.
25140 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
25141 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25142
d6e98a17
CW
251432010-06-21 Colin Watson <cjwatson@ubuntu.com>
25144
25145 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
25146 larger than MEMORY_MAP_SIZE.
25147
14d3f08e
BC
251482010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
25149
25150 Fix parallel build.
25151
25152 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
25153 dependency.
25154 * script/parser.y: #include grub_script.tab.h header.
25155
4f9613a3
VS
251562010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25157
25158 Support >3GiB and <16MiB RAM in i386-qemu.
25159
25160 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
25161 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
25162 (grub_lower_mem): Removed.
25163 (grub_upper_mem): Likewise.
25164 (mem_size): Made static.
25165 (above_4g): New variable.
25166 (grub_machine_mmap_init): Detect small mem_size and above_4g.
25167 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
25168 support.
25169
05e51879
VS
251702010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25171
25172 Cirrus 5446 and Bochs video cards support.
25173
25174 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
25175 video_bochs.mod
25176 (video_cirrus_mod_SOURCES): New variable.
25177 (video_cirrus_mod_CFLAGS): Likewise.
25178 (video_cirrus_mod_LDFLAGS): Likewise.
25179 (video_bochs_mod_SOURCES): Likewise.
25180 (video_bochs_mod_CFLAGS): Likewise.
25181 (video_bochs_mod_LDFLAGS): Likewise.
25182 * include/grub/vga.h: New file.
25183 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
25184 (grub_video_fb_set_page_t): New type.
25185 (grub_video_fb_setup): New prototype.
25186 (grub_video_fb_swap_buffers): Likewise.
25187 (grub_video_fb_get_info_and_fini): Likewise.
25188 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
25189 (CRTC_DATA_PORT): Likewise.
25190 (CRTC_CURSOR): Likewise.
25191 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25192 (CRTC_CURSOR_ADDR_LOW): Likewise.
25193 (CRTC_CURSOR_DISABLE): Likewise.
25194 (update_cursor): Use grub_vga_cr_write.
25195 (grub_vga_text_setcursor): Likewise.
25196 * video/bochs.c: New file.
25197 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
25198 (palette): Likewise.
25199 (palette_size): Likewise.
25200 (framebuffer): New variable.
25201 (grub_video_fb_init): Use 'framebuffer'.
25202 (grub_video_fb_fini): Likewise.
25203 (grub_video_fb_get_info): Likewise.
25204 (grub_video_fb_get_palette): Likewise.
25205 (grub_video_fb_set_palette): Likewise.
25206 (grub_video_fb_set_viewport): Likewise.
25207 (grub_video_fb_get_viewport): Likewise.
25208 (grub_video_fb_map_color): Likewise.
25209 (grub_video_fb_map_rgb): Likewise.
25210 (grub_video_fb_map_rgba): Likewise.
25211 (grub_video_fb_unmap_color): Likewise.
25212 (grub_video_fb_unmap_color_int): Likewise.
25213 (grub_video_fb_fill_rect): Likewise.
25214 (grub_video_fb_blit_bitmap): Likewise.
25215 (grub_video_fb_blit_render_target): Likewise.
25216 (grub_video_fb_scroll): Likewise.
25217 (grub_video_fb_create_render_target): Likewise.
25218 (grub_video_fb_doublebuf_blit_init): Likewise.
25219 (grub_video_fb_set_active_render_target): Handle doublebuffering.
25220 (doublebuf_pageflipping_update_screen): New function.
25221 (doublebuf_pageflipping_init): Likewise.
25222 (grub_video_fb_setup): Likewise.
25223 (grub_video_fb_swap_buffers): Likewise.
25224 (grub_video_fb_get_info_and_fini): Likewise.
25225 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
25226 All users updated.
25227 (doublebuf_pageflipping_commit): Restructured into ...
25228 (doublebuf_pageflipping_set_page): ... this.
25229 (doublebuf_pageflipping_update_screen): Removed.
25230 (doublebuf_pageflipping_init): Likewise.
25231 (double_buffering_init): Likewise.
25232 (grub_video_vbe_setup): Use grub_video_fb_setup.
25233 (grub_video_vbe_swap_buffers): Removed.
25234 (grub_video_vbe_set_active_render_target): Likewise.
25235 (grub_video_vbe_get_active_render_target): Likewise.
25236 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
25237 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
25238 grub_video_fb_set_active_render_target and
25239 grub_video_fb_get_active_render_target.
25240 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
25241 (SEQUENCER_DATA_PORT): Likewise.
25242 (MAP_MASK_REGISTER): Likewise.
25243 (CRTC_ADDR_PORT): Likewise.
25244 (CRTC_DATA_PORT): Likewise.
25245 (START_ADDR_HIGH_REGISTER): Likewise.
25246 (START_ADDR_LOW_REGISTER): Likewise.
25247 (GRAPHICS_ADDR_PORT): Likewise.
25248 (GRAPHICS_DATA_PORT): Likewise.
25249 (READ_MAP_REGISTER): Likewise.
25250 (INPUT_STATUS1_REGISTER): Likewise.
25251 (INPUT_STATUS1_VERTR_BIT): Likewise.
25252 (get_map_mask): Use grub_vga_sr_read.
25253 (set_map_mask): Use grub_vga_sr_write.
25254 (set_read_map): Use grub_vga_gr_write.
25255 (set_start_address): Use grub_vga_cr_write.
25256 * video/sm712.c (framebuffer): Remove leftover fields.
25257
4321c64a
CW
252582010-06-20 Colin Watson <cjwatson@ubuntu.com>
25259
25260 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
25261 setting GRUB_VIDEO_BACKEND. Make it available as a user override
25262 instead. Replace the gfxterm backend check with a check that
25263 ${GRUB_PREFIX}/video.lst is non-empty.
25264 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
25265 again.
25266 (load_video): New generated function. Call it before loading
25267 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
25268 * util/grub.d/10_linux.in (linux_entry): Call load_video.
25269 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
25270 * docs/grub.texi (Simple configuration): Document
25271 GRUB_VIDEO_BACKEND.
25272
252732010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25274
25275 Use video functions in linux and xnu loaders.
25276
25277 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
25278 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
25279 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
25280 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
25281 loader/i386/pc/linux.c.
25282 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
25283 (find_line_len): Removed.
25284 (find_framebuf): Likewise.
25285 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
25286 * loader/i386/efi/xnu.c: Removed.
25287 * loader/i386/pc/xnu.c: Moved from here...
25288 * loader/i386/xnu.c: ...here.
25289
25290 Enable priorities in video drivers.
25291
25292 * include/grub/video.h (grub_video_adapter_prio_t): New type.
25293 (grub_video_adapter): New field prio.
25294 (grub_video_register): Respect prio when inserting.
25295 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
25296 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
25297 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
25298 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
25299 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
25300 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
25301 * video/sm712.c (grub_video_sm712_adapter): Likewise.
25302
25303 Fix SDL driver ID.
25304
25305 * include/grub/video.h (grub_video_driver_id_t): New value
25306 GRUB_VIDEO_DRIVER_SDL.
25307 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
25308
7d24e434
CW
253092010-06-17 Colin Watson <cjwatson@ubuntu.com>
25310
25311 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
25312 argument to printf.
25313 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25314
c88a83f6
CW
253152010-06-17 Colin Watson <cjwatson@ubuntu.com>
25316
25317 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
25318 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25319
094dfb69
CW
253202010-06-17 Colin Watson <cjwatson@ubuntu.com>
25321
25322 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
25323 directly, and recommend grub-install instead.
25324 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25325
2164da6b
CW
253262010-06-17 Colin Watson <cjwatson@ubuntu.com>
25327
25328 Fix i386-pc prefix handling with nested partitions (Debian bug
25329 #585068). Note that the case where the core image is booted using
25330 multiboot and relocated from its original location still requires
25331 more work.
25332
25333 * kern/i386/pc/init.c (make_install_device): If the prefix starts
25334 with "(,", fill the boot drive in between those two characters, but
25335 expect that a full partition specification including partition map
25336 names will follow.
25337 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
25338 specified, write a prefix without the drive name but including a
25339 full partition specification.
25340
044e2e60
CW
253412010-06-16 Colin Watson <cjwatson@ubuntu.com>
25342
25343 * util/grub-mkconfig.in: Ignore non-option arguments, for
25344 compatibility with older versions (before 2010-06-12) which did the
25345 same. In particular, this makes it easier to ship an update-grub
25346 wrapper which is compatible with that used with GRUB Legacy (Debian
25347 bug #586056).
25348
5591324f
GS
253492010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25350
25351 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
25352 for manual page generation.
25353
662e24d5
GS
253542010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25355
25356 * po/POTFILES: Remove leftover commands/handler.c.
25357
8d70754e
CW
253582010-06-14 Colin Watson <cjwatson@ubuntu.com>
25359
25360 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
25361 left this script non-functional.
25362
41160e2e
CW
253632010-06-14 Colin Watson <cjwatson@ubuntu.com>
25364
25365 * docs/man/grub-emu.h2m: New file.
25366
b5309cc1
CW
253672010-06-13 Colin Watson <cjwatson@ubuntu.com>
25368
25369 * docs/grub.texi (Commands): Document reduced command set in rescue
25370 mode.
25371 (cpuid): New section.
25372
fcb2d090
GS
253732010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
25374
25375 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
25376 new partition naming style.
25377 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
25378
96e5c556
BC
253792010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
25380
25381 Add "-o grub.iso" like cmdline options support.
25382
25383 * util/grub-install.in: Improve cmdline option parsing.
25384 * util/grub-mkconfig.in: Likewise.
25385 * util/grub-mkrescue.in: Likewise.
25386 * util/grub-reboot.in: Likewise.
25387 * util/grub-set-default.in: Likewise.
25388 * util/i386/efi/grub-install.in: Likewise.
25389 * util/ieee1275/grub-install.in: Likewise.
25390 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25391
c16be99b
CW
253922010-06-12 Colin Watson <cjwatson@ubuntu.com>
25393
25394 * .bzrignore: Ignore 41_custom.
25395
ce08a9fb
TS
253962010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25397
25398 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
25399
7beac90c
CW
254002010-06-12 Colin Watson <cjwatson@ubuntu.com>
25401
25402 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
25403 prototype declarations.
25404
25405 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
25406 generating fs, partmap, and video lists.
25407 * include/grub/fs.h (grub_fs_register): Omit prototype if
25408 GRUB_LST_GENERATOR is defined.
25409 * include/grub/partition.h (grub_partition_map_register): Likewise.
25410 * include/grub/video.h (grub_video_register): Likewise.
25411
1c8f0f8d
JM
254122010-06-12 Javier Martín <lordhabbit@gmail.com>
25413
25414 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
25415
a6085973
TS
254162010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25417
25418 * util/grub-mkrescue.in: Support --xorriso argument.
25419
25c56d29
VS
254202010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25421
25422 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
25423 Suggested by: Thomas Schmitt.
25424
e03e4b24
VS
254252010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25426
25427 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
25428 Suggested by: Thomas Schmitt.
25429
57711df6
VS
254302010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25431
25432 custom.cfg support.
25433
25434 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
25435 * util/grub.d/41_custom.in: New file.
25436
ee62c427
CW
254372010-06-12 Colin Watson <cjwatson@ubuntu.com>
25438
25439 * util/grub-mkrescue.in (make_image): Remove sh module, which has
25440 been merged back into normal.
25441
283af07a
CW
254422010-06-11 Colin Watson <cjwatson@ubuntu.com>
25443
25444 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
25445 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
25446
56a0d956
CW
254472010-06-11 Colin Watson <cjwatson@ubuntu.com>
25448
25449 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
25450 when generating manual pages.
25451 * docs/man/grub-bin2h.h2m: New file.
25452 * docs/man/grub-editenv.h2m: New file.
25453 * docs/man/grub-fstest.h2m: New file.
25454 * docs/man/grub-install.h2m: New file.
25455 * docs/man/grub-macho2img.h2m: New file.
25456 * docs/man/grub-mkconfig.h2m: New file.
25457 * docs/man/grub-mkdevicemap.h2m: New file.
25458 * docs/man/grub-mkfont.h2m: New file.
25459 * docs/man/grub-mkimage.h2m: New file.
25460 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
25461 * docs/man/grub-mkrelpath.h2m: New file.
25462 * docs/man/grub-mkrescue.h2m: New file.
25463 * docs/man/grub-ofpathname.h2m: New file.
25464 * docs/man/grub-pe2elf.h2m: New file.
25465 * docs/man/grub-probe.h2m: New file.
25466 * docs/man/grub-reboot.h2m: New file.
25467 * docs/man/grub-script-check.h2m: New file.
25468 * docs/man/grub-set-default.h2m: New file.
25469 * docs/man/grub-setup.h2m: New file.
25470
3a37e322
VS
254712010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
25472
25473 Use FOR_* macros instead of *_iterate whenever possible.
25474
25475 * commands/handler.c: Removed.
25476 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
25477 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
25478 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25479 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
25480 (grub_probe_SOURCES): Remove kern/parser.c.
25481 (util/grub-script-check.c_DEPENDENCIES): Removed.
25482 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
25483 and grub_script_check_init.c.
25484 (grub_script_check_init.lst): Removed.
25485 (grub_script_check_init.h): Likewise.
25486 (grub_script_check_init.c): Likewise.
25487 (pkglib_MODULES): Remove handler.mod and sh.mod.
25488 (handler_mod_SOURCES): Removed.
25489 (handler_mod_CFLAGS): Likewise.
25490 (handler_mod_LDFLAGS): Likewise.
25491 (normal_mod_SOURCES): Remove normal/handler.c.
25492 Add script/main.c, script/script.c, script/execute.c,
25493 script/function.c, script/lexer.c, grub_script.tab.c
25494 and grub_script.yy.c.
25495 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25496 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25497 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
25498 (grub_setup_SOURCES): Remove kern/parser.c.
25499 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25500 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
25501 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25502 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25503 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25504 (grub_setup_SOURCES): Remove kern/parser.c.
25505 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25506 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
25507 * include/grub/command.h (grub_command_iterate): Removed.
25508 (FOR_COMMANDS): New macro.
25509 * include/grub/dl.h (grub_dl): New member next.
25510 (grub_dl_iterate): Removed.
25511 (grub_dl_head): New variable declaration.
25512 (FOR_DL_MODULES): New macro.
25513 * include/grub/fs.h: Include list.h.
25514 (grub_fs): Make next first element.
25515 (grub_fs_list): New variable declaration.
25516 (grub_fs_register): Make inline.
25517 (grub_fs_unregister): Likewise.
25518 (grub_fs_iterate): Removed.
25519 (FOR_FILESYSTEMS): New macro.
25520 * include/grub/handler.h: Removed.
25521 * include/grub/list.h (grub_list_hook_t): Removed.
25522 (grub_list_test_t): Likewise.
25523 (grub_list_pop): Likewise.
25524 (grub_list_iterate): Likewise.
25525 (grub_list_insert): Likewise.
25526 (FOR_LIST_ELEMENTS): New macro.
25527 * include/grub/parser.h (grub_parser_class): Removed.
25528 (grub_parser_register): Likewise.
25529 (grub_parser_unregister): Likewise.
25530 (grub_parser_get_current): Likewise.
25531 (grub_parser_set_current): Likewise.
25532 (grub_register_rescue_parser): Likewise.
25533 (grub_rescue_parse_line): New function.
25534 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
25535 * include/grub/script_sh.h (grub_script_function_list): New variable
25536 declaration.
25537 (FOR_SCRIPT_FUNCTIONS): New macro.
25538 (grub_script_function_iterate): Removed.
25539 (grub_normal_parse_line): New prototype.
25540 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
25541 (FOR_DISABLED_TERM_INPUTS): Likewise.
25542 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
25543 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
25544 * include/grub/video.h (grub_video_adapter): Move 'next' to first
25545 element.
25546 (grub_video_register): Inline.
25547 (grub_video_unregister): Likewise.
25548 (grub_video_adapter_list): New variable declaration.
25549 (grub_video_iterate): Removed.
25550 (FOR_VIDEO_ADAPTERS): New macro.
25551 * kern/dl.c (grub_dl_list): Removed. All users updated.
25552 (grub_dl_iterate): Removed.
25553 * kern/fs.c (grub_fs_list): Make global.
25554 (grub_fs_register): Removed.
25555 (grub_fs_unregister): Likewise.
25556 (grub_fs_iterate): Likewise.
25557 * kern/handler.c: Removed.
25558 * kern/list.c (grub_list_pop): Removed.
25559 (grub_list_iterate): Likewise.
25560 (grub_list_insert): Likewise.
25561 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
25562 (grub_prio_list_insert): Don't use grub_list_insert.
25563 * kern/main.c (grub_register_rescue_parser): Don't call
25564 grub_register_rescue_parser.
25565 * kern/parser.c (grub_parser_class): Removed.
25566 (grub_parser_execute): Use grub_rescue_parse_line.
25567 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
25568 (grub_rescue_parser): Removed.
25569 (grub_register_rescue_parser): Likewise.
25570 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
25571 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
25572 (grub_auth_check_authentication): Likewise.
25573 * normal/completion.c (iterate_command): Removed.
25574 (grub_normal_do_completion): Use FOR_COMMANDS.
25575 * normal/handler.c: Removed.
25576 * normal/main.c (read_config_file): Remove parser changing.
25577 (grub_normal_execute): Don't call read_handler_list.
25578 (grub_normal_read_line_real): Statically allocate prompt.
25579 (grub_cmdline_run): Use grub_normal_parse_line.
25580 (GRUB_MOD_FINI): Don't call free_handler_list.
25581 * normal/menu_entry.c (run): Likewise.
25582 * script/function.c (grub_script_function_list): Make global.
25583 (grub_script_function_iterate): Removed.
25584 * script/main.c (grub_normal_parse_line): Make global.
25585 (grub_sh_parser): Removed.
25586 (GRUB_MOD_INIT): Likewise.
25587 (GRUB_MOD_FINI): Likewise.
25588 * tests/lib/functional_test.c (grub_functional_test): Use
25589 FOR_LIST_ELEMENTS.
25590 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
25591 (grub_test_run): Use FOR_LIST_ELEMENTS.
25592 * tests/lib/unit_test.c (main): Likewise.
25593 * util/deviceiter.c (grub_util_iterate_devices): Don't use
25594 grub_list_pop.
25595 * util/grub-fstest.c (grub_term_input_class): Removed.
25596 (grub_term_output_class): Likewise.
25597 * util/grub-probe.c: Likewise.
25598 * util/i386/pc/grub-setup.c: Likewise.
25599 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25600 * util/grub-script-check.c (main): Don't call grub_init_all and
25601 grub_fini_all.
25602 * video/video.c (grub_video_adapter_list): Make global.
25603 (grub_video_register): Removed.
25604 (grub_video_unregister): Likewise.
25605 (grub_video_iterate): Likewise.
25606
6289c3a7
VS
256072010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
25608
25609 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
25610 reported by Henrique Ferreiro.
25611
91460247
RM
256122010-06-09 Robert Millan <rmh@gnu.org>
25613
25614 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
25615 ones, when both are available.
25616
0ea7c4f9
GS
256172010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25618
25619 Make --version uniform and avoid hard-coded program name.
25620
25621 * util/grub-mkimage.c (main): Use `program_name' instead of
25622 hard-coded string.
25623 * util/i386/pc/grub-setup.c (main): Likewise.
25624 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
25625 * util/grub-install.in: Save the basename of $0 in $self, and use the
25626 latter in informational messages. Use the same format for --version
25627 as the binary programs.
25628 * util/grub-mkconfig.in: Likewise.
25629 * util/grub-mkrescue.in: Likewise.
25630 * util/grub-reboot.in: Likewise.
25631 * util/grub-set-default.in: Likewise.
25632 * util/i386/efi/grub-install.in: Likewise.
25633 * util/ieee1275/grub-install.in: Likewise.
25634 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25635
e8a6f3b6
GS
256362010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25637
25638 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
25639 embedding area. Use <= instead of == when checking for non-emptiness.
25640
f4d095d7
GS
256412010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25642
25643 * configure.ac: Add `.' to the directories searched for unifont.
25644
50e532ca
CW
256452010-06-08 Colin Watson <cjwatson@ubuntu.com>
25646
25647 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
25648 grub_script.yy.h.
25649
d39f3dec
CW
256502010-06-08 Colin Watson <cjwatson@ubuntu.com>
25651
25652 * docs/grub.texi (History): Expand to cover GRUB 2.
25653 (Serial terminal): Refer to `terminal_input' and `terminal_output'
25654 commands, not `terminal'.
25655 (serial): Likewise.
25656 (terminal_input): New section.
25657 (terminal_output): New section.
25658 (uppermem): New section (stub).
25659 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
25660
6ef0ddb4
CW
256612010-06-08 Colin Watson <cjwatson@ubuntu.com>
25662
25663 * docs/grub.texi (Security): Menu entries are unrestricted by
25664 default, not restricted to superusers as I had previously thought.
25665 Reword to account for this.
25666
e0f4c438
CW
256672010-06-07 Colin Watson <cjwatson@ubuntu.com>
25668
25669 * kern/emu/misc.c (device_mapper_null_log): New function.
25670 (grub_device_mapper_supported): New function.
25671 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
25672 prototype.
25673 * kern/emu/hostdisk.c (find_partition_start): Check whether
25674 device-mapper is supported before trying to use it.
25675 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
25676
da908200
CW
256772010-06-07 Colin Watson <cjwatson@ubuntu.com>
25678
25679 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
25680 (File name syntax): Likewise.
25681 (help): --all is no longer supported in GRUB 2. Be more precise
25682 about pattern matching.
25683
fb55c3ac
CW
256842010-06-07 Colin Watson <cjwatson@ubuntu.com>
25685
25686 * normal/completion.c (grub_normal_do_completion): When completing
25687 arguments to "set" and the current word contains an equals sign,
25688 skip to after the equals sign before starting completion.
25689
258c2573
CW
256902010-06-07 Colin Watson <cjwatson@ubuntu.com>
25691
25692 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
25693
ee75515e
CW
256942010-06-07 Colin Watson <cjwatson@ubuntu.com>
25695
25696 * docs/grub.texi (Network): New section.
25697 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
25698 `(nd)' as in GRUB Legacy.
25699 (pxe_unload): New section.
25700
a6a700aa
CW
257012010-06-07 Colin Watson <cjwatson@ubuntu.com>
25702
25703 * docs/grub.texi (Troubleshooting): `echo' is not usually available
25704 in the rescue shell, so recommend using `set' instead. Thanks,
25705 Jordan Uggla.
25706
4003dd38
CW
257072010-06-07 Colin Watson <cjwatson@ubuntu.com>
25708
25709 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
25710 (password): New section.
25711 (password_pbkdf2): New section.
25712 (search): New section.
25713 (Security): New section.
25714 (Troubleshooting): New section, currently very incomplete.
25715 (Invoking grub-mkpasswd-pbkdf2): New section.
25716 (Internals): New section, currently very incomplete.
25717
e1cbcc40
CW
257182010-06-07 Colin Watson <cjwatson@ubuntu.com>
25719
25720 * util/grub.d/00_header.in: Add some more quoting (of
25721 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
25722 work again.
25723 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
25724
db8fa1ad
CW
257252010-06-07 Colin Watson <cjwatson@ubuntu.com>
25726
25727 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
25728 to `count', fixing variable shadowing that broke the -c option.
25729
257302010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
25731
25732 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
25733 in case they contain spaces.
25734
f28a9212
CW
257352010-06-04 Colin Watson <cjwatson@ubuntu.com>
25736
25737 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
25738 "part_" to partmap module names, in line with grub-install.
25739 Reported by: Jindřich Makovička (Debian bug #584426).
25740
9cdfe32f
CW
257412010-06-04 Colin Watson <cjwatson@ubuntu.com>
25742
25743 * util/grub-mkimage.c: Make target-related error messages slightly
25744 more helpful; -O talks about "format". Explicitly point to the use
25745 of -O if no target is specified.
25746 Reported by: Didier Raboud (Debian bug #584415).
25747
795b593a
CW
257482010-06-03 Colin Watson <cjwatson@ubuntu.com>
25749
25750 * INSTALL: Document several build requirements for optional features
25751 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
25752
9d9b5833
GS
257532010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
25754
25755 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
25756 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
25757 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
25758
0819fec8
CW
257592010-06-02 Colin Watson <cjwatson@ubuntu.com>
25760
25761 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
25762 Thanks to Jordan Uggla for spotting this.
25763
49396b4f
VS
257642010-06-02 Aleš Nesrsta <starous@volny.cz>
25765
25766 Finally make USB usable.
25767
25768 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
25769 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
25770 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
25771 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
25772 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
25773 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
25774 (GRUB_OHCI_FSMPS): Likewise.
25775 (GRUB_OHCI_PERIODIC_START): Likewise.
25776 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
25777 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
25778 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
25779 (GRUB_OHCI_SET_PORT_RESET): Likewise.
25780 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
25781 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
25782 (grub_ohci_transaction): Likewise.
25783 (grub_ohci_transfer): Improve condition detection algorithms.
25784 Handle toggle property. Program the transactions correctly.
25785 Improve error handling. Various important fixups.
25786 (grub_ohci_portstatus): Put register writes in right order.
25787 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
25788 (grub_uhci_transfer): Don't show "failed" message on success.
25789 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
25790 array.
25791 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
25792 determine its size.
25793 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
25794 before initialization is completed. Use IN direction for empty
25795 transfers. Use last_trans and compute toggle.
25796 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
25797 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
25798 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
25799 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
25800 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
25801 (grub_usb_device): Increase toggle to 256.
25802 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
25803 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
25804 GRUB_USBMS_SUBCLASS_SFF8070.
25805 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
25806 (grub_scsi_inquiry): New member page and alloc_length.
25807 (grub_scsi_request_sense): New structure.
25808 (grub_scsi_request_sense_data): Likewise.
25809 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
25810 control.
25811 * disk/scsi.c (grub_scsi_request_sense): New function.
25812 (grub_scsi_test_unit_ready): Likewise.
25813 (grub_scsi_inquiry): Fill new fields.
25814 (grub_scsi_read_capacity): Likewise.
25815 (grub_scsi_read10): Add request sense at the end.
25816 (grub_scsi_read12): Likewise.
25817 (grub_scsi_write10): Likewise.
25818 (grub_scsi_write12): Likewise.
25819 (grub_scsi_open): Add Test Unit Ready.
25820 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
25821 Support additional subclasses. Con't clear halt yet. Activate the
25822 proper config. Calculate LUNs correctly.
25823 (grub_usbms_transfer): Various important fixups.
25824
258252010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25826
25827 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
25828 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
25829 (grub_ohci_fini_hw): New function.
25830 (grub_ohci_restore_hw): Likewise.
25831 (GRUB_MOD_INIT(ohci)): Register preboot hook.
25832 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
25833 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
25834
258352010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25836
25837 Dedicated DMA allocations.
25838
25839 * bus/pci.c (grub_memalign_dma32): New function
25840 (grub_dma_free): Likewise.
25841 (grub_dma_get_virt): Likewise.
25842 (grub_dma_get_phys): Likewise.
25843 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
25844 (grub_ohci_pci_iter): Use dma32_alloc.
25845 (grub_ohci_transfer): Likewise.
25846 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
25847 (grub_usb_bulk_readwrite): Likewise.
25848 * include/grub/pci.h: Add declarations.
25849
258502010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
25851
25852 CS5536 support.
25853
25854 * bus/cs5536.c: New file.
25855 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
25856 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
25857 (cs5536_mod_SOURCES): New variable.
25858 (cs5536_mod_CFLAGS): Likewise.
25859 (cs5536_mod_LDFLAGS): Likewise.
25860 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
25861 machine/pci.h.
25862 (kernel_img_SOURCES): Add bus/cs5536.c.
25863 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
25864 usb_keyboard.mod.
25865 (usb_mod_SOURCES): New variable.
25866 (usb_mod_CFLAGS): New variable.
25867 (usb_mod_LDFLAGS): New variable.
25868 (usbtest_mod_SOURCES): New variable.
25869 (usbtest_mod_CFLAGS): New variable.
25870 (usbtest_mod_LDFLAGS): New variable.
25871 (ohci_mod_SOURCES): New variable.
25872 (ohci_mod_CFLAGS): New variable.
25873 (ohci_mod_LDFLAGS): New variable.
25874 (usbms_mod_SOURCES): New variable.
25875 (usbms_mod_CFLAGS): New variable.
25876 (usbms_mod_LDFLAGS): New variable.
25877 (usb_keyboard_mod_SOURCES): New variable.
25878 (usb_keyboard_mod_CFLAGS): New variable.
25879 (usb_keyboard_mod_LDFLAGS): New variable.
25880 * include/grub/smbus.h: New file.
25881 * include/grub/cs5536.h: New file.
25882
0b35b2a9
CW
258832010-06-02 Colin Watson <cjwatson@ubuntu.com>
25884
25885 * util/grub.d/00_header.in: Add safety check to make sure that
25886 ${locale_dir} exists before trying to probe it.
25887
ca0afd5b
CW
258882010-06-02 Colin Watson <cjwatson@ubuntu.com>
25889
25890 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
25891 per the GNU Coding Standards; this is now too obscure to be worth
25892 documenting.
25893 (QNX): Likewise.
25894 (chainloader): Remove cross-reference to `SCO UnixWare'.
25895
1c41aa78
CW
258962010-06-02 Colin Watson <cjwatson@ubuntu.com>
25897
25898 * docs/grub.texi (Chain-loading): New section.
25899 (DOS/Windows): New section, borrowed from GRUB Legacy with details
25900 adjusted for GRUB 2.
25901 (SCO UnixWare): Likewise.
25902 (QNX): Likewise.
25903 (chainloader): Add reference to `Block list syntax'.
25904 (drivemap): New section.
25905 (parttool): New section.
25906
bb8ea0f5
CW
259072010-06-02 Colin Watson <cjwatson@ubuntu.com>
25908
25909 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
25910 the grub shell'.
25911 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
25912 (Installing GRUB using grub-install): Remove reference to the grub
25913 shell; mention `grub-mkimage' and `grub-setup' instead.
25914 (Invoking grub-install): Likewise.
25915 (Interface): Add reference to `Menu entry editor'.
25916 (serial): Remove `--device' option.
25917
288dd6ed
CW
259182010-06-02 Colin Watson <cjwatson@ubuntu.com>
25919
25920 * docs/grub.texi (Configuration): New section, documenting
25921 configuration file generation using grub-mkconfig. I've left a slot
25922 for documenting the full shell scripting format but have not yet
25923 started on writing that up.
25924 (Invoking grub-mkconfig): New section.
25925
34c9f0e9
CW
259262010-06-02 Colin Watson <cjwatson@ubuntu.com>
25927
25928 * docs/grub.texi (direntry): Remove grub-terminfo reference.
25929 (GNU GRUB manual): Likewise.
25930 (General commands): Update description of `terminfo' for GRUB 2.
25931
9121567e
CW
259322010-06-02 Colin Watson <cjwatson@ubuntu.com>
25933
25934 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
25935 (GRUB_MOD_INIT): Fix capitalisation.
25936 * docs/grub.texi (Command-line and menu entry commands): Document
25937 gettext and gptsync commands.
25938
ab631611
CW
259392010-06-02 Colin Watson <cjwatson@ubuntu.com>
25940
25941 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
25942 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
25943
bde4a9ac
CW
259442010-06-01 Colin Watson <cjwatson@ubuntu.com>
25945
25946 Add btrfs probing support, currently only in the single-device case.
25947
25948 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
25949 function.
25950 (grub_guess_root_device): Call find_root_device_from_mountinfo
25951 before looking in /dev.
25952
b1d17e10
VS
259532010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25954
25955 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
25956 GRUB_DISK_SIZE_UNKNOWN.
25957 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
25958
dfbfe004
JS
259592010-05-31 Jiro SEKIBA <jir@unicus.jp>
25960
25961 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
25962 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
25963 corrupted or not synced properly.
25964
c2ffc8e9
VS
259652010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25966
25967 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
25968 Reported by: Seth Goldberg.
25969
56293166
VS
259702010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25971
25972 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
25973 addition of dest.
25974 Reported by: Seth Goldberg.
25975
7620e7de
VS
259762010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25977
25978 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
25979 Reported by: Seth Goldberg.
25980
c837af3f
VS
259812010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
25982
25983 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
25984 64-bit address as signed on MIPS.
25985
c7c75cf4
CW
259862010-05-28 Colin Watson <cjwatson@ubuntu.com>
25987
25988 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
25989 to the empty string.
25990
fa4b8490
BC
259912010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
25992
25993 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
25994
25995 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
25996 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
25997 * kern/misc.c (__enable_execute_stack): Disable on
25998 GRUB_MACHINE_EMU.
25999
a33075b9
CW
260002010-05-28 Colin Watson <cjwatson@ubuntu.com>
26001
26002 Make grub-probe work with symbolic links under /dev/mapper as well
26003 as with real block devices. The Linux world seems to be (at best)
26004 in transition here, and GRUB shouldn't get caught in the middle.
26005
26006 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
26007 /dev/mapper.
26008
d8708134
CW
260092010-05-27 Colin Watson <cjwatson@ubuntu.com>
26010
26011 * util/grub-script-check.c (main): Ensure defined behaviour on empty
26012 input files (in which case exit zero).
26013
db2102a0
CW
260142010-05-27 Colin Watson <cjwatson@ubuntu.com>
26015
26016 * kern/emu/misc.c (canonicalize_file_name): realpath can still
26017 return NULL for various reasons even if it has a maximum-length
26018 buffer: for example, there might be a symlink loop, or the path
26019 might exceed PATH_MAX. If this happens, return NULL.
26020
5fdba519
RM
260212010-05-27 Robert Millan <rmh@gnu.org>
26022
26023 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
26024 partmap module to handle cross-partmap setups.
26025 Reported by Orestes Mas. Gràcies!
26026
d1d368e4
CW
260272010-05-27 Colin Watson <cjwatson@ubuntu.com>
26028
26029 * util/grub-mkrescue.in: Initialise override_dir rather than
26030 assuming that it's unset or empty in the environment.
26031
95ac3c73
GS
260322010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
26033
26034 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
26035 variable index into p_index to suppress a warning with -Wshadow.
26036
7d8c0213
BC
260372010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
26038
26039 * INSTALL: Added flex >= 2.5.35 requirement.
26040
db4d5813
VS
260412010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26042
26043 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
26044
f24f4300
VS
260452010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26046
26047 cmostest support.
26048
26049 * commands/i386/cmostest.c: New file.
26050 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
26051 (cmostest_mod_SOURCES): New variable.
26052 (cmostest_mod_CFLAGS): Likewise.
26053 (cmostest_mod_LDFLAGS): Likewise.
26054 * conf/i386-pc.rmk: Likewise.
26055 * docs/grub.texi (Vendor power-on keys): New section.
26056 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
26057 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
26058 and GRUB_BUTTON_CMOS_ADDRESS.
26059 * util/grub.d/00_header.in: Handle powering-on by separate button.
26060
ad603f61
VS
260612010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26062
26063 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
26064 Removed drawing_scrollbar argument. All users updated
26065 Fixes #29792.
26066 Reported by Jo Shields
26067
3ecb080a
VS
260682010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26069
26070 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
26071 buffer since gfxterm handles double repaint.
26072
5f2316c1
VS
260732010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26074
26075 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
26076 * term/gfxterm.c (real_scroll): Likewise.
26077
9a25f885
VS
260782010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26079
26080 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
26081 before calling BIOS.
26082
39fbb79a
VS
260832010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26084
26085 * include/grub/i18n.h: Always enable grub_gettext.
26086
228cfa97
VS
260872010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26088
26089 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
26090 partition naming style.
26091
21717c8f
CW
260922010-05-21 Colin Watson <cjwatson@ubuntu.com>
26093
26094 * util/grub-mkconfig.in: Fix handling of -o so that it works when
26095 not the first option.
26096
c0f48e65
CW
260972010-05-20 Colin Watson <cjwatson@ubuntu.com>
26098
26099 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
26100
96779aec
CW
261012010-05-20 Colin Watson <cjwatson@ubuntu.com>
26102
26103 * util/misc.c: Move inclusion of <limits.h> to ...
26104 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
26105
fa9d256e
GS
261062010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
26107
26108 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
26109 Fix merge error in NetBSD code.
26110 (find_partition_start) [__NetBSD__]: Likewise.
26111
123b7a85
BC
261122010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
26113
26114 Fix grub-mkrescue usage unit testing.
26115
26116 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
26117
74276c0d
CF
261182010-05-18 Christian Franke <franke@computer.org>
26119
26120 * util/grub.d/10_windows.in: Use path names instead of
26121 drive letters to prevent warning from Cygwin 1.7.
26122 Add drivemap command to menuentry if needed.
26123
c4f7b523
ST
261242010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
26125
26126 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
26127 gnumach and gnumach.gz.
26128
95b97950
VS
261292010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26130
26131 * include/grub/i18n.h (gettext): Inline instead of using #define.
26132 (grub_gettext): Likewise.
26133 (_): Likewise.
26134
01b8d2d7
VS
261352010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26136
26137 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
26138 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
26139 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
26140 (main): Add a slash after pkglibdirroot.
26141
654e1d1e
VS
261422010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26143
26144 * util/grub-install.in: Add missing "in" keyword.
26145
26966aeb
VS
261462010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26147
26148 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
26149 Reported by: Seth Goldberg.
26150
75006747
VS
261512010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26152
26153 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
26154
74cbf5bd
CW
261552010-05-18 Colin Watson <cjwatson@ubuntu.com>
26156
26157 * configure.ac: Check for Linux device-mapper support.
26158
26159 * util/hostdisk.c (device_is_mapped): New function.
26160 (find_partition_start): New function, partly broken out from
26161 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
26162 device-mapper support added.
26163 (linux_find_partition): Use find_partition_start.
26164 (convert_system_partition_to_system_disk): Add `st' argument.
26165 Support Linux /dev/mapper/* devices if device-mapper support is
26166 available; only DM-RAID devices are understood at present.
26167 (find_system_device): Add `st' argument. Pass it to
26168 convert_system_partition_to_system_disk.
26169 (grub_util_biosdisk_get_grub_dev): Pass stat result to
26170 find_system_device and convert_system_partition_to_system_disk. Use
26171 find_partition_start.
26172
26173 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
26174 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
26175 * util/deviceiter.c [__linux__]: Define MINOR.
26176 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
26177 * util/mkdevicemap.c (grub_putchar): New function.
26178 (grub_getkey): New function.
26179 (grub_refresh): New function.
26180 (main): Set debug=all if -v -v is used.
26181
355b51e9
CW
261822010-05-18 Colin Watson <cjwatson@ubuntu.com>
26183
26184 Fix build with non-GNU libcs.
26185
26186 * util/misc.c (canonicalize_file_name): Move to ...
26187 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
26188 grub_make_system_path_relative_to_its_root.
26189
7fb5c25f
CW
261902010-05-18 Colin Watson <cjwatson@ubuntu.com>
26191
26192 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
26193 we handle finding grub-mkimage. Default to finding grub-mkimage in
26194 ${bindir} with program_transform_name applied, and provide a
26195 --grub-mkimage option to override this.
26196
1d3293d6
VS
261972010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26198
26199 Remove grub-mkisofs.
26200
26201 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
26202 (grub_mkisofs_SOURCES): Removed.
26203 (grub_mkisofs_CFLAGS): Removed.
26204 * util/mkisofs/defaults.h: Removed.
26205 * util/mkisofs/eltorito.c: Likewise.
26206 * util/mkisofs/exclude.h: Likewise.
26207 * util/mkisofs/hash.c: Likewise.
26208 * util/mkisofs/include/: Likewise.
26209 * util/mkisofs/include/fctldefs.h: Likewise.
26210 * util/mkisofs/include/mconfig.h: Likewise.
26211 * util/mkisofs/include/prototyp.h: Likewise.
26212 * util/mkisofs/include/statdefs.h: Likewise.
26213 * util/mkisofs/iso9660.h: Likewise.
26214 * util/mkisofs/joliet.c: Likewise.
26215 * util/mkisofs/match.c: Likewise.
26216 * util/mkisofs/match.h: Likewise.
26217 * util/mkisofs/mkisofs.c: Likewise.
26218 * util/mkisofs/mkisofs.h: Likewise.
26219 * util/mkisofs/msdos_partition.h: Likewise.
26220 * util/mkisofs/multi.c: Likewise.
26221 * util/mkisofs/name.c: Likewise.
26222 * util/mkisofs/rock.c: Likewise.
26223 * util/mkisofs/tree.c: Likewise.
26224 * util/mkisofs/write.c: Likewise.
26225
5dde9afe
VS
262262010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26227
26228 Unify grub-mkimage accross platforms.
26229
26230 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
26231 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
26232 (grub_mkelfimage_SOURCES): Removed.
26233 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
26234 (util/grub-mkimage.c_DEPENDENCIES): .. this.
26235 (bin_UTILITIES): Add grub-mkimage.
26236 (grub_mkimage_SOURCES): New variable.
26237 (kernel_img_HEADERS): Remove machine/kernel.h.
26238 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
26239 (pkglib_PROGRAMS): Add kernel.img.
26240 (kernel_img_HEADERS): Add machine/kernel.h.
26241 (kernel_img_FORMAT): Removed.
26242 (bin_UTILITIES): Remove grub-mkimage.
26243 (grub_mkimage_SOURCES): Removed.
26244 (grub_mkimage_CFLAGS): Likewise.
26245 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26246 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
26247 (pkglib_PROGRAMS): Add kernel.img.
26248 (bin_UTILITIES): Remove grub-mkimage.
26249 (grub_mkimage_SOURCES): Removed.
26250 (grub_mkimage_CFLAGS): Likewise.
26251 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26252 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
26253 (pkglib_PROGRAMS): Add kernel.img.
26254 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
26255 (pkglib_PROGRAMS): Add kernel.img.
26256 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
26257 (grub_mkimage_SOURCES): Removed.
26258 (grub_mkimage_CFLAGS): Likewise.
26259 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26260 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
26261 (pkglib_PROGRAMS): Add kernel.img.
26262 (bin_UTILITIES): Remove grub-mkimage.
26263 (grub_mkimage_SOURCES): Removed.
26264 (grub_mkimage_CFLAGS): Likewise.
26265 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26266 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
26267 (grub_mkimage_SOURCES): Removed.
26268 (grub_mkimage_CFLAGS): Likewise.
26269 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26270 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
26271 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
26272 (grub_pe32_optional_header): ... this.
26273 (grub_pe64_optional_header): ... and this. All users updated.
26274 (GRUB_PE32_PE32_MAGIC): Split into ..
26275 (GRUB_PE32_PE32_MAGIC): .. this.
26276 (GRUB_PE32_PE64_MAGIC): .. and this.
26277 (GRUB_PE32_SIGNATURE_SIZE): New definition.
26278 * include/grub/elf.h (PT_GNU_STACK): New definition.
26279 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
26280 * include/grub/i386/efi/kernel.h: Likewise.
26281 * include/grub/i386/kernel.h: Likewise.
26282 * include/grub/i386/pc/kernel.h: Likewise.
26283 * include/grub/i386/qemu/boot.h: Likewise.
26284 * include/grub/mips/kernel.h: Likewise.
26285 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26286 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26287 * include/grub/powerpc/kernel.h: Likewise.
26288 * include/grub/sparc64/ieee1275/boot.h: Likewise.
26289 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26290 * include/grub/sparc64/kernel.h: Likewise.
26291 * include/grub/x86_64/efi/kernel.h: Likewise.
26292 * include/grub/x86_64/kernel.h: Likewise.
26293 * include/grub/offsets.h: New file.
26294 * include/grub/kernel.h (grub_module_info): Split into ...
26295 (grub_module_info32): ... this.
26296 (grub_module_info64): ... and this.
26297 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
26298 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
26299 (grub_boot_blocklist): Moved from here ...
26300 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
26301 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
26302 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
26303 * include/grub/types.h (grub_target_to_host16): Removed.
26304 (grub_target_to_host32): Likewise.
26305 (grub_target_to_host64): Likewise.
26306 (grub_host_to_target16): Likewise.
26307 (grub_host_to_target32): Likewise.
26308 (grub_host_to_target64): Likewise.
26309 (grub_host_to_target_addr): Likewise.
26310
26311 Support grub-mkrescue for efi, coreboot and qemu.
26312
26313 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
26314 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
26315 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
26316 * util/grub-mkrawimage.c: Moved from here ...
26317 * util/grub-mkimage.c: ... here. All users updated.
26318 (ALIGN_ADDR): Use image_target.
26319 (TARGET_NO_FIELD): New const.
26320 (image_target_desc): New type.
26321 (image_targets): New array.
26322 (grub_target_to_host64): Use image_target.
26323 (grub_target_to_host32): Likewise.
26324 (grub_target_to_host16): Likewise.
26325 (grub_host_to_target64): Likewise.
26326 (grub_host_to_target32): Likewise.
26327 (grub_host_to_target16): Likewise.
26328 (grub_host_to_target_addr): Likewise.
26329 (generate_image): Handle multiimage.
26330 (main): Require -O parameter. All users updated.
26331 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
26332 util/efi/grub-mkimage.c
26333 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
26334 New option --rom-directory.
26335 Use xorriso.
26336 * util/i386/efi/grub-mkimage.c: Removed.
26337 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
26338 (grub_target_to_host32): Likewise.
26339 (grub_target_to_host64): Likewise.
26340 (grub_host_to_target16): Likewise.
26341 (grub_host_to_target32): Likewise.
26342 (grub_host_to_target64): Likewise.
26343 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
26344 (grub_target_to_host32): Likewise.
26345 (grub_target_to_host64): Likewise.
26346 (grub_host_to_target16): Likewise.
26347 (grub_host_to_target32): Likewise.
26348 (grub_host_to_target64): Likewise.
26349
f4fc97d0
BC
263502010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
26351
26352 Source tree is reorganized for emu build.
26353
26354 * include/grub/util/console.h: Move from here...
26355 * include/grub/emu/console.h: ...to here.
26356 * include/grub/util/getroot.h: Move from here...
26357 * include/grub/emu/getroot.h: ...to here.
26358 * include/grub/util/hostdisk.h: Move from here...
26359 * include/grub/emu/hostdisk.h: ...to here.
26360 * util/console.c: Move from here...
26361 * kern/emu/console.c: ...to here.
26362 * util/getroot.c: Move from here...
26363 * kern/emu/getroot.c: ...to here.
26364 * util/grub-emu.c: Move from here...
26365 * kern/emu/main.c: ...to here.
26366 * util/hostdisk.c: Move from here...
26367 * kern/emu/hostdisk.c: ...to here.
26368 * util/hostfs.c: Move from here...
26369 * kern/emu/hostfs.c: ...to here.
26370 * util/mm.c: Move from here...
26371 * kern/emu/mm.c: ...to here.
26372 * util/pci.c: Move from here...
26373 * bus/emu/pci.c: ...to here.
26374 * util/sdl.c: Move from here...
26375 * video/emu/sdl.c: ...to here.
26376 * util/time.c: Move from here...
26377 * kern/emu/time.c: ...to here.
26378 * util/usb.c: Move from here...
26379 * bus/usb/emu/usb.c: ...to here.
26380
26381 * include/grub/emu/misc.h: New header for grub-emu functions.
26382 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
26383
26384 * conf/any-emu.rmk: Rule updates for above renames.
26385 * conf/common.rmk: Likewise.
26386 * conf/i386-pc.rmk: Likewise.
26387 * conf/i386-qemu.rmk: Likewise.
26388 * conf/mips.rmk: Likewise.
26389 * conf/sparc64-ieee1275.rmk: Likewise.
26390 * conf/x86-efi.rmk: Likewise.
26391
26392 * disk/lvm.h: #include updates for above renames.
26393 * util/grub-mkrelpath.c: Likewise.
26394 * util/grub-probe.c: Likewise.
26395 * util/i386/pc/grub-setup.c: Likewise.
26396 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26397 * kern/emu/console.c: Likewise.
26398 * kern/emu/getroot.c: Likewise.
26399 * kern/emu/hostdisk.c: Likewise.
26400 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
26401
26402 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
26403 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
26404 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
26405 * util/misc.c: Remove grub-emu functions.
26406
cced9145
VS
264072010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
26408
26409 Fix gfxmenu crash.
26410 Reported by: Thorsten Grützmacher.
26411
26412 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
26413 timeout hook.
26414 (circprog_set_property): Register and unregister timeout hook.
26415 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
26416 (label_destroy): Free template. and unregister hook.
26417 (label_set_state): New function.
26418 (label_set_property): Handle templates and hooks.
26419 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
26420 timeout hook.
26421 (progress_bar_set_property): Register and unregister timeout hook.
26422 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
26423 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
26424 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
26425 (update_timeout_visit): Removed.
26426 (update_timeouts): New function.
26427 (redraw_timeouts): Likewise.
26428 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
26429 (grub_gfxmenu_clear_timeout): Likewise.
26430 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
26431 (grub_gfxmenu_timeout_notify): Likewise.
26432 (grub_gfxmenu_timeout_notifications): New external variable.
26433 (grub_gfxmenu_timeout_register): New function.
26434 (grub_gfxmenu_timeout_unregister): Likewise.
26435
c6e5caab
VS
264362010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26437
26438 Transform (broken) vga terminal into (working) vga video driver.
26439
26440 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
26441 video/i386/pc/vga.c.
26442 * include/grub/video.h (grub_video_driver_id):
26443 Add GRUB_VIDEO_DRIVER_VGA.
26444 * term/i386/pc/vga.c: Renamed to ...
26445 * video/i386/pc/vga.c: ...this
26446 (DEBUG_VGA): Removed.
26447 (CHAR_WIDTH): Likewise.
26448 (CHAR_HEIGHT): Likewise.
26449 (TEXT_WIDTH): Likewise.
26450 (TEXT_HEIGHT): Likewise.
26451 (DEFAULT_FG_COLOR): Likewise.
26452 (DEFAULT_BG_COLOR): Likewise.
26453 (colored_char): Likewise.
26454 (xpos): Likewise.
26455 (ypos): Likewise.
26456 (cursor_state): Likewise.
26457 (fg_color): Likewise.
26458 (bg_color): Likewise.
26459 (text_buf): Likewise.
26460 (page): Likewise.
26461 (font): Likewise.
26462 (framebuffer): New variable.
26463 (set_read_map): Disabled.
26464 (setup): New variable.
26465 (is_target): Likewise.
26466 (grub_vga_mod_init): Likewise.
26467 (grub_vga_mod_fini): Likewise.
26468 (check_vga_mem): Likewise.
26469 (write_char): Likewise.
26470 (write_cursor): Likewise.
26471 (scroll_up): Likewise.
26472 (grub_vga_putchar): Likewise.
26473 (grub_vga_getcharwidth): Likewise.
26474 (grub_vga_getwh): Likewise.
26475 (grub_vga_getxy): Likewise.
26476 (grub_vga_gotoxy): Likewise.
26477 (grub_vga_cls): Likewise.
26478 (grub_vga_setcolorstate): Likewise.
26479 (grub_vga_setcursor): Likewise.
26480 (grub_video_vga_init): New function.
26481 (grub_video_vga_setup): Likewise.
26482 (grub_video_vga_fini): Likewise.
26483 (update_target): Likewise.
26484 (grub_video_vga_blit_bitmap): Likewise.
26485 (grub_video_vga_blit_render_target): Likewise.
26486 (grub_video_vga_set_active_render_target): Likewise.
26487 (grub_video_vga_get_active_render_target): Likewise.
26488 (grub_video_vga_swap_buffers): Likewise.
26489 (grub_video_vga_set_palette): Likewise.
26490 (grub_video_vga_get_info_and_fini): Likewise.
26491 (grub_vga_term): Removed.
26492 (grub_video_vga_adapter): New variable.
26493 (GRUB_MOD_INIT): Register a video driver instead of terminal.
26494 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
26495
2bf61a98
VS
264962010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26497
26498 * video/readers/jpeg.c: Indented.
26499
09ddcd11
VS
265002010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26501
26502 Various jpeg cleanups.
26503
26504 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
26505 (grub_jpeg_decode_quan_table): Use sizeof.
26506 (grub_jpeg_decode_du): Use ARRAY_SIZE.
26507
e5507505
PH
265082010-05-05 Peter Hurley <No e-mail available> (tiny change)
26509
26510 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
26511 tables. Ignore non-last ac bit.
26512 (grub_jpeg_decode_quan_table): Likewise.
26513
7e720a9b
VS
265142010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26515
26516 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
26517 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
26518 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
26519 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
26520 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
26521 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
26522
a7fc080b
VS
265232010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26524
26525 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
26526 error.
26527
2bf6012d
VS
265282010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26529
26530 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
26531
265d68cd
VS
265322010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26533
26534 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
26535 condition.
26536
265372010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
26538
26539 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
26540 part.
26541
265d68cd 265422010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
26543
26544 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
26545 pointers.
26546
265d68cd 265472010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
26548
26549 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
26550
d1b61374
CF
265512010-05-01 Christian Franke <franke@computer.org>
26552
26553 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
26554 Remove broken Cygwin path conversion.
26555 * util/misc.c: [__CYGWIN__] Add include and define.
26556 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
26557 for Cygwin 1.7.
26558 (make_system_path_relative_to_its_root): Simplify loop, replace early
26559 return by break.
26560 [__CYGWIN__] Add conversion to win32 path.
26561 Include "/" case in trailing slash removal.
26562
3558c6e9
VS
265632010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26564
26565 * kern/main.c (grub_load_config): Fix copy-pasted comment.
26566 Reported by: Seth Goldberg
26567
f5f3ff93
VS
265682010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26569
26570 * commands/help.c (grub_cmd_help): Fix a typo.
26571 Reported by: Seth Goldberg
26572
d8b5cd40
VS
265732010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26574
26575 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
26576 name and add N_.
26577 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
26578 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
26579 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
26580 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
26581 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
26582 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
26583 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
26584 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
26585 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
26586 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26587 * normal/context.c (GRUB_MOD_INIT): Likewise.
26588 * normal/main.c (GRUB_MOD_INIT): Likewise.
26589 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
26590 * term/serial.c (GRUB_MOD_INIT): Likewise.
26591 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
26592
88c14915
VS
265932010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26594
26595 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
26596 extra == 0.
26597
165134bc
VS
265982010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26599
26600 * commands/iorw.c: New file.
26601 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
26602 (iorw_mod_SOURCES): New variable.
26603 (iorw_mod_CFLAGS): Likewise.
26604 (iorw_mod_LDFLAGS): Likewise.
26605
c5ac9b32
VS
266062010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26607
26608 Hotkey support
26609
26610 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
26611 * normal/main.c (hotkey_aliases): New variable.
26612 (grub_normal_add_menu_entry): Parse "--hotkey".
26613 * normal/menu_text.c (run_menu): Handle hotkeys.
26614
ce60689c
VS
266152010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26616
26617 * kern/i386/coreboot/init.c (grub_machine_init): Call
26618 grub_machine_mmap_init on qemu.
26619
0359d006
VS
266202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26621
26622 * boot/i386/qemu/boot.S: Add a missing .code16.
26623
7819a456
VS
266242010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26625
26626 Use LBIO on coreboot.
26627
26628 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
26629 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
26630 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
26631 New declaration.
26632 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
26633 grub_machine_mmap_init on coreboot.
26634 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
26635 GRUB_LINUXBIOS_MEMBER_LINK.
26636 (grub_machine_mmap_iterate): Fix declaration.
26637 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
26638
7210dca9
VS
266392010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26640
26641 Split coreboot and multiboot ports.
26642
26643 * conf/i386-multiboot.rmk: New file.
26644 * configure.ac: Add multiboot port.
26645 * include/grub/i386/multiboot/boot.h: New file.
26646 * include/grub/i386/multiboot/console.h: Likewise.
26647 * include/grub/i386/multiboot/init.h: Likewise.
26648 * include/grub/i386/multiboot/kernel.h: Likewise.
26649 * include/grub/i386/multiboot/loader.h: Likewise.
26650 * include/grub/i386/multiboot/memory.h: Likewise.
26651 * include/grub/i386/multiboot/serial.h: Likewise.
26652 * include/grub/i386/multiboot/time.h: Likewise.
26653 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
26654 * loader/multiboot.c: Likewise.
26655 * loader/multiboot_mbi2.c: Likewise.
26656 * util/grub-mkrescue.in: Generate multiboot rescue.
26657
6f8aaf68
VS
266582010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26659
3080f7a7
VS
26660 * kern/parser.c (grub_parser_execute): Cope with read-only config.
26661
266622010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26663
26664 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
26665
26666 * commands/terminal.c (abstract_terminal): New struct.
26667 (handle_command): New function. Based on grub_cmd_terminal_input.
26668 (grub_cmd_terminal_input): Use handle_command.
26669 (grub_cmd_terminal_output): Use handle_command.
26670
a8ebb841
BC
266712010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
26672
26673 Fix comment handling.
26674
26675 * tests/grub_script_comments.in: New testcase.
26676 * conf/tests.rmk: Rules for new testcase.
26677 * script/yylex.l: Updated flex rules.
26678
bb06ba08
ST
266792010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
26680
26681 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
26682 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
26683 if argc is 1.
bb06ba08 26684
cc9d2425
VS
266852010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26686
26687 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
26688 autogen issues.
26689
460d8402
CF
266902010-04-26 Christian Franke <franke@computer.org>
26691
26692 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
26693 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
26694 (grub_get_prefix): Remove function.
26695 * util/grub-emu.c (main): Replace grub_get_prefix () call by
26696 make_system_path_relative_to_its_root ().
26697 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
26698
553c01f9
CF
266992010-04-24 Christian Franke <franke@computer.org>
26700
26701 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
26702 (kernel_img_LDFLAGS): Remove -static-libgcc.
26703
2aec1692
CF
267042010-04-24 Christian Franke <franke@computer.org>
26705
26706 * configure.ac: Do not CHECK_BSS_START_SYMBOL
26707 and CHECK_END_SYMBOL if grub-emu is built.
26708 Unset TARGET_OBJ2ELF if grub-emu is built
26709 without module support.
26710
f67dc308
JS
267112010-04-24 Jiro SEKIBA <jir@unicus.jp>
26712
26713 Nilfs2 support.
26714
26715 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
26716 (grub_fstest_SOURCES): Likewise.
26717 (pkglib_MODULES): Add nilfs2.mod.
26718 (nilfs2_mod_SOURCES): New variable.
26719 (nilfs2_mod_CFLAGS): Likewise.
26720 (nilfs2_mod_LDFLAGS): Likewise.
26721 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26722 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26723 * fs/nilfs2.c: New file.
26724
4ba8d354
VS
267252010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
26726
26727 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
26728 is not supported.
26729
0d2c20c6
GS
267302010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
26731
26732 Add grub-mkconfig support for NetBSD.
26733
26734 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
26735 * util/grub-mkconfig.in: export new NetBSD specific variables.
26736 * po/POTFILES-shell: added 10_netbsd.in.
26737 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
26738
bc4a2d83
BC
267392010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
26740
26741 Fix emu build with grub-emu-pci and grub-emu-modules.
26742
26743 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
26744 functions.
26745 * include/grub/libpciaccess.h: New file.
26746 * conf/any-emu.rmk: Update kernel headers for emu build.
26747
f48c87aa
VS
267482010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26749
26750 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
26751
18959385
VS
267522010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26753
26754 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
26755
0037de3f
VS
267562010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26757
26758 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
26759 Retrieve chosen/bootpath if bootpath isn't hardcoded.
26760 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
26761 util/ieee1275/ofpath.c.
26762 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
26763 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
26764 * include/grub/sparc64/ieee1275/boot.h
26765 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
26766 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
26767 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
26768 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
26769 const char *.
26770 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
26771 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
26772 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
26773 install.
26774
38e55e90
GS
267752010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
26776
26777 * util/grub-mkconfig.in: Corrected two == equality tests.
26778 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
26779 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
26780 expect a number appended to it.
26781 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
26782 expects a number appended to it.
26783
a9e6ff28
VS
267842010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26785
26786 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
26787
0b830b8f
VS
267882010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
26789
26790 * util/hostdisk.c (make_device_name): Change to new partition naming.
26791
0973daeb
VS
267922010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
26793
26794 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
26795
460d8402 267962010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
26797
26798 * Makefile.in: Add missing localedir setting.
26799
0b456309
CW
268002010-04-14 Colin Watson <cjwatson@ubuntu.com>
26801
26802 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
26803 mistake in r2156. Noticed by Anthony Fok.
26804
26805 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
26806 @localedir@.
26807 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
26808
08f46d62
BC
268092010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
26810
26811 Fix a spurious, uninitialized variable warning.
26812
26813 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
26814 Initialize variable, shdr.
26815 (grub_freebsd_load_elfmodule): Likewise.
26816 (grub_freebsd_load_elf_meta): Likewise.
26817
8c4a72d4
BC
268182010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
26819
26820 Fix for escaped dollar in double quoted strings.
26821
26822 * script/yylex.l: Updated flex rules.
26823 * conf/tests.rmk: Rule for new testcase.
26824 * tests/grub_script_dollar.in: New testcase.
26825
ce44826e
CPE
268262010-04-13 Carles Pina i Estany <carles@pina.cat>
268272010-04-13 Colin Watson <cjwatson@ubuntu.com>
26828
26829 Enclose all translated strings in grub.cfg in single quotes, and
26830 escape them appropriately (Ubuntu bug #552921).
26831
26832 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
26833 * util/grub.d/10_hurd.in: Use it.
26834 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26835 * util/grub.d/10_linux.in (linux_entry): Likewise.
26836
4b0cd8f8
VS
268372010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26838
26839 Fix cygwin compilation.
26840
26841 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
26842 * include/grub/misc.h (__register_frame_info)
26843 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
26844 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26845 * kern/misc.c (__register_frame_info)
26846 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
26847 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
26848
01fcf061
VS
268492010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26850
26851 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
26852
5d04b11e
VS
268532010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
26854
26855 Unify libgcc processing.
26856
26857 * Makefile.in (kernel_img_LDFLAGS): New variable.
26858 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
26859 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
26860 overwriting.
26861 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
26862 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
26863 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
26864 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
26865 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
26866 overwriting. Remove -lgcc and -static-libgcc
26867 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
26868 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
26869 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
26870 (kernel_img_LDFLAGS): Append instead of overwriting.
26871 Remove -lgcc and -static-libgcc
26872 * conf/sparc64-ieee1275.rmk: Likewise.
26873 * include/grub/powerpc/libgcc.h: Move to ...
26874 * include/grub/libgcc.h: .. this.
26875 * include/grub/libgcc.h: Don't export most of the function on x86.
26876 (__bswapsi2): New export.
26877 (__bswapdi2): Likewise.
26878 * include/grub/mips/libgcc.h: Removed.
26879 * include/grub/sparc64/libgcc.h: Likewise.
26880
b7f3ac29
VS
268812010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26882
26883 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
26884 disk_info_msg (conflicts with gettexting into languages with cases).
26885
2c7031b1
GS
268862010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
26887
26888 Add grub-probe support for NetBSD.
26889
26890 * util/getroot.c (find_root_device): Convert block device to
26891 character device on NetBSD.
26892 * util/probe.c (probe): Require character device on NetBSD.
26893 * util/hostdisk.c: NetBSD specific headers.
26894 (configure_device_driver): new function to tune device driver
26895 parameters (currently only for NetBSD floppy driver).
26896 (grub_util_biosdisk_open): NetBSD specific code (get disk size
26897 via disklabel ioctl).
26898 (open_device): call configure_device_driver on NetBSD.
26899 (convert_system_partition_to_system_disk): NetBSD specific code.
26900 (device_is_wholedisk): Likewise.
26901 (grub_util_biosdisk_get_grub_dev): Likewise.
26902 (make_device_name): Fixed a typo in bsd_part_str.
26903 * configure.ac: check for opendisk() and getrawpartition() on
26904 NetBSD and set LIBUTIL.
26905 * Makefile.in: add LIBUTIL to LIBS.
26906
f516290c
BC
269072010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
26908
26909 Documentation fix.
26910
26911 * util/grub-script-check.c: Better help message.
26912
d8dcc0df
BC
269132010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
26914
26915 Fix FreeBSD build.
26916
26917 * configure.ac: Flex version check.
26918 * conf/common.rmk: Add -Wno-error to sh.mod.
26919 * script/yylex.l: Remove all #pragma.
26920
6734334a
VS
269212010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26922
26923 * include/grub/util/misc.h (canonicalise_file_name): Add missing
26924 prototype.
26925 Reported by: Seth Goldberg.
26926
daea6abd
VS
269272010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26928
26929 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
26930 Rename "module" to "module2".
26931 Reported by: Seth Goldberg.
26932
f2fd9d2b
VS
269332010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26934
26935 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
26936 EXPORT_FUNC.
26937 Reported by: Seth Goldberg.
26938
be124579
VS
269392010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26940
26941 * lib/posix_wrap/locale.h: Add missing file.
26942 Reported by: Seth Goldberg.
26943
ef5da797
VS
269442010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26945
26946 grub-emu module load support.
26947
26948 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
26949 NO_DYNAMIC_MODULES switched to this.
26950 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
26951 (CFLAGS): Likewise.
26952 * conf/any-emu.rmk: Generate symlist.
26953 (kernel_img_HEADERS): Add util/datetime.h.
26954 (kernel_img_HEADERS) [sdl]: Add sdl.h.
26955 (kernel_img_HEADERS) [libusb]: Add libusb.h.
26956 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
26957 kern/$(target_cpu)/cache.S.
26958 * configure.ac (grub-emu-modules): New option.
26959 * genmk.rb: Handle multiple source lists.
26960 * include/grub/sdl.h: New file.
26961 * include/grub/libusb.h: Likewise.
26962 * util/grub-emu.c (main): Hanle (host) root.
26963 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
26964 GRUB_ERR_UNKNOWN_DEVICE.
26965 * util/misc.c: Move mm functions to ...
26966 * util/mm.c: ... here. All users updated.
26967
47822096
VS
269682010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26969
26970 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
26971 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
26972 missing files.
26973 (maintainer-clean): Remove libgcrypt-grub.
26974
5d7e7445
VS
269752010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26976
26977 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
26978
25f4e252
EC
269792010-04-09 EFI Coder <eficoder@hotmail.com>
26980
26981 * normal/menu_text.c (print_message): Clean up the message and show
26982 the Fn information when on EFI
26983 * term/efi/console.c (grub_console_checkkey): Add F4 support.
26984
027de555
VS
269852010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26986
26987 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
26988 All users updated.
26989 * normal/crypto.c (read_crypto_list): Likewise.
26990 * normal/dyncmd.c (read_command_list): Likewise.
26991 * normal/term.c (read_terminal_list): Likewise.
26992 * normal/main.c (read_lists): Use explicit prefix.
26993 (read_lists_hook): Use read_lists.
26994 (grub_normal_execute): Likewise.
26995
47779711
VS
269962010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
26997
26998 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
26999 Reported by: Thomas Schmitt.
27000 Add -no-emul-boot to grub-mkisofs parameters.
27001
1118c32e
VS
270022010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27003
27004 * font/font.c: Indented.
27005
7d652447
BC
270062010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27007
27008 Elif support to GRUB script (by Deepak Vankadaru).
27009
27010 * tests/grub_script_if.in: New testcase.
27011 * conf/tests.rmk: Rule for new testcase.
27012 * script/parser.y: Grammar rules for elif.
27013
34bb22df
BC
270142010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27015
27016 While and until loops support to GRUB script.
27017
27018 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
27019 (grub_script_create_cmdwhile): New function prototype.
27020 (grub_script_execute_cmdwhile): New function prototype.
27021 * script/execute.c (grub_script_execute_cmdwhile): New function.
27022 * script/parser.y (command): New commands.
27023 (whilecmd): New grammar rule.
27024 (untilcmd): New grammar rule.
27025 * script/script.c (grub_script_create_cmdwhile): New function.
27026 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
27027 function.
27028
27029 * tests/grub_script_while1.in: New testcase.
27030 * conf/tests.rmk: Rule for new testcase.
27031
e215d8e0
VS
270322010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27033
27034 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
27035 as *.jpg.
27036
d7c43ba1
MV
270372010-04-09 Mario Vazquez <mariovazq@gmail.com>
27038
27039 GRUB_BACKGROUND support.
27040
27041 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
27042 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
27043
d64795c0
VS
270442010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27045
27046 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 27047 Idea by: Mario Vazquez
d64795c0
VS
27048
27049 * util/grub.d/00_header.in: Load pf2 and image modules.
27050
f267f83a
VS
270512010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27052
27053 grub-mkconfig multiple terminal support.
27054
27055 * util/grub-mkconfig.in: Handle multiple terminals correctly.
27056 * util/grub.d/00_header.in: Likewise.
27057
b7841ceb
VS
270582010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27059
27060 * Makefile.in: Specify files explicitly instead of using $< and $@ since
27061 we use cd $(srcdir).
27062
df60998c
CW
270632010-04-08 Colin Watson <cjwatson@ubuntu.com>
27064
27065 * util/grub.d/10_linux.in: Only use the first word of
27066 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
27067 spaces in GRUB_DISTRIBUTOR.
27068 * util/grub.d/10_kfreebsd.in: Likewise.
27069 * util/grub.d/10_hurd.in: Likewise.
27070
fa09c82e
BC
270712010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
27072
14e18ae3 27073 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
27074
27075 * tests/util/grub-shell.in: Remove -serial stdio option.
27076
daf892b3
BC
270772010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
27078
27079 POSIX header file wrappers.
27080
27081 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
27082 equivalents.
27083 * lib/posix_wrap/ctype.h: Likewise.
27084 * lib/posix_wrap/errno.h: Likewise.
27085 * lib/posix_wrap/langinfo.h: Likewise.
27086 * lib/posix_wrap/limits.h: Likewise.
27087 * lib/posix_wrap/localcharset.h: Likewise.
27088 * lib/posix_wrap/stdint.h: Likewise.
27089 * lib/posix_wrap/stdio.h: Likewise.
27090 * lib/posix_wrap/stdlib.h: Likewise.
27091 * lib/posix_wrap/string.h: Likewise.
27092 * lib/posix_wrap/sys/types.h: Likewise.
27093 * lib/posix_wrap/unistd.h: Likewise.
27094 * lib/posix_wrap/wchar.h: Likewise.
27095 * lib/posix_wrap/wctype.h: Likewise.
27096 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
27097 (grub_script.yy.h): Likewise.
27098 * script/yylex.l: Remove POSIX emulation #defines.
27099 * Makefile.in (POSIX_CFLAGS): New variable.
27100 (GNULIB_UTIL_CFLAGS): Likewise.
27101
27102 Regexp support.
27103
27104 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
27105 (regexp_mod_SOURCES): New variable.
27106 (regexp_mod_CFLAGS): Likewise.
27107 (regexp_mod_LDFLAGS): Likewise.
27108 * commands/regexp.c: New file.
27109 * gnulib/regcomp.c: New file. Imported from gnulib.
27110 * gnulib/regex.c: Likewise.
27111 * gnulib/regex_internal.c: Likewise.
27112 * gnulib/regex_internal.h: Likewise.
27113 * gnulib/regexec.c: Likewise.
27114 * gnulib/regex.h: Likewise.
27115
974ac4f7
VS
271162010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27117
27118 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
27119 unsupported video mode types.
27120
2622c3ff
VS
271212010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27122
27123 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
27124
064cb524
VS
271252010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27126
27127 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
27128 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
27129
a8c3b552
VS
271302010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27131
27132 Remove unused grub_vga_get_font.
27133
27134 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
27135 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
27136
187bbe3d
GS
271372010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27138
27139 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
27140 * include/grub/misc.h: Likewise.
27141
b9396631
GS
271422010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27143
27144 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
27145 for which failure is fatal.
27146
50479feb
GS
271472010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27148
27149 * util/grub-install.in: Use mkdir -p to create grub directory.
27150 * util/i386/efi/grub-install.in: Likewise.
27151 * util/ieee1275/grub-install.in: Likewise.
27152
b1654fdf
GS
271532010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27154
27155 * Makefile.in (LEX): new variable.
27156
bd5a6415
GS
271572010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27158
27159 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
27160 `=' and added double quotes on operands of this equality test.
27161
3db3a82b
VS
271622010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27163
27164 * Makefile.in (uninstall): Remove a leftover debug echo.
27165 Reported by: Grégoire Sutre
27166
38023412
VS
271672010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27168
27169 MIPS multiboot2 support.
27170
27171 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
27172 (multiboot2_mod_SOURCES): New variable.
27173 (multiboot2_mod_CFLAGS): Likewise.
27174 (multiboot2_mod_LDFLAGS): Likewise.
27175 (multiboot2_mod_ASFLAGS): Likewise.
27176 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
27177 definition.
27178 (MULTIBOOT_ENTRY_REGISTER): Likewise.
27179 (MULTIBOOT_MBI_REGISTER): Likewise.
27180 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
27181 (MULTIBOOT_ELF32_MACHINE): Likewise.
27182 (MULTIBOOT_ELF64_MACHINE): Likewise.
27183 * include/grub/mips/multiboot.h: New file.
27184 * include/grub/video.h (grub_video_driver_id): New type
27185 GRUB_VIDEO_DRIVER_SM712.
27186 (grub_video_get_info_and_fini): Export.
27187 (grub_video_get_palette): Likewise.
27188 (grub_video_get_driver_id): Likewise.
27189 * include/multiboot2.h: Resynced with spec.
27190 * loader/i386/multiboot.c: Moved from here ...
27191 * loader/multiboot.c: ... here. All users updated.
27192 (grub_multiboot_boot): Use platform-specific macros.
27193 * loader/i386/multiboot_elfxx.c: Moved from here ...
27194 * loader/multiboot_elfxx.c: ... here. All users updated.
27195 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
27196 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
27197 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
27198
47674667
VS
271992010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
27200
27201 Import gnulib argp module.
27202
27203 * gnulib/argp-ba.c: New file.
27204 * gnulib/argp-eexst.c: Likewise.
27205 * gnulib/argp-fmtstream.c: Likewise.
27206 * gnulib/argp-fmtstream.h: Likewise.
27207 * gnulib/argp-fs-xinl.c: Likewise.
27208 * gnulib/argp-help.c: Likewise.
27209 * gnulib/argp-namefrob.h: Likewise.
27210 * gnulib/argp-parse.c: Likewise.
27211 * gnulib/argp-pin.c: Likewise.
27212 * gnulib/argp-pv.c: Likewise.
27213 * gnulib/argp-pvh.c: Likewise.
27214 * gnulib/argp-version-etc.c: Likewise.
27215 * gnulib/argp-version-etc.h: Likewise.
27216 * gnulib/argp-xinl.c: Likewise.
27217 * gnulib/argp.h: Likewise.
27218
495442ed
VS
272192010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27220
27221 * kern/device.c (grub_device_iterate): Clear errors after failed
27222 opening device.
27223
f9fd65df
VS
272242010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27225
27226 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
27227 returned by firmware.
27228
af09641e
VS
272292010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
27230
27231 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
27232 compilation on coreboot and qemu
27233
016883a5
VS
272342010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27235
27236 * include/multiboot2.h: Resync with spec.
27237
f97e1f7d
VS
272382010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27239
27240 Multiboot2 tag support
27241
27242 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
27243 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
27244 Remove loader/multiboot_loader.c.
27245 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
27246 (grub_multiboot2_real_boot): Likewise.
27247 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
27248 (grub_get_multiboot_mmap_count): New proto.
27249 (grub_fill_multiboot_mmap): Likewise.
27250 (grub_multiboot_set_video_mode): Likewise.
27251 (grub_multiboot_set_console): Likewise.
27252 (grub_multiboot_load): Likewise.
27253 (grub_multiboot_load_elf): Likewise.
27254 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
27255 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
27256 * include/multiboot.h: Resynced with specification.
27257 * include/multiboot2.h: Resynced with specification.
27258 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
27259 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
27260 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
27261 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
27262 users updated.
27263 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
27264 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
27265 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
27266 Removed.
27267 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
27268 Moved from here...
27269 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
27270 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
27271 Moved from here...
27272 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
27273 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
27274 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
27275 All users updated.
27276 * loader/i386/multiboot_mbi2.c: New file.
27277
3506b90b
VS
272782010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27279
27280 Resync with gnulib.
27281
27282 * Makefile.in (GNULIB_CFLAGS): New variable.
27283 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
27284 (grub_script_check_CFLAGS): New variable.
27285 * gnulib/alloca.h: Resync with gnulib.
27286 * gnulib/error.c: Likewise.
27287 * gnulib/error.h: Likewise.
27288 * gnulib/fnmatch.c: Likewise.
27289 * gnulib/fnmatch_loop.c: Likewise.
27290 * gnulib/getdelim.c: Likewise.
27291 * gnulib/getline.c: Likewise.
27292 * gnulib/getopt.c: Likewise.
27293 * gnulib/getopt1.c: Likewise.
27294 * gnulib/getopt_int.h: Likewise.
27295 * gnulib/gettext.h: Likewise.
27296 * gnulib/progname.c: Likewise.
27297 * gnulib/progname.h: Likewise.
27298
394a3120
GS
272992010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
27300
27301 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
27302 which is the case with --disabled-nls.
27303
27304 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
27305 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
27306 * util/misc.c: Likewise.
27307 * util/mkisofs/mkisofs.c: Likewise.
27308 * util/mkisofs/mkisofs.h: Likewise.
27309
969d1c78
VS
273102010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27311
27312 Simplify Apple CC support.
27313
27314 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
27315 Add 0 byte at the end not to have a symbol with empty target.
27316 * mmap/i386/pc/mmap_helper.S: Likewise.
27317 * genmk.rb: Ignore errors 2030 and 2050.
27318 * kern/i386/pc/startup.S: Use LOCAL when possible.
27319
8d2977bb
BC
273202010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
27321
27322 Testcase and the fix for final semicolon on cmdline.
27323
27324 * tests/grub_script_final_semicolon.in: New testcase.
27325 * conf/tests.rmk: Rules for the new testcase.
27326 * script/parser.y: Grammar fix.
27327
a7bd6915
BC
273282010-03-26 BVK Chaitanya <bvk@localhost>
27329
27330 Blank lines testcase for GRUB script.
27331
27332 * tests/grub_script_blanklines.in: New testcase.
27333 * conf/tests.rmk: Rules for the new testcase.
27334
e4ff6628
VS
273352010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27336
27337 Don't use __FILE__.
27338
27339 * genmk.rb: Add -DGRUB_FILE to all C targets.
27340 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
27341 * include/grub/list.h: Likewise.
27342 * include/grub/misc.h: Likewise.
27343 * include/grub/mm.h: Likewise.
27344 * include/grub/test.h: Likewise.
27345 * kern/mm.c: Likewise.
27346 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27347
6a5cf6b6
VS
273482010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27349
27350 Sunpc partitions support.
27351
27352 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
27353 (grub_fstest_SOURCES): Likewise.
27354 (pkglib_MODULES): Add part_sunpc.mod.
27355 (part_sunpc_mod_SOURCES): New variable.
27356 (part_sunpc_mod_CFLAGS): Likewise.
27357 (part_sunpc_mod_LDFLAGS): Likewise.
27358 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
27359 * partmap/sunpc.c: New file.
27360
746d9045
BC
273612010-03-26 BVK Chaitanya <bvk@localhost>
27362
27363 For loop support to GRUB script.
27364
27365 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
27366 (grub_script_create_cmdfor): New function prototype.
27367 (grub_script_execute_cmdfor): New function prototype.
27368 * script/execute.c (grub_script_execute_cmdfor): New function.
27369 * script/parser.y (command): New for command.
27370 (forcmd): New grammar rule.
27371 * script/script.c (grub_script_create_cmdfor): New function.
27372 * util/grub-script-check.c (grub_script_execute_cmdfor): New
27373 function.
27374 * tests/grub_script_for1.in: New testcase.
27375 * conf/tests.rmk: Rules for new testcase.
27376
18486b18
VS
273772010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27378
27379 Nested partitions
27380
27381 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
27382 'partition' is NULL, grub_partition_get_start already does that.
27383 * commands/loadenv.c (check_blocklists): Likewise.
27384 (write_blocklists): Likewise.
27385 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
27386 (grub_fstest_SOURCES): Likewise.
27387 (pkglib_MODULES): Add part_bsd.mod.
27388 (part_bsd_mod_SOURCES): New variable.
27389 (part_bsd_mod_CFLAGS): Likewise.
27390 (part_bsd_mod_LDFLAGS): Likewise.
27391 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
27392 (grub_emu_SOURCES): Likewise.
27393 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27394 * include/grub/bsdlabel.h: New file.
27395 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
27396 'get_name'.
27397 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
27398 (grub_partition_map_list): New variable.
27399 (grub_partition_map_register): Inline.
27400 (grub_partition_map_unregister): Likewise.
27401 (FOR_PARTITION_MAPS): New macro.
27402 (grub_partition_map_iterate): Removed.
27403 (grub_partition_get_start): Handle nested partitions.
27404 * include/grub/msdos_partition.h: Remove bsd-related entries.
27405 (grub_pc_partition): Remove.
27406 * kern/disk.c (grub_disk_close): Free partition data.
27407 (grub_disk_adjust_range): Handle nested partitions.
27408 * kern/partition.c (grub_partition_map_probe): New function.
27409 (grub_partition_probe): Parse name to number, handle subpartitions.
27410 (get_partmap): New function.
27411 (grub_partition_iterate): Handle subpartitions.
27412 (grub_partition_get_name): Likewise.
27413 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
27414 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
27415 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
27416 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
27417 Set 'number'.
27418 (acorn_partition_map_probe): Remove.
27419 (acorn_partition_map_get_name): Likewise.
27420 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
27421 Set 'number'.
27422 Set 'index' to 0 since there can be only one partition entry per sector.
27423 (amiga_partition_map_probe): Remove.
27424 (amiga_partition_map_get_name): Likewise.
27425 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
27426 Set 'number'.
27427 Set 'offset' and 'index' to real positions of partitions.
27428 (apple_partition_map_probe): Remove.
27429 (apple_partition_map_get_name): Likewise.
27430 * partmap/bsdlabel.c: New file.
27431 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
27432 Set 'number'.
27433 Allocate 'data' so it can be correctly freed.
27434 Set 'index' to offset inside sector.
27435 (gpt_partition_map_probe): Remove.
27436 (gpt_partition_map_get_name): Likewise.
27437 * partmap/msdos.c (grub_partition_parse): Remove.
27438 (pc_partition_map_iterate): Don't force raw access.
27439 Set 'number'.
27440 Make 'ext_offset' a local variable.
27441 (pc_partition_map_probe): Remove.
27442 (pc_partition_map_get_name): Remove.
27443 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
27444 Set 'number'.
27445 (sun_partition_map_probe): Remove.
27446 (sun_partition_map_get_name): Likewise.
27447 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
27448 (grub_pcpart_type): Likewise.
27449 * util/hostdisk.c (open_device): Handle new numbering scheme.
27450 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
27451 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
27452 * util/grub-probe.c (probe_partmap): Handle nested paritions.
27453 * util/grub-install.in: Insert all subpartition modules.
27454 * util/ieee1275/grub-install.in: Likewise.
27455
a3940f88
AG
274562010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
27457
27458 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
27459 grammar.
27460
21b99926 274612010-03-24 Colin Watson <cjwatson@ubuntu.com>
27462
27463 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
27464
bed1d352
CW
274652010-03-21 Colin Watson <cjwatson@ubuntu.com>
27466
27467 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
27468 match where 'make install' puts them.
27469 * util/i386/efi/grub-install.in: Likewise.
27470
c9f58427
CW
274712010-03-19 Colin Watson <cjwatson@ubuntu.com>
27472
27473 * .bzrignore: Add gentrigtables, grub-script-check,
27474 grub_script_check_init.c, grub_script_check_init.h, and
27475 trigtables.c.
27476
f84afb27
VS
274772010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
27478
27479 * kern/parser.c: Indented.
27480
ed0e3d30
VS
274812010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27482
27483 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
27484
0ea81d98
VS
274852010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27486
27487 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
27488 alpha_mask_size == 0 case.
27489
0cdc2a09
BC
274902010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
27491
27492 GRUB shell lexer and parser improvements.
27493
27494 * conf/any-emu.rmk: Build rule updates.
27495 * conf/common.rmk: Likewise.
27496 * conf/i386-coreboot.rmk: Likewise.
27497 * conf/i386-efi.rmk: Likewise.
27498 * conf/i386-ieee1275.rmk: Likewise.
27499 * conf/i386-pc.rmk: Likewise.
27500 * conf/powerpc-ieee1275.rmk: Likewise.
27501 * conf/x86_64-efi.rmk: Likewise.
27502
27503 * configure.ac: Configure check for flex.
27504
27505 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
27506 types.
27507 (grub_lexer_param): Struct member updates.
27508 (grub_parser_param): Likewise.
27509 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
27510 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
27511 (grub_script_lexer_init): Prototype update.
27512 (grub_script_lexer_record_start): Likewise.
27513 (grub_script_lexer_record_stop): Likewise.
27514 (grub_script_lexer_yywrap): New function prototype.
27515 (grub_script_lexer_fini): Likewise.
27516 (grub_script_execute_argument_to_string): Removed by...
27517 (grub_script_execute_argument_to_argv): ...better version.
27518
27519 * script/execute.c (ROUND_UPTO): New macro.
27520 (grub_script_execute_cmdline): Out of memory fixes.
27521 (grub_script_execute_menuentry): Likewise.
27522 (grub_script_execute_argument_to_string): Removed. Update all
27523 users by...
27524 (grub_script_execute_argument_to_argv): ...better version.
27525 * script/function.c (grub_script_function_create): Use
27526 grub_script_execute_argument_to_argv instead of
27527 grub_script_execute_argument_to_string.
27528
27529 * script/lexer.c (check_varstate): Removed.
27530 (check_textstate): Removed.
27531 (grub_script_lexer_record_start): Likewise.
27532 (grub_script_lexer_record_stop): Likewise.
27533 (recordchar): Replaced with...
27534 (grub_script_lexer_record): ...new function.
27535 (nextchar): Removed.
27536 (grub_script_lexer_init): Rewritten.
27537 (grub_script_yylex): Rewritten.
27538 (append_newline): New function.
27539 (grub_script_lexer_yywrap): New function.
27540 (grub_script_lexer_fini): New function.
27541 (grub_script_yyerror): Sets error flag.
27542
27543 * script/yylex.l: New file.
27544 (grub_lexer_yyfree): Wrapper for flex yyffre.
27545 (grub_lexer_yyalloc): Likewise.
27546 (grub_lexer_yyrealloc): Likewise.
27547 * script/parser.y: Refactored.
27548
27549 * script/script.c (grub_script_arg_add): Out of memory fixes.
27550 (grub_script_add_arglist): Likewise.
27551 (grub_script_create_cmdline): Likewise.
27552 (grub_script_create_cmdmenu): Likewise.
27553 (grub_script_add_cmd): Likewise.
27554 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
27555 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
27556 unnecessary code.
27557
27558 * tests/grub_script_echo1.in: New testcase.
27559 * tests/grub_script_vars1.in: New testcase.
27560 * tests/grub_script_echo_keywords.in: New testcase.
27561
1d63a066
VS
275622010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27563
27564 Remove some redundancy in build system.
27565
27566 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
27567 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
27568 (TARGET_LDFLAGS): Add -nostdlib.
27569 (TARGET_IMG_LDFLAGS): Likewise.
27570 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
27571 anything since mmap isn't available.
27572 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
27573 Add util/time.c.
27574 (pkglib_MODULES): Remove reboot.mod.
27575 (reboot_mod_SOURCES): Removed.
27576 (reboot_mod_CFLAGS): Likewise.
27577 (reboot_mod_LDFLAGS): Likewise.
27578 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
27579 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
27580 (DEFSYMFILES): Add kernel_syms.lst.
27581 (kernel_img_HEADERS): Add common headers.
27582 (symlist.c): New target.
27583 (kernel_syms.lst): Likewise.
27584 (pkglib_MODULES): Add memdisk.mod.
27585 (memdisk_mod_SOURCES): New variable.
27586 (memdisk_mod_CFLAGS): Likewise.
27587 (memdisk_mod_LDFLAGS): Likewise.
27588 (pkglib_MODULES): Add reboot.mod.
27589 (reboot_mod_SOURCES): New variable.
27590 (reboot_mod_CFLAGS): Likewise.
27591 (reboot_mod_LDFLAGS): Likewise.
27592 (pkglib_MODULES): Add date.mod.
27593 (date_mod_SOURCES): New variable.
27594 (date_mod_CFLAGS): Likewise.
27595 (date_mod_LDFLAGS): Likewise.
27596 (pkglib_MODULES): Add datehook.mod.
27597 (datehook_mod_SOURCES): New variable.
27598 (datehook_mod_CFLAGS): Likewise.
27599 (datehook_mod_LDFLAGS): Likewise.
27600 (pkglib_MODULES): Add lsmmap.mod.
27601 (lsmmap_mod_SOURCES): New variable.
27602 (lsmmap_mod_CFLAGS): Likewise.
27603 (lsmmap_mod_LDFLAGS): Likewise.
27604 (pkglib_MODULES): Add boot.mod.
27605 (boot_mod_SOURCES): New variable.
27606 (boot_mod_CFLAGS): Likewise.
27607 (boot_mod_LDFLAGS): Likewise.
27608 * conf/i386-coreboot.rmk: Removed redundant parts.
27609 * conf/i386-ieee1275.rmk: Likewise.
27610 * conf/i386-pc.rmk: Likewise.
27611 * conf/mips-yeeloong.rmk: Likewise.
27612 * conf/mips.rmk: Likewise.
27613 * conf/powerpc-ieee1275.rmk: Likewise.
27614 * conf/sparc64-ieee1275.rmk: Likewise.
27615 * conf/x86_64-efi.rmk: Likewise.
27616 * conf/i386-coreboot.rmk: Moved qemu parts ..
27617 * conf/i386-qemu.rmk: ... here
27618 * conf/i386-efi.rmk: Moved common parts to...
27619 * conf/x86-efi.rmk: ... here.
27620 * conf/i386.rmk: Added modules common to all x86 variants.
27621 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
27622 * disk/memdisk.c: Remove grub/machine/kernel.h.
27623 * gensymlist.sh.in: Include symbol.h.
27624 * hook/datehook.c: Correct module name.
27625 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
27626 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
27627 * include/grub/i386/efi/serial.h: New file.
27628 * include/grub/x86_64/efi/serial.h: Likewise.
27629 * util/time.c: Likewise.
27630 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
27631
463ac55f
CK
276322010-03-14 Colin King <colin.king@ubuntu.com>
276332010-03-14 Colin Watson <cjwatson@ubuntu.com>
27634
27635 Shrink the pre-partition-table part of boot.img by eight bytes.
27636
27637 * boot/i386/pc/boot.S (ERR): New macro.
27638 (chs_mode): Use ERR.
27639 (geometry_error): Likewise.
27640 (hd_probe_error): Remove. This is only used once, so we wrwite
27641 it inline instead.
27642 (read_error): Instead of printing read_error_string, just set up
27643 %si and fall through to ...
27644 (error_message): ... this new function, also used by ERR.
27645
08e46ede
CW
276462010-03-14 Colin Watson <cjwatson@ubuntu.com>
27647
27648 Speed up consecutive hostdisk operations on the same device.
27649
27650 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
27651 (grub_util_biosdisk_open): Initialise disk->data.
27652 (struct linux_partition_cache): New structure.
27653 (linux_find_partition): Cache partition start positions; these are
27654 expensive to compute on every read and write.
27655 (open_device): Cache open file descriptor in disk->data, so that we
27656 don't have to reopen it and flush the buffer cache for consecutive
27657 operations on the same device.
27658 (grub_util_biosdisk_close): New function.
27659 (grub_util_biosdisk_dev): Set `close' member.
27660
27661 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
27662 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
27663 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27664 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
27665 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
27666
4a6d2d06
VS
276672010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27668
27669 Compile parts of grub-emu as modules.
27670
27671 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
27672 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
27673 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
27674 (all-local): Add $(GRUB_EMU).
27675 (install-local): Install $(GRUB_EMU).
27676 (uninstall): Uninstall $(GRUB_EMU).
27677 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
27678 * kern/dl.c: Likewise.
27679 * commands/sleep.c: Not include machine/time.h.
27680 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
27681 (COMMON_CFLAGS): Likewise.
27682 (sbin_UTILITIES): Remove grub-emu.
27683 (grub_emu_SOURCES): Removed.
27684 (kernel_img_RELOCATABLE): New variable.
27685 (pkglib_PROGRAMS): Add kernel.img.
27686 (kernel_img_SOURCES): New variable
27687 (kernel_img_CFLAGS): Likewise.
27688 (kernel_img_LDFLAGS): Likewise.
27689 (TARGET_NO_STRIP): Likewise.
27690 (TARGET_NO_DYNAMIC_MODULES): Likewise.
27691 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
27692 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
27693 (grub-emu): New target.
27694 (GRUB_EMU): New variable.
27695 * configure.ac: Whitelist -emu as possible x86_64 architecture.
27696 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
27697 * loader/xnu.c: Likewise.
27698 * include/grub/pci.h: Likewise.
27699 * genemuinit.sh: New file.
27700 * genemuinitheader.sh: Likewise.
27701 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
27702 Support TARGET_NO_DYNAMIC_MODULES.
27703 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
27704 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
27705 * disk/loopback.c: Likewise.
27706 * font/font_cmd.c: Likewise.
27707 * partmap/acorn.c: Likewise.
27708 * partmap/amiga.c: Likewise.
27709 * partmap/apple.c: Likewise.
27710 * partmap/gpt.c: Likewise.
27711 * partmap/msdos.c: Likewise.
27712 * partmap/sun.c: Likewise.
27713 * parttool/msdospart.c: Likewise.
27714 * term/gfxterm.c: Likewise.
27715 * video/bitmap.c: Likewise.
27716 * video/readers/jpeg.c: Likewise.
27717 * video/readers/png.c: Likewise.
27718 * video/readers/tga.c: Likewise.
27719 * video/video.c: Likewise.
27720 * util/grub-emu.c (read_command_list): Removed.
27721 (main): Don't call util_init_nls.
27722 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
27723 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
27724
91fdd2ed
VS
277252010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27726
27727 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
27728 date.mod, datehook.mod.
27729 (datetime_mod_SOURCES): New variable.
27730 (datetime_mod_CFLAGS): Likewise.
27731 (datetime_mod_LDFLAGS): Likewise.
27732 (date_mod_SOURCES): Likewise.
27733 (date_mod_CFLAGS): Likewise.
27734 (date_mod_LDFLAGS): Likewise.
27735 (datehook_mod_SOURCES): Likewise.
27736 (datehook_mod_CFLAGS): Likewise.
27737 (datehook_mod_LDFLAGS): Likewise.
27738 * conf/sparc64-ieee1275.rmk: Likewise.
27739 * lib/ieee1275/datetime.c: New file.
27740
873ccae6
VS
277412010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27742
27743 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
27744 (ieee1275_fb_mod_SOURCES): New variable.
27745 (ieee1275_fb_mod_CFLAGS): Likewise.
27746 (ieee1275_fb_mod_LDFLAGS): Likewise.
27747 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
27748 New proto.
27749 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
27750 (HEAP_MAX_ADDR): Likewise.
27751 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
27752 type.
27753 Correct stop condition.
27754 (grub_ieee1275_devices_iterate): New function.
27755 * video/ieee1275.c: New file.
27756
601c97c0
VS
277572010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27758
27759 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
27760
27761 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
27762 as scratch.
27763 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
27764 SCRATCH_PAD_DISKBOOT as scratch.
27765 (bootit): Pass Openfirmware pointer in %o4.
27766 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
27767 of 0x200000.
27768 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
27769 with util/grub-mkrawimage.c.
27770 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
27771 * include/grub/aout.h (AOUT_MID_SUN): New definition.
27772 (grub_aout_get_type) [GRUB_UTIL]: Removed.
27773 (grub_aout_load) [GRUB_UTIL]: Likewise.
27774 * include/grub/kernel.h (grub_modules_get_end): New proto.
27775 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
27776 (SCRATCH_PAD_BOOT): New definition.
27777 (SCRATCH_PAD_DISKBOOT): Likewise.
27778 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
27779 * include/grub/sparc64/ieee1275/ieee1275.h
27780 (grub_ieee1275_original_stack): New variable
27781 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
27782 New definition
27783 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
27784 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
27785 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
27786 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
27787 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
27788 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
27789 (grub_platform_image_format_t): New type.
27790 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
27791 * kern/main.c (grub_modules_get_end)
27792 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
27793 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
27794 (codestart): Switch stacks.
27795 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
27796 variable.
27797 (grub_heap_init): Use grub_modules_get_end.
27798 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
27799 stack.
27800 * util/grub-mkrawimage.c (generate_image): Support sparc64.
27801 (main): Likewise.
27802 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
27803
d68b491e
TG
278042010-03-14 Thorsten Glaser <tg@mirbsd.org>
27805
27806 * util/grub-mkrescue.in: Base ISO UUID on UTC.
27807
4e02ed50
MK
278082010-03-08 Matt Kraai <kraai@ftbfs.org>
27809
27810 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
27811 bug #559005).
27812
1f15fc1e
VS
278132010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
27814
27815 * genmoddep.awk: Output all missing symbols and not only first.
27816
fce5d8ff
VS
278172010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27818
27819 * NEWS: Put the date of 1.98 release.
27820
d1e8a02f
VS
278212010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27822
27823 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
27824 ft2build.h.
27825
696fd607
VS
278262010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27827
27828 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
27829 completition in the middle of string.
27830
33e2e6f3
VS
278312010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27832
27833 * util/grub-mkrescue.in: Use mktemp with explicit template.
27834
b1f6d291
VS
278352010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27836
27837 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
27838
2ac227c7
VS
278392010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
27840
27841 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
27842 right pointer.
27843
8f9a632b
VS
278442010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27845
27846 Fix FreeBSD compilation.
27847
27848 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
27849 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
27850
60b03859
VS
278512010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
27852
27853 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
27854
48a5a769
VS
278552010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27856
27857 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
27858
3ab4bd77
VS
278592010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27860
27861 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
27862
d116e0d8
RM
278632010-03-04 Robert Millan <rmh.grub@aybabtu.com>
27864
27865 Support relative image path in theme file.
27866
27867 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
27868 (image_set_property): Handle theme_dir and relative path.
27869
c7ef54aa
VS
278702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27871
27872 * configure.ac: Alias amd64 to x86_64.
27873
fcee14ed
VS
278742010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27875
27876 * NEWS: mention multiboot on EFI.
27877
d0780363
VS
278782010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27879
27880 * kern/main.c (grub_load_modules): Handle errors from init functions of
27881 embeded modules.
27882
41168ea4
VS
278832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27884
27885 * normal/autofs.c (autoload_fs_module): Handle errors.
27886
b54d93ac
VS
278872010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27888
27889 Disable linux.mod on qemu-mips since it's not functional and leads
27890 to compilation failure.
27891
27892 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
27893 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
27894 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
27895 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
27896 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
27897 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
27898 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
27899 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
27900 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
27901 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
27902 Reported by: BVK Chaitanya
27903
fc8345da
JU
279042010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
27905
27906 * INSTALL: Add gettext as a dependency and add qemu to a new section
27907 "Prerequisites for make-check".
27908
4760f979
CF
279092010-03-04 Christian Franke <franke@computer.org>
27910
27911 * util/grub-pe2elf.c: Add missing include "progname.h".
27912
f209b5b2
VS
279132010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27914
27915 * normal/crypto.c (read_crypto_list): Fix a typo.
27916 Reported by: Seth Goldberg.
27917
b4b7be98
VS
279182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27919
27920 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 27921 Reported by: Seth Goldberg.
b4b7be98 27922
c0ee0385
VS
279232010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27924
27925 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
27926 ascii.bitmaps.
27927
a8efbf64
VS
279282010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27929
27930 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 27931 Reported by: Seth Goldberg.
a8efbf64 27932
08dcd913
VS
279332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
27934
27935 * util/i386/efi/grub-install.in: Copy gettext files.
27936
c4d0b332
VS
279372010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27938
27939 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
27940
c6f2fe52
VS
279412010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27942
27943 Wait for user entry basing on presence of output rather than on errors.
27944
27945 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
27946 (grub_install_newline_hook): Likewise.
27947 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
27948 * normal/menu.c (show_menu): Check line_counter to determine presence
27949 of output.
27950 * normal/term.c (grub_normal_line_counter): New variable.
27951 (grub_normal_get_line_counter): New function.
27952 (grub_install_newline_hook): Likewise.
27953
5382b1e4
VS
279542010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27955
27956 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
27957
5519963b
VS
279582010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
27959
27960 * configure.ac: Update version to 1.98.
27961
72b28631
VS
279622010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
27963
27964 * util/grub.d/10_linux.in (linux_entry): Don't default to
27965 gfxpayload=keep if Linux doesn't support video handover.
27966
c140a180
VS
279672010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
27968
27969 Don't compile video modules on yeeloong since video subsystem is part
27970 of kernel.
27971
27972 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
27973 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
27974 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
27975 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
27976 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
27977 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
27978 * include/grub/bitmap_scale.h: Likewise.
27979 * include/grub/bufio.h: Likewise.
27980 * include/grub/font.h: Likewise.
27981 * include/grub/gfxterm.h: Likewise.
27982 * include/grub/video.h: Likewise.
27983 * include/grub/vbe.h: Don't include video_fb.h.
27984 * video/i386/pc/vbe.c: Include video_fb.h.
27985 * commands/i386/pc/vbetest.c: Include video.h.
27986
a0ca21c2
CW
279872010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
27988
27989 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
27990 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
27991 default entry if GRUB_SAVEDEFAULT=true. This allows using
27992 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
27993 saving a new default on every boot.
27994
4a8a763c
VS
279952010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
27996
27997 * normal/crypto.c (read_crypto_list): Fix a memory leak.
27998 * normal/term.c (read_terminal_list): Likewise.
27999 * normal/main.c (grub_normal_init_page): Likewise.
28000 (grub_normal_read_line_real): Likewise.
28001
607ffde2
VS
280022010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28003
28004 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
28005 memory leak.
28006 Reported by: Seth Goldberg.
28007
2b8fa975
CW
280082010-02-24 Joey Korkames <joey+lists@kidfixit.com>
28009
28010 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
28011 duplicate declaration of `start'.
28012
618307dd
VS
280132010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28014
28015 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
28016 filename.
28017 Reported by: Georgy Buranov
28018
7dd05b96 280192010-02-20 Carles Pina i Estany <carles@pina.cat>
28020
28021 * util/grub-mkrawimage.c (usage): Change string formatting to
28022 improve gettext.
28023
d1484a42
MRA
280242010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
28025
28026 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
28027 backspace keys.
28028
42b1d186
VS
280292010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28030
28031 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
28032 Reported by: Michael Suchanek.
28033
280342010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
28035
28036 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
28037 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
28038
d9f31a41
VS
280392010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
28040
28041 Remove any reference to non-free fonts.
28042
28043 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
28044 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
28045 uses non-free components.
28046 * font/font.c (grub_font_get_name): Remove example name.
28047 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
28048 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
28049 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
28050 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
28051
2793c71e
GB
280522010-02-16 Georgy Buranov <gburanov@gmail.com>
28053
28054 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
28055
402e3779
VS
280562010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28057
28058 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
28059 Double divisor.
28060 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
28061 features.
28062 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
28063
0dd1e0dd
VS
280642010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28065
28066 * gensymlist.sh.in: Use TARGET_CC instead of CC.
28067
6fa7cfce
ST
280682010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28069
28070 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
28071 * docs/grub.texi (Command-line and menu entry commands): Document play
28072 command.
28073
37c8483b
ST
280742010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28075
28076 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
28077 parse arguments as inline tempo and notes. Move code for playing notes
28078 to...
28079 (play): ... new function.
28080
14da0fb7
ST
280812010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28082
28083 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
28084 grub_uint16_t instead of short.
28085 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
28086 disk from little endian to cpu endianness.
28087
04459e70
ST
280882010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
28089
28090 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
28091 GRUB_TICKS_PER_SECOND instead of 120.
28092
a0876943
VS
280932010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28094
28095 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
28096 escape sequence after \e.
28097
e29f95dc
VS
280982010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28099
28100 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
28101 non-ASCII characters.
28102
d27859b2
VS
281032010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28104
28105 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
28106 set root in single quotes to prevent \, from being unescaped.
28107
bc028f2f
VS
281082010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28109
28110 Prevent unknown commands from stopping menuentry execution.
28111
28112 * script/execute.c (grub_script_execute_cmdline): Print error after
28113 unknown command.
28114
095f5f82
VS
281152010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28116
28117 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
28118 Reported by: Pavel Pisa.
28119
8c717950
VS
281202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28121
28122 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
28123
904935c3
VS
281242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28125
28126 Merge grub_ieee1275_map_physical into grub_map and rename to
28127 grub_ieee1275_map
28128
28129 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
28130 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
28131 Remove.
28132 * kern/ieee1275/openfw.c (grub_map): Rename to ...
28133 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
28134 necessary.
28135 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
28136
5b59a4e3
VS
281372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28138
28139 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
28140 opening and not after.
28141
69e137e8
VS
281422010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28143
28144 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
28145 constants.
28146
2c0fcc36
VS
281472010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28148
28149 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
28150 (alloc_phys): Use ALIGN_UP instead of align_addr.
28151
8c6052ce
VS
281522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28153
28154 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
28155
17cec782
VS
281562010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28157
28158 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
28159
e0128bbd
VS
281602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28161
28162 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
28163 verbose dprintf.
28164
ca62070b
VS
281652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28166
28167 Fix over-4GiB seek on sparc64.
28168
28169 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
28170 Replace pos_i and pos_lo with pos. All users updated.
28171 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28172 New constant.
28173 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28174 Likewise.
28175 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
28176 and pos_lo.
28177
bdca2607
VS
281782010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28179
28180 * util/grub-mkrawimage.c (main): Call set_program_name.
28181
da278c4d
VS
281822010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28183
28184 Properly align 64-bit targets.
28185
28186 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
28187 (generate_image): Use ALIGN_ADDR.
28188
b274d734
VS
281892010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28190
28191 Properly create cross-endian images.
28192
28193 * include/grub/types.h (grub_host_to_target_addr): New macro
28194 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
28195
82da2062
VS
281962010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28197
28198 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
28199
7cae4377
VS
282002010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28201
28202 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
28203
28204 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
28205 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
28206 (grub_linux_boot): Divide by 64K when on VESA.
28207
65a533e7
VS
282082010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28209
28210 Support GRUB_GFXPAYLOAD_LINUX.
28211
28212 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
28213 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
28214
dd01d397
VS
282152010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28216
28217 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
28218 to show messages instead of discarding them.
28219 Process errors after executing command and not before. Keep old method
28220 too as precaution.
28221
660960d6
VS
282222010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
28223
28224 * configure.ac: Check for ft2build.h.
28225
62509f04
VS
282262010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28227
28228 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
28229
473df63d
VS
282302010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28231
28232 * genkernsyms.sh.in: Use TARGET_CC.
28233
c98d2a13
CW
282342010-02-07 Colin Watson <cjwatson@ubuntu.com>
28235
28236 * NEWS: Update.
28237
6e14234c
VS
282382010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28239
28240 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
28241 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
28242 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 28243
b255e9cf
YB
282442010-02-07 Yves Blusseau <blusseau@zetam.org>
28245
6e14234c 28246 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 28247
98e6959d
VS
282482010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28249
28250 Fix warnings in grub-emu when compiling with maximum warning options.
28251
28252 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
28253 (grub_arch_modules_addr): Return 0 and not NULL.
28254 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 28255 (xstrdup): Use newstr instead of dup.
f88d801b
VS
28256 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
28257 of disk to dsk to avoid shadowing.
74e4934e
VS
28258 (find_free_slot): Fix prototype.
28259 * util/getroot.c (grub_util_is_dmraid): Make static.
28260 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
28261 Add missing prototype.
28262 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 28263
74e31b5c
VS
282642010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28265
28266 * loader/i386/linux.c (grub_linux_setup_video): Handle error
28267 appropriately.
28268
6b2ad14b
VS
282692010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28270
28271 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
28272 code out.
28273
8f891adc
VS
282742010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28275
28276 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
28277 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
28278 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
28279 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
28280 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
28281 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
28282
74b45184
VS
282832010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28284
28285 * include/grub/err.h (grub_err_printf): Don't export.
28286
a4bced77
VS
282872010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28288
28289 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
28290
007d0695
VS
282912010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28292
28293 * include/grub/i18n.h (grub_gettext_dummy): Removed.
28294 * kern/misc.c (grub_gettext_dummy): Make static.
28295
b6c0d9c2
VS
282962010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28297
28298 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
28299 by non-valid ones.
28300 * kern/term.c (grub_putchar): Likewise.
28301
f51a90d0
VS
283022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28303
28304 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
28305 buggy hook call and memory leak.
28306
6846cec5
VS
283072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28308
28309 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
28310
468d69fe
VS
283112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28312
28313 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
28314
51906b8c
VS
283152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28316
28317 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
28318 modevar.
28319 Return grub_errno on allocation error.
28320
09706ce5
VS
283212010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28322
28323 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
28324
911df80c
YB
283252010-02-06 Yves Blusseau <blusseau@zetam.org>
28326
28327 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
28328 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
28329
3746a6bc
VS
283302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28331
28332 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
28333 non-pxe disk.
28334 (grub_pxefs_open): Likewise.
28335
09706ce5
VS
283362010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28337
28338 * util/grub.d/10_hurd.in: Add --class information to menuentries.
28339 * util/grub.d/10_kfreebsd.in: Likewise.
28340 * util/grub.d/10_linux.in: Likewise.
28341
7cc192d9
VS
283422010-02-06 Colin D Bennett <colin@gibibit.com>
28343
28344 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
28345 (gfxmenu_mod_SOURCES): New variable.
28346 (gfxmenu_mod_CFLAGS): Likewise.
28347 (gfxmenu_mod_LDFLAGS): Likewise.
28348 * include/grub/term.h (grub_term_set_current_output): Declare
28349 argument as const.
28350 * docs/gfxmenu-theme-example.txt: New file.
28351 * gfxmenu/gfxmenu.c: Likewise.
28352 * gfxmenu/gui_box.c: Likewise.
28353 * gfxmenu/gui_canvas.c: Likewise.
28354 * gfxmenu/gui_circular_progress.c: Likewise.
28355 * gfxmenu/gui_image.c: Likewise.
28356 * gfxmenu/gui_label.c: Likewise.
28357 * gfxmenu/gui_list.c: Likewise.
28358 * gfxmenu/gui_progress_bar.c: Likewise.
28359 * gfxmenu/gui_string_util.c: Likewise.
28360 * gfxmenu/gui_util.c: Likewise.
28361 * gfxmenu/icon_manager.c: Likewise.
28362 * gfxmenu/model.c: Likewise.
28363 * gfxmenu/named_colors.c: Likewise.
28364 * gfxmenu/theme_loader.c: Likewise.
28365 * gfxmenu/view.c: Likewise.
28366 * gfxmenu/widget-box.c: Likewise.
28367 * include/grub/gfxmenu_model.h: Likewise.
28368 * include/grub/gfxmenu_view.h: Likewise.
28369 * include/grub/gfxwidgets.h: Likewise.
28370 * include/grub/gui.h: Likewise.
28371 * include/grub/gui_string_util.h: Likewise.
28372 * include/grub/icon_manager.h: Likewise.
28373
283742010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28375
28376 Agglomerate scrolling in gfxterm.
28377
28378 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
28379 (grub_virtual_screen_setup): Initialise 'total_screen'.
28380 (write_char): Split to ...
28381 (paint_char): ... this ...
28382 (write_char): ... and this.
28383 (paint_char): Handle delayed scrolling.
28384 (draw_cursor): Likewise.
28385 (scroll_up): Split to ...
28386 (real_scroll): ... this ...
28387 (scroll_up): ... and this.
28388 (real_scroll): Handle multi-line scroll and draw below-the-bottom
28389 characters.
28390 (grub_gfxterm_refresh): Call real_scroll.
28391
283922010-02-06 Colin D Bennett <colin@gibibit.com>
28393
28394 * include/grub/misc.h (grub_iscntrl): New inline function.
28395 (grub_isalnum): Likewise.
28396 (grub_strtol): Likewise.
28397
283982010-02-06 Colin D Bennett <colin@gibibit.com>
28399
28400 * normal/menu_text.c (get_entry_number): Move from here ...
28401 * normal/menu.c (get_entry_number): ... moved here.
28402 * include/grub/menu.h (grub_menu_get_default_entry_index):
28403 New prototype.
28404 * normal/menu.c (grub_menu_get_default_entry_index): New function.
28405 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
28406 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
28407 (grub_menu_viewer_should_return): Likewise.
28408 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
28409 * normal/menu_text.c (run_menu): Enable menu switching.
28410 * normal/menu_viewer.c (should_return): New variable.
28411 (menu_viewer_changed): Likewise.
28412 (grub_menu_viewer_show_menu): Handle menu viewer changes.
28413 (grub_menu_viewer_should_return): New function.
28414 (menuviewer_write_hook): Likewise.
28415 (grub_menu_viewer_init): Likewise.
28416
284172010-02-06 Colin D Bennet <colin@gibibit.com>
284182010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28419
28420 Support for gfxterm in a window.
28421
28422 * include/grub/gfxterm.h: New file.
28423 * include/grub/video.h (struct grub_video_rect): New declaration.
28424 (grub_video_rect_t): Likewise.
28425 * term/gfxterm.c (struct grub_gfxterm_window): New type.
28426 (refcount): New variable.
28427 (render_target): Likewise.
28428 (window): Likewise.
28429 (repaint_callback): Likewise.
28430 (grub_virtual_screen_setup): Use 'render_target'.
28431 (init_window): New function.
28432 (grub_gfxterm_init_window): Likewise.
28433 (grub_gfxterm_init): Check reference counter.
28434 Use init_window.
28435 (destroy_window): New function.
28436 (grub_gfxterm_destroy_window): Likewise.
28437 (grub_gfxterm_fini): Check reference counter.
28438 Use destroy_window.
28439 (redraw_screen_rect): Restore viewport.
28440 Use 'render_target' and 'window'.
28441 Call 'repaint_callback'.
28442 (write_char): Use 'render_target'.
28443 (draw_cursor): Likewise.
28444 (scroll_up): Restore viewport.
28445 Use 'render_target' and 'window'.
28446 Call 'repaint_callback'.
28447 (grub_gfxterm_cls): Likewise.
28448 (grub_gfxterm_refresh): Use 'window'.
28449 (grub_gfxterm_set_repaint_callback): New function.
28450 (grub_gfxterm_background_image_cmd): Use 'window'.
28451 (grub_gfxterm_get_term): New function.
28452 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
28453
284542010-02-06 Colin D Bennett <colin@gibibit.com>
28455
28456 Bitmap scaling support.
28457
28458 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
28459 (bitmap_scale_mod_SOURCES): New variable.
28460 (bitmap_scale_mod_CFLAGS): Likewise.
28461 (bitmap_scale_mod_LDFLAGS): Likewise.
28462 * include/grub/bitmap_scale.h: New file.
28463 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
28464 (background_image_cmd_options): New variable.
28465 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
28466 (cmd): Rename and change type to ...
28467 (background_image_cmd_handle): ... this. All users updated.
28468 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
28469 * video/bitmap_scale.c: New file.
28470
284712010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28472
28473 SDL support.
28474
28475 * Makefile.in (LIBSDL): New variable.
28476 (enable_grub_emu_sdl): Likewise.
28477 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
28478 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
28479 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
28480 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
28481 * util/sdl.c: New file.
28482
284832010-02-06 Colin D Bennett <colin@gibibit.com>
284842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28485
28486 Double buffering support.
28487
28488 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
28489 * include/grub/video.h: Update comment.
28490 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
28491 New type.
28492 (grub_video_fb_doublebuf_blit_init): New prototype.
28493 * term/gfxterm.c (scroll_up): Support double buffering.
28494 (grub_gfxterm_refresh): Likewise.
28495 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
28496 (grub_video_fb_doublebuf_blit_init): Likewise.
28497 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
28498 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
28499 'displayed_page', 'render_page' and 'update_screen'.
28500 (grub_video_vbe_fini): Free offscreen buffer.
28501 (doublebuf_pageflipping_commit): New function.
28502 (doublebuf_pageflipping_update_screen): Likewise.
28503 (doublebuf_pageflipping_init): Likewise.
28504 (double_buffering_init): Likewise.
28505 (grub_video_vbe_setup): Enable doublebuffering.
28506 (grub_video_vbe_swap_buffers): Implement.
28507 (grub_video_vbe_set_active_render_target): Handle double buffering.
28508 (grub_video_vbe_get_active_render_target): Likewise.
28509 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
28510 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
28511 (grub_video_vbe_enable_double_buffering): Likewise.
28512 (grub_video_vbe_swap_buffers): Use update_screen.
28513 (grub_video_set_mode): Use double buffering.
28514
285152010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28516
28517 * maintainance/gentrigtables.py: Remove.
28518 * lib/trig.c: Likewise.
28519
28520 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
28521
28522 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
28523 `trigtables.c'.
28524 (trigtables.c): New rule.
28525 (gentrigtables): Likewise.
28526 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
28527
285282010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28529
28530 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
28531 integer constants.
28532
285332010-02-06 Colin D Bennet <colin@gibibit.com>
28534
28535 Trigonometry support.
28536
28537 * include/grub/trig.h: New file.
28538 * lib/trig.c: Likewise.
28539 * maintainance/gentrigtables.py: Likewise.
28540 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
28541 (trig_mod_SOURCES): New variable.
28542 (trig_mod_CFLAGS): Likewise.
28543 (trig_mod_LDFLAGS): Likewise.
28544
5562834e
VS
285452010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28546
28547 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
28548 disk devices.
28549
4f8528fc
VS
285502010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28551
28552 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
28553 error.
28554
2b4068e9
VS
285552010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28556
28557 * util/hostdisk.c (open_device): Don't use partition device when reading
28558 before the partition.
28559 (grub_util_biosdisk_read): Don't read from partition and before the
28560 partition in single operation.
28561 (grub_util_biosdisk_write): Don't write to partition and before the
28562 partition in single operation.
28563
399f6e4d
TL
285642010-02-03 Torsten Landschoff <torsten@debian.org>
28565
28566 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28567 last sectors.
28568
996649b0
VS
285692010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28570
28571 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
28572 CDROM reads.
28573 (grub_biosdisk_write): Refuse to write to CDROM.
28574
3b205d4d
VS
285752010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28576
28577 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
28578
61e89d9d
VS
285792010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28580
28581 * font/font.c (find_glyph): Check that bmp_idx is available before
28582 using it.
28583 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
28584 with (font == NULL).
28585
bf7fcba2
CS
285862010-01-28 Christian Schmitt <chris@ilovelinux.de>
28587
28588 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
28589
f45d2663
BC
285902010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
28591
28592 * include/grub/script_sh.h (sourcecode): Add const qualifier.
28593 * util/grub-script-check.c (getline): Fix empty lines case.
28594
ec1444e6
RM
285952010-01-28 Robert Millan <rmh.grub@aybabtu.com>
28596
28597 * Makefile.in (check): Exit with fail status when one of the tests
28598 fails.
28599 * tests/example_functional_test.c (example_test): Fix reversed assert.
28600 * tests/example_unit_test.c (example_test): Likewise.
28601
2e1cb9bb
CW
286022010-01-28 Colin Watson <cjwatson@ubuntu.com>
28603
28604 * util/grub.d/10_linux.in: This script does not use any of the
28605 contents of gettext.sh, only the external command `gettext', so stop
28606 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
28607 the same prefix as GRUB.)
28608 * util/grub.d/10_kfreebsd.in: Likewise.
28609
63533ab0
VS
286102010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28611
28612 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
28613 of the line.
28614
989e1f93
VS
286152010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28616
28617 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28618 last sectors.
28619
e709ebe2
VS
286202010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28621
28622 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
28623 having a 4KiB and not 32KiB buffer size.
28624
27dea7ed
RM
286252010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28626
28627 * util/hostfs.c: Include `<errno.h>'.
28628 (grub_hostfs_read): Handle errors from fseeko() and fread().
28629
67667b9c
RM
286302010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28631
28632 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
28633 loop when using read hooks on files whose size isn't sector-aligned.
28634
c294d9d8
RM
286352010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28636
28637 Remove unused parameter.
28638
28639 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
28640 (grub_iso9660_open): Remove initialization of `data->length'.
28641
af75a9f1
RM
286422010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28643
28644 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
28645 memleak conditions.
28646
254e2ce5 286472010-01-27 Carles Pina i Estany <carles@pina.cat>
28648
28649 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
28650 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
28651
b510928c 286522010-01-26 Carles Pina i Estany <carles@pina.cat>
28653
28654 * util/bin2h.c (usage): Fix warning (space after backslash).
28655
aa2f9dd2 286562010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 28657
28658 * font/font.c: Include `grub/fontformat.h.
28659 Remove font file format constants.
28660 (grub_font_load): Use the new macros.
28661 * include/grub/fontformat.h: New file.
28662 * util/grub-mkfont.c: Include `grub/fontformat.c'.
28663 (write_font_pf2): Use the new macros.
28664
94e7e712
RM
286652010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28666
28667 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
28668 does.
28669
3973a59a
RM
286702010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28671
28672 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
28673
28674 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
28675 (_start): Macroify `0x7F'.
28676
28677 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
28678 (make_install_device): Use "(pxe)" as fallback prefix when booting
28679 via PXE.
28680
42e0cba3
GS
286812010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
28682
28683 * configure.ac: Reset LIBS after check for libgcc symbols.
28684
847effd8
CW
286852010-01-25 Colin Watson <cjwatson@ubuntu.com>
28686
28687 * util/hostdisk.c (open_device): Add trailing newline to debug
28688 message.
28689
ea4a7e35
GS
286902010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
28691
28692 * configure.ac: Check for `limits.h'.
28693 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
28694
67951a53
RM
286952010-01-24 Robert Millan <rmh.grub@aybabtu.com>
28696
28697 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
28698 capitalize error strings.
28699
c273d4ce
ST
287002010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
28701
28702 * util/grub.d/10_hurd.in: Add a recovery mode.
28703
69be5b74
VS
287042010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
28705
28706 * configure.ac: Check for libgcc symbols with -nostdlib.
28707
fc9e5810
BC
287082010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
28709
28710 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
28711
4b358c0a
VS
287122010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28713
28714 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
28715 stack since heap may be unavailable at that point.
28716 (grub_ofconsole_gotoxy): Likewise.
28717
454fcd1c
VS
287182010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28719
28720 * configure.ac: Check for _restgpr_14_x.
28721 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
28722 and _savegpr_* prototypes.
28723
566863ca
RM
287242010-01-22 Robert Millan <rmh.grub@aybabtu.com>
28725
28726 Use generic grub_reboot() for i386-efi.
28727
28728 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
28729 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
28730 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
28731
bf86e59a
VS
287322010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28733
28734 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
28735 presence of "prefix" variable as it breaks when normal.mod is
28736 embedded.
28737
d645e0f8
VS
287382010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28739
28740 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
28741 stack since heap is unavailable at that point.
28742
f9ab2e25
VS
287432010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28744
28745 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
28746 (grub_freebsd_bootinfo): Rewritten.
28747 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
28748
01fc7054
VS
287492010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
28750
28751 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
28752
caab4fd6
RM
287532010-01-21 Robert Millan <rmh.grub@aybabtu.com>
28754
28755 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
28756 domain now.
28757
67eb1427
FZ
287582010-01-20 Felix Zielcke <fzielcke@z-51.de>
28759
28760 * util/misc.c (make_system_path_relative_to_its_root): Change the work
28761 around for handling "/" to the correct fix. Fix a memory leak. Use
28762 xstrdup instead of strdup.
28763
a9ed4ff3
VS
287642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28765
28766 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
28767
287682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
28769
28770 Optimise glyph lookup by Basic Multilingual Plane lookup array.
28771
28772 * font/font.c (struct grub_font): New member 'bmp_idx'.
28773 (font_init): Initialise 'bmp_idx'.
28774 (load_font_index): Fill 'bmp_idx'.
28775 (find_glyph): Make inline. Use bmp_idx for BMP characters.
28776
48209f4f
VS
287772010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28778
28779 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
28780 unnecessary calls.
28781
9f0a4bb7
VS
287822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28783
28784 Move context handling out of the kernel.
28785
28786 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
28787 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
28788 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
28789 * conf/i386-efi.rmk: Likewise.
28790 * conf/i386-ieee1275.rmk: Likewise.
28791 * conf/i386-pc.rmk: Likewise.
28792 * conf/powerpc-ieee1275.rmk: Likewise.
28793 * conf/sparc64-ieee1275.rmk: Likewise.
28794 * conf/x86_64-efi.rmk: Likewise.
28795 * include/grub/env.h: Include grub/menu.h.
28796 (grub_env_var_type): Removed.
28797 (grub_env_var): Replaced field 'type' with 'global'.
28798 (grub_env_find): New prototype.
28799 (grub_env_context_open): Remove EXPORT_FUNC.
28800 (grub_env_context_close): Likewise.
28801 (grub_env_export): Likewise.
28802 (grub_env_set_data_slot): Removed.
28803 (grub_env_get_data_slot): Likewise.
28804 (grub_env_unset_data_slot): Likewise.
28805 (grub_env_unset_menu): New prototype.
28806 (grub_env_set_menu): Likewise.
28807 (grub_env_get_menu): Likewise.
28808 * include/grub/env_private.h: New file.
28809 * include/grub/normal.h (grub_context_init): New prototype.
28810 (grub_context_fini): Likewise.
28811 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
28812 * normal/context.c (grub_cmd_export): ... to here.
28813 * kern/env.c: Include env_private.h.
28814 (HASHSZ): Moved to include/grub/env_private.h.
28815 (grub_env_context): Likewise.
28816 (grub_env_sorted_var): Likewise.
28817 (current_context): Renamed from this ...
28818 (grub_current_context): ...to this. 'static' removed. All users updated.
28819 (grub_env_find): Removed 'static'.
28820 (grub_env_context_open): Moved to normal/context.c.
28821 (grub_env_context_close): Likewise.
28822 (grub_env_export): Likewise.
28823 (mangle_data_slot_name): Removed.
28824 (grub_env_set_data_slot): Likewise.
28825 (grub_env_get_data_slot): Likewise.
28826 (grub_env_unset_data_slot): Likewise.
28827 * kern/main.c (grub_set_root_dev): Don't export root.
28828 It will be done later.
28829 (grub_main): Don't export prefix.
28830 It will be done later.
28831 * normal/context.c: New file.
28832 * normal/main.c (free_menu): Use grub_env_unset_menu.
28833 (grub_normal_add_menu_entry): Use grub_env_get_menu.
28834 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
28835 (GRUB_MOD_INIT(normal)): Call grub_context_init.
28836 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
28837
8dd35b8c
VS
288382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28839
28840 setpci support.
28841
28842 * commands/setpci.c: New file.
28843 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
28844 (setpci_mod_SOURCES): New variable.
28845 (setpci_mod_CFLAGS): Likewise.
28846 (setpci_mod_LDFLAGS): Likewise.
28847
449193d5
VS
288482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28849
28850 Byte-addressable PCI configuration space.
28851
28852 * bus/pci.c (grub_pci_make_address): Use byte address instead of
28853 dword address.
28854 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
28855 GRUB_PCI_REG_CACHELINE.
28856 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
28857 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
28858 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
28859 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
28860 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
28861 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
28862 grub_pci_make_address.
28863 (lock_rom_area): Likewise.
28864 * commands/lspci.c (grub_lspci_iter): Use macroses
28865 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
28866 of grub_pci_make_address.
28867 * disk/ata.c (grub_ata_pciinit): Likewise.
28868 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
28869 (GRUB_PCI_REG_VENDOR): Likewise.
28870 (GRUB_PCI_REG_DEVICE): Likewise.
28871 (GRUB_PCI_REG_COMMAND): Likewise.
28872 (GRUB_PCI_REG_STATUS): Likewise.
28873 (GRUB_PCI_REG_REVISION): Likewise.
28874 (GRUB_PCI_REG_CLASS): Likewise.
28875 (GRUB_PCI_REG_CACHELINE): Likewise.
28876 (GRUB_PCI_REG_LAT_TIMER): Likewise.
28877 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
28878 (GRUB_PCI_REG_BIST): Likewise.
28879 (GRUB_PCI_REG_ADDRESSES): Likewise.
28880 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28881 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28882 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28883 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28884 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28885 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
28886 (GRUB_PCI_REG_CIS_POINTER): Likewise.
28887 (GRUB_PCI_REG_SUBVENDOR): Likewise.
28888 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
28889 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
28890 (GRUB_PCI_REG_CAP_POINTER): Likewise.
28891 (GRUB_PCI_REG_IRQ_LINE): Likewise.
28892 (GRUB_PCI_REG_IRQ_PIN): Likewise.
28893 (GRUB_PCI_REG_MIN_GNT): Likewise.
28894 (GRUB_PCI_REG_MAX_LAT): Likewise.
28895 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
28896 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
28897 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 28898 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
28899 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
28900 space.
28901
96d73208
RM
289022010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28903
28904 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
28905 can be reliably determined to be supported.
28906
d4484482
RM
289072010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28908
28909 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
28910 that VESA is supported.
28911 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
28912 supported.
28913
00308ecf
VS
289142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28915
28916 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
28917
f66924a4
RM
289182010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28919
28920 * util/misc.c (make_system_path_relative_to_its_root): Work around
28921 special-casing of "/", as previous incarnation of this routine did.
28922
cbca0ada
VS
289232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28924
28925 Fix any-emu compilation.
28926
28927 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
28928 * grub_bin2h_SOURCES: New variable.
28929
34a66d99
RM
289302010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28931
28932 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
28933
94fabf58
RM
289342010-01-20 Robert Millan <rmh.grub@aybabtu.com>
28935
28936 * util/grub.d/00_header.in: Fix handling of locale_dir.
28937
02cf98ca
VS
289382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28939
28940 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
28941 as possible unifont location (Gentoo).
28942 Reported by: Alexander Brüning
28943
327dbcd7
VS
289442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28945
28946 Don't try to generate lists for kernel.img.
28947
28948 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
28949 (pkglib_MODULES): Remove kernel.img.
28950 (kernel_img_EXPORTS): Removed.
28951 (kernel_img_RELOCATABLE): New variable.
28952 * conf/x86_64-efi.rmk: Likewise.
28953 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
28954
ca467290
VS
289552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28956
28957 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
28958 grub_xasprintf or grub_snprintf.
28959 (grub_vsprintf): Likewise.
28960 (grub_snprintf): New proto.
28961 (grub_vsnprintf): Likewise.
28962 (grub_xasprintf): Likewise.
28963 (grub_xvasprintf): Likewise.
28964 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
28965 (grub_sprintf): Removed.
28966 (grub_vsnprintf): New function.
28967 (grub_snprintf): Likewise.
28968 (grub_xvasprintf): Likewise.
28969 (grub_xasprintf): Likewise.
28970 (grub_vsprintf): Renamed to ...
28971 (grub_vsnprintf_real): ...this. New argument max_len.
28972
aca655fd
BC
289732010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
28974
28975 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
28976 fix grub-script-check warning.
28977
7ee92c32
VS
289782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28979
28980 * include/grub/font.h (grub_font_load): Fix prototype.
28981
f80927ca
VS
289822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28983
28984 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
28985
119c50ea
VS
289862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28987
28988 * include/grub/x86_64/at_keyboard.h: New file.
28989
47d5f3c1
VS
289902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
28991
28992 * loader/mips/linux.c: Include missing grub/i18n.h.
28993
55ff5266
RM
289942009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28995
28996 * normal/menu.c (notify_execution_failure): Clarify error message.
28997
c893cc87
RM
289982009-12-20 Robert Millan <rmh.grub@aybabtu.com>
28999
29000 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
29001 return value (and revert all return statements). Update users.
29002
917dd370
CW
290032010-01-20 Dan Merillat <debian@dan.merillat.org>
29004
29005 * kern/device.c (grub_device_iterate): Allocate new part_ent
29006 structure based on sizeof (*p) rather than sizeof (p->next), to
29007 account for structure padding.
29008
29009 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
29010 disk is NULL, which might happen for LVM physical volumes with no
29011 LVM signature.
29012
d4a4ee57
RM
290132009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29014
29015 * loader/mips/linux.c (grub_cmd_initrd)
29016 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
29017
290182009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29019
29020 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
29021 (grub_video_video_init, grub_video_bitmap_init)
29022 (grub_font_manager_init, grub_term_gfxterm_init)
29023 (grub_at_keyboard_init): New extern declarations.
29024 (grub_machine_init): Initialize gfxterm and at_keyboard.
29025
29026 * kern/main.c (grub_main): Revert grub_printf delay kludge.
29027
29028 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
29029 `gfxterm.mod' into core image.
29030
29031 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29032 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29033 (kernel_img_FORMAT): Copy to ...
29034
29035 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29036 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29037 (kernel_img_FORMAT): ... here, and ...
29038
29039 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29040 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29041 (kernel_img_FORMAT): ... here.
29042
29043 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
29044 and input (at_keyboard) terminals in kernel.
29045 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
29046
29047 (pkglib_MODULES): Remove `pci.mod'.
29048 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
29049 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
29050 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29051 (at_keyboard_mod_LDFLAGS): Remove variables.
29052
290532010-01-11 Felix Zielcke <fzielcke@z-51.de>
29054
29055 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
29056
290572009-12-10 Robert Millan <rmh.grub@aybabtu.com>
29058
29059 * include/grub/mips/libgcc.h: Only export symbols for functions
29060 that libgcc provides.
29061
290622009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
29063
29064 MIPS support.
29065
29066 * bus/bonito.c: New file.
29067 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
29068 GRUB_PCI_NUM_DEVICES.
29069 * term/i386/pc/serial.c: Move to ...
29070 * term/serial.c: ... here. All users updated.
29071 * util/i386/pc/grub-mkimage.c: Move to ...
29072 * util/grub-mkrawimage.c: ... here. All users updated.
29073 * term/i386/pc/at_keyboard.c: Move to ...
29074 * term/at_keyboard.c: ... here. All users updated.
29075 * conf/mips-qemu-mips.rmk: New file.
29076 * conf/mips-yeeloong.rmk: Likewise.
29077 * conf/mips.rmk: Likewise.
29078 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
29079 mipsel-qemu-mips.
29080 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
29081 to port addresses.
29082 (grub_ata_pciinit): Support CS5536.
29083 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
29084 * font/font_cmd.c (loadfont_command): Open file before passing it to
29085 grub_font_load.
29086 (pseudo_file_read): New function.
29087 (pseudo_file_close): Likewise.
29088 (pseudo_fs): New structure.
29089 (load_font_module): New function.
29090 (GRUB_MOD_INIT(font_manager)): Load embedded font.
29091 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
29092 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
29093 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
29094 * include/grub/i386/at_keyboard.h: Split into ...
29095 * include/grub/at_keyboard.h: ... this ...
29096 * include/grub/i386/at_keyboard.h: ... and this.
29097 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
29098 New prototype.
29099 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
29100 updated.
29101 (grub_elf64_size): Likewise.
29102 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
29103 filename.
29104 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
29105 * include/grub/i386/coreboot/serial.h: Rewritten.
29106 * include/grub/i386/ieee1275/serial.h: Include
29107 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
29108 * include/grub/i386/pc/serial.h: Moved from here ...
29109 * include/grub/serial.h: ... to here. All users updated.
29110 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
29111 (GRUB_PCI_NUM_BUS): Likewise.
29112 (GRUB_PCI_NUM_DEVICES): Likewise.
29113 (grub_pci_device_map_range): Add missing volatile keyword.
29114 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
29115 * include/grub/mips/at_keyboard.h: New file.
29116 * include/grub/mips/cache.h: Likewise.
29117 * include/grub/mips/io.h: Likewise.
29118 * include/grub/mips/kernel.h: Likewise.
29119 * include/grub/mips/libgcc.h: Likewise.
29120 * include/grub/mips/pci.h: Likewise.
29121 * include/grub/mips/qemu-mips/boot.h: Likewise.
29122 * include/grub/mips/qemu-mips/kernel.h: Likewise.
29123 * include/grub/mips/qemu-mips/loader.h: Likewise.
29124 * include/grub/mips/qemu-mips/memory.h: Likewise.
29125 * include/grub/mips/qemu-mips/serial.h: Likewise.
29126 * include/grub/mips/qemu-mips/time.h: Likewise.
29127 * include/grub/mips/relocator.h: Likewise.
29128 * include/grub/mips/time.h: Likewise.
29129 * include/grub/mips/types.h: Likewise.
29130 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
29131 * include/grub/mips/yeeloong/boot.h: Likewise.
29132 * include/grub/mips/yeeloong/kernel.h: Likewise.
29133 * include/grub/mips/yeeloong/loader.h: Likewise.
29134 * include/grub/mips/yeeloong/memory.h: Likewise.
29135 * include/grub/mips/yeeloong/pci.h: Likewise.
29136 * include/grub/mips/yeeloong/serial.h: Likewise.
29137 * include/grub/mips/yeeloong/time.h: Likewise.
29138 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
29139 * kern/elf.c (grub_elf32_size): New parameter. All users
29140 updated.
29141 (grub_elf64_size): Likewise.
29142 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
29143 Load modules before saying "Welcome to GRUB!".
29144 Call grub_refresh after saying "Welcome to GRUB!".
29145 * kern/mips/cache.S: New file.
29146 * kern/mips/cache_flush.S: Likewise.
29147 * kern/mips/dl.c: Likewise.
29148 * kern/mips/init.c: Likewise.
29149 * kern/mips/qemu-mips/init.c: Likewise.
29150 * kern/mips/startup.S: Likewise.
29151 * kern/mips/yeeloong/init.c: Likewise.
29152 * kern/term.c (grub_putcode): Handle NULL terminal.
29153 (grub_getcharwidth): Likewise.
29154 (grub_getkey): Likewise.
29155 (grub_checkkey): Likewise.
29156 (grub_getkeystatus): Likewise.
29157 (grub_getxy): Likewise.
29158 (grub_getwh): Likewise.
29159 (grub_gotoxy): Likewise.
29160 (grub_cls): Likewise.
29161 (grub_setcolorstate): Likewise.
29162 (grub_setcolor): Likewise.
29163 (grub_getcolor): Likewise.
29164 (grub_refresh): Likewise.
29165 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
29166 (write_jump): Add hatch nop.
29167 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
29168 * lib/mips/setjmp.S: New file.
29169 * loader/mips/linux.c: Likewise.
29170 * term/i386/pc/at_keyboard.c: Move from here ...
29171 * term/at_keyboard.c: ... to here.
29172 * term/i386/pc/serial.c: Moved from here ...
29173 * term/serial.c: ... to here. All users updated.
29174 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
29175 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
29176 (serial_translate_key_sequence): Avoid deadlock.
29177 (grub_serial_getkey): Handle backspace.
29178 (grub_serial_putchar): Fix newline handling.
29179 * util/i386/pc/grub-mkimage.c: Move from here ...
29180 * util/grub-mkrawimage.c: ... to here. All users updated.
29181 (generate_image): New parameters 'font_path' and 'format'.
29182 Support embedding font.
29183 Use grub_host_to_target* instead of grub_cpu_to_le*.
29184 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
29185 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
29186 (options): New option "--font".
29187 (usage): Likewise.
29188 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
29189 (main): Handle "--font".
29190 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
29191 (grub_virtual_screen_setup): Set bg_color_display.
29192 (redraw_screen_rect): Use bg_color_display instead of incorrect
29193 bg_color.
29194 (grub_gfxterm_cls): Likewise.
29195 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
29196 Support embedding config file.
29197 (add_segments): Likewise.
29198 (options): New option "--config".
29199 (main): Handle "--config".
29200 * video/sm712.c: New file.
29201
25c2b5b3
RM
292022010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29203
29204 Fix parallel builds.
29205
29206 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
29207 font.c depend on ascii.h).
29208
292092010-01-12 Carles Pina i Estany <carles@pina.cat>
29210
29211 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
29212
292132010-01-11 Carles Pina i Estany <carles@pina.cat>
29214
29215 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
29216 By default: disabled.
29217 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
29218 parameter.
29219
292202010-01-10 Carles Pina i Estany <carles@pina.cat>
29221
29222 * font/font.c: Update copyright years.
29223 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
29224
292252010-01-10 Carles Pina i Estany <carles@pina.cat>
29226
29227 * font/font.c: Include `ascii.h'.
29228 (ASCII_BITMAP_SIZE): New macro.
29229 (ascii_font_glyph): Define.
29230 (ascii_glyph_lookup): New function.
29231 (grub_font_get_string_width): Change comment. If glyph not found, use
29232 ascii_glyph_lookup.
29233 (grub_font_get_glyph_with_fallback): If glyph not available returns
29234 ascii_glyph_lookup.
29235 * util/grub-mkfont.c (file_formats): New enum.
29236 (options): Add `ascii-bitmaps' new option.
29237 (usage): Add `asii-bitmaps' new option.
29238 (write_font_ascii_bitmap): New function.
29239 (write_font): Rename to ...
29240 (write_font_p2): ... this. Remove print_glyphs call.
29241 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
29242 used. Call print_glyphs.
29243 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
29244
292452010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29246
29247 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
29248 (grub_bin2h_SOURCES): New variable.
29249 * util/bin2h.c: New file.
29250
915fc1b8
VS
292512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29252
29253 * include/multiboot.h: Resynced with spec.
29254 * include/multiboot2.h: Likewise.
29255 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
29256 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
29257
9444b678
RM
292582010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29259
29260 * include/grub/term.h (grub_term_register_input,
29261 grub_term_register_output): Check return of terminal init()
29262 routines, and abort if errors are raised.
29263
29264 * commands/terminal.c: Update copyright year.
29265
cba98e8d
RM
292662010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29267
29268 * commands/terminal.c (grub_cmd_terminal_input)
29269 (grub_cmd_terminal_output): Check return of terminal init()
29270 routines, and abort if errors are raised.
29271
6f7db5d6
VS
292722010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29273
29274 * include/grub/i386/bsd.h: Fix include pathes.
29275
262bff8d
VS
292762010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29277
29278 Add missing *BSD copyright headers.
29279
29280 * include/grub/aout.h: Add BSD licence.
29281 * include/grub/i386/bsd.h: Parts under different licences moved to ...
29282 * include/grub/i386/freebsd_linker.h: ... here,
29283 * include/grub/i386/freebsd_reboot.h: ... here,
29284 * include/grub/i386/netbsd_bootinfo.h: ... here,
29285 * include/grub/i386/netbsd_reboot.h: ... here,
29286 * include/grub/i386/openbsd_bootarg.h: ... here,
29287 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
29288 licence to each file.
29289
b2cab848
RM
292902010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29291
29292 * acinclude.m4: Remove `nop' assembly instruction; it's not
29293 implemented by all architectures.
29294
2cb6be4b
RM
292952010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29296
29297 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
29298 ELILO. This is no longer necessary.
29299
a2eaee15
BC
293002010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
29301
29302 Added new tool, grub-scrit-check to verify grub.cfg syntax.
29303
29304 * util/grub-script-check.c: grub-script-check tool.
29305 * conf/common.rmk: Make rules for grub-script-check.
29306
88d17012
RM
293072010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29308
29309 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
29310 spotting it back in 2008. Shame on me for forgetting he did.
29311
29312 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
29313
8040619d
RM
293142010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29315
29316 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
29317 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
29318 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
29319 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
29320 (GRUB_VIDEO_TYPE_EFI): Rename to ...
29321 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
29322
a0c2a0f6
RM
293232010-01-17 Robert Millan <rmh.grub@aybabtu.com>
29324
29325 * include/grub/test.h: Add license header.
29326 * tests/example_functional_test.c: Likewise.
29327 * tests/example_unit_test.c: Likewise.
29328 * tests/lib/functional_test.c: Likewise.
29329 * tests/lib/test.c: Likewise.
29330 * tests/lib/unit_test.c: Likewise.
29331
b0b13907
VS
293322010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
29333
29334 Use flag-based instead of hook-based video mode selection and "auto"
29335 keyword.
29336
29337 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
29338 (grub_video_set_mode): Changed prototype. All users updated.
29339 (grub_video_check_mode_flag): New inline function.
29340 * video/video.c (parse_modespec): New function.
29341 (grub_video_set_mode): Parse flags and keywords.
29342
ea379330 293432010-01-17 Carles Pina i Estany <carles@pina.cat>
29344
29345 * util/misc.c (grub_util_info): Fix the order of the parameters in a
29346 fprintf call.
29347
e15c215e
FZ
293482010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
29349
29350 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
29351
409ae1c9 293522010-01-16 Carles Pina i Estany <carles@pina.cat>
29353
29354 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
29355 string.
29356 * util/grub-emu.c (usage): Likewise.
29357 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
29358 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29359 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29360 * util/i386/pc/grub-setup.c (usage): Likewise.
29361
70a14d3d 293622010-01-16 Carles Pina i Estany <carles@pina.cat>
29363
29364 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
29365 the message.
29366 (grub_util_info): Likewise.
29367 (grub_util_error): Likewise.
29368 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
29369 and/or new lines in `grub_util_warna', `grub_util_info',
29370 `grub_util_error' calls.
29371 * util/getroot.c: Likewise.
29372 * util/grub-editenv.c: Likewise.
29373 * util/grub-emu.c: Likewise.
29374 * util/grub-fstest.c: Likewise.
29375 * util/grub-mkdevicemap.c: Likewise.
29376 * util/grub-mkfont.c: Likewise.
29377 * util/grub-mkpasswd-pbkdf2.c: Likewise.
29378 * util/grub-mkrelpath.c: Likewise.
29379 * util/grub-pe2elf.c: Likewise.
29380 * util/grub-probe.c: Likewise.
29381 * util/hostdisk.c: Likewise.
29382 * util/i386/efi/grub-mkimage.c: Likewise.
29383 * util/i386/pc/grub-mkimage.c: Likewise.
29384 * util/i386/pc/grub-setup.c: Likewise.
29385 * util/ieee1275/ofpath.c: Likewise.
29386 * util/mkisofs/eltorito.c: Likewise.
29387 * util/mkisofs/rock.c: Likewise.
29388 * util/mkisofs/write.c: Likewise.
29389 * util/raid.c: Likewise.
29390 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29391 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29392
a0b766fc
VS
293932010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29394
29395 Enable multiboot on non-pc.
29396
29397 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
29398 multiboot.mod and multiboot2.mod to ...
29399 * conf/i386.rmk (pkglib_MODULES): ... here.
29400 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
29401 Moved to ...
29402 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
29403 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
29404 Moved to ...
29405 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
29406 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
29407 Moved to ...
29408 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
29409 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
29410 Moved to ...
29411 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
29412 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
29413 relocator.mod.
29414 (ata_mod_SOURCES): Removed.
29415 (ata_mod_CFLAGS): Likewise.
29416 (ata_mod_LDFLAGS): Likewise.
29417 (relocator_mod_SOURCES): Removed.
29418 (relocator_mod_CFLAGS): Likewise.
29419 (relocator_mod_ASFLAGS): Likewise.
29420 (relocator_mod_LDFLAGS): Likewise.
29421 Include i386.mk.
29422 * include/grub/x86_64/multiboot.h: New file.
29423 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
29424 Terminate EFI.
29425
884ade56
VS
294262010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29427
29428 Video multiboot support.
29429
29430 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
29431 New prototype.
29432 * include/multiboot.h: Resynced with multiboot specification.
29433 * include/multiboot2.h: Likewise.
29434 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
29435 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
29436 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
29437 (HAS_VGA_TEXT): Likewise.
29438 (accepts_video): New variable.
29439 (grub_multiboot_set_accepts_video): New function.
29440 (grub_multiboot_get_mbi_size): Account for video structures.
29441 (set_video_mode): New function.
29442 (retrieve_video_parameters): Likewise.
29443 (grub_multiboot_make_mbi): Fill video fields.
29444
0d90e8a6
VS
294452010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29446
29447 Video driver ids.
29448
29449 * include/grub/video.h (grub_video_driver_id): New type.
29450 (grub_video_adapter): New member 'id'. All users updated.
29451 (grub_video_get_driver_id): New proto.
29452 * video/video.c (grub_video_get_driver_id): New function.
29453
5c71db1b 294542010-01-14 Carles Pina i Estany <carles@pina.cat>
29455
29456 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
29457 `var=val'.
29458
cca15b52 294592010-01-14 Carles Pina i Estany <carles@pina.cat>
29460
29461 * normal/cmdline.c (print_completion): Gettextizze.
29462
c586fbb2 294632001-01-14 Carles Pina i Estany <carles@pina.cat>
29464
29465 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
29466
ba2f6848 294672010-01-14 Carles Pina i Estany <carles@pina.cat>
29468
29469 * gettext/gettext.c (grub_gettext_translate): Push and pop
29470 grub_errno.
29471 (grub_gettext_delete_list): Change comment style.
29472 * kern/err.c (grub_error): Gettextizze.
29473 (grub_fatal): Gettextizze.
29474
0a46429a
RM
294752010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29476
29477 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
29478 (grub_linux16_real_boot): ... this.
29479 * kern/i386/loader.S: Likewise.
29480 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
29481 (grub_linux16_boot): New function. Switches to text mode and calls
29482 grub_linux16_real_boot().
29483
29484 * loader/i386/bsd.c: Include `<grub/video.h>'.
29485 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
29486 text mode before calling grub_unix_real_boot().
29487
29488 * loader/i386/multiboot.c: Include `<grub/video.h>'.
29489 (grub_multiboot_boot): Switch to text mode before calling
29490 grub_relocator32_boot().
29491
29492 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
29493 (grub_chainloader_boot): Switch to text mode before calling
29494 grub_chainloader_real_boot().
29495
d6f93a66
RM
294962010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
294972010-01-05 Colin Watson <cjwatson@ubuntu.com>
29498
29499 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
29500 non-empty value.
29501
295022010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
295032010-01-05 Colin Watson <cjwatson@ubuntu.com>
29504
29505 * util/grub.d/00_header.in: Define a "savedefault" function for use
29506 in menu entries.
29507 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
29508
295092010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
295102010-01-05 Colin Watson <cjwatson@ubuntu.com>
29511
29512 * util/grub-mkconfig_lib.in (save_default_entry): Only set
29513 saved_entry if boot_once is unset.
29514 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
29515 previous saved entry (i.e. grub-reboot).
29516
295172009-12-08 Colin Watson <cjwatson@ubuntu.com>
29518
29519 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
29520
295212009-12-08 Colin Watson <cjwatson@ubuntu.com>
29522
29523 * util/grub.d/00_header.in: Use `set var=val' rather than plain
29524 `var=val'.
29525 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
29526
295272009-12-08 Colin Watson <cjwatson@ubuntu.com>
29528
29529 * util/grub-reboot.in: Fix --version output.
29530 * util/grub-set-default.in: Likewise.
29531
295322009-12-08 Colin Watson <cjwatson@ubuntu.com>
29533
29534 * util/grub.d/00_header.in: Silently ignore zero-sized environment
29535 blocks.
29536
295372009-12-08 Colin Watson <cjwatson@ubuntu.com>
29538
29539 * util/grub.d/00_header.in: Quote the value assigned to `default',
29540 in case it contains spaces.
29541
295422009-12-08 Colin Watson <cjwatson@ubuntu.com>
29543
29544 * util/grub.d/30_os-prober.in: Fix merge error that moved a
29545 `save_default_entry' call from the macosx case to the linux case.
29546
295472009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
295482009-10-25 Colin Watson <cjwatson@ubuntu.com>
29549
29550 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
29551 in `chosen' environment variable.
29552 * normal/menu_text.c (get_entry_number): Check if the variable
29553 matches the title of a menu entry.
29554 (run_menu): Pass menu to get_entry_number.
29555
29556 * util/grub-reboot.in: New file.
29557 * util/grub-set-default.in: New file.
29558 * conf/common.rmk (grub-reboot): New utility.
29559 (grub-set-default): New utility.
29560
29561 * util/grub-mkconfig_lib.in (save_default_entry): New function.
29562 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
29563 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
29564 move it to `saved_entry' for the next boot. Load environment on
29565 initialisation.
29566 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
29567 * util/grub.d/10_hurd.in: Likewise.
29568 * util/grub.d/10_linux.in (linux_entry): Likewise.
29569 * util/grub.d/10_windows.in: Likewise.
29570 * util/grub.d/30_os-prober.in: Likewise.
29571
29572 * util/grub-install.in: Create environment block.
29573 * util/i386/efi/grub-install.in: Likewise.
29574 * util/ieee1275/grub-install.in: Likewise.
29575 * util/sparc64/ieee1275/grub-install.in: Likewise.
29576
0934d184
BC
295772010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
29578
29579 Unit testing framework for GRUB.
29580
29581 * Makefile.in: Test framework build rules for 'make check'.
29582 * conf/tests.rmk: Build rules for individual tests and framework.
29583
29584 * include/grub/test.h: Header file for whitebox tests.
29585 * tests/lib/functional_test.c: Framework support for whitebox
29586 functional tests.
29587 * tests/lib/test.c: Common whitebox testing code for unit and
29588 functional tests.
29589 * tests/lib/unit_test.c: Framework support for whitebox unit
29590 tests.
29591
29592 * tests/util/grub-shell-tester.in: Support utility for grub-script
29593 tests.
29594 * tests/util/grub-shell.in: Utility to execute grub-script
29595 commands in a Qemu instance.
29596
29597 * tests/example_functional_test.c: Example whitebox functional
29598 test.
29599 * tests/example_grub_script_test.in: Example grub-script test.
29600 * tests/example_scripted_test.in: Example scripted test.
29601 * tests/example_unit_test.c: Example whitebox unit test.
29602
9c4ffeeb
VS
296032010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
29604
29605 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
29606 Add loader/i386/multiboot_mbi.c.
29607 (multiboot2_mod_SOURCES): Likewise.
29608 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
29609 (multiboot2_mod_SOURCES): Likewise.
29610 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
29611 (grub_multiboot_make_mbi): Likewise.
29612 (grub_multiboot_free_mbi): Likewise.
29613 (grub_multiboot_init_mbi): Likewise.
29614 (grub_multiboot_add_module): Likewise.
29615 (grub_multiboot_set_bootdev): Likewise.
29616 * loader/i386/multiboot.c (mbi): Removed.
29617 (mbi_dest): Likewise.
29618 (alloc_mbi): New variable.
29619 (grub_multiboot_payload_size): Removed. All users updated.
29620 (grub_multiboot_pure_size): New variable.
29621 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
29622 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
29623 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
29624 (grub_fill_multiboot_mmap): Likewise.
29625 (grub_multiboot_get_bootdev): Likewise.
29626 (grub_multiboot): Use multiboot_mbi functions.
29627 * loader/i386/multiboot_mbi.c: New file.
29628
17383dfe
VS
296292010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29630
29631 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
29632 it would result in module crash.
29633
c1f28820
VS
296342010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29635
29636 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
29637 (grub_ofconsole_getwh): Split to ...
29638 (grub_ofconsole_getwh): ... this.
29639 (grub_ofconsole_dimensions): ...and this.
29640 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
29641
58655a16
RM
296422010-01-13 Robert Millan <rmh.grub@aybabtu.com>
29643
29644 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
29645
10891398
VS
296462010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29647
29648 * loader/i386/pc/multiboot2.c: Removed stalled file.
29649
0b8a223c
VS
296502010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29651
29652 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
29653 Reported by: Grégoire Sutre
29654
92ab12b0
RM
296552010-01-11 Robert Millan <rmh.grub@aybabtu.com>
29656
29657 * util/misc.c (canonicalize_file_name): New function.
29658 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
29659 instead of realpath().
29660
a788afb6
CW
296612010-01-11 Colin Watson <cjwatson@ubuntu.com>
29662
29663 * util/grub-install.in (usage): Clarify meaning of --root-directory,
29664 and make it clearer that it's optional. Based on confusion
29665 witnessed on IRC.
29666
ffa8e3d2
VS
296672010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29668
29669 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
29670 in premature implicit newline.
29671
e9060a9d
VS
296722010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29673
29674 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
29675 which resulted in garbled command line at the end of screen.
29676
f0d0c0b7
RM
296772010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29678
29679 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
29680 initialization with similar approach as with other Linux loaders.
29681
0e60bae7
RM
296822010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29683
29684 Fix i386-ieee1275 build.
29685
29686 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
29687 and grub_term_height() for video_{width,height} initialization.
29688
296892010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
29690
29691 Fix grub-emu build.
29692
29693 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
29694
cdb3f378
RM
296952010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
296962010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29697
29698 Support for multiple terminals.
29699
29700 * Makefile.in (pkglib_DATA): terminal.lst.
29701 (terminal.lst): New target.
29702 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
29703 (GRUB_MOD_INIT(handler)): Likewise.
29704 (GRUB_MOD_FINI(handler)): Likewise.
29705 * commands/help.c (grub_cmd_help): Handle multiple terminals.
29706 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
29707 * commands/sleep.c (do_print): Use grub_term_restore_pos.
29708 (grub_cmd_sleep): Use grub_term_save_pos.
29709 * commands/terminal.c: New file.
29710 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
29711 commands/terminal.c and lib/charset.c.
29712 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
29713 (pkglib_MODULES): Add terminal.mod.
29714 (terminal_mod_SOURCES): New variable.
29715 (terminal_mod_CFLAGS): Likewise.
29716 (terminal_mod_LDFLAGS): Likewise.
29717 * genhandlerlist.sh: Don't handle terminals.
29718 * genmk.rb: Generate terminal-*.lst.
29719 * genterminallist.sh: New file.
29720 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
29721 (grub_is_valid_utf8): Likewise.
29722 (grub_utf8_to_ucs4_alloc): Likewise.
29723 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
29724 (grub_menu_register_viewer): Changed argument.
29725 (grub_menu_try_text): New proto.
29726 (grub_gfxmenu_try_hook): New declaration.
29727 * include/grub/normal.h (grub_normal_exit_level): New declaration.
29728 (grub_menu_init_page): Additional argument term.
29729 (grub_normal_init_page): Likewise.
29730 (grub_cmdline_get): Arguments simplified.
29731 (grub_utf8_to_ucs4_alloc): Removed.
29732 (grub_print_ucs4): Additional argument term.
29733 (grub_getstringwidth): Likewise.
29734 (grub_print_message_indented): Likewise.
29735 (grub_menu_text_register_instances): New proto.
29736 (grub_show_menu): Likewise.
29737 (read_terminal_list): Likewise.
29738 (grub_set_more): Likewise.
29739 * include/grub/parser.h: Include handler.h.
29740 * include/grub/reader.h: Rewritten.
29741 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
29742 (GRUB_TERM_WIDTH): Changed to function.
29743 (GRUB_TERM_HEIGHT): Likewise.
29744 (GRUB_TERM_BORDER_WIDTH): Likewise.
29745 (GRUB_TERM_BORDER_HEIGHT): Likewise.
29746 (GRUB_TERM_NUM_ENTRIES): Likewise.
29747 (GRUB_TERM_ENTRY_WIDTH): Likewise.
29748 (GRUB_TERM_CURSOR_X): Likewise.
29749 (grub_term_input_class): Likewise.
29750 (grub_term_output_class): Likewise.
29751 (grub_term_outputs_disabled): New declaration.
29752 (grub_term_inputs_disabled): Likewise.
29753 (grub_term_outputs): Likewise.
29754 (grub_term_inputs): Likewise.
29755 (grub_term_register_input): Rewritten.
29756 (grub_term_register_output): Likewise.
29757 (grub_term_unregister_input): Likewise.
29758 (grub_term_unregister_output): Likewise.
29759 (FOR_ACTIVE_TERM_INPUTS): New macro.
29760 (FOR_DISABLED_TERM_INPUTS): Likewise.
29761 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
29762 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
29763 * include/grub/terminfo.h: Add oterm argument to all protypes.
29764 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
29765 Use grub_rescue_run.
29766 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
29767 All users updated.
29768 * kern/reader.c: Removed. All users updated.
29769 * kern/rescue_reader.c (grub_rescue_init): Removed.
29770 (grub_rescue_reader): Likewise.
29771 (grub_register_rescue_reader): Likewise.
29772 (grub_rescue_run): New function based on kern/reader.c.
29773 * kern/term.c: Adapted for multiterm.
29774 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
29775 (grub_is_valid_utf8): Likewise.
29776 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
29777 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
29778 right terminal.
29779 * loader/i386/linux.c (grub_linux_boot): Likewise.
29780 * normal/auth.c (grub_username_get): New function.
29781 (grub_auth_check_authentication): Use grub_username_get.
29782 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
29783 * normal/color.c: Adapt for multiterm.
29784 * normal/main.c (read_config_file): Don't use grub_reader_loop.
29785 (grub_normal_init_page): Additional argument term.
29786 (read_lists): Call read_terminal_lists.
29787 (grub_enter_normal_mode): Call grub_cmdline_run.
29788 Handle grub_normal_exit_level.
29789 (grub_cmd_normal): Make reentrant.
29790 (grub_cmd_normal_exit): New function.
29791 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
29792 * normal/menu.c: Adapt for multiterm.
29793 * normal/menu_entry.c: Likewise.
29794 * normal/menu_text.c: Likewise.
29795 * normal/menu_viewer.c: Removed. All users updated.
29796 * normal/term.c: New file.
29797 * util/console.c: Change order of includes to workaround a bug in
29798 ncurses headers.
29799 * term/terminfo.c: New argument oterm on all exported functions.
29800 All users updated.
29801 * util/grub-editenv.c (grub_term_input_class): Removed.
29802 (grub_term_output_class): Likewise.
29803
1a064917
RM
298042010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29805
29806 Make loader output a bit more user-friendly.
29807
29808 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
29809 is being loaded. Likewise for the Hurd.
29810
29811 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
29812 that kernel of FreeBSD ${version} is being loaded.
29813
29814 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
29815 grub_dprintf().
29816 (grub_cmd_initrd): Likewise.
29817 * util/grub.d/10_linux.in (linux_entry): Print message indicating
29818 that Linux ${version} is being loaded. Likewise for initrd.
29819
5ce0a83a 298202010-01-09 Carles Pina i Estany <carles@pina.cat>
29821
29822 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
29823
809bbfeb 298242010-01-08 Carles Pina i Estany <carles@pina.cat>
29825
29826 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
29827 (GRUB_MOD_INIT): Gettextizze.
29828 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
29829 (GRUB_MOD_INIT): Gettextizze.
29830 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
29831 (grub_cmd_linux): Capitalise Linux.
29832 (GRUB_MOD_INIT): Gettextizze.
29833 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
29834 (grub_cmd_linux): Capitalise Linux.
29835 (GRUB_MOD_INIT): Gettextizze.
29836 * loader/i386/linux.c: Include `<grub/i18n.h>'.
29837 (grub_cmd_linux): Capitalise Linux.
29838 (GRUB_MOD_INIT): Gettextizze.
29839 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
29840 (GRUB_MOD_INIT): Gettextizze.
29841 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
29842 (grub_cmd_linux): Capitalise Linux.
29843 (GRUB_MOD_INIT): Gettextizze.
29844 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
29845 (grub_cpu_xnu_init): Gettextizze.
29846 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
29847 (GRUB_MOD_INIT): Gettextizze.
29848 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
29849 (GRUB_MOD_INIT): Gettextizze.
29850 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
29851 (grub_linux_load64): Capitalise Linux.
29852 (GRUB_MOD_INIT): Gettextizze.
29853 * loader/xnu.c: Include `<grub/i18n.h>'.
29854 (GRUB_MOD_INIT): Gettextizze.
29855 * po/POTFILES: Add `loader/efi/appleloader.c',
29856 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
29857 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
29858 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
29859 `loader/i386/xnu.c', `loader/multiboot_loader.c',
29860 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
29861 and `loader/xnu.c'.
29862
b394b2ca
RM
298632010-01-08 Robert Millan <rmh.grub@aybabtu.com>
29864
29865 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
29866
298672010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
29868
29869 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
29870 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
29871 * util/mkisofs/mkisofs.c (main): Readjust --version output.
29872
bc8b32b3
RM
298732010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29874
29875 Reset Multiboot 2 support. New loader implements the draft in
29876 /branches/multiboot2 and shares as much code as possible with the
29877 production Multiboot 1 implementation.
29878
29879 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
29880 * loader/multiboot2.c: Likewise.
29881 * loader/i386/multiboot_helper.S: Likewise.
29882 * include/multiboot2.h: Replace with latest version from the draft
29883 in /branches/multiboot2.
29884
29885 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
29886 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
29887 and `loader/multiboot2.c'.
29888 (pkglib_MODULES): Add `multiboot2.mod'.
29889 (multiboot2_mod_SOURCES): New variable.
29890 (multiboot2_mod_LDFLAGS): Likewise.
29891 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
29892
29893 * conf/i386-pc.rmk: Likewise.
29894
29895 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
29896 (multiboot_mod_SOURCES): Remove variable.
29897 (multiboot_mod_LDFLAGS): Likewise.
29898 (multiboot_mod_CFLAGS): Likewise.
29899
29900 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
29901 `<multiboot2.h>' instead of `<multiboot.h>'.
29902 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
29903 (MULTIBOOT_HEADER_MAGIC): New macros.
29904
29905 * loader/multiboot_loader.c (module_version_status): Remove variable.
29906 (find_multi_boot2_header): Remove function.
29907 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
29908 logic. Always check for the Multiboot version we're compiling for.
29909 (grub_cmd_module_loader): Likewise.
29910 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
29911 command instead of `multiboot'.
29912
5d2c52b8
RM
299132010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29914
29915 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
29916 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
29917 all users.
29918
53108d92
RM
299192010-01-07 Robert Millan <rmh.grub@aybabtu.com>
299202010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
29921
29922 Fix breakage introduced with previous commit.
29923
29924 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
29925 commands.
29926 * normal/handler.c (read_handler_list): Revert part of previous commit
29927 affecting this file.
29928 * normal/main.c (read_lists): Move read_handler_list() call back to ...
29929 (grub_normal_execute): ... here.
29930
e2e936b2
RM
299312010-01-07 Robert Millan <rmh.grub@aybabtu.com>
29932
29933 Merge prefix-redefinition-fix branch.
29934
29935 * normal/autofs.c (read_fs_list): Make function capable of being
29936 run multiple times, gracefuly replacing the previous data
29937 structures.
29938 * normal/dyncmd.c (read_command_list): Likewise.
29939 * normal/handler.c (read_handler_list): Likewise.
29940 * normal/main.c (read_lists): New function. Calls all the
29941 list reading functions.
29942 (grub_normal_execute): Use read_lists() instead of calling all
29943 list reading functions explicitly. Register read_lists() as a
29944 variable hook attached to ${prefix}.
29945
607a3701
VS
299462010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
29947
29948 Merge crypto branch.
29949
29950 * Makefile.in (pkglib_DATA): Add crypto.lst.
29951 (crypto.lst): New target.
29952 * commands/hashsum.c: New file.
29953 * commands/password.c (check_password): Use grub_crypto_memcmp.
29954 * commands/password_pbkdf2.c: New file.
29955 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
29956 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
29957 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
29958 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
29959 -I$(srcdir)/lib/libgcrypt_wrap.
29960 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
29961 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
29962 password_pbkdf2.mod.
29963 (crypto_mod_SOURCES): New variable.
29964 (crypto_mod_CFLAGS): Likewise.
29965 (crypto_mod_LDFLAGS): Likewise.
29966 (hashsum_mod_SOURCES): New variable.
29967 (hashsum_mod_CFLAGS): Likewise.
29968 (hashsum_mod_LDFLAGS): Likewise.
29969 (pbkdf2_mod_SOURCES): New variable.
29970 (pbkdf2_mod_CFLAGS): Likewise.
29971 (pbkdf2_mod_LDFLAGS): Likewise.
29972 (password_pbkdf2_mod_SOURCES): New variable.
29973 (password_pbkdf2_mod_CFLAGS): Likewise.
29974 (password_pbkdf2_mod_LDFLAGS): Likewise.
29975 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
29976 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
29977 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
29978 Include conf/gcry.rmk.
29979 * include/grub/auth.h: Rewritten.
29980 * include/grub/crypto.h: New file.
29981 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
29982 * include/grub/normal.h (read_crypto_list): New prototype.
29983 * lib/crypto.c: New file.
29984 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
29985 * lib/pbkdf2.c: Likewise.
29986 * normal/auth.c (grub_auth_strcmp): Removed.
29987 (grub_iswordseparator): Likewise.
29988 (grub_auth_strword): Likewise.
29989 (is_authenticated): Use grub_strword.
29990 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
29991 and grub_strword. Pass entered password to authentication callback.
29992 * normal/crypto.c: New file.
29993 * normal/main.c: Call read_crypto_list.
29994 * util/grub-mkpasswd-pbkdf2.c: New file.
29995 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
29996
42841caa
VS
299972010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
29998
29999 Fix descent and ascent calculation.
30000
30001 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
30002 (options): New option "asce".
30003 (usage): Likewise.
30004 (add_char): Ignore invalid glyphs for descent calculation.
30005 Calculate ascent from actual content.
30006 (print_glyphs): Use 'asce'.
30007 (write_font): Likewise. Allow ascent override.
30008 (main): Handle "asce" option.
30009
e7730de7 300102010-01-06 Carles Pina i Estany <carles@pina.cat>
30011
30012 * kern/err.c: Include `<grub/i18n.h>'.
30013 (grub_print_error): Add full stop. Gettextizze.
30014 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
30015 (grub_bsd_load_elf): Capitalise ELF.
30016 (grub_cmd_freebsd_loadenv): Add `s' in error string.
30017 (grub_cmd_freebsd_module): Likewise.
30018 (grub_cmd_freebsd_module_elf): Likewise.
30019 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
30020
40e3a41f 300212010-01-06 Carles Pina i Estany <carles@pina.cat>
30022
30023 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
30024 * commands/search_file.c (HELP_MESSAGE): New macro.
30025 * commands/search_label.c (HELP_MESSAGE): Likewise.
30026 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
30027 * po/POTFILES: Add `commands/search_file.c',
30028 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
30029 `commands/search.c'.
30030
83507e68
RM
300312010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30032
30033 * config.rpath: Update from Gnulib.
30034
465c787b
YB
300352010-01-05 Yves Blusseau <blusseau@zetam.org>
30036
30037 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
30038
6581dd3a
YB
300392010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
30040
30041 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
30042
3bff18c5
CW
300432010-01-05 Colin Watson <cjwatson@ubuntu.com>
30044
30045 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
30046 arguments to fread so that we get a return value in bytes, rather
30047 than something that will normally be rounded down to 0.
30048 Adjust error handling to avoid producing garbage when size_t is not
30049 the same size as long long.
30050
a1368118
CW
300512010-01-05 Colin Watson <cjwatson@ubuntu.com>
30052
30053 * util/mkisofs/write.c (padblock_write): Check return value of
30054 fread.
30055
7c302978
RM
300562010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30057
30058 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
30059 floppy images now.
30060
30061 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
30062
e33ace06
RM
300632010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30064
30065 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
30066 instead of manual alignment.
30067 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
30068 verbose). Avoid attempts to read past end of the device
30069 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
30070 but GRUB_DISK_CACHE_SIZE may exceed that).
30071
4b856776
RM
300722010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30073
30074 * commands/crc.c (grub_cmd_crc): Abort on read errors.
30075 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
30076 it to upper layer.
30077
52c2d97f
VS
300782010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30079
30080 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
30081 New constant.
30082 (grub_efi_piwg_device_path): New structure
30083 (grub_efi_piwg_device_path_t): New type.
30084 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
30085 (devpath_1): Transform to a structure. All users updated.
30086 (devpath_2): Likewise.
30087 (devpath_3): Likewise.
30088 (devpath_4): Likewise.
30089 (devpath_5): Likewise.
30090
98ff6a54
VS
300912010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30092
30093 * loader/efi/appleloader.c: Restored. Update all users.
30094
3a73dcb6
RM
300952010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30096
30097 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
30098
30099 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
30100 (struct boot_blocklist): Move from here ...
30101 * include/grub/i386/pc/boot.h [ASM_FILE]
30102 (struct grub_boot_blocklist): ... to here. Update all users.
30103 (setup): Only initialize `start' member of `first_block'
30104 structure. Add assert() calls to verify the other members.
30105
30106 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
30107 (generate_image): Fix broken blocklist length initialization.
30108 Add assert() call to verify blocklist `segment' field.
30109
ab0eeb0c
RM
301102010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30111
30112 * loader/efi/appleloader.c: Remove. Update all users.
30113
58bc8bd5
RM
301142010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30115
30116 * boot/i386/pc/boot.S: Update copyright year.
30117 * boot/i386/pc/cdboot.S: Likewise.
30118 * boot/i386/pc/diskboot.S: Likewise.
30119 * boot/i386/pc/lnxboot.S: Likewise.
30120 * boot/i386/pc/pxeboot.S: Likewise.
30121 * bus/pci.c: Likewise.
30122 * commands/cmp.c: Likewise.
30123 * commands/help.c: Likewise.
30124 * commands/hexdump.c: Likewise.
30125 * commands/i386/pc/halt.c: Likewise.
30126 * commands/i386/pc/play.c: Likewise.
30127 * commands/i386/pc/vbeinfo.c: Likewise.
30128 * commands/ls.c: Likewise.
30129 * commands/test.c: Likewise.
30130 * disk/dmraid_nvidia.c: Likewise.
30131 * disk/i386/pc/biosdisk.c: Likewise.
30132 * disk/ieee1275/nand.c: Likewise.
30133 * disk/ieee1275/ofdisk.c: Likewise.
30134 * disk/lvm.c: Likewise.
30135 * disk/raid.c: Likewise.
30136 * disk/raid6_recover.c: Likewise.
30137 * disk/scsi.c: Likewise.
30138 * fs/affs.c: Likewise.
30139 * fs/cpio.c: Likewise.
30140 * fs/ext2.c: Likewise.
30141 * fs/hfs.c: Likewise.
30142 * fs/iso9660.c: Likewise.
30143 * fs/ntfs.c: Likewise.
30144 * fs/sfs.c: Likewise.
30145 * fs/udf.c: Likewise.
30146 * fs/ufs.c: Likewise.
30147 * fs/xfs.c: Likewise.
30148 * gencmdlist.sh: Likewise.
30149 * genmk.rb: Likewise.
30150 * include/grub/disk.h: Likewise.
30151 * include/grub/efi/api.h: Likewise.
30152 * include/grub/efi/efi.h: Likewise.
30153 * include/grub/efi/pe32.h: Likewise.
30154 * include/grub/elf.h: Likewise.
30155 * include/grub/fs.h: Likewise.
30156 * include/grub/i386/at_keyboard.h: Likewise.
30157 * include/grub/i386/pc/memory.h: Likewise.
30158 * include/grub/i386/pc/vbe.h: Likewise.
30159 * include/grub/i386/pci.h: Likewise.
30160 * include/grub/i386/tsc.h: Likewise.
30161 * include/grub/ieee1275/ieee1275.h: Likewise.
30162 * include/grub/ntfs.h: Likewise.
30163 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30164 * include/grub/sparc64/libgcc.h: Likewise.
30165 * include/grub/symbol.h: Likewise.
30166 * include/grub/types.h: Likewise.
30167 * include/multiboot2.h: Likewise.
30168 * io/gzio.c: Likewise.
30169 * kern/device.c: Likewise.
30170 * kern/disk.c: Likewise.
30171 * kern/efi/efi.c: Likewise.
30172 * kern/efi/mm.c: Likewise.
30173 * kern/elf.c: Likewise.
30174 * kern/file.c: Likewise.
30175 * kern/i386/dl.c: Likewise.
30176 * kern/i386/pc/init.c: Likewise.
30177 * kern/i386/pc/startup.S: Likewise.
30178 * kern/ieee1275/ieee1275.c: Likewise.
30179 * kern/ieee1275/init.c: Likewise.
30180 * kern/main.c: Likewise.
30181 * kern/mm.c: Likewise.
30182 * kern/powerpc/dl.c: Likewise.
30183 * kern/sparc64/dl.c: Likewise.
30184 * kern/x86_64/dl.c: Likewise.
30185 * lib/hexdump.c: Likewise.
30186 * loader/efi/appleloader.c: Likewise.
30187 * loader/i386/ieee1275/linux.c: Likewise.
30188 * loader/i386/pc/chainloader.c: Likewise.
30189 * loader/i386/pc/linux.c: Likewise.
30190 * loader/i386/pc/multiboot2.c: Likewise.
30191 * loader/ieee1275/multiboot2.c: Likewise.
30192 * loader/multiboot2.c: Likewise.
30193 * loader/multiboot_loader.c: Likewise.
30194 * loader/powerpc/ieee1275/linux.c: Likewise.
30195 * normal/completion.c: Likewise.
30196 * normal/menu_entry.c: Likewise.
30197 * partmap/apple.c: Likewise.
30198 * util/grub.d/10_hurd.in: Likewise.
30199 * util/hostfs.c: Likewise.
30200 * video/readers/png.c: Likewise.
30201
e2d70b5c
CW
302022010-01-03 Colin Watson <cjwatson@ubuntu.com>
30203
30204 * include/grub/misc.h (GNUC_PREREQ): New macro.
30205 (ATTRIBUTE_ERROR): New macro.
30206 * include/grub/list.h (grub_bad_type_cast_real): Use
30207 ATTRIBUTE_ERROR.
30208
a173283f 302092010-01-03 Carles Pina i Estany <carles@pina.cat>
30210
30211 * normal/menu_text.c (print_message): Change messages.
30212
7fa7ff74 302132010-01-03 Carles Pina i Estany <carles@pina.cat>
30214
30215 * normal/menu_entry.c (store_completion): Gettextizze.
30216
136d24f6 302172010-01-03 Carles Pina i Estany <carles@pina.cat>
30218
30219 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
30220
f936862e 302212010-01-03 Carles Pina i Estany <carles@pina.cat>
30222
30223 * po/POTFILES: Sort correctly.
30224
29c44ad1 302252010-01-03 Carles Pina i Estany <carles@pina.cat>
30226
30227 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
30228 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
30229 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
30230 full stop.
30231 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
30232 summary. Gettextizze the strings.
30233 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
30234 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
30235 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
30236 full stop.
30237 (GRUB_MOD_INIT): Remove command name from summary.
30238 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
30239 summary.
30240 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
30241 * term/i386/pc/serial.c (options): Add full stops.
30242 (GRUB_MOD_INIT): Remove command name from the summary.
30243
77a79592 302442010-01-03 Carles Pina i Estany <carles@pina.cat>
30245
30246 * commands/acpi.c: Gettextizze help strings and/or options. Include
30247 `grub/i18n.h' if needed.
30248 * commands/blocklist.c: Likewise.
30249 * commands/boot.c: Likewise.
30250 * commands/cat.c: Likewise.
30251 * commands/cmp.c: Likewise.
30252 * commands/configfile.c: Likewise.
30253 * commands/crc.c: Likewise.
30254 * commands/date.c: Likewise.
30255 * commands/echo.c: Likewise.
30256 * commands/efi/fixvideo.c: Likewise.
30257 * commands/efi/loadbios.c: Likewise.
30258 * commands/gptsync.c: Likewise.
30259 * commands/halt.c: Likewise.
30260 * commands/handler.c: Likewise.
30261 * commands/hdparm.c: Likewise.
30262 * commands/hexdump.c: Likewise.
30263 * commands/i386/cpuid.c: Likewise.
30264 * commands/i386/pc/drivemap.c: Likewise.
30265 * commands/i386/pc/halt.c: Likewise.
30266 * commands/i386/pc/pxecmd.c: Likewise.
30267 * commands/i386/pc/vbeinfo.c: Likewise.
30268 * commands/i386/pc/vbetest.c: Likewise.
30269 * commands/ieee1275/suspend.c: Likewise.
30270 * commands/keystatus.c: Likewise.
30271 * commands/loadenv.c: Likewise.
30272 * commands/ls.c: Likewise.
30273 * commands/lsmmap.c: Likewise.
30274 * commands/lspci.c: Likewise.
30275 * commands/memrw.c: Likewise.
30276 * commands/minicmd.c: Likewise.
30277 * commands/parttool.c: Likewise.
30278 * commands/password.c: Likewise.
30279 * commands/probe.c: Likewise.
30280 * commands/read.c: Likewise.
30281 * commands/reboot.c: Likewise.
30282 * commands/search.c: Likewise.
30283 * commands/sleep.c: Likewise.
30284 * commands/test.c: Likewise.
30285 * commands/true.c: Likewise.
30286 * commands/usbtest.c: Likewise.
30287 * commands/videotest.c: Likewise.
30288 * commands/xnu_uuid.c: Likewise.
30289 * disk/loopback.c: Likewise.
30290 * hello/hello.c: Likewise.
30291 * loader/i386/bsd.c: Likewise.
30292 * term/i386/pc/serial.c: Likewise.
30293 * po/POTFILES: Add new files.
30294
da8d5c53
CW
302952010-01-02 Colin Watson <cjwatson@ubuntu.com>
30296
30297 * term/i386/pc/at_keyboard.c
30298 (keyboard_controller_wait_untill_ready): Rename to ...
30299 (keyboard_controller_wait_until_ready): ... this. Update all users.
30300
33937904 303012010-01-01 Carles Pina i Estany <carles@pina.cat>
30302
30303 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
30304 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
30305 string using string width.
30306 * normal/menu_text.c (grub_print_message_indented): Use
30307 grub_print_spaces and not print_spaces.
30308 (print_timeout): Likewise.
30309 (print_spaces): Move to...
30310 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
30311
3fd3b8d8
RM
303122010-01-01 Robert Millan <rmh.grub@aybabtu.com>
30313
30314 Import from Gnulib.
30315
30316 * gnulib/getdelim.c: New file.
30317 * gnulib/getline.c: Likewise.
30318
33433555
VS
303192009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
30320
30321 * include/grub/list.h (grub_assert_fail): Removed.
30322 (grub_bad_type_cast_real): New function.
30323 (grub_bad_type_cast): New macro.
30324 (GRUB_AS_LIST): Use grub_bad_type_cast.
30325 (GRUB_AS_LIST_P): Likewise.
e44721e8 30326 (GRUB_AS_NAMED_LIST): Likewise.
33433555 30327 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 30328 (GRUB_AS_PRIO_LIST): Likewise.
33433555 30329 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 30330 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 30331
f5a51306
VS
303322009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
30333
30334 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
30335 Fix syntax error.
30336
90d1e879
RM
303372009-12-29 Robert Millan <rmh.grub@aybabtu.com>
30338
30339 * configure.ac: Check for TARGET_CFLAGS initialization before we
30340 initialize it ourselves (sigh).
30341 Move a few modifications to TARGET_CFLAGS to be unconditional
30342 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
30343 eh_frame)
30344
30345 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
30346 * term/i386/pc/at_keyboard.c
30347 (keyboard_controller_wait_untill_ready): Likewise.
30348 (keyboard_controller_led): Rename `led_status' paramter to avoid
30349 name conflict.
30350
465b5a81 303512009-12-28 Carles Pina i Estany <carles@pina.cat>
30352
30353 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
30354 quotes.
30355
c181849b
VS
303562009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30357
30358 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
30359
9c8739a4
VS
303602009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30361
30362 * normal/menu_text.c (grub_print_message_indented): Prevent
30363 past-the-end-of-array dereference.
30364
3e74249c
VS
303652009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30366
30367 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
30368 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
30369
64fd18ed 303702009-12-27 Carles Pina i Estany <carles@pina.cat>
30371
30372 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
30373 * normal/main.c (grub_normal_read_line): Remove a space from the
30374 default prompt.
30375
714af9b9 303762009-12-27 Carles Pina i Estany <carles@pina.cat>
30377
30378 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
30379 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30380 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30381 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30382 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30383 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30384 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30385
82f3e412 303862009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 30387
30388 * video/readers/jpeg.c (cmd): Declare.
30389 (grub_cmd_jpegtest): Use `grub_command_t' type.
30390 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30391 Assign to `cmd'.
30392 (GRUB_MOD_FINI): Use `cmd' to unregister.
30393 * video/readers/png.c (cmd): Declare.
30394 (grub_cmd_pngtest): 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/tga.c (cmd): Declare.
30399 (grub_cmd_tgatest): 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
82f3e412 304042009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 30405
30406 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
30407 stops.
30408 * kern/corecmd.c (grub_register_core_commands): Likewise.
30409 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
30410 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30411 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
30412 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30413 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30414 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
30415 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30416 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
30417 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30418 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30419 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30420 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30421 * normal/handler.c (insert_handler): Likewise.
30422 * normal/main.c (GRUB_MOD_INIT): Likewise.
30423 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
30424
fdcdbb66 304252009-12-26 Carles Pina i Estany <carles@pina.cat>
30426
30427 * commands/help.c (grub_cmd_help): Print the command name before the
30428 summary.
30429 (GRUB_MOD_INIT): Remove command name from the summary.
30430 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 30431 string as summary.
fdcdbb66 30432 * lib/arg.c (find_long): Print the command name before the summary.
30433 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
30434 summary.
30435 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
30436 * commands/cat.c (GRUB_MOD_INIT): Likewise.
30437 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
30438 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30439 * commands/crc.c (GRUB_MOD_INIT): Likewise.
30440 * commands/date.c (GRUB_MOD_INIT): Likewise.
30441 * commands/echo.c (GRUB_MOD_INIT): Likewise.
30442 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
30443 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30444 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30445 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
30446 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
30447 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
30448 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
30449 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30450 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
30451 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
30452 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
30453 * commands/ls.c (GRUB_MOD_INIT): Likewise.
30454 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30455 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30456 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30457 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
30458 * commands/password.c (GRUB_MOD_INIT): Likewise.
30459 * commands/probe.c (GRUB_MOD_INIT): Likewise.
30460 * commands/read.c (GRUB_MOD_INIT): Likewise.
30461 * commands/search.c (GRUB_MOD_INIT): Likewise.
30462 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
30463 * commands/test.c (GRUB_MOD_INIT): Likewise.
30464 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
30465 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
30466 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
30467 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
30468 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
30469 * lib/arg.c (GRUB_MOD_INIT): Likewise.
30470 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
30471 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30472 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30473 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30474 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
30475 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
30476 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
30477 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
30478
9c288be2
VS
304792009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30480
30481 Use search command for preliminar UUID search.
30482
30483 * commands/search.c: Split into ...
30484 * commands/search_wrap.c: ...this
30485 * commands/search.c: ...and this.
30486 * commands/search_file.c: New file.
30487 * commands/search_label.c: New file.
30488 * commands/search_uuid.c: New file.
30489 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
30490 Add commands/search_wrap.c, commands/search_file.c,
30491 commands/search_label.c and commands/search_uuid.c.
30492 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
30493 (search_mod_SOURCES): Set to commands/search_wrap.c.
30494 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
30495 search_label.mod.
30496 (search_fs_file_mod_SOURCES): New variable.
30497 (search_fs_file_mod_CFLAGS): Likewise.
30498 (search_fs_file_mod_LDFLAGS): Likewise.
30499 (search_label_mod_SOURCES): Likewise.
30500 (search_label_mod_CFLAGS): Likewise.
30501 (search_label_mod_LDFLAGS): Likewise.
30502 (search_fs_uuid_mod_SOURCES): New variable.
30503 (search_fs_uuid_mod_CFLAGS): Likewise.
30504 (search_fs_uuid_mod_LDFLAGS): Likewise.
30505 (fs_file_mod_SOURCES): Removed.
30506 (fs_file_mod_CFLAGS): Likewise.
30507 (fs_file_mod_LDFLAGS): Likewise.
30508 (fs_uuid_mod_SOURCES): Removed.
30509 (fs_uuid_mod_CFLAGS): Likewise.
30510 (fs_uuid_mod_LDFLAGS): Likewise.
30511 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
30512 Set to util/grub-install.in.
30513 * disk/fs_file.c: Removed.
30514 * disk/fs_uuid.c: Likewise.
30515 * include/grub/search.h: New file.
30516 * util/grub-install.in: Handle sparc64.
30517 Create and use load.cfg.
30518 * util/sparc64/ieee1275/grub-install.in: Removed.
30519
db943399
VS
305202009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30521
30522 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
30523 Ignore return status if CF is cleared.
30524 (grub_biosdisk_get_diskinfo_standard): Likewise.
30525
3fdae612
RM
305262009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30527
30528 * term/i386/pc/at_keyboard.c
30529 (keyboard_controller_wait_untill_ready): New function.
30530 (grub_keyboard_controller_write, grub_keyboard_controller_read)
30531 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
30532 for keyboard polling, rather than duplicate the same loop. This
30533 saves a few bytes in code size.
30534
7ebaa2b4
VS
305352009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30536
30537 Support for (pxe[:server[:gateway]]) syntax and
30538 use environment variable for PXE.
30539
30540 * commands/i386/pc/pxecmd.c (options): Removed.
30541 (print_ip): Removed.
30542 (grub_cmd_pxe): Removed
30543 (grub_cmd_pxe_unload): New function.
30544 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
30545 (grub_pxe_your_ip): Made static.
30546 (grub_pxe_default_server_ip): Likewise.
30547 (grub_pxe_default_gateway_ip): Likewise.
30548 (grub_pxe_blksize): Likewise.
30549 (parse_ip): New function.
30550 (grub_pxe_open): Support server and gateway specification.
30551 (grub_pxe_close): Free disk->data.
30552 (grub_pxefs_open): Use disk->data.
30553 (grub_pxefs_read): Likewise.
30554 (grub_env_write_readonly): New function.
30555 (set_mac_env): Likewise.
30556 (set_env_limn_ro): Likewise.
30557 (parse_dhcp_vendor): Likewise.
30558 (grub_pxe_detect): Set the environment variables.
30559 (set_ip_env): New function.
30560 (write_ip_env): Likewise.
30561 (grub_env_write_pxe_default_server): Likewise.
30562 (grub_env_write_pxe_default_gateway): Likewise.
30563 (grub_env_write_pxe_blocksize): Likewise.
30564 (GRUB_MOD_INIT(pxe)): Set environment variables.
30565 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
30566 (grub_pxe_mac_addr_t): ... this. All users updated.
30567 (grub_pxe_your_ip): Removed.
30568 (grub_pxe_server_ip): Likewise.
30569 (grub_pxe_gateway_ip): Likewise.
30570 (grub_pxe_blksize): Likewise.
30571
ec5f98ab 305722009-12-25 Carles Pina i Estany <carles@pina.cat>
30573
30574 * commands/help.c: Include `<grub/i18n.h>'.
30575 (grub_cmd_help): Gettextizze.
30576 (GRUB_MOD_INIT): Likewise.
30577 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
30578 (GRUB_MOD_INIT): Gettextizze.
30579 * commands/search.c: Include `<grub/i18n.h>'.
30580 (options): Gettextizze.
30581 (GRUB_MOD_INIT): Gettextizze.
30582 * lib/arg.c: Include `<grub/i18n.h>'.
30583 (help_options): Gettextizze.
30584 (find_long): Likewise.
30585 (grub_arg_show_help): Likewise.
30586 * normal/dyncmd.c: Include `<grub/i18n.h>'.
30587 (read_command_list): Gettextizze.
30588 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 30589 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 30590
22815526
RM
305912009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30592
30593 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
30594 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
30595 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
30596 (led_status): New variable.
30597 (keyboard_controller_led): New function.
30598 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
30599 update led status for caps lock, num lock and scroll lock.
30600
0ad46fd7
FZ
306012009-12-25 Felix Zielcke <fzielcke@z-51.de>
30602
30603 * util/hostdisk.c (open_device): Fix a comment.
30604
d0e158c2
RM
306052009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30606
30607 * util/grub-install.in (host_os): New variable.
30608 * util/i386/efi/grub-install.in (host_os): Likewise.
30609
401c0ad6
RM
306102009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30611
30612 * util/mkisofs/write.c (padblock_write): Abort when given an
30613 excedingly large embed image, instead of silently truncating it.
30614
d14d3370
RM
306152009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30616
30617 * include/multiboot.h: Indentation fixes.
30618
eeed10b4
RM
306192009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30620
30621 * include/multiboot.h (struct multiboot_aout_symbol_table)
30622 (struct multiboot_elf_section_header_table): New structure
30623 declarations (stolen from GRUB Legacy).
30624 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
30625 table information.
30626
30627 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
30628 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
30629 type aliases.
30630
681c70ab
RM
306312009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30632
30633 * include/multiboot.h: Make comments src2texi-friendly.
30634
e4d47d8d
RM
306352009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30636
30637 For consistency with [multiboot]/docs/boot.S.
30638
30639 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
30640 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
30641 (MULTIBOOT_MAGIC2): Rename from this ...
30642 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
30643
a0b70bda
RM
306442009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30645
30646 * include/multiboot.h: Remove `<grub/types.h>'.
30647 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
30648 types. Update all users.
30649
61ba42be 306502009-12-25 Carles Pina i Estany <carles@pina.cat>
30651
30652 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
30653 `couldn't' and `can not' by `cannot'.
30654 * commands/i386/pc/drivemap.c: Likewise.
30655 * disk/ata.c: Likewise.
30656 * disk/ieee1275/nand.c: Likewise.
30657 * fs/affs.c: Likewise.
30658 * fs/fat.c: Likewise.
30659 * fs/hfs.c: Likewise.
30660 * fs/hfsplus.c: Likewise.
30661 * fs/iso9660.c: Likewise.
30662 * fs/jfs.c: Likewise.
30663 * fs/minix.c: Likewise.
30664 * fs/reiserfs.c: Likewise.
30665 * fs/sfs.c: Likewise.
30666 * fs/udf.c: Likewise.
30667 * fs/ufs.c: Likewise.
30668 * fs/xfs.c: Likewise.
30669 * loader/powerpc/ieee1275/linux.c: Likewise.
30670 * loader/sparc64/ieee1275/linux.c: Likewise.
30671 * util/grub-probe.c: Likewise.
30672 * util/misc.c: Likewise.
30673
7fd0baee 306742009-12-24 Carles Pina i Estany <carles@pina.cat>
30675
30676 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
30677 grub_errno calls.
30678 * commands/acpi.c: Likewise.
30679 * commands/blocklist.c: Likewise.
30680 * commands/efi/loadbios.c: Likewise.
30681 * commands/i386/pc/drivemap.c: Likewise.
30682 * commands/loadenv.c: Likewise.
30683 * commands/memrw.c: Likewise.
30684 * commands/password.c: Likewise.
30685 * commands/videotest.c: Likewise.
30686 * disk/ata.c: Likewise.
30687 * disk/ata_pthru.c: Likewise.
30688 * disk/dmraid_nvidia.c: Likewise.
30689 * disk/ieee1275/nand.c: Likewise.
30690 * disk/ieee1275/ofdisk.c: Likewise.
30691 * disk/loopback.c: Likewise.
30692 * disk/lvm.c: Likewise.
30693 * disk/mdraid_linux.c: Likewise.
30694 * disk/raid.c: Likewise.
30695 * disk/raid6_recover.c: Likewise.
30696 * disk/scsi.c: Likewise.
30697 * efiemu/main.c: Likewise.
30698 * efiemu/mm.c: Likewise.
30699 * efiemu/pnvram.c: Likewise.
30700 * efiemu/symbols.c: Likewise.
30701 * font/font.c: Likewise.
30702 * fs/cpio.c: Likewise.
30703 * fs/hfsplus.c: Likewise.
30704 * fs/iso9660.c: Likewise.
30705 * fs/jfs.c: Likewise.
30706 * fs/minix.c: Likewise.
30707 * fs/ntfs.c: Likewise.
30708 * fs/ntfscomp.c: Likewise.
30709 * fs/reiserfs.c: Likewise.
30710 * fs/ufs.c: Likewise.
30711 * fs/xfs.c: Likewise.
30712 * gettext/gettext.c: Likewise.
30713 * include/grub/auth.h: Likewise.
30714 * kern/elf.c: Likewise.
30715 * kern/file.c: Likewise.
30716 * kern/ieee1275/init.c: Likewise.
30717 * kern/ieee1275/mmap.c: Likewise.
30718 * kern/ieee1275/openfw.c: Likewise.
30719 * kern/powerpc/dl.c: Likewise.
30720 * kern/sparc64/dl.c: Likewise.
30721 * lib/arg.c: Likewise.
30722 * loader/i386/bsd.c: Likewise.
30723 * loader/i386/bsdXX.c: Likewise.
30724 * loader/i386/efi/linux.c: Likewise.
30725 * loader/i386/efi/xnu.c: Likewise.
30726 * loader/i386/ieee1275/linux.c: Likewise.
30727 * loader/i386/linux.c: Likewise.
30728 * loader/i386/multiboot.c: Likewise.
30729 * loader/i386/pc/linux.c: Likewise.
30730 * loader/i386/pc/multiboot2.c: Likewise.
30731 * loader/i386/xnu.c: Likewise.
30732 * loader/ieee1275/multiboot2.c: Likewise.
30733 * loader/macho.c: Likewise.
30734 * loader/machoXX.c: Likewise.
30735 * loader/multiboot2.c: Likewise.
30736 * loader/multiboot_loader.c: Likewise.
30737 * loader/powerpc/ieee1275/linux.c: Likewise.
30738 * loader/sparc64/ieee1275/linux.c: Likewise.
30739 * loader/xnu.c: Likewise.
30740 * loader/xnu_resume.c: Likewise.
30741 * mmap/i386/pc/mmap.c: Likewise.
30742 * normal/menu_viewer.c: Likewise.
30743 * partmap/acorn.c: Likewise.
30744 * partmap/amiga.c: Likewise.
30745 * partmap/apple.c: Likewise.
30746 * script/lexer.c: Likewise.
30747 * term/gfxterm.c: Likewise.
30748 * term/i386/pc/serial.c: Likewise.
30749 * term/i386/pc/vga.c: Likewise.
30750 * term/ieee1275/ofconsole.c: Likewise.
30751 * term/terminfo.c: Likewise.
30752 * video/bitmap.c: Likewise.
30753 * video/efi_gop.c: Likewise.
30754 * video/efi_uga.c: Likewise.
30755 * video/fb/video_fb.c: Likewise.
30756 * video/i386/pc/vbe.c: Likewise.
30757 * video/readers/tga.c: Likewise.
30758 * video/video.c: Likewise.
30759
0ad46fd7 307602009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
30761
30762 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
30763 * commands/lspci.c: Likewise.
30764 * commands/probe.c: Likewise.
30765 * commands/xnu_uuid.c: Likewise.
30766 * conf/i386-coreboot.rmk: Likewise.
30767 * conf/i386-efi.rmk: Likewise.
30768 * conf/i386-ieee1275.rmk: Likewise.
30769 * conf/i386-pc.rmk: Likewise.
30770 * conf/powerpc-ieee1275.rmk: Likewise.
30771 * conf/sparc64-ieee1275.rmk: Likewise.
30772 * conf/x86_64-efi.rmk: Likewise.
30773 * fs/i386/pc/pxe.c: Likewise.
30774 * gettext/gettext.c: Likewise.
30775 * include/grub/efi/graphics_output.h: Likewise.
30776 * include/grub/i386/pc/memory.h: Likewise.
30777 * kern/env.c: Likewise.
30778 * kern/i386/qemu/startup.S: Likewise.
30779 * lib/i386/pc/biosnum.c: Likewise.
30780 * lib/i386/relocator.c: Likewise.
30781 * lib/i386/relocator_asm.S: Likewise.
30782 * lib/relocator.c: Likewise.
30783 * loader/i386/bsd.c: Likewise.
30784 * loader/i386/multiboot.c: Likewise.
30785 * loader/i386/pc/chainloader.c: Likewise.
30786 * loader/i386/xnu.c: Likewise.
30787 * loader/xnu.c: Likewise.
30788 * normal/main.c: Likewise.
30789 * normal/menu_text.c: Likewise.
30790 * util/getroot.c: Likewise.
30791 * util/grub-mkconfig_lib.in: Likewise.
30792 * util/grub.d/00_header.in: Likewise.
30793 * util/i386/pc/grub-mkimage.c: Likewise.
30794 * util/mkisofs/eltorito.c: Likewise.
30795 * util/mkisofs/exclude.h: Likewise.
30796 * util/mkisofs/hash.c: Likewise.
30797 * util/mkisofs/iso9660.h: Likewise.
30798 * util/mkisofs/joliet.c: Likewise.
30799 * util/mkisofs/mkisofs.c: Likewise.
30800 * util/mkisofs/mkisofs.h: Likewise.
30801 * util/mkisofs/multi.c: Likewise.
30802 * util/mkisofs/name.c: Likewise.
30803 * util/mkisofs/rock.c: Likewise.
30804 * util/mkisofs/tree.c: Likewise.
30805 * util/mkisofs/write.c: Likewise.
30806 * video/efi_gop.c: Likewise.
30807
009ec743
VS
308082009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
30809
30810 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
30811 size counting.
30812
0ad46fd7 308132009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
30814
30815 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
30816 * genmk.rb (class SCRIPT): Modify the target file instead of source.
30817
d3d30ea0
VS
308182009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30819
30820 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
30821 (GRUB_MOD_INIT(memrw)): Update help line.
30822
a34f5c70
VS
308232009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30824
30825 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
30826 Use grub_extcmd_t. All users updated.
30827 (options): New variable.
30828 (grub_cmd_read): Restructure for readability. Support "-v" option.
30829 (grub_cmd_write): Restructure for readability.
30830
0ad46fd7 308312009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
30832
30833 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
30834
0ad46fd7 308352009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
30836
30837 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
30838 with the actual contents of the correspondending make variable.
30839 * util/grub-mkrescue.in (pkglib_DATA): New variable.
30840 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
30841 specifying `*.lst' and `efiemu??.o'
30842
0ad46fd7 308432009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
30844
30845 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
30846 after function name.
30847 Noticed by Rene Engelhard <rene@debian.org>.
30848
dc77a799
VS
308492009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30850
30851 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
30852 (options): New variable.
30853 (iospace): Likewise.
30854 (grub_lspci_iter): List IO spaces if "-i" was given.
30855 (grub_cmd_lspci): Parse options.
30856 (GRUB_MOD_INIT(lspci)): Use extcmd.
30857 (GRUB_MOD_FINI(lspci)): Likewise.
30858
0ad46fd7 308592009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
30860
30861 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
30862 `function' keyword.
30863 Patch by Tony Mancill <tmancill@debian.org>.
30864
b5d5993b
VS
308652009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
30866
30867 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
30868 (grub_uhci_portstatus): Likewise.
30869 (grub_uhci_portstatus): Add necessary delay.
11d18281 30870 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 30871
941903f2 308722009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 30873
941903f2 30874 * commands/acpi.c (options): Fix capitalizations and/or full stops.
30875 (GRUB_MOD_INIT): Likewise.
30876 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 30877 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
30878 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 30879 * commands/efi/loadbios.c (enable_rom_area): Likewise.
30880 (enable_rom_area): Likewise.
30881 (GRUB_MOD_INIT): Likewise.
30882 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30883 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
30884 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30885 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
30886 * commands/hexdump.c (options): Likewise.
30887 * commands/i386/cpuid.c (options): Likewise.
30888 (GRUB_MOD_INIT): Likewise.
30889 * commands/i386/pc/drivemap.c (options): Likewise.
30890 (GRUB_MOD_INIT): Likewise.
30891 * commands/i386/pc/halt (options): Likewise.
30892 (GRUB_MOD_INIT): Likewise.
30893 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30894 * commands/i386/pc/pxecmd.c (options): Likewise.
30895 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
30896 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
30897 * commands/keystatus.c (options): Likewise.
30898 (GRUB_MOD_INIT): Likewise.
30899 * commands/loadenv.c (options): Likewise.
30900 * commands/ls.c (options): Likewise.
30901 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30902 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30903 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30904 * commands/parttool.c (helpmsg): Likewise.
30905 * commands/probe.c (options): Likewise.
30906 * commands/read.c (GRUB_MOD_INIT): Likewise.
30907 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
30908 * commands/search.c (options): Likewise.
30909 * commands/sleep.c (options): Likewise.
30910 * commands/test.c (GRUB_MOD_INIT): Likewise.
30911 * commands/true.c (GRUB_MOD_INIT): Likewise.
30912 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
30913 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
30914 * lib/arg.c (help_options): Likewise.
e9bbb4e7 30915 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
30916 `$(XGETTEXT)'.
98a50553 30917 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 30918
0ad46fd7 309192009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 30920
ef3c2c3a 30921 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
30922 instead of specifying them explicit.
30923
7922f68b
RM
309242009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30925
30926 * NEWS: Add grub-probe support for GNU/Hurd.
30927
537ce47f
RM
309282009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30929
30930 * NEWS: gettext was added after 1.97.
30931
9b214e3a
RM
309322009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30933
30934 * util/mkisofs/msdos_partition.h: New file (based on
30935 include/grub/msdos_partition.h).
30936 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
30937 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
30938 (ld_options, main): Recognize --protective-msdos-label.
30939 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
30940 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
30941 (padblock_write): If `use_protective_msdos_label' is set, patch a
30942 protective DOS-style label in the output image.
30943
30944 * util/grub-mkrescue.in: Use --protective-msdos-label.
30945
e9309813
RM
309462009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30947
30948 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
30949 boot.
30950
0ae56929
RM
309512009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30952
30953 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
30954 variables.
30955 (ld_options, main): Recognize `--embedded-boot'.
30956 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
30957 declarations.
30958 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
30959 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
30960 (padblock_write): Likewise. Rewrite to support embedded boot image.
30961
30962 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
30963 for BIOS-based disk boot instead of only ElTorito.
30964
b15937b1
RM
309652009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30966
30967 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
30968 build (not needed for bootstrap).
30969
52cc3ce0
RM
309702009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30971
30972 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
30973 from i386-pc build (not needed for bootstrap).
30974 Rewrite a pair of strings.
30975
36f5ff04
RM
309762009-12-21 Robert Millan <rmh.grub@aybabtu.com>
30977
30978 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
30979
973c6c85 309802009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
30981
30982 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
30983
05d21547
AB
309842009-12-21 Andreas Born <futur.andy@googlemail.com>
30985
30986 * kern/env.c (grub_env_context_open): Mark exported variable for
30987 reexport.
30988
0175d51f
AB
309892009-12-21 Andreas Born <futur.andy@googlemail.com>
30990
30991 * kern/env.c (grub_env_export): Create nonexistent variables before
30992 exporting.
30993
7f39d92f 309942009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 30995
7f39d92f 30996 * include/grub/auth.h: Include `<grub/i18n.h>'.
30997 (GRUB_GET_PASSWORD): Gettextizze string.
30998 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
30999 menu_text.c.
31000 (grub_utf8_to_ucs4_alloc): Fix indentation.
31001 (grub_print_ucs4): Likewise.
31002 (grub_getstringwidth): Likewise.
31003 (print_message_indented): New declaration.
31004 * normal/auth.c: Include `<grub/i18n.h>'.
31005 (grub_auth_check_authentication): Gettexttize string.
31006 * normal/cmdline.c: Include `<grub/i18n.h>'.
31007 (grub_cmdline_get): Gettextizze.
31008 * normal/color.c: Include `<grub/i18n.h>'.
31009 (grub_parse_color_name_pair): Gettexttize strings.
31010 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
31011 string (use `print_message_indented').
31012 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
31013 `include/grub/normal.h'.
31014 (print_message_indented): Renamed to ...
31015 (grub_print_message_indented): ... this. Remove `static' qualifer (now
31016 used in normal/main.c).
31017 (print_message): Use `grub_print_message_indented' instead of
31018 `print_message_indented'.
31019 (print_timeout): Likewise.
31020 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
31021 (grub_normal_print_device_info): Gettexttize strings.
31022 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
31023
3041d898
VS
310242009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31025
31026 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
31027 of arguments. Return number of tokens and not arguments. All users
31028 updated.
31029
de15bf8e
VS
310302009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31031
31032 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
31033 non-MSDOS paritions.
31034
e0a6ca52
VS
310352009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
31036
31037 * include/grub/types.h (UNUSED): Removed since it conflicts with
31038 NetBSD headers. All users changed to direct __attribute__ ((unused)).
31039 Reported by Grégoire Sutre.
31040
b99518d1 310412009-12-19 Carles Pina i Estany <carles@pina.cat>
31042
31043 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
31044 (grub_print_ucs4_alloc): Likewise.
31045 (grub_getstringwidth): Likewise.
31046 * normal/main.c (grub_normal_init_page): Gettextize version string.
31047 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
31048 (getstringwidth): Renamed to ...
31049 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
31050 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
31051 (grub_print_ucs4): Remove `static' qualifer (now used in
31052 normal/main.c).
31053 * po/POTFILES: Add normal/main.c.
31054
bfd5e52b 310552009-12-19 Carles Pina i Estany <carles@pina.cat>
31056
31057 * normal/menu_text.c (STANDARD_MARGIN): New macro.
31058 (print_message_indented): Add `margin_left' and `margin_right'
31059 parameters.
31060 (print_message): Update `print_message_indented' calls. Adds '\n' to the
31061 strings.
31062 (print_timeout): Use `print_message_indented' to print the message.
31063 Deletes `second_stage' parameter.
31064 (run_menu): Update `print_timeout' calls.
31065
5a1ad2b9
VS
310662009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31067
31068 Fix console palette on OpenFirmware.
31069
31070 * term/ieee1275/ofconsole.c (MAX): Removed.
31071 (colors): Redone based on VGA palette.
31072 (grub_ofconsole_setcolor): Discard brightness bit since only 8
31073 colors are supported.
31074 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
31075
b045f00a
VS
310762009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31077
31078 Fix potential EfiEmu double prepare.
31079
31080 * efiemu/main.c (prepared): New variable
31081 (grub_efiemu_unload): Set prepare to '0'.
31082 (grub_efiemu_prepare): Return if already prepared. Set prepared.
31083
31084 set_virtual_address_map support.
31085
31086 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
31087 prototype.
31088 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
31089 prototype.
31090 (grub_efiemu_crc32): Likewise.
31091 (grub_efiemu_crc64): Likewise.
31092 (grub_efiemu_set_virtual_address_map): Likewise.
31093 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
31094 New definition.
31095 (grub_autoefi_set_virtual_address_map): Likewise.
31096 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
31097 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
31098 Restructure flow to accomodate it.
31099 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
31100 (grub_efiemu_crc): Recompute CRC32.
31101 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
31102 (efiemu_ptv_relocated): ... this. Made global. All users updated.
31103 * efiemu/symbols.c (relocated_handle): New variable.
31104 (grub_efiemu_free_syms): Free relocated_handle.
31105 (grub_efiemu_alloc_syms): Allocate relocated_handle.
31106 (grub_efiemu_write_sym_markers): New function.
31107 (grub_efiemu_set_virtual_address_map): Likewise.
31108
31109 Newer XNU parameters.
31110
31111 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
31112 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
31113 (grub_xnu_fill_devicetree): New prototype.
31114 (grub_xnu_heap_real_start): New variable.
31115 * loader/xnu.c (get_name_ptr): New function.
31116 (grub_xnu_load_driver): Fill namelen and name.
31117
31118 64-bit xnu support.
31119
31120 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
31121 and 'loader/macho64.c'.
31122 * conf/i386-pc.rmk: Likewise.
31123 * conf/x86_64-efi.rmk: Likewise.
31124 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
31125 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
31126 * include/grub/macho.h (grub_macho_segment64): New structure.
31127 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
31128 (grub_macho_size32): ... to this.
31129 (grub_macho32_get_entry_point): Renamed from ...
31130 (grub_macho_get_entry_point32): ... to this.
31131 (grub_macho_contains_macho64): New prototype.
31132 (grub_macho_size64): Likewise.
31133 (grub_macho_get_entry_point64): Likewise.
31134 (grub_macho32_load): Renamed from ...
31135 (grub_macho_load32): ... to this.
31136 (grub_macho32_filesize): Renamed from ...
31137 (grub_macho_filesize32): ... to this.
31138 (grub_macho32_readfile): Renamed from ...
31139 (grub_macho_readfile32): ... to this.
31140 (grub_macho_filesize64): New prototype.
31141 (grub_macho_readfile64): Likewise.
31142 (grub_macho_parse32): Likewise.
31143 (grub_macho_parse64): Likewise.
31144 * loader/macho.c: Split into ...
31145 * loader/machoXX.c: ... and this. Replace 32 with XX.
31146 * loader/macho32.c: New file.
31147 * loader/macho64.c: Likewise.
31148 * loader/xnu.c (grub_xnu_is_64bit): New variable.
31149 (grub_cmd_xnu_kernel): Make 32-bit only.
31150 (grub_cmd_xnu_kernel64): New function.
31151 (grub_xnu_load_driver): Support Mach-O 64.
31152 (grub_cmd_xnu_mkext): Likewise.
31153 * util/grub.d/30_os-prober.in (osx_entry): New function.
31154 Generate entries for 64-bit boot too.
31155
31156 Eliminate ad-hoc tree format in XNU and EfiEmu.
31157
31158 * efiemu/main.c (grub_efiemu_prepare): Update comment.
31159 * efiemu/pnvram.c: Rewritten to use environment variables.
31160 All users updated.
31161
31162 Inline utf16_to_utf8.
31163
31164 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
31165 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
31166 All users updated.
31167 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
31168
31169 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
31170 * commands/usbtest.c (grub_usb_get_string): ... move here.
31171 (usb_print_str): Fix error handling.
31172 * include/grub/usb.h (grub_usb_get_string): Remove.
31173
31174 UTF-8 to UTF-16 transformation.
31175
31176 * conf/common.rmk (pkglib_MODULES): Add charset.mod
31177 (charset_mod_SOURCES): New variable.
31178 (charset_mod_CFLAGS): Likewise.
31179 (charset_mod_LDFLAGS): Likewise.
31180 * include/grub/utf.h: New file.
31181 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
31182
31183 Support for device properties.
31184
31185 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
31186 (grub_xnu_devprop_device_header): Likewise.
31187 (grub_xnu_devprop_device_descriptor): Likewise.
31188 (grub_xnu_devprop_add_device): New prototype.
31189 (grub_xnu_devprop_remove_device): Likewise.
31190 (grub_xnu_devprop_remove_property): Likewise.
31191 (grub_xnu_devprop_add_property_utf8): Likewise.
31192 (grub_xnu_devprop_add_property_utf16): Likewise.
31193 (grub_cpu_xnu_init): Likewise.
31194 (grub_cpu_xnu_fini): Likewise.
31195 (grub_cpu_xnu_unload): Likewise.
31196 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
31197 (property_descriptor): Likewise.
31198 (devices): New variable.
31199 (grub_xnu_devprop_remove_property): New function.
31200 (grub_xnu_devprop_add_device): Likewise.
31201 (grub_xnu_devprop_remove_device): Likewise.
31202 (grub_xnu_devprop_add_property): Likewise.
31203 (grub_xnu_devprop_add_property_utf8): Likewise.
31204 (grub_xnu_devprop_add_property_utf16): Likewise.
31205 (hextoval): Likewise.
31206 (grub_cpu_xnu_fill_devprop): Likewise.
31207 (grub_cmd_devprop_load): Likewise.
31208 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
31209 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
31210 (cmd_devprop_load): New variable.
31211 (grub_cpu_xnu_init): New function.
31212 (grub_cpu_xnu_fini): Likewise.
31213 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
31214 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
31215 (grub_cmd_xnu_devtree): Likewise.
31216 (hextoval): New function.
31217 (unescape): Likewise.
31218 (grub_xnu_fill_devicetree): Likewise.
31219
31220 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
31221 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
31222
0945f181
VS
312232009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31224
31225 Workaround for broken ATI VBE.
31226
31227 * video/i386/pc/vbe.c (last_set_mode): New variable.
31228 (grub_vbe_set_video_mode): Set 'last_set_mode'.
31229 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
31230 (grub_video_vbe_setup): Don't check for reserved flag.
31231
0ad46fd7 312322009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
31233
31234 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
31235 the `find' command.
31236
c179ebe4
VS
312372009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
31238
31239 UUID support for HFS.
31240
31241 * fs/hfs.c (grub_hfs_uuid): New function.
31242 (grub_hfs_fs): New value .uuid.
31243 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
31244
0ad46fd7 312452009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
31246
31247 Fix a segfault with parsing unknown long options.
31248
31249 * util/grub-mkrelpath.c (options): Zero terminate it.
31250
c4a3e41a
CPE
312512009-12-13 Carles Pina i Estany <carles@pina.cat>
31252
31253 * include/grub/misc.h (grub_puts): New declaration.
31254 (grub_puts_): Likewise.
a22008a6 31255 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
31256 (grub_puts_): Likewise.
31257
2e8a7602
RM
312582009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31259
31260 * util/grub-probe.c (probe): Improve error message.
31261
b50b77b9
RM
312622009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31263
31264 * loader/i386/multiboot_elfxx.c
31265 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
31266 initialization.
31267
312682009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31269
31270 Relocator framework
31271
31272 * loader/i386/xnu_helper.S: Removed. All users updated.
31273 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
31274 (relocator_mod_SOURCES): New variable.
31275 (relocator_mod_CFLAGS): Likewise.
31276 (relocator_mod_LDFLAGS): Likewise.
31277 (relocator_mod_ASFLAGS): Likewise.
31278 * conf/x86_64.rmk: Likewise.
31279 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
31280 (grub_multiboot_payload_entry_offset): Likewise.
31281 (grub_multiboot_forward_relocator): Likewise.
31282 (grub_multiboot_forward_relocator_end): Likewise.
31283 (grub_multiboot_backward_relocator): Likewise.
31284 (grub_multiboot_backward_relocator_end): Likewise.
31285 (grub_multiboot_payload_eip): New variable.
31286 (grub_multiboot_payload_orig): Likewise.
31287 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
31288 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
31289 * include/grub/i386/memory.h
31290 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
31291 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
31292 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
31293 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
31294 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
31295 * include/grub/i386/relocator.h: New file.
31296 * include/grub/x86_64/relocator.h: Likewise.
31297 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
31298 (XNU_RELOCATOR): New macro.
31299 (grub_xnu_launcher_start): Remove.
31300 (grub_xnu_launcher_end): Likewise.
31301 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
31302 (grub_xnu_heap_real_start): Remove.
31303 (grub_xnu_heap_start): Change to void *. All users updated.
31304 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
31305 * lib/i386/relocator.c: New file.
31306 * lib/i386/relocator_asm.S: Likewise.
31307 * lib/i386/relocator_backward.S: Likewise.
31308 * lib/mips/relocator.c: Likewise.
31309 * lib/mips/relocator_asm.S: Likewise.
31310 * lib/relocator.c: Likewise.
31311 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
31312 (entry): Removed.
31313 (playground): Likewise.
31314 (grub_multiboot_payload_orig): New variable.
31315 (grub_multiboot_payload_dest): Likewise.
31316 (grub_multiboot_payload_size): Likewise.
31317 (grub_multiboot_payload_eip): Likewise.
31318 (grub_multiboot_payload_esp): Likewise.
31319 (grub_multiboot_boot): Use grub_relocator32_boot.
31320 (grub_multiboot_unload): Free relocators.
31321 (grub_multiboot): Setup stack. Use relocators.
31322 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
31323 (grub_multiboot_load_elfXX): Use relocators.
31324 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
31325 (grub_multiboot_payload_size): Likewise.
31326 (grub_multiboot_payload_dest): Likewise.
31327 (grub_multiboot_payload_entry_offset): Likewise.
31328 (grub_multiboot_forward_relocator): Likewise.
31329 (grub_multiboot_backward_relocator): Likewise.
31330 (grub_multiboot_real_boot): Likewise.
31331 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
31332 (grub_xnu_entry_point): Likewise.
31333 (grub_xnu_arg1): Likewise.
31334 (grub_xnu_stack): Likewise.
31335 (grub_xnu_launch): Removed.
31336 (grub_xnu_boot_resume): New function.
31337 (grub_xnu_boot): Use relocators.
31338 * loader/i386/xnu_helper.S: Removed.
31339 * loader/xnu.c (grub_xnu_heap_start): New variable.
31340 (grub_xnu_heap_size): Likewise.
31341 (grub_xnu_heap_malloc): Use relocators.
31342 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
31343
29eb90c6
VS
313442009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31345
31346 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
31347 anything.
31348
31027430
CPE
313492009-12-13 Carles Pina i Estany <carles@pina.cat>
31350
31351 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
31352 GRUB_ERR_NONE before calling grub_env_set.
31353
dc0c71d9
RM
313542009-12-12 Robert Millan <rmh@aybabtu.com>
31355
31356 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
31357 * genmk.rb (video): New variable.
31358 (CLEANFILES, VIDEOFILES): Add #{video}.
31359 (#{video}): New target rule.
31360 * genvideolist.sh: New file.
31361 * Makefile.in (pkglib_DATA): Add video.lst.
31362 (video.lst): New target rule.
31363 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
31364 `video.lst'.
31365 * util/grub.d/30_os-prober.in: Replace `vbe' with
31366 ${GRUB_VIDEO_BACKEND}.
31367
2a4bfcf0
RM
313682009-12-11 Robert Millan <rmh.grub@aybabtu.com>
31369
31370 * THANKS: Add David Miller.
31371
2a3aa4d5
RM
313722009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
31373
31374 libpciaccess support.
31375
31376 * Makefile.in (LIBPCIACCESS): New variable.
31377 (enable_grub_emu_pci): Likewise.
31378 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
31379 util/pci.c and commands/lspci.c.
31380 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
31381 * configure.ac (grub-emu-pci): New option.
31382 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
31383 (grub_pci_device_unmap_range): Likewise.
31384 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
31385 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
31386 (grub_pci_address_t) [!GRUB_UTIL]: New type.
31387 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
31388 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
31389 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
31390 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
31391 * include/grub/pciutils.h: New file.
31392 * util/pci.c: Likewise.
31393
0ad46fd7 313942009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
31395
31396 * util/misc.c: Don't include <errno.h> twice.
31397
0ad46fd7 313982009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
31399
31400 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
31401 name in an error message.
31402 (grub_biosdisk_rw): Likewise.
31403
2e59983c
VS
314042009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31405
31406 Eliminate NTFS 4Gib barrier.
31407
31408 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
31409 (read_run_data): Likewise.
31410 (grub_ntfs_read_run_list): Likewise.
31411 (grub_ntfs_read_block): Likewise.
31412 (grub_ntfs_iterate_dir): Likewise.
31413 (read_mft): Likewise.
31414 (read_data): Likewise.
31415 Use COM_LOG_LEN.
31416 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
31417 to avoid 64-bit division
31418 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
31419 (grub_ntfs_rlst): Use grub_disk_addr_t.
31420
71ee178a
VS
314212009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31422
31423 Eliminate grub-fstest 4Gib barrier.
31424
31425 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
31426 (read_file): Fix error reporting.
31427
2520d4b8
VS
314282009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31429
31430 Eliminate hexdump 4Gib barrier.
31431
31432 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
31433 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
31434
e1f27065
VS
314352009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31436
31437 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
31438 Fixes amarsh bug.
31439
1a0f7f45
RM
314402009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
31441
31442 Remove miscellaneous files in distclean target.
31443
31444 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
31445
c631d9fb
CW
314462009-12-09 Colin Watson <cjwatson@ubuntu.com>
31447
31448 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
31449 if they're already set. This resolves the conflict between my
31450 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
31451 fixing the --grub-probe option again.
31452 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
31453 change on 2009-10-06, so that we now once again source
31454 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
31455
7c7b6106
RM
314562009-12-08 Robert Millan <rmh.grub@aybabtu.com>
31457
31458 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
31459 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
31460 `util/devicemap.c'.
31461
e3069ec1
CPE
314622009-12-08 Carles Pina i Estany <carles@pina.cat>
31463
31464 * include/grub/misc.h (grub_printf_): New declaration.
31465 * kern/misc.c (grub_printf_): New definition.
31466 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
31467 instead of `grub_printf' and `_'.
31468 * normal/menu_entry.c (store_completion): Likewise.
31469 (run): Likewise.
31470 (grub_menu_entry_run): Likewise.
31471 * normal/menu_text.c (grub_wait_after_message): Likewise.
31472 (notify_booting): Likewise.
31473 (notify_fallback): Likewise.
31474 (notify_execution_failure): Likewise.
31475
d6ceebf1
CW
314762009-12-07 Colin Watson <cjwatson@ubuntu.com>
31477
31478 * configure.ac: Check for vasprintf.
31479 * util/misc.c (asprintf): Move allocation from here ...
31480 (vasprintf): ... to here. New function.
31481 (xasprintf): New function.
31482 * include/grub/util/misc.h (vasprintf, xasprintf): Add
31483 prototypes.
31484 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
31485 * util/grub-mkfont.c (write_font): Likewise.
31486 * util/grub-probe.c (probe): Likewise.
31487 * util/hostdisk.c (make_device_name): Likewise.
31488
de6daa8b
DM
314892009-12-06 David S. Miller <davem@sunset.davemloft.net>
31490
31491 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
31492 anything even prefixed with 'cdrom' as a cdrom.
31493
0ad46fd7 314942009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
31495
31496 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
31497 mount points.
31498
98d3dc02
CPE
314992009-12-05 Carles Pina i Estany <carles@pina.cat>
31500
31501 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
31502 grub_gettext_msg_list.
31503 (grub_gettext_gettranslation_from_position): Return const char *
31504 and not char *.
a2c1332b 31505 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
31506 returns from the list if existing there.
31507 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
31508 (grub_gettext_delete_list): Delete the list.
31509 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
31510 lang environment variable is changed.
31511 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
31512
b283f108
VS
315132009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31514
31515 Rename kernel.mod to kernel.img.
31516
31517 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
31518 (kernel_mod_EXPORTS): Rename to ...
31519 (kernel_img_EXPORTS): ... this.
31520 (kernel_mod_SOURCES): Rename to ...
31521 (kernel_img_SOURCES): ... this.
31522 (kernel_mod_HEADERS): Rename to ...
31523 (kernel_img_HEADERS): ... this. All users updated.
31524 (kernel_mod_CFLAGS): Rename to ...
31525 (kernel_img_CFLAGS): ... this.
31526 (kernel_mod_ASFLAGS): Rename to ...
31527 (kernel_img_ASFLAGS): ... this.
31528 (kernel_mod_LDFLAGS): Rename to ...
31529 (kernel_img_LDFLAGS): ... this.
31530 * conf/x86_64-efi.rmk: Likewise.
31531 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
31532 (read_kernel_image): ... this. All users updated.
31533 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
31534
69055f8a
CPE
315352009-12-05 Carles Pina i Estany <carles@pina.cat>
31536
31537 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
31538 (print_spaces): New function.
31539 (grub_print_ucs4): New function.
31540 (getstringwidth): New function.
31541 (print_message_indented): New function.
31542 (print_message): Gettexttize strings using print_message_indented.
31543 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
31544 width.
31545 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 31546 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
31547 Gettextize.
31548 * normal/menu_entry.c (store_completion): Cleanup the gettextized
31549 string.
31550 (run): Likewise.
31551 (grub_menu_entry_run): Likewise.
31552 * PO/POTFILES: Add normal/menu_entry.c.
31553
f616f51c
VS
315542009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31555
31556 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
31557
57bbe3be
CPE
315582009-12-05 Carles Pina i Estany <carles@pina.cat>
31559
31560 * util/grub-install.in: Install gettext .mo files.
31561 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
31562
013d67a1
CPE
315632009-12-05 Carles Pina i Estany <carles@pina.cat>
31564
31565 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
31566 grub_dprintf.
31567
fb954db0
RM
315682009-12-05 Robert Millan <rmh.grub@aybabtu.com>
31569
31570 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
31571 non-firmware-dependant one in realmode.S takes precedence.
31572
6b8474f8
RM
315732009-12-04 Robert Millan <rmh.grub@aybabtu.com>
31574
31575 * commands/halt.c: Replace misc arch-specific headers with
31576 `<grub/misc.h>'.
31577 * commands/reboot.c: Likewise.
31578 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
31579 `<grub/misc.h>'.
31580 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
31581 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
31582 (kernel_img_SOURCES): ... to here.
31583
31584 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
31585 * include/grub/i386/pc/init.h: Likewise.
31586 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
31587 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31588
31589 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
31590
31591 * include/grub/i386/halt.h: Remove.
31592 * include/grub/i386/reboot.h: Likewise.
31593
31594 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
31595
4b2e6ca2
DM
315962009-12-03 David S. Miller <davem@sunset.davemloft.net>
31597
31598 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
31599 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
31600 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
31601 "progname.h"
31602 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31603 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31604 (usage): Add missing comma in printf.
31605
5239348f
RM
316062009-12-02 Robert Millan <rmh.grub@aybabtu.com>
31607
31608 Use the same reboot approach on i386 coreboot and qemu as we do on
31609 BIOS.
31610
31611 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
31612 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
31613 * kern/i386/reboot.c: Remove.
31614 * include/grub/i386/reboot.h (grub_reboot): Export function.
31615 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
31616 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
31617 0xf000:0xfff0 instead of 0xffff:0x0000.
31618 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
31619 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
31620
ef34cbd4
RM
316212009-11-30 Robert Millan <rmh.grub@aybabtu.com>
31622
31623 Fix $srcdir != $objdir build.
31624
31625 * Makefile.in (po/%.po): Rewrite as ...
31626 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
31627
dc9837ea
ST
316282009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
31629
31630 Fix GNU/Hurd grub-install crash.
31631 * util/grub-probe.c (probe): Try to access `path' only when it is not
31632 NULL.
31633
2f857f98
VS
316342009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31635
31636 Correct module naming.
31637
31638 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31639 (GRUB_MOD_INIT(efi_uga)): ... to this
31640 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31641 (GRUB_MOD_FINI(efi_uga)): ... to this
31642 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31643 (GRUB_MOD_INIT(efi_gop)): ... to this
31644 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31645 (GRUB_MOD_FINI(efi_gop)): ... to this
31646
c5448046
RM
316472009-11-28 Robert Millan <rmh.grub@aybabtu.com>
31648
31649 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
31650 translatable.
31651 (usage): Translate `arg' strings using gettext().
31652 Thanks to Jordi Mallach for the suggestion.
31653
c85184ad
VS
316542009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31655
31656 GOP support. Based on patch from Bean
31657 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31658
31659 * video/efi_gop.c: New file.
31660 * include/grub/efi/graphics_output.h: Likewise.
31661 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
31662 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31663 variables.
31664 * conf/x86_64-efi.rmk: Likewise.
31665
8a4c48d8
VS
316662009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31667
31668 Rename efi_fb to efi_uga.
31669
31670 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31671 'efi_uga.mod'.
31672 (efi_fb_mod_SOURCES): Rename this ...
31673 (efi_uga_mod_SOURCES): ... to this.
31674 (efi_fb_mod_CFLAGS): Rename this ...
31675 (efi_uga_mod_CFLAGS): ... to this.
31676 (efi_fb_mod_LDFLAGS): Rename this ...
31677 (efi_uga_mod_LDFLAGS): ... to this.
31678 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31679 'efi_uga.mod'.
31680 (efi_fb_mod_SOURCES): Rename this ...
31681 (efi_uga_mod_SOURCES): ... to this.
31682 (efi_fb_mod_CFLAGS): Rename this ...
31683 (efi_uga_mod_CFLAGS): ... to this.
31684 (efi_fb_mod_LDFLAGS): Rename this ...
31685 (efi_uga_mod_LDFLAGS): ... to this.
31686 * video/efi_fb.c: Move this ...
31687 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
31688
fb6c1a7b
RM
316892009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31690
31691 * po/README: New file. Explain our PO file workflow.
31692
3bc7896c
RM
316932009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31694
31695 * po/ChangeLog: Remove. Move relevant entries back to ...
31696 * ChangeLog: ... here.
31697 * po/ca.po: Remove (now handled by TLP).
31698 * po/id.po: Likewise.
31699 * po/zh_CN.po: Likewise.
31700 * Makefile.in (LINGUAS): Initialize in a way that supports
31701 empty set.
31702
9ed4841d
RM
317032009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31704
31705 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
31706 reliing on po/LINGUAS.
31707 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
31708 (po/%.po): ... this.
31709
0ad46fd7 317102009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
31711
31712 * util/i386/efi/grub-mkimage.c: Include "progname.h".
31713 (main): Use `program_name' instead of nonexistent `progname'.
31714
e30dd392
FZ
317152009-11-26 Felix Zielcke <fzielcke@z-51.de>
31716
31717 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31718 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
31719
7656de4f
RM
317202009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31721
31722 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
31723 commit.
31724 * conf/i386-efi.rmk: Likewise.
31725 * conf/i386-ieee1275.rmk: Likewise.
31726 * conf/powerpc-ieee1275.rmk: Likewise.
31727 * conf/sparc64-ieee1275.rmk: Likewise.
31728 * conf/x86_64-efi.rmk: Likewise.
31729
db77c4d4
FZ
317302009-11-26 Felix Zielcke <fzielcke@z-51.de>
31731
31732 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
31733
a755bb04
FZ
317342009-11-26 Felix Zielcke <fzielcke@z-51.de>
31735
31736 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
31737
8a4c07fd
RM
317382009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31739
31740 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
31741 (grub_mkdevicemap_SOURCES): New variable.
31742 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
31743 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
31744 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
31745 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
31746 (grub_mkdevicemap_SOURCES): Remove.
31747 * conf/i386-efi.rmk: Likewise.
31748 * conf/i386-ieee1275.rmk: Likewise.
31749 * conf/i386-pc.rmk: Likewise.
31750 * conf/powerpc-ieee1275.rmk: Likewise.
31751 * conf/sparc64-ieee1275.rmk: Likewise.
31752 * conf/x86_64-efi.rmk: Likewise.
31753 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
31754 (usage): Fix strings to use `program_name'.
31755 (main): Initialize gettext.
31756 * util/grub-editenv.c: Likewise.
31757 * util/grub-emu.c: Likewise.
31758 * util/grub-fstest.c: Likewise.
31759 * util/grub-mkdevicemap.c: Likewise.
31760 * util/grub-mkfont.c: Likewise.
31761 * util/grub-mkrelpath.c: Likewise.
31762 * util/grub-pe2elf.c: Likewise.
31763 * util/grub-probe.c: Likewise.
31764 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
31765 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31766 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31767
31768 * util/misc.c: Include `"progname.h"'.
31769 (progname): Remove variable.
31770 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
31771
6f61ed55
FZ
317722009-11-25 Felix Zielcke <fzielcke@z-51.de>
31773
31774 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
31775 printf and print a newline after the menuentry header line.
31776 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
31777
f022876b
FZ
317782009-11-25 Felix Zielcke <fzielcke@z-51.de>
31779
31780 autoconf >= 2.60 support $(localedir).
31781
31782 * INSTALL: Note that autoconf 2.60 is required.
31783 * configure.ac (AC_PREREQ): Bump to 2.60.
31784 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
31785 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
31786
6717926e
YB
317872009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
31788
31789 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
31790 aclocal is run.
31791
08806a54
RM
317922009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31793
31794 * normal/main.c (grub_normal_read_line): Fix off-by-one
31795 buffer overflow.
31796
13b33fba
RM
317972009-11-25 Robert Millan <rmh.grub@aybabtu.com>
31798
31799 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
31800 "parser.grub" in grub_command_execute() call.
31801
4a8572e9
CPE
318022009-11-24 Carles Pina i Estany <carles@pina.cat>
31803
31804 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
31805 * conf/i386-efi.rmk: Likewise.
31806 * conf/i386-ieee1275.rmk: Likewise.
31807 * conf/i386-pc.rmk: Likewise.
31808 * conf/powerpc-ieee1275.rmk: Likewise.
31809 * conf/sparc64-ieee1275.rmk: Likewise.
31810 * conf/x86_64-efi.rmk: Likewise.
31811 * gettext/gettex.c: Include <grub/i18n.h>.
31812 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
31813 here ...
31814 * include/grub/i18n.h: ... to here
31815 * include/grub/i18n.h: ... to here.
31816 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 31817 (grub_gettext_dummy): Move above user.
4a8572e9 31818
bee48093
FZ
318192009-11-24 Felix Zielcke <fzielcke@z-51.de>
31820
31821 * util/Makefile.in (install-local): Convert a `for' into a normal
31822 shell expansion.
31823
a031e91c
RM
318242009-11-24 Robert Millan <rmh.grub@aybabtu.com>
31825
31826 * autogen.sh: Add automake call.
31827 * config.guess: Remove.
31828 * config.sub: Likewise.
31829 * install-sh: Likewise.
31830
26bec39d
FZ
318312009-11-24 Felix Zielcke <fzielcke@z-51.de>
31832
31833 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
31834
8e2532fd
FZ
318352009-11-24 Felix Zielcke <fzielcke@z-51.de>
31836
31837 * util/Makefile.in (install-local): Convert a make `$(foreach)'
31838 function to a normal shell `for'.
31839
fefa1b7d
FZ
318402009-11-24 Felix Zielcke <fzielcke@z-51.de>
31841
31842 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31843
4501250b
FZ
318442009-11-24 Felix Zielcke <fzielcke@z-51.de>
31845
31846 * util/grub-mkrelpath.c: New file.
31847 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
31848 (grub_mkrelpath_SOURCES): New variable.
31849 * include/grub/util/misc.h: New function prototype.
31850 * util/misc.c (make_system_path_relative_to_its_root): New function.
31851
31852 * util/grub-mkconfig_lib.in (bindir): New variable.
31853 (grub_mkrelpath): Likewise.
31854 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
31855
31856 * util/probe.c (probe): Make the file path relative to its root.
31857 Change a info message to use the GRUB path. Enable again the
31858 check if we can read the file with GRUB facilities.
31859
31860 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
31861 to its root.
31862
11d9778b
FZ
318632009-11-24 Felix Zielcke <fzielcke@z-51.de>
31864
31865 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
31866 platform.
31867
4465287d
FZ
318682009-11-24 Felix Zielcke <fzielcke@z-51.de>
31869
31870 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
31871 strncmp().
31872
62b47f22
FZ
318732009-11-24 Felix Zielcke <fzielcke@z-51.de>
31874
31875 * util/getroot.c (grub_util_is_dmraid): New function.
31876 (grub_util_get_dev_abstraction): Treat dmraid and multipath
31877 devices as normal ones, not as LVM.
31878
1eafb9b9 318792009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
31880
31881 * conf/common.rmk: Add grub-gettext_lib target and updates
31882 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
31883 LDFLAGS.
31884 * gettext/gettext.c: New file. (Reads mo files).
31885 * include/grub/file.h (grub_file_pread): New prototype.
31886 * include/grub/i18n.h (_): New prototype.
31887 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
31888 prototypes.
31889 * kern/misc.c (grub_gettext_dummy): New function.
31890 * normal/menu_text.c: Include <grub/i18n.h>.
31891 * normal/menu_text.c (print_timeout): Gettexttize string.
31892 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
31893 * po/POTFILES: Add `normal/menu_text.c'.
31894 * po/ca.po: Add new translations.
c3ea6bd4
CPE
31895 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
31896 gettext module and defines locale_dir and lang in grub.cfg.
31897 * NEWS: Add gettext support.
31898
0fdb2568
RM
318992009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31900
31901 * util/hostdisk.c: Include `<grub/i18n.h>'.
31902 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
31903 (make_device_name): Rewrite using asprintf.
31904 (convert_system_partition_to_system_disk): Replace 0 with NULL.
31905 (find_system_device): If a device is not found, generate one just
31906 by reusing the OS path name.
31907 (read_device_map): Make it permissible for device.map not to exist.
31908
f515aa62
RM
319092009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31910
31911 * script/sh/execute.c: Move from here ...
31912 * script/execute.c: ... to here. Update all users.
31913 * script/sh/function.c: Move from here ...
31914 * script/function.c: ... to here. Update all users.
31915 * script/sh/lexer.c: Move from here ...
31916 * script/lexer.c: ... to here. Update all users.
31917 * script/sh/main.c: Move from here ...
31918 * script/main.c: ... to here. Update all users.
31919 * script/sh/parser.y: Move from here ...
31920 * script/parser.y: ... to here. Update all users.
31921 * script/sh/script.c: Move from here ...
31922 * script/script.c: ... to here. Update all users.
31923
f84b481b
RM
319242009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31925
31926 * configure.ac: Detect all `emu' platforms. Define
31927 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
31928 --enable-grub-emu logic. Disable include/grub/machine
31929 symlink on `emu' platforms.
31930
31931 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
31932 * gensymlist.sh.in: Likewise.
31933
31934 * include/grub/i386/coreboot/machine.h: Remove file.
31935 * include/grub/i386/efi/machine.h: Likewise.
31936 * include/grub/i386/ieee1275/machine.h: Likewise.
31937 * include/grub/i386/pc/machine.h: Likewise.
31938 * include/grub/i386/qemu/machine.h: Likewise.
31939 * include/grub/powerpc/ieee1275/machine.h: Likewise.
31940 * include/grub/sparc64/ieee1275/machine.h: Likewise.
31941 * include/grub/x86_64/efi/machine.h: Likewise.
31942
31943 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
31944 * commands/halt.c: Likewise.
31945 * commands/reboot.c: Likewise.
31946 * include/grub/autoefi.h: Likewise.
31947 * include/grub/i386/at_keyboard.h: Likewise.
31948 * include/grub/i386/kernel.h: Likewise.
31949 * include/grub/i386/loader.h: Likewise.
31950 * include/grub/i386/pc/memory.h: Likewise.
31951 * kern/dl.c: Likewise.
31952 * kern/i386/coreboot/init.c: Likewise.
31953 * loader/i386/bsd.c: Likewise.
31954 * loader/i386/linux.c: Likewise.
31955 * loader/multiboot_loader.c: Likewise.
31956 * term/i386/pc/serial.c: Likewise.
31957 * term/usb_keyboard.c: Likewise.
31958
31959 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
31960 `<grub/machine/machine.h>'
31961 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
31962 * util/misc.c: Remove `<grub/machine/machine.h>' and
31963 `<grub/machine/time.h>'.
31964
31965 * Makefile.in (enable_grub_emu): Remove variable.
31966 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
31967
31968 * conf/any-emu.rmk: New file.
31969 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
31970 (grub_emu_init.c): Move from here ...
31971 * conf/any-emu.rmk: ... to here.
31972
31973 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
31974 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
31975 * conf/any-emu.rmk: ... to here.
31976
4efeab03
RM
319772009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31978
31979 * include/grub/parser.h (grub_parser_register): Document need
31980 of `name' parameter.
31981 * normal/main.c (grub_normal_read_line): Simplify prompt string.
31982 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
31983 "sh" to "grub".
31984
ea1dd8bf
RM
319852009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31986
31987 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
31988 `$(XGETTEXT)'.
31989 * include/grub/i18n.h (N_): New macro.
31990 * util/mkisofs/mkisofs.h: Likewise.
31991 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
31992 around N_().
31993 (usage): Use gettext() to translate help strings when printing them.
31994
0c140626
RM
319952009-11-23 Robert Millan <rmh.grub@aybabtu.com>
31996
31997 Based on patch from Bean
31998 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31999
32000 * video/efi_fb.c: New file.
32001 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
32002 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32003 variables.
32004 * conf/x86_64-efi.rmk: Likewise.
32005
87d58298
RM
320062009-11-22 Robert Millan <rmh.grub@aybabtu.com>
32007
32008 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
32009 * util/i386/pc/grub-setup.c: Likewise.
32010
994cc3a3
ST
320112009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
32012
32013 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
32014 <hurd/fs.h>
32015 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
32016 file_get_storage_info to implement grub_guess_root_device.
32017
26a61d6a
FZ
320182009-11-21 Felix Zielcke <fzielcke@z-51.de>
32019
32020 * Makefile.in (target): Use make's builtin $(shell) function
32021 instead of calling directly $(SHELL) to create the locale directories,
32022 inside the $(foreach) function.
32023
74ff1dd5
FZ
320242009-11-21 Felix Zielcke <fzielcke@z-51.de>
32025
32026 * util/grub-mkrescue.in: Print an error and usage if output option
32027 has not been given.
32028
0b787d0e
FZ
320292009-11-21 Felix Zielcke <fzielcke@z-51.de>
32030
32031 Patch from Loïc Minier <loic.minier@ubuntu.com>.
32032 * util/grub.d/30_os-prober.in: Cope with Linux entries where
32033 root and /boot are on different devices.
32034
1164b270
RM
320352009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32036
32037 Fix build for srcdir != objdir.
32038
32039 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
32040 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
32041 $(srcdir).
32042 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
32043 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
32044 reference for input.
32045
13774a2f
RM
320462009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32047
32048 * util/grub-mkrescue.in: Use source directory direcly (without copiing
32049 or hardlinking it). Remove -J option, Joliet is not compatible with
32050 multiple source directories.
32051
efda854e
RM
320522009-11-21 Carles Pina i Estany <carles@pina.cat>
320532009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32054
32055 * util/grub-mkrescue.in: Recognize `--override-directory' option.
32056 (process_input_dir): New function. Process an arbitrary input
32057 directory.
32058 Misc adjustments to support both "override mode" and system-wide mode.
32059
6c09890c
FZ
320602009-11-20 Felix Zielcke <fzielcke@z-51.de>
32061
32062 * configure.ac (UNIFONT_BDF): Rename to ...
32063 (FONT_SOURCE): ... this. Update all users.
32064
a797824f
FZ
320652009-11-20 Felix Zielcke <fzielcke@z-51.de>
32066
32067 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
32068 to the list of unifont files to look for.
32069
cd4f42b0
RM
320702009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32071
32072 Patch from Joe Auricchio <jauricchio@gmail.com>
32073 * commands/minicmd.c (grub_mini_cmd_clear): New function.
32074 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
32075 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
32076
393c783d
FZ
320772009-11-19 Felix Zielcke <fzielcke@z-51.de>
32078
32079 * Makefile.in (install-local): Add a missing backslash.
32080
b2f1e327
FZ
320812009-11-19 Felix Zielcke <fzielcke@z-51.de>
32082
32083 * include/grub/x86_64/io.h: New file.
32084
f577f7a0
RM
320852009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32086
32087 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
32088 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
32089 Include `"progname.h"'.
32090 (main): Initialize gettext.
32091 * util/i386/pc/grub-setup.c: Gettexttize.
32092 * util/i386/pc/grub-mkimage.c: Likewise.
32093
32094 * Makefile.in (po/*.po): Redefine as ...
32095 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
32096
3bc7896c
RM
32097 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
32098
c37943b6
RM
320992009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32100
32101 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
32102 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
32103 (program_name): Remove.
32104 (main): Initialize gettext support.
6323f705
RM
32105 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
32106 Include `<libintl.h>'.
32107 (_): New macro.
c37943b6
RM
32108
32109 * util/mkisofs/eltorito.c: Gettexttize.
32110 * util/mkisofs/joliet.c: Likewise.
32111 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
32112 * util/mkisofs/multi.c: Likewise.
32113 * util/mkisofs/rock.c: Likewise.
32114 * util/mkisofs/tree.c: Likewise.
32115 * util/mkisofs/write.c: Likewise.
32116
3bc7896c
RM
32117 * po/POTFILES: Update with new files.
32118
5ce77c6e
RM
321192009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32120
32121 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
32122 * util/mkisofs/iso9660.h: Likewise.
32123 * util/mkisofs/joliet.c: Likewise.
32124 * util/mkisofs/mkisofs.c: Likewise.
32125 * util/mkisofs/mkisofs.h: Likewise.
32126 * util/mkisofs/rock.c: Likewise.
32127 * util/mkisofs/tree.c: Likewise.
32128 * util/mkisofs/write.c: Likewise.
32129
32130 * util/mkisofs/eltorito.c (rcsid): Remove.
32131 * util/mkisofs/hash.c: Likewise.
32132 * util/mkisofs/joliet.c: Likewise.
32133 * util/mkisofs/name.c: Likewise.
32134 * util/mkisofs/rock.c: Likewise.
32135 * util/mkisofs/tree.c: Likewise.
32136 * util/mkisofs/write.c: Likewise.
32137
1dabbc77
RM
321382009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32139
32140 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
32141 instead of static allocation.
32142 * util/mkisofs/match.h: Likewise.
32143
633877cb
RM
321442009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32145
3bc7896c
RM
32146 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
32147 and `util/grub.d/10_linux.in'.
633877cb
RM
32148 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
32149 translatable Shell files.
32150
af1c0c85
RM
321512009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32152
32153 * Makefile.in ($(srcdir)/aclocal.m4): New target.
32154
769ae37b
RM
321552009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32156
32157 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 32158 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
32159 * util/grub.d/10_kfreebsd.in (bindir): New variable.
32160 Add gettext initialization.
32161 (kfreebsd_entry): Make menuentry output translatable.
32162
321632009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32164
32165 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
32166 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
32167 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
32168 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
32169 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 32170 * po/LINGUAS: New file.
769ae37b
RM
32171
321722009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32173
32174 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
32175 other things).
32176 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
32177 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
32178 bindtextdomain() calls for gettext initialization.
32179
321802009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32181
32182 * gnulib/progname.c: New file (imported from Gnulib).
32183 * gnulib/progname.h: Likewise.
32184 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32185 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
32186 (usage): Replace `progname' with `program_name'.
32187 (main): Use set_program_name() for program name initialization.
32188
321892009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32190
32191 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
32192 from here ...
32193 * Makefile.in (CPPFLAGS): ... to here.
32194
321952009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32196
32197 * aclocal.m4: Move from here ...
32198 * acinclude.m4: ... to here.
32199 * autogen.sh: Add call to `aclocal'.
32200 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
32201
322022009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32203
32204 * Makefile.in (CLEANFILES): Add `po/*.mo'.
32205 (LINGUAS): New variable.
32206 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
32207 (install-local): Install MO files.
32208 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
32209 * include/grub/i18n.h: New file.
3bc7896c
RM
32210 * po/POTFILES: New file.
32211 * po/ca.po: New file.
769ae37b
RM
32212 * util/grub.d/10_linux.in (bindir): New variable.
32213 Add gettext initialization.
32214 (linux_entry): Make menuentry output translatable.
32215 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
32216 (usage): Make --help output translatable.
32217 (main): Initialize gettext.
32218
02c0a6ad
RM
322192009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32220
32221 * import_gcry.py: New file (written by Vladimir with minor
32222 adjustments).
32223 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
32224 ciphers.
32225 * INSTALL: Document that Python is required for bootstrap.
32226
322272009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32228
32229 Import ciphers from libgcrypt 1.4.4.
32230
32231 * lib/libgcrypt/cipher/ChangeLog
32232 * lib/libgcrypt/cipher/ac.c
32233 * lib/libgcrypt/cipher/arcfour.c
32234 * lib/libgcrypt/cipher/bithelp.h
32235 * lib/libgcrypt/cipher/blowfish.c
32236 * lib/libgcrypt/cipher/camellia-glue.c
32237 * lib/libgcrypt/cipher/camellia.c
32238 * lib/libgcrypt/cipher/camellia.h
32239 * lib/libgcrypt/cipher/cast5.c
32240 * lib/libgcrypt/cipher/cipher.c
32241 * lib/libgcrypt/cipher/crc.c
32242 * lib/libgcrypt/cipher/des.c
32243 * lib/libgcrypt/cipher/dsa.c
32244 * lib/libgcrypt/cipher/ecc.c
32245 * lib/libgcrypt/cipher/elgamal.c
32246 * lib/libgcrypt/cipher/hash-common.c
32247 * lib/libgcrypt/cipher/hash-common.h
32248 * lib/libgcrypt/cipher/hmac-tests.c
32249 * lib/libgcrypt/cipher/md.c
32250 * lib/libgcrypt/cipher/md4.c
32251 * lib/libgcrypt/cipher/md5.c
32252 * lib/libgcrypt/cipher/primegen.c
32253 * lib/libgcrypt/cipher/pubkey.c
32254 * lib/libgcrypt/cipher/rfc2268.c
32255 * lib/libgcrypt/cipher/rijndael-tables.h
32256 * lib/libgcrypt/cipher/rijndael.c
32257 * lib/libgcrypt/cipher/rmd.h
32258 * lib/libgcrypt/cipher/rmd160.c
32259 * lib/libgcrypt/cipher/rsa.c
32260 * lib/libgcrypt/cipher/seed.c
32261 * lib/libgcrypt/cipher/serpent.c
32262 * lib/libgcrypt/cipher/sha1.c
32263 * lib/libgcrypt/cipher/sha256.c
32264 * lib/libgcrypt/cipher/sha512.c
32265 * lib/libgcrypt/cipher/tiger.c
32266 * lib/libgcrypt/cipher/twofish.c
32267 * lib/libgcrypt/cipher/whirlpool.c
32268
af2f93ac
RM
322692009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32270
32271 Fix build for systems without error().
32272
32273 * gnulib/error.c: New file (imported from Gnulib).
32274 * gnulib/error.h: Likewise.
32275 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
32276 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
32277 (this variable is now used by error()).
32278
73fb3dd5
FZ
322792009-11-16 Felix Zielcke <fzielcke@z-51.de>
32280
814f5e96
FZ
32281 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
32282 instead of relying that char is signed.
73fb3dd5 32283
a691ca33
VS
322842009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
32285
32286 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
32287 blocksize different from specified.
32288 (grub_pxefs_read): Likewise.
32289
2af8f0f4
FZ
322902009-11-16 Felix Zielcke <fzielcke@z-51.de>
32291
32292 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
32293
32294 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
32295 (grub_ata_readwrite): Likewise. Update 2 format strings.
32296 (grub_atapi_read): Likewise.
32297
32298 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
32299 * conf/i386.rmk (pkglib_MODULES): ... to here ...
32300 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
32301 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
32302 (ata_mod_LDFLAGS): Move from here ...
32303 * conf/i386.rmk: ... to here ...
32304 * conf/x86_64-efi.rmk: ... and here.
32305 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
32306 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
32307
83bdecaf
RM
323082009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32309
32310 Relicense multiboot.h, with RMS' blessing.
32311
32312 * include/multiboot.h: Change to X11 license.
32313
fd6fd3d7
RM
323142009-11-15 Robert Millan <rmh.grub@aybabtu.com>
32315
32316 Support --version in grub-mkisofs.
32317
32318 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
32319 (OPTION_VERSION): New macro.
32320 (ld_options): Recognize --version.
32321 (usage): Move `program_name' from here ...
32322 (program_name): ... to here. Add `static' qualifier.
32323 (main): Recognize `OPTION_VERSION'.
32324
16a88c49
FZ
323252009-11-15 Felix Zielcke <fzielcke@z-51.de>
32326
32327 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
32328 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
32329
a4158476
RM
323302009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32331
32332 Fix help2man generation for mkisofs.
32333
32334 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
32335 (usage): Send output to stdout (rather than stderr).
32336
fc2208b0
RM
323372009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32338
32339 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
32340 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32341 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
32342 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32343 (bin_SCRIPTS): Add `grub-mkfloppy'.
32344 (grub_mkfloppy_SOURCES): New variable.
32345
32346 * util/grub-mkrescue.in: New file.
32347 * util/i386/pc/grub-mkfloppy.in: New file.
32348
32349 * util/i386/coreboot/grub-mkrescue.in: Remove.
32350 * util/i386/pc/grub-mkrescue.in: Remove.
32351
8d0edf4a
RM
323522009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32353
32354 * include/grub/multiboot.h (struct grub_multiboot_header): Move
32355 from here ...
32356 * include/multiboot.h (struct multiboot_header): ... to here. Update
32357 all users.
32358 * include/grub/multiboot.h (struct grub_multiboot_info): Move
32359 from here ...
32360 * include/multiboot.h (struct multiboot_info): ... to here. Update
32361 all users.
32362 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
32363 from here ...
32364 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
32365 Update all users.
32366 * include/grub/multiboot.h (struct grub_mod_list): Move
32367 from here ...
32368 * include/multiboot.h (struct multiboot_mod_list): ... to here.
32369 Update all users.
32370
a73f5969
RM
323712009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32372
32373 * include/multiboot2.h (multiboot_word): Rename from this ...
32374 (multiboot2_word): ... to this. Update all users.
32375 (multiboot_header): Rename from this ...
32376 (multiboot2_header): ... to this. Update all users.
32377 (multiboot_tag_header): Rename from this ...
32378 (multiboot2_tag_header): ... to this. Update all users.
32379 (multiboot_tag_start): Rename from this ...
32380 (multiboot2_tag_start): ... to this. Update all users.
32381 (multiboot_tag_name): Rename from this ...
32382 (multiboot2_tag_name): ... to this. Update all users.
32383 (multiboot_tag_module): Rename from this ...
32384 (multiboot2_tag_module): ... to this. Update all users.
32385 (multiboot_tag_memory): Rename from this ...
32386 (multiboot2_tag_memory): ... to this. Update all users.
32387 (multiboot_tag_unused): Rename from this ...
32388 (multiboot2_tag_unused): ... to this. Update all users.
32389 (multiboot_tag_end): Rename from this ...
32390 (multiboot2_tag_end): ... to this. Update all users.
32391
1c8927f0
RM
323922009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32393
32394 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
32395 this platform we should support Multiboot1 first.
32396
32397 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32398 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
32399 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
32400
6e1e0d89
RM
324012009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32402
32403 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
32404 of write calls (converting them to fwrite() if they aren't already).
32405 (get_torito_desc): Likewise.
32406 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
32407
7f2b34d8
RM
324082009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32409
32410 * util/i386/pc/grub-install.in: Move from here ...
32411 * util/grub-install.in: ... to here. Update all users.
32412
c0ef3311
CW
324132009-11-11 Colin Watson <cjwatson@ubuntu.com>
32414
32415 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
32416
e1f240ff
RM
324172009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32418
32419 Support for El Torito without floppy emulation.
32420
32421 * util/mkisofs/eltorito.c: Include `<errno.h>'.
32422 (init_boot_catalog): Improve error handling.
32423 (get_torito_desc): Don't use floppy emulation unless requested by
32424 user. Patch boot information table when requested via
32425 `-boot-info-table'.
32426 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
32427 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
32428 (use_boot_info_table): New variables.
32429 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
32430 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
32431 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
32432 `--eltorito-emul-floppy'.
32433 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
32434 and `OPTION_ELTORITO_EMUL_FLOPPY'.
32435 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
32436 (use_boot_info_table, get_731): New prototypes.
32437 * util/mkisofs/write.c (get_731): New function.
32438
af7d4de5
FZ
324392009-11-11 Felix Zielcke <fzielcke@z-51.de>
32440
32441 Fix the generation of the man page.
32442
32443 * util/pc/i386/grub-install.in: Source
32444 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32445
2c55dbc0
RM
324462009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32447
32448 Large file support for grub-mkisofs.
32449
32450 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
32451 * util/mkisofs/mkisofs.c (next_extent, last_extent)
32452 (session_start): Upgrade type to `uint64_t'. Update all users.
32453 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
32454 (struct directory_entry): Upgrade type of `starting_block' and
32455 `size' to `uint64_t'. Update all users.
32456 (struct deferred): Remove unused structure.
32457 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
32458 Update all users.
32459 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
32460 file is larger than `UINT32_MAX'.
32461 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
32462 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
32463 return value.
32464 (struct deferred_write): Upgrade type of `extent' and `size' to
32465 `uint64_t'. Update all users.
32466 (last_extent_written): Upgrade type to `uint64_t'. Update all
32467 users.
32468 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
32469 Update all users. Upgrade type of `remain' to `int64_t' and
32470 `use' to `size_t'. Use error() to handle fread() errors.
32471 (write_files): Rely on write_one_file() rather than calling
32472 xfwrite() directly.
32473
6a9cead5
FZ
324742009-11-09 Felix Zielcke <fzielcke@z-51.de>
32475
32476 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
32477
4825d790
RM
324782009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32479
32480 * util/mkisofs/fnmatch.c: Remove.
32481 * util/mkisofs/getopt1.c: Likewise.
32482 * util/mkisofs/getopt.c: Likewise.
32483 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
32484 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
32485 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
32486 `gnulib/getopt1.c' and `gnulib/getopt.c'.
32487 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
32488
32489 * configure.ac: Detect `mingw32msvc' host_os.
32490 Check for lstat(), getuid() and getgid().
32491
32492 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
32493 instances of `u_char' with `uint8_t'.
32494
32495 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
32496 [!HAVE_GETUID] (getuid): New function (stub).
32497 [!HAVE_GETGID] (getgid): Likewise.
32498 [!HAVE_LSTAT] (lstat): Likewise.
32499 [!S_IROTH] (S_IROTH): New macro (dummy).
32500 [!S_IRGRP] (S_IRGRP): Likewise.
32501
84b860d8
RM
325022009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32503
32504 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
32505 conditional expression).
32506
66e9b712
RM
325072009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32508
32509 Import from Gnulib.
32510
32511 * gnulib/fnmatch.c: New file.
32512 * gnulib/fnmatch.h: Likewise.
32513 * gnulib/fnmatch_loop.c: Likewise.
32514 * gnulib/getopt.c: Likewise.
32515 * gnulib/getopt.h: Likewise.
32516 * gnulib/getopt1.c: Likewise.
32517 * gnulib/getopt_int.h: Likewise.
32518 * gnulib/gettext.h: Likewise.
32519
34f4a5b0
RM
325202009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32521
32522 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
32523 * normal/handler.c (read_handler_list): Likewise.
32524
ac451143
RM
325252009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32526
32527 Misc cleanup.
32528
32529 * kern/command.c (grub_register_command_prio): Use
32530 grub_zalloc() instead of explicitly zeroing data.
32531 * kern/list.c: Include `<grub/mm.h>'.
32532 (grub_named_list_find): Replace `0' with `NULL'.
32533 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
32534 (fs_module_list): Change type to `grub_named_list_t'. Update all
32535 users.
32536 * normal/dyncmd.c (read_command_list): Add space between function
32537 call and parenthesis.
32538 * normal/handler.c (read_handler_list): Likewise.
32539
4089b167
RM
325402009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32541
32542 * normal/auth.c (punishment_delay): Moved from here ...
32543 (grub_auth_strcmp): ... to here (inside function).
32544
325f5037
RM
325452009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32546
32547 * include/grub/list.h (struct grub_named_list): Remove `const'
32548 qualifier from `name'.
32549 (struct grub_prio_list): Likewise.
32550
7aea29a3
RM
325512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32552
32553 * normal/auth.c: Include `<grub/time.h>'.
32554 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
32555
3fd6f044
RM
325562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32557
32558 * normal/auth.c (punishment_delay): New variable.
32559 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
32560 (grub_auth_check_authentication): Punish failed login attempts with
32561 an incremental (2^N) delay.
32562
a4cd68e4
RM
325632009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32564
32565 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
32566 path with $(srcdir).
32567
7ad12f43
VS
325682009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32569
32570 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
32571
c1129f03
RM
325722009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32573
32574 * util/i386/coreboot/grub-mkrescue.in: New file.
32575 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
32576 variables.
32577
32578 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
32579 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
32580 * configure.ac: Add header and function checks to satisfy grub-mkisofs
32581 requirements.
32582 * util/mkisofs/defaults.h: New file.
32583 * util/mkisofs/eltorito.c: Likewise.
32584 * util/mkisofs/exclude.h: Likewise.
32585 * util/mkisofs/fnmatch.c: Likewise.
32586 * util/mkisofs/getopt.c: Likewise.
32587 * util/mkisofs/getopt1.c: Likewise.
32588 * util/mkisofs/hash.c: Likewise.
32589 * util/mkisofs/include/fctldefs.h: Likewise.
32590 * util/mkisofs/include/mconfig.h: Likewise.
32591 * util/mkisofs/include/prototyp.h: Likewise.
32592 * util/mkisofs/include/statdefs.h: Likewise.
32593 * util/mkisofs/iso9660.h: Likewise.
32594 * util/mkisofs/joliet.c: Likewise.
32595 * util/mkisofs/match.c: Likewise.
32596 * util/mkisofs/match.h: Likewise.
32597 * util/mkisofs/mkisofs.c: Likewise.
32598 * util/mkisofs/mkisofs.h: Likewise.
32599 * util/mkisofs/multi.c: Likewise.
32600 * util/mkisofs/name.c: Likewise.
32601 * util/mkisofs/rock.c: Likewise.
32602 * util/mkisofs/tree.c: Likewise.
32603 * util/mkisofs/write.c: Likewise.
32604
ec8bb77d
VS
326052009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32606
32607 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
32608 being insecure.
32609
3716b12c
RM
326102009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32611
32612 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
32613 `grub-mkimage' (and use $0 when possible).
32614
b97b7b91
RM
326152009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32616
32617 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
32618 error message for excessively large memory map.
32619
04114812
RM
326202009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32621
32622 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
32623 executable bit.
32624
e4eb2373
RM
326252009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32626
32627 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
32628 message for coreboot users.
32629
c926e1d5 326302009-11-07 Robert Millan <rmh.grub@aybabtu.com>
32631
32632 Fix build with GNU gold.
32633
32634 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
32635 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
32636 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
32637 link addresses.
32638 * aclocal.m4: Likewise.
32639
86e5b1db 326402009-11-04 Felix Zielcke <fzielcke@z-51.de>
32641
32642 * configure.ac (AC_PREREQ): Bump to 2.59d.
32643 * INSTALL: Make it more clear when Autoconf and Ruby are
32644 needed and when to run `./autogen.sh'.
32645
246cd78f 326462009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
32647
32648 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
32649 OSes.
32650
4f9dfb37 326512009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32652
32653 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
32654
b82bd5e1 326552009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32656
32657 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
32658 giving it to GNU Mach.
32659
ff1a9bca 326602009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32661
32662 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
32663 GNU partition number to get internal GRUB partition number.
32664
61697d9c 326652009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32666
32667 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
32668 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
32669
a50569e1 326702009-11-01 Robert Millan <rmh.grub@aybabtu.com>
32671
32672 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
32673 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
32674 case.
32675
5b153867 326762009-11-01 Felix Zielcke <fzielcke@z-51.de>
32677
32678 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
32679
d9e2cd70 326802009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32681
32682 Fix build problem.
32683
32684 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
32685 `-isystem=$(srcdir)/include'.
32686
805111a4 326872009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32688
32689 * util/i386/pc/grub-install.in: Remove hint that device.map should be
32690 checked (grub-install doesn't currently rely on it).
32691
fa6e945f 326922009-10-29 Robert Millan <rmh.grub@aybabtu.com>
32693
32694 Revert SVN r2660.
32695
32696 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
32697 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32698 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
32699 * conf/i386-ieee1275.rmk: Likewise.
32700 * conf/i386-pc.rmk: Likewise.
32701 * conf/powerpc-ieee1275.rmk: Likewise.
32702 * conf/sparc64-ieee1275.rmk: Likewise.
32703 * conf/x86_64-efi.rmk: Likewise.
32704
cee15086 327052009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32706
32707 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
32708
95b9239e 327092009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32710
32711 * include/grub/misc.h: Stop checking for APPLE_CC.
32712
2ed19dfd 327132009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32714
32715 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
32716 doesn't cause an infinite call loop.
32717
fdcdde19 327182009-10-28 Felix Zielcke <fzielcke@z-51.de>
32719
32720 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
32721 strings.
32722
cefabfe1 327232009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32724
32725 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
32726 variable.
32727 * Makefile.in: Likewise.
32728
ed96ab6d 327292009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32730
32731 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
32732
0579b753 327332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32734
32735 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
32736
478df409 327372009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32738
32739 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
32740
083d1679 327412009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32742
32743 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
32744 from here ...
32745 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
32746
5947ae32 327472009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32748
32749 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
32750 in $(MAKEINFO) invocation. This makes it clear in output that
32751 errors are being ignored.
32752
94180ff6 327532009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32754
32755 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
32756 from here ...
32757 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32758 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
32759 * conf/i386-ieee1275.rmk: Likewise.
32760 * conf/i386-pc.rmk: Likewise.
32761 * conf/powerpc-ieee1275.rmk: Likewise.
32762 * conf/sparc64-ieee1275.rmk: Likewise.
32763 * conf/x86_64-efi.rmk: Likewise.
32764
9031b03a 327652009-10-26 Colin Watson <cjwatson@ubuntu.com>
32766
32767 * util/grub-editenv.c (main): If only a command is given, use
32768 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
32769 (usage): FILENAME is now optional and has a default.
32770
e4f6809b 327712009-10-26 Colin Watson <cjwatson@ubuntu.com>
32772
32773 Improve grub-mkconfig performance when there are several menu
32774 entries on a single filesystem.
32775
32776 * util/grub.d/10_linux.in (linux_entry): Cache the output of
32777 prepare_grub_to_access_device.
32778 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32779 * util/grub.d/30_os-prober.in: Likewise.
32780
67937d4d 327812009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32782
32783 * util/grub.d/10_freebsd.in: Remove.
32784 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
32785 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
32786
ee3756cc 327872009-10-26 Robert Millan <rmh.grub@aybabtu.com>
32788
5c35048e 32789 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 32790
4dea1c6f 327912009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32792
32793 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
32794 grub_util_error() call.
32795
042484d7 327962009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32797
32798 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
32799 `reserved_first_sector' member.
32800 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
32801 `reserved_first_sector' to 1.
32802 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
32803 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
32804 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
32805 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
32806 filesystems which begin at first sector.
32807 (options): New option --skip-fs-probe.
32808 (main): Handle --skip-fs-probe and pass it to setup().
32809
d64448a7 328102009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32811
32812 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
32813 (memset): Fix function prototype.
32814
508d42ec 328152009-10-25 Robert Millan <rmh.grub@aybabtu.com>
328162009-10-25 Vasily Averin <vvs@parallels.com>
32817
32818 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
32819 `dirent.direntlen == 0'.
32820
b240e30c 328212009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32822
32823 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
32824 `cpio'.
32825 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
32826
346e7fbe 328272009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32828
32829 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
32830 `__trampoline_setup' and `__ucmpdi2'.
32831 * include/grub/powerpc/libgcc.h: Only export symbols for functions
32832 that libgcc provides.
32833
cdb308b0 328342009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32835
32836 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
32837 * include/grub/sparc64/libgcc.h (memset): Likewise.
32838 * include/grub/misc.h (memset, memcmp): New function prototypes.
32839
fb26abc2 328402009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32841
32842 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
32843 `cpio'.
32844 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
32845
f6693890 328462009-10-25 Robert Millan <rmh.grub@aybabtu.com>
32847
32848 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
32849 * docs/grub.cfg: Compensate for recent change in multiboot
32850 loader (since 2009-08-14 it won't pass filename to payload).
32851 * util/grub.d/10_hurd.in: Likewise.
32852
0933cdc0 328532009-10-21 Felix Zielcke <fzielcke@z-51.de>
32854
32855 * config.guess: Update to latest version from config git
32856 repository.
32857 * config.sub: Likewise.
32858
3b2fe8c2 328592009-10-20 Robert Millan <rmh.grub@aybabtu.com>
32860
32861 Fix build on sparc64.
32862
32863 * configure.ac: Perform checks for libgcc symbols before
32864 adding `-nostdlib' to LDFLAGS.
32865
46695a62 328662009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
32867
32868 Let user specify OpenBSD root device.
32869
32870 * loader/i386/bsd.c (openbsd_root): New variable.
32871 (openbsd_opts): New option 'root'.
32872 (OPENBSD_ROOT_ARG): New macro.
32873 (grub_openbsd_boot): Use 'openbsd_root'.
32874 (grub_cmd_openbsd): Fill 'openbsd_root'.
32875
d2b6b7fc 328762009-10-16 Robert Millan <rmh.grub@aybabtu.com>
32877
32878 * NEWS: Misc adjustments.
32879
421bd7ac 328802009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
32881
32882 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
32883
f1d29d87 328842009-10-16 Robert Millan <rmh.grub@aybabtu.com>
32885
32886 * configure.ac: Bump version to 1.97.
32887
6f3cd880 328882009-10-16 Colin Watson <cjwatson@ubuntu.com>
32889
32890 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
32891 -mno-3dnow on x86 architectures. Some toolchains enable these
32892 features by default, but they rely on registers that aren't enabled
32893 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
32894
035f7122 328952009-10-15 Robert Millan <rmh.grub@aybabtu.com>
32896
32897 Make entry text a bit more readable.
32898
32899 * util/grub.d/10_linux.in: Add `with' before `Linux'.
32900
44998e58 329012009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32902
32903 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
32904
cd2851b3 329052009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32906
32907 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
32908 operations.
32909
c6f3b249 329102009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32911
32912 * configure.ac: Add missing dollar.
32913
6b5886ba 329142009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
32915
32916 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
32917
32918 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
32919 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
32920 exports.
32921 * include/grub/sparc64/libgcc.h: Likewise. Use
32922 preprocessor conditionals.
32923
e9d66f6d 329242009-10-14 Robert Millan <rmh.grub@aybabtu.com>
32925
32926 * conf/common.rmk (grub-dumpbios): Remove rule.
32927 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
32928 * util/grub-dumpbios.in: Remove file.
32929
9155bc17 329302009-10-14 Robert Millan <rmh.grub@aybabtu.com>
32931
32932 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
32933 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
32934
32935 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
32936 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
32937 users.
32938
32939 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
32940 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
32941 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
32942 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
32943 users.
32944
bf7f7a18 329452009-10-12 Robert Millan <rmh.grub@aybabtu.com>
32946
32947 * term/tparm.c: Switch to GPLv3.
32948
86564c26 329492009-10-09 Robert Millan <rmh.grub@aybabtu.com>
32950
32951 * include/grub/i386/cpuid.h: Add header protection.
32952
5c936493 329532009-10-09 Robert Millan <rmh.grub@aybabtu.com>
32954
32955 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
32956
32957 * include/grub/i386/cpuid.h: New file.
32958 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
32959 (has_longmode): Rename to ...
32960 (grub_cpuid_has_longmode): ... this. Update all users. Remove
32961 `static' attribute.
32962 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
32963 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
32964 on a CPU that doesn't implement AMD64 instruction set.
32965
186e7cf2 329662009-10-06 Colin Watson <cjwatson@ubuntu.com>
32967
32968 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
32969 that version.texi is rebuilt on version number changes.
32970
83b65c4a 329712009-10-06 Colin Watson <cjwatson@ubuntu.com>
32972
32973 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
32974 Fixes bug #27602.
32975
d244281c 329762009-10-06 Colin Watson <cjwatson@ubuntu.com>
32977
32978 * util/i386/pc/grub-install.in: Source
32979 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
32980 that the --grub-probe option will work.
32981 * util/sparc64/ieee1275/grub-install.in: Likewise.
32982
da25306d 329832009-10-05 Robert Millan <rmh.grub@aybabtu.com>
32984
32985 * configure.ac: Bump version to 1.97~beta4.
32986
e8ee83c0 329872009-10-03 Robert Millan <rmh.grub@aybabtu.com>
32988
32989 Resync grub-mkdevicemap in x86_64-efi.
32990
32991 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
32992 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
32993 `util/devicemap.c'.
32994
50dcabcf 329952009-10-01 Colin Watson <cjwatson@ubuntu.com>
32996
32997 * util/grub-editenv.c (create_envblk_file): Write new block with a
32998 .new suffix and then rename it into place, to ensure atomic
32999 creation.
33000
0e51c3a7 330012009-09-28 Robert Millan <rmh.grub@aybabtu.com>
33002
33003 Do not automatically install headers.
33004
33005 * Makefile.in (include_DATA): Remove. Update all users.
33006
31299a95 330072009-09-26 Robert Millan <rmh.grub@aybabtu.com>
33008
33009 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
33010 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
33011
33012 * util/osdetect.lua: Remove.
33013 * script/lua/lauxlib.c: Likewise.
33014 * script/lua/ldebug.c: Likewise.
33015 * script/lua/grub_main.c: Likewise.
33016 * script/lua/lauxlib.h: Likewise.
33017 * script/lua/ldebug.h: Likewise.
33018 * script/lua/ltablib.c: Likewise.
33019 * script/lua/liolib.c: Likewise.
33020 * script/lua/lstrlib.c: Likewise.
33021 * script/lua/lualib.h: Likewise.
33022 * script/lua/ldo.c: Likewise.
33023 * script/lua/ldump.c: Likewise.
33024 * script/lua/ldo.h: Likewise.
33025 * script/lua/loslib.c: Likewise.
33026 * script/lua/lundump.c: Likewise.
33027 * script/lua/grub_lib.c: Likewise.
33028 * script/lua/ldblib.c: Likewise.
33029 * script/lua/lundump.h: Likewise.
33030 * script/lua/lmem.c: Likewise.
33031 * script/lua/grub_lib.h: Likewise.
33032 * script/lua/lmathlib.c: Likewise.
33033 * script/lua/lstate.c: Likewise.
33034 * script/lua/ltm.c: Likewise.
33035 * script/lua/lvm.c: Likewise.
33036 * script/lua/lmem.h: Likewise.
33037 * script/lua/lstate.h: Likewise.
33038 * script/lua/ltm.h: Likewise.
33039 * script/lua/ltable.c: Likewise.
33040 * script/lua/lvm.h: Likewise.
33041 * script/lua/llex.c: Likewise.
33042 * script/lua/lgc.c: Likewise.
33043 * script/lua/grub_lua.h: Likewise.
33044 * script/lua/loadlib.c: Likewise.
33045 * script/lua/lfunc.c: Likewise.
33046 * script/lua/lopcodes.c: Likewise.
33047 * script/lua/lparser.c: Likewise.
33048 * script/lua/ltable.h: Likewise.
33049 * script/lua/llex.h: Likewise.
33050 * script/lua/lgc.h: Likewise.
33051 * script/lua/lfunc.h: Likewise.
33052 * script/lua/lbaselib.c: Likewise.
33053 * script/lua/lopcodes.h: Likewise.
33054 * script/lua/lparser.h: Likewise.
33055 * script/lua/lzio.c: Likewise.
33056 * script/lua/linit.c: Likewise.
33057 * script/lua/lobject.c: Likewise.
33058 * script/lua/llimits.h: Likewise.
33059 * script/lua/lstring.c: Likewise.
33060 * script/lua/lzio.h: Likewise.
33061 * script/lua/lapi.c: Likewise.
33062 * script/lua/lcode.c: Likewise.
33063 * script/lua/lua.h: Likewise.
33064 * script/lua/lobject.h: Likewise.
33065 * script/lua/lstring.h: Likewise.
33066 * script/lua/lapi.h: Likewise.
33067 * script/lua/lcode.h: Likewise.
33068 * script/lua/luaconf.h: Likewise.
33069
cb8a2c38 330702009-09-26 Colin Watson <cjwatson@ubuntu.com>
33071
33072 * docs/grub.texi (Command-line and menu entry commands): Document
33073 date and echo commands.
33074
6b9b6276 330752009-09-24 Pavel Roskin <proski@gnu.org>
33076
33077 * include/grub/kernel.h (struct grub_module_header): Remove
33078 `grub_module_header_types'. Make `type' unsigned. Make `size'
33079 32-bit on all platforms.
33080 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
33081 8-bit field. Use grub_host_to_target32() for `size'.
33082 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
33083 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
33084 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
33085
4e5a02a7 330862009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33087
33088 Fix "lost keypress" bug in at_keyboard.
33089
33090 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
33091 Checks for readyness of input buffer (without flushing it).
33092 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
33093 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
33094
c6dcedf6 330952009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33096
33097 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
33098 size check within GRUB_MACHINE_PCBIOS section.
33099
74c958b1 331002009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33101
33102 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
33103 return value.
33104 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
33105 KEYBOARD_ISREADY check.
33106 (grub_at_keyboard_checkkey): Rename to ...
33107 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
33108 Remove gratuitous cast.
33109
ff420223 331102009-09-23 Colin Watson <cjwatson@ubuntu.com>
33111
33112 * configure.ac: Call AC_PROG_MKDIR_P.
33113 * Makefile.in (docs/stamp-vti): Create docs directory. Create
33114 version.texi in $(builddir) rather than $(srcdir).
33115 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
33116 to makeinfo's @include search path.
33117
d96875df 331182009-09-23 Felix Zielcke <fzielcke@z-51.de>
33119
33120 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
33121
9b3f8365 331222009-09-23 Felix Zielcke <fzielcke@z-51.de>
33123
33124 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
33125 for `*.dpkg-new'.
33126
c44c90db 331272009-09-21 Colin Watson <cjwatson@ubuntu.com>
33128
33129 Build info documentation. Some code borrowed from Automake.
33130
33131 * configure.ac: Check for makeinfo.
33132 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
33133 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
33134 docs/version.texi.
33135 (MOSTLYCLEANFILES): Add vti.tmp.
33136 (docs/version.texi, docs/stamp-vti): Update automatically.
33137 (docs/grub.info): Build info documentation. Use --force and ignore
33138 errors for now.
33139 (all-local): Add $(INFOS).
33140 (install-local): Install info files.
33141 (uninstall): Uninstall info files.
33142 * docs/version.texi: Remove from revision control. This file is
33143 automatically generated on build now.
33144 * gendistlist.sh: Add `*.info'.
33145
e0b37bb5 331462009-09-21 Felix Zielcke <fzielcke@z-51.de>
33147
33148 * kern/term.c: Fix indentation.
33149
5a78865b 331502009-09-21 Felix Zielcke <fzielcke@z-51.de>
33151
33152 * util/hostdisk.c: Fix a comment.
33153
dace7e8a 331542009-09-20 Robert Millan <rmh.grub@aybabtu.com>
33155
33156 Fix regression introduced in r2539.
33157
33158 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
33159 to 0xA1.
33160
a83d079b 331612009-09-19 Colin Watson <cjwatson@ubuntu.com>
33162
33163 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 33164 os-prober. Under normal operation, it does not print anything to
33165 stderr; if it does, we need to debug it, and throwing away stderr
33166 makes that excessively difficult.
a83d079b 33167
be94a509 331682009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
33169
33170 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
33171
63f745e8 331722009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33173
33174 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
33175 AC_LANG_PROGRAM from autoconf.
33176 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
33177 prototypes (fixes warning).
33178
33179 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
33180 `--disable-werror' was used.
33181
bbb2a70f 331822009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33183
33184 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
33185 uninitialized `lastaddr'.
33186
77c24f1d 331872009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
33188
0f0b8c87 33189 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 33190
07197f23 331912009-09-14 Colin Watson <cjwatson@ubuntu.com>
33192
33193 * commands/test.c (get_fileinfo): Return immediately if
33194 grub_fs_probe fails.
33195
dabf1798 331962009-09-14 José Martínez <xosemp@gmail.com>
33197
33198 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
33199
d52109a7 332002009-09-14 Colin Watson <cjwatson@ubuntu.com>
33201
33202 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
33203 output.
33204
56532179 332052009-09-13 Robert Millan <rmh.grub@aybabtu.com>
33206
33207 * configure.ac: Remove --enable-grub-pe2elf. Only build
33208 grub-pe2elf when needed by the build system itself.
33209 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
33210
8ef070f5 332112009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33212
33213 * configure.ac: Bump version to 1.97~beta3.
33214 * docs/version.texi: Likewise.
33215
61229557 332162009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33217
33218 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
33219 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
33220 from here ...
33221 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
33222 (grub_linux_setup_video): ... to here (with some adjustments).
33223
5c9f8d84 332242009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33225
33226 Fix memory corruption issue (spotted by Colin Watson).
33227
33228 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
33229 causing returned size to be stored in an incorrect memory location.
33230 Fix use of uninitialized value when storing the returned size.
33231
e8f5d6e9 332322009-09-12 Yves Blusseau <blusseau@zetam.org>
33233
33234 Change clean rules to properly remove files
33235
33236 * genmk.rb: add new clean rules
33237 * Makefile.in (clean): add the new targets
33238 (mostlyclean): likewise
33239
cda2a409 332402009-09-11 Colin Watson <cjwatson@ubuntu.com>
33241
33242 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
33243 to grub_uint64_t.
33244 * fs/ntfs.c (init_file): Understand 64-bit sizes for
33245 non-resident files.
33246
86695375 332472009-09-11 Colin Watson <cjwatson@ubuntu.com>
33248
33249 * configure.ac: Don't look for help2man when cross-compiling. Fixes
33250 part of bug #27349.
33251
8aa1541a 332522009-09-10 Felix Zielcke <fzielcke@z-51.de>
33253
33254 * util/grub-mkconfig.in: Make the created config mode 400 and
33255 print a warning if it fails.
33256
48d9bb0a 332572009-09-10 Robert Millan <rmh.grub@aybabtu.com>
33258
33259 * util/grub.d/40_custom.in: Ask user to type custom entries below
33260 comment, rather than below 'exec tail' line.
33261
3b0521be 332622009-09-10 Colin Watson <cjwatson@ubuntu.com>
33263
33264 * util/grub.d/40_custom.in: Make sure that the explanatory text is
33265 visible in grub.cfg.
33266
50051d55 332672009-09-10 Colin Watson <cjwatson@ubuntu.com>
33268
33269 * util/grub.d/40_custom.in: Make it a little clearer how to use this
33270 file.
33271
c0d34387 332722009-09-10 Felix Zielcke <fzielcke@z-51.de>
33273
33274 * docs/grub.cfg: Add an example menu entry for memtest86+.
33275
80a608f3 332762009-09-09 Felix Zielcke <fzielcke@z-51.de>
33277
a2094832 33278 * config.guess: Update to latest version from config git.
80a608f3 33279 * config.sub: Likewise.
33280
99423078 332812009-09-08 Colin Watson <cjwatson@ubuntu.com>
33282
33283 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
33284 unknown-command case. Fixes bug #27320.
33285
44454e4c 332862009-09-08 Felix Zielcke <fzielcke@z-51.de>
33287
33288 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
33289 `help' if the command exists.
33290
e30d87ad 332912009-09-06 Robert Millan <rmh.grub@aybabtu.com>
33292
33293 * INSTALL: Require GCC 4.1.3 or later.
33294
9a86f1ec 332952009-09-06 Yves Blusseau <blusseau@zetam.org>
33296
33297 * Makefile.in (RMKFILES): add i386-qemu.rmk
33298 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
33299 $(srcdir)/stamp-h.in
33300
7f26d466 333012009-09-05 Robert Millan <rmh.grub@aybabtu.com>
33302
33303 * util/grub-probe.c (probe): Comment out buggy codepath, which
33304 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
33305 should be re-enabled after 1.97.
33306
3a613259 333072009-09-05 Felix Zielcke <fzielcke@z-51.de>
33308
33309 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
33310 find searches for.
33311
197f76c7 333122009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
33313
33314 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
33315 unnecessary calls to grub_error.
33316
70ba68ce 333172009-09-04 Colin Watson <cjwatson@ubuntu.com>
33318
33319 * NEWS: Mention `keystatus' and Unicode fonts.
33320
4ff0d7a4 333212009-09-04 Robert Millan <rmh.grub@aybabtu.com>
33322
33323 * configure.ac: Bump version to 1.97~beta2.
33324 * docs/version.texi: Likewise.
33325
77c55a87 333262009-09-03 Colin Watson <cjwatson@ubuntu.com>
33327
33328 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
33329 containing unwind information in some cases where it previously did
33330 not. Use -fno-dwarf2-cfi-asm if available to restore the old
33331 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
33332 discussion.
33333
f79572cd 333342009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
33335
33336 Embedding loadenv module into grub-emu
33337
33338 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
33339 commands/loadenv.c
33340 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
33341 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
33342 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
33343 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
33344 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
33345 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
33346
93a81088 333472009-09-03 Magnus Granberg <zorry@ume.nu>
33348
33349 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
33350 include -fPIE in the default specs.
33351 * configure.ac: Check if pie_possible is yes and add -fno-PIE
33352 to TARGET_CFLAGS.
33353
160034b2 333542009-09-03 Felix Zielcke <fzielcke@z-51.de>
33355
33356 * INSTALL: Note that GNU Bison 2.3 or later is required.
33357
087c07c4 333582009-09-03 Colin Watson <cjwatson@ubuntu.com>
33359
33360 * kern/i386/pc/startup.S: Fix typo.
33361
cbf978c0 333622009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
33363
33364 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
33365 according to GCS.
33366
333672009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 33368
33369 * docs/grub.texi (Naming convention): Describe one-based partition
33370 numbering.
33371 (Device syntax): Likewise.
33372 (File name syntax): Likewise.
33373 (Block list syntax): Likewise.
33374 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
33375 menu.lst.
33376 (File name syntax): Likewise.
33377 (Command-line and menu entry commands): Document acpi, blocklist,
33378 crc, export, insmod, keystatus, ls, set, and unset commands.
33379
f3e8cdfd 333802009-09-02 Colin Watson <cjwatson@ubuntu.com>
33381
33382 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
33383 to avoid implying that only one of --shift, --ctrl, or --alt may be
33384 used.
33385
c0bc232b 333862009-09-02 Colin Watson <cjwatson@ubuntu.com>
33387
33388 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
33389 rather than comparing against S_IFREG, which will almost never work.
33390
aa0f752d 333912009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
33392
33393 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
33394 (write_blocklists): Likewise.
33395
ecb3166a 333962009-09-01 Colin Watson <cjwatson@ubuntu.com>
33397
33398 * script/lua/grub_lua.h (fputs): Supply a format string as the first
33399 argument to grub_printf.
33400
c403a125 334012009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 33402
33403 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 33404 non GNU test.
31aba781 33405
b5e7312c 334062009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33407
33408 * kern/file.c (grub_file_read): Spelling fix
33409
fe00f472 334102009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33411
33412 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
33413 loading of headers in some cases.
33414
cc55302e 334152009-08-30 Robert Millan <rmh.grub@aybabtu.com>
33416
33417 * configure.ac: Bump version to 1.97~beta1.
33418 * docs/version.texi: Likewise.
33419
5c90cdd2 334202009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 33421
33422 * include/grub/i386/xnu.h: Add license header.
33423 include grub/err.h explicitly.
33424
c90edae4 334252009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33426
33427 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
33428 to `ufs' in the vfs.root.mountfrom kernel parameter.
33429
d8888b5c 334302009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33431
33432 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
33433
33434 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
33435 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
33436
33437 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
33438 `ARRAY_SIZE' macro.
33439
6f07b921 334402009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33441
33442 * kern/file.c (grub_file_read): Check offset.
33443 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
33444 * fs/jfs.c (grub_jfs_read_file): Likewise.
33445 * fs/ntfs.c (grub_ntfs_read): Likewise.
33446 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
33447 * fs/minix.c (grub_minix_read_file): Correct offset check.
33448 * fs/ufs.c (grub_ufs_read_file): Likewise.
33449
b4f34077 334502009-08-28 Colin Watson <cjwatson@ubuntu.com>
33451
33452 * term/i386/pc/console.c (bios_data_area): Cast
33453 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
33454
e7c69859 334552009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33456
33457 1-bit optimised blitters.
33458
33459 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
33460 prototype.
33461 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33462 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33463 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33464 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33465 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33466 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33467 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
33468 function.
33469 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33470 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33471 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33472 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33473 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33474 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33475 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
33476 when possible.
33477 * video/video.c (grub_video_get_blit_format): Return
33478 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
33479
a57da43f 334802009-08-28 Colin Watson <cjwatson@ubuntu.com>
33481
33482 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
33483 the first argument to grub_printf.
33484
4cbe67e5 334852009-08-28 Colin Watson <cjwatson@ubuntu.com>
334862009-08-28 Robert Millan <rmh.grub@aybabtu.com>
33487
33488 Add `getkeystatus' terminal method. Add a new `keystatus' command
33489 to query it.
33490
33491 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
33492 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
33493 modifier key bitmasks.
33494 (struct grub_term_input): Add `getkeystatus' member.
33495 (grub_getkeystatus): Add prototype.
33496 * kern/term.c (grub_getkeystatus): New function.
33497
33498 * include/grub/i386/pc/memory.h
33499 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
33500 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
33501 Data Area layout.
33502 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
33503 (grub_console_term_input): Set `getkeystatus' member.
33504 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
33505 constants.
33506 (grub_usb_keyboard_getreport): Likewise.
33507 (grub_usb_keyboard_checkkey): Likewise.
33508 (grub_usb_keyboard_getkeystatus): New function.
33509 (grub_usb_keyboard_term): Set `getkeystatus' member.
33510
33511 * commands/keystatus.c: New file.
33512 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
33513 (keystatus_mod_SOURCES): New variable.
33514 (keystatus_mod_CFLAGS): Likewise.
33515 (keystatus_mod_LDFLAGS): Likewise.
33516 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
33517 commands/keystatus.c.
33518 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33519 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33520 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33521 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33522 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33523 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 33524
6e2a9085 335252009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33526
33527 Split befs.mod and afs.mod into *_be.mod and *.mod
33528
33529 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
33530 (grub_fstest_SOURCES): Likewise.
33531 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
33532 (afs_be_mod_SOURCES): New variable.
33533 (afs_be_mod_CFLAGS): Likewise.
33534 (afs_be_mod_LDFLAGS): Likewise.
33535 (befs_be_mod_SOURCES): Likewise.
33536 (befs_be_mod_CFLAGS): Likewise.
33537 (befs_be_mod_LDFLAGS): Likewise.
33538 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
33539 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33540 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33541 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33542 (grub_emu_SOURCES): Likewise.
33543 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33544 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33545 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33546 * fs/afs_be.c: New file.
33547 * fs/befs_be.c: New file.
33548 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
33549 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
33550 (U16): Replaced with ...
33551 (grub_afs_to_cpu16): ...this. All users updated.
33552 (U32): Replaced with ...
33553 (grub_afs_to_cpu32): ...this. All users updated.
33554 (U64): Replaced with ...
33555 (grub_afs_to_cpu64): ...this. All users updated.
33556 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
33557 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 33558 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 33559 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33560 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33561 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33562 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33563 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33564 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33565 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33566 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33567
32a71655 335682009-08-26 Bean <bean123ch@gmail.com>
33569
33570 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
33571 64-bit number.
33572 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
33573 (grub_xfs_inode_block): Change return type to grub_uint64_t.
33574 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
33575
552bf6c5 335762009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33577
33578 NetBSD memory map support.
33579
33580 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
33581 (grub_netbsd_btinfo_mmap_header): New structure.
33582 (grub_netbsd_btinfo_mmap_entry): Likewise.
33583 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
33584
1ae2078c 335852009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33586
33587 Enable bsd.mod on coreboot.
33588
33589 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
33590 (bsd_mod_SOURCES): New variable.
33591 (bsd_mod_CFLAGS): Likewise.
33592 (bsd_mod_LDFLAGS): Likewise.
33593 (bsd_mod_ASFLAGS): Likewise.
33594 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
33595 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
33596
beefc598 335972009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33598
33599 Cleanup NetBSD root support.
33600
33601 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
33602 grub_bsd_get_device.
33603 Fix typo.
33604
3b76e68b 336052009-08-25 Felix Zielcke <fzielcke@z-51.de>
33606
33607 * util/grub.d/00_header.in: Move check for the video backend of
33608 gfxterm from here ...
33609 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
33610 a suitable video backend.
33611
aea664ea 336122009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33613
33614 Fix breakage in grub-setup.
33615
33616 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
33617 "msdos_partition_map".
33618
ff747d50 336192009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33620
33621 Fix breakage in normal/auth.c.
33622
33623 * normal/auth.c (grub_iswordseparator): New function.
33624
e7e1f93f 336252009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33626
33627 Authentication support.
33628
33629 * commands/password.c: New file.
33630 * conf/common.rmk (pkglib_MODULES): Add password.mod.
33631 (password_mod_SOURCES): New variable.
33632 (password_mod_CFLAGS): Likewise.
33633 (password_mod_LDFLAGS): Likewise.
33634 (normal_mod_SOURCES): Add normal/auth.c.
33635 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
33636 normal/auth.c.
33637 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33638 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33639 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33640 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33641 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33642 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33643 * include/grub/auth.h: New file.
33644 * include/grub/err.h (grub_err_t): New enum value
33645 GRUB_ERR_ACCESS_DENIED.
33646 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
33647 'users'.
33648 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
33649 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
33650 users updated.
33651 * normal/auth.c: New file.
33652 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
33653 (grub_cmdline_run): Don't allow to go to command line without
33654 authentication.
33655 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
33656 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
33657 menuentry without superuser rights.
33658 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
33659 user isn't a superuser.
33660
70f1161d 336612009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33662
33663 Save space by inlining misc.c functions.
33664
33665 * kern/misc.c (grub_iswordseparator): Made static.
33666 * kern/misc.c (grub_strcat): Moved from here ...
33667 * include/grub/misc.h (grub_strcat): ... here. Inlined.
33668 * kern/misc.c (grub_strncat): Moved from here ...
33669 * include/grub/misc.h (grub_strncat): ... here. Inlined.
33670 * kern/misc.c (grub_strcasecmp): Moved from here ...
33671 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
33672 * kern/misc.c (grub_strncasecmp): Moved from here ...
33673 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
33674 * kern/misc.c (grub_isalpha): Moved from here ...
33675 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
33676 * kern/misc.c (grub_isdigit): Moved from here ...
33677 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
33678 * kern/misc.c (grub_isgraph): Moved from here ...
33679 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
33680 * kern/misc.c (grub_tolower): Moved from here ...
33681 * include/grub/misc.h (grub_tolower): ... here. Inlined.
33682
48e40bff 336832009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33684
33685 * script/sh/function.c (grub_script_function_find): Cut error message
33686 not to flood terminal.
33687 * script/sh/lexer.c (grub_script_yylex): Remove command line length
33688 limit.
33689 * script/sh/script.c (grub_script_arg_add): Duplicate string.
33690
c385bfc3 336912009-08-24 Colin Watson <cjwatson@ubuntu.com>
33692
33693 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
33694 `report' grub_uint8_t *.
33695 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
33696 Use a 50-millisecond timeout rather than just repeating
33697 grub_usb_keyboard_getreport 50 times.
33698 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
33699
2d21e3e8 337002009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33701
33702 Rename *_partition_map to part_*
33703
33704 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
33705 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
33706 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
33707 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
33708 All users updated.
33709 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
33710 All users updated.
33711 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
33712 * util/grub-probe.c (probe_partmap): Don't transform partition name
33713 to get module name.
33714
dd103c4e 337152009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33716
33717 Fix OpenBSD and NetBSD support.
33718
33719 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
33720 memory address conflict.
33721 (OPENBSD_MMAP_ACPI): New definition.
33722 (OPENBSD_MMAP_NVS): Likewise.
33723 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
33724 and OPENBSD_MMAP_NVS.
33725 Add memory map terminator
33726 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 33727 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 33728
16c84d74 337292009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33730
33731 Let user specify NetBSD root device.
33732
33733 * loader/i386/bsd.c (netbsd_root): New variable.
33734 (netbsd_opts): New option 'root'.
33735 (NETBSD_ROOT_ARG): New macro.
33736 (grub_netbsd_boot): Use 'netbsd_root'.
33737 (grub_bsd_unload): Free 'netbsd_root'.
33738 (grub_cmd_netbsd): Fill 'netbsd_root'.
33739
adb29902 337402009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33741
33742 Support for 64-bit NetBSD.
33743
33744 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
33745 point when booting non-FreeBSD.
33746
f5ae9f74 337472009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33748
33749 Support --no-smp and --no-acpi for NetBSD.
33750
33751 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
33752 (NETBSD_AB_NOACPI): Likewise.
33753 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
33754 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
33755
de74f136 337562009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33757
33758 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
33759 errors.
33760 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
33761 errors. Call grub_error when needed.
33762
e9a925da 337632009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33764
33765 * commands/search.c (search_fs): Try searching without autoload first.
33766 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
33767 filesystem module explicitly for faster booting.
33768
5174302b 337692009-08-23 Colin Watson <cjwatson@ubuntu.com>
33770
33771 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
33772
c8c80635 337732009-08-23 Colin Watson <cjwatson@ubuntu.com>
33774
33775 * util/grub.d/30_os-prober.in: Disable os-prober if
33776 `GRUB_DISABLE_OS_PROBER' was set to true.
33777
71acf5e5 337782009-08-23 Robert Millan <rmh.grub@aybabtu.com>
33779
33780 * partmap/pc.c: Rename to ...
33781 * partmap/msdos.c: ... this. Update all users.
33782 (grub_pc_partition_map): Rename to ...
33783 (grub_msdos_partition_map): ... this. Update all users.
33784
33785 * parttool/pcpart.c: Rename to ...
33786 * parttool/msdospart.c: ... this. Update all users.
33787
33788 * include/grub/pc_partition.h: Rename to ...
33789 * include/grub/msdos_partition.h: ... this. Update all users.
33790 (grub_pc_partition_bsd_entry): Rename to ...
33791 (grub_msdos_partition_bsd_entry): ... this. Update all users.
33792 (grub_pc_partition_disk_label): Rename to ...
33793 (grub_msdos_partition_disk_label): ... this. Update all users.
33794 (grub_pc_partition_entry): Rename to ...
33795 (grub_msdos_partition_entry): ... this. Update all users.
33796 (grub_pc_partition_mbr): Rename to ...
33797 (grub_msdos_partition_mbr): ... this. Update all users.
33798 (grub_pc_partition): Rename to ...
33799 (grub_msdos_partition): ... this. Update all users.
33800 (grub_pc_partition_is_empty): Rename to ...
33801 (grub_msdos_partition_is_empty): ... this. Update all users.
33802 (grub_pc_partition_is_extended): Rename to ...
33803 (grub_msdos_partition_is_extended): ... this. Update all users.
33804 (grub_pc_partition_is_bsd): Rename to ...
33805 (grub_msdos_partition_is_bsd): ... this. Update all users.
33806
33807 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
33808 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
33809 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
33810 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
33811 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
33812 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
33813 (gpt_mod_LDFLAGS): Rename to ...
33814 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
33815 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
33816 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
33817 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
33818 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
33819 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
33820 (part_gpt_mod_LDFLAGS): ... this.
33821 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
33822 `pcpart.mod' to `msdospart.mod'.
33823 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
33824 to ...
33825 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
33826 (msdospart_mod_LDFLAGS): ... this.
33827
c11fded5 338282009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
33829
33830 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
33831 (openbsd_opts): Likewise.
33832 (netbsd_opts): Likewise.
33833 (freebsd_flags): Added 0 terminator.
33834 (openbsd_flags): Likewise.
33835 (netbsd_flags): Likewise.
33836 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
33837 (grub_cmd_freebsd): Transformed into extended command.
33838 (grub_cmd_openbsd): Likewise.
33839 (grub_cmd_netbsd): Likewise.
33840 (cmd_freebsd): Changed type to grub_extcmd_t.
33841 (cmd_openbsd): Likewise.
33842 (cmd_netbsd): Likewise.
33843 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
33844 grub_cmd_openbsd as extended commands.
33845 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
33846 cmd_netbsd and cmd_openbsd
33847
11d1c769 338482009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
33849
33850 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
33851
7a9094e5 338522009-08-21 Pavel Roskin <proski@gnu.org>
33853
5496c37e 33854 * Makefile.in (install-local): When checking if a file is in the
33855 build directory, use "test -e" to detect symlinks.
33856
7a9094e5 33857 * Makefile.in (install-local): Remove all files in
33858 $(DESTDIR)$(pkglibdir) before installing new files there.
33859
e53cea11 338602009-08-18 Felix Zielcke <fzielcke@z-51.de>
33861
33862 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
33863 grub-mkelfimage.
33864
9aced544 338652009-08-18 Felix Zielcke <fzielcke@z-51.de>
33866
33867 * util/grub-mkconfig.in: Don't use gfxterm by default if not
33868 explicitly specified by the user.
33869
b7da6bab 338702009-08-18 Pavel Roskin <proski@gnu.org>
33871
33872 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
33873 grub_uint8_t pointer for data.
33874 * include/grub/fbutil.h (struct grub_video_fbblit_info):
33875 Likewise.
33876 * video/fb/fbutil.c: Remove unnecessary casts.
33877
19f1b335 338782009-08-17 Michal Suchanek <hramrach@centrum.cz>
33879
33880 VBE cleanup.
33881
33882 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
33883 (grub_vbe_set_video_mode): Save active mode info
33884 only after setting the mode.
33885 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
33886 second argument.
33887
2f467aa9 338882009-08-17 Michal Suchanek <hramrach@centrum.cz>
33889
33890 Rename variables for clarity.
33891
33892 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
33893 (active_vbe_mode_info): ... this. All users updated.
33894 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
33895 All users updated.
33896 (initial_mode): Rename to ...
33897 (initial_vbe_mode): ... this. All users updated.
33898 (mode_in_use): Rename to ..
33899 (vbe_mode_in_use): ... this. All users updated.
33900 (mode_list): Rename to ..
33901 (vbe_mode_list): ... this. All users updated.
33902 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
33903 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
33904 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
33905 'mode_list_size' to 'vbe_mode_list_size'.
33906 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
33907 'best_mode_info' to 'best_vbe_mode_info' and
33908 'best_mode' to 'best_vbe_mode'
33909
6025fcd7 339102009-08-17 Michal Suchanek <hramrach@centrum.cz>
33911
33912 Remove duplicate grub_video_fb_get_video_ptr.
33913
33914 * include/grub/fbutil.h (get_data_ptr): Rename to ...
33915 (grub_video_fb_get_video_ptr): ... this.
33916 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
33917 * video/fb/fbutil.c: Add comment about addressing.
33918 (get_data_ptr): Rename to ...
33919 (grub_video_fb_get_video_ptr): ... this. All users updated.
33920 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
33921
cc8c6faf 339222009-08-17 Robert Millan <rmh.grub@aybabtu.com>
33923
33924 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
33925 grub_dprintf() that was just added.
33926
08aa61f0 339272009-08-17 Robert Millan <rmh.grub@aybabtu.com>
33928
33929 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
33930 (DEFAULT_VIDEO_MODE): Remove macros.
33931 (grub_linux_boot): Remove assumption that Linux has FB support,
33932 and use "text" as default video mode.
33933
7cef4f75 339342009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
33935
33936 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
33937 grub_dprintf.
33938 * fs/fat.c (grub_fat_read_data): Likewise.
33939
e1f39873 339402009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33941
33942 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
33943 payload.
33944 (grub_module): Likewise.
33945
c166d79e 339462009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33947
33948 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
33949 mbi->cmdline but free playground.
33950
c60cee8e 339512009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33952
33953 Handle group offset on UFS1.
33954
33955 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
33956 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
33957
c0d8b5d4 339582009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33959
33960 Split ufs.mod into ufs1.mod and ufs2.mod.
33961
33962 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
33963 (grub_fstest_SOURCES): Likewise.
33964 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
33965 (ufs_mod_SOURCES): Remove.
33966 (ufs_mod_CFLAGS): Likewise.
33967 (ufs_mod_LDFLAGS): Likewise.
33968 (ufs1_mod_SOURCES): New variable.
33969 (ufs1_mod_CFLAGS): Likewise.
33970 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 33971 (ufs2_mod_SOURCES): New variable.
33972 (ufs2_mod_CFLAGS): Likewise.
33973 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 33974 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
33975 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
33976 Likewise.
33977 (grub_emu_SOURCES): Likewise.
33978 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33979 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33980 (grub_setup_SOURCES): Likewise.
33981 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33982 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
33983 (grub_setup_SOURCES): Likewise.
33984 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
33985 Likewise.
33986 * fs/ufs2.c: New file.
33987 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
33988
d3539132 339892009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
33990
33991 Framebuffer split.
33992
33993 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
33994 subsystem at the end.
33995 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
33996 (video_fb_mod_SOURCES): New variable.
33997 (video_fb_mod_CFLAGS): Likewise.
33998 (video_fb_mod_LDFLAGS): Likewise.
33999 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
34000 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
34001 * video/i386/pc/vbeblit.c: Moved from here ...
34002 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
34003 * video/i386/pc/vbefill.c: Moved from here ...
34004 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
34005 * video/i386/pc/vbeutil.c: Moved from here ...
34006 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
34007 * include/grub/i386/pc/vbeblit.h: Moved from here ...
34008 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
34009 * include/grub/i386/pc/vbefill.h: Moved from here ...
34010 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
34011 * include/grub/i386/pc/vbeutil.h: Moved from here ...
34012 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
34013 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
34014 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
34015 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
34016 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
34017 (grub_video_adapter): Added 'get_info_and_fini'.
34018 (grub_video_get_info_and_fini): New prototype.
34019 (grub_video_set_mode): make modestring const char *.
34020 * loader/i386/linux.c (grub_linux_setup_video): Use
34021 grub_video_get_info_and_fini.
34022 (grub_linux_boot): Move modesetting just before booting.
34023 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
34024 grub_video_get_info_and_fini.
34025 * video/i386/pc/vbe.c: Moved framebuffer part ...
34026 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
34027 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
34028 grub_video_fbstd_colors and grub_video_fb_set_palette.
34029 (grub_video_vbe_init): Clear 'framebuffer' variable and use
34030 grub_video_fb_init.
34031 (grub_video_vbe_fini): Use grub_video_fb_fini.
34032 (grub_video_vbe_setup): Use framebuffer.render_target instead of
34033 render_target and use grub_video_fb_set_active_render_target and
34034 grub_video_fb_set_palette.
34035 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
34036 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
34037 (grub_video_vbe_adapter): Use framebuffer.
34038 * video/video.c (grub_video_get_info_and_fini): New function.
34039 (grub_video_set_mode): Make modestring const char *.
34040 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
34041 values are already initialised.
34042
d404ee56 340432009-08-14 Pavel Roskin <proski@gnu.org>
34044
34045 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
34046 ABS and APPLE_CC.
34047 * boot/i386/pc/diskboot.S: Likewise.
34048 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
34049 sectors allow compilation on MacOSX.
34050 * conf/i386-pc.rmk: Enable unconditional compilation of
34051 lnxboot.img.
34052
9a10df16 340532009-08-13 Colin Watson <cjwatson@ubuntu.com>
34054
34055 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
34056 * util/grub.d/00_header.in: Enter interruptible sleep if
34057 GRUB_HIDDEN_TIMEOUT is set.
34058
be3c9ca7 340592009-08-13 Yves Blusseau <blusseau@zetam.org>
34060
34061 * include/grub/symbol.h: Add the LOCAL macro.
34062 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
34063 starting with "L_".
34064
1f9e557e 340652009-08-13 Pavel Roskin <proski@gnu.org>
34066
9ca62843 34067 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
34068 any modern compilers we support.
34069
1f9e557e 34070 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
34071 Use local labels starting with "L_" so that Apple assembler
34072 knows they are local.
34073
81623db6 340742009-08-10 Robert Millan <rmh.grub@aybabtu.com>
34075
34076 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
34077 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
34078 (bsd_kernel_types): ... this enum.
34079
34080 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
34081 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
34082 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
34083
34084 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
34085 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
34086 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
34087 messages.
34088
f5d35e7a 340892009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34090
34091 * util/grub-dumpdevtree: Moved from here ...
34092 * util/i386/efi/grub-dumpdevtree: ... to here.
34093 (hexify): New function. Converts a string to its hex version.
34094 Generate hex versions of "efi" and "device-properties" by calling
34095 hexify() on the ASCII strings rather than by hardcoding numbers.
34096
d1e1d527 340972009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34098
34099 * fs/jfs.c: Update copyright year.
34100
1ebbe064 341012009-08-08 Felix Zielcke <fzielcke@z-51.de>
34102
34103 * util/grub.d/00_header.in: Fix a comment.
34104 * util/grub.d/10_linux.in: Likewise.
34105 * util/grub.d/10_windows.in: Likewise.
34106 * util/grub.d/10_hurd.in: Likewise.
34107
a78c8d24 341082009-08-08 Felix Zielcke <fzielcke@z-51.de>
34109
34110 * util/grub-mkconfig.in: Allow the user to specify the used font
34111 with GRUB_FONT.
34112
29a6b9e8 341132009-08-08 Pavel Roskin <proski@gnu.org>
34114
b5f16cc4 34115 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
34116 available, xfs.mod needs it now.
34117
2f5cb827 34118 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
34119 the "g" modifier in sed when the intention is to strip something
34120 once. This fixes comparison of kernels with multiple dashes.
34121
29a6b9e8 34122 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
34123 on it. Add missing space before closing bracket. Fix
34124 misleading formatting.
34125
892a3d98 341262009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34127
34128 * docs/grub.texi: Major overhaul. Remove all sections that are
34129 specific to GRUB Legacy, or mostly composed of Legacy-specific
34130 information.
34131
ed94253f 341322009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34133
34134 * docs/version.texi: New file. Provides version information for
34135 grub.texi.
34136
126d6628 341372009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34138
34139 * docs/grub.texi: Update CVS information to SVN.
34140 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
34141
998b5aa9 341422009-08-07 Felix Zielcke <fzielcke@z-51.de>
34143
34144 * util/grub-mkconfig.in: Remove a wrong `fi'.
34145
818e094a 341462009-08-07 Felix Zielcke <fzielcke@z-51.de>
34147
34148 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
34149 (grub_jfs_uuid): New function.
34150 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
34151
b969c52f 341522009-08-07 Felix Zielcke <fzielcke@z-51.de>
34153
34154 * util/grub-mkconfig_lib.in (font_path): Move the functionality
34155 of it to ...
34156 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
34157 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
34158
7a4894cc 341592009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34160
34161 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
34162 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
34163 Update all users.
34164
34165 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
34166 not just "vmlinu[zx]".
34167 Moved from here ...
34168 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
34169 all users.
34170
34171 * util/grub.d/10_linux.in (find_latest): Moved from here ...
34172 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
34173 all users.
34174
4e2171f8 341752009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34176
34177 * util/grub.d/10_freebsd.in: Use an absolute device path for
34178 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
34179
6dcfcb32 341802009-08-06 Felix Zielcke <fzielcke@z-51.de>
34181
34182 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
34183 handling of multiple abstraction modules.
34184
f56a8756 341852009-08-04 Robert Millan <rmh.grub@aybabtu.com>
34186
34187 Fix a bug resulting in black screen when loading Linux using a
34188 packed video mode.
34189
34190 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
34191 function.
34192
34193 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
34194 (grub_vbe_bios_getset_dac_palette_width): New function.
34195 (grub_vbe_bios_get_dac_palette_width)
34196 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
34197 grub_vbe_bios_getset_dac_palette_width()).
34198
34199 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
34200 check for return status.
34201 (grub_vbe_get_video_mode_info): When getting information for a packed
34202 mode (<= 8 bpp), obtain DAC palette width using
34203 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
34204 {red,green,blue}_mark_size.
34205
222671b2 342062009-08-04 Felix Zielcke <fzielcke@z-51.de>
34207
ecb1a6d9 34208 * commands/search.c (options): Fix help output to match actual code.
222671b2 34209
f84114f5 342102009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
34211
34212 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
34213 of homegrown code.
34214
bd288a20 342152009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 34216
34217 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
34218 on XFS or ReiserFS.
34219
8aab5e25 342202009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34221
34222 Support Apple partition map with sector size different from 512 bytes.
34223
34224 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
34225 (apple_partition_map_iterate): Respect 'aheader.blocksize'
34226 and 'apart.partmap_size'.
34227
6ad6258a 342282009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
342292009-08-01 Robert Millan <rmh.grub@aybabtu.com>
34230
34231 Fix cpuid command.
34232
34233 * commands/i386/cpuid.c (options): New variable.
34234 (grub_cmd_cpuid): Return real error.
34235 (GRUB_MOD_INIT(cpuid)): Declare options.
34236
67459bc6 342372009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
34238
34239 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
34240 valid.
34241
fbc6ab54 342422009-07-31 Bean <bean123ch@gmail.com>
34243
34244 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
34245 log2_inode.
34246 (grub_fshelp_node): Move inode field to the end.
34247 (grub_xfs_data): Remove inode field.
34248 (grub_xfs_inode_block): Calculate inode size using sblock.
34249 (grub_xfs_inode_offset): Likewise.
34250 (grub_xfs_read_inode): Calculate inode size using sblock.
34251 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
34252 (grub_xfs_iterate_dir): Calculate inode size using sblock.
34253 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
34254 to match inode size.
34255 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
34256 not accessible when data is null.
34257 (grub_xfs_open): Likewise.
34258
f45d6cfc 342592009-07-31 Bean <bean123ch@gmail.com>
34260
34261 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
34262 Don't change pv->disk if it's already set.
34263
34264 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
34265 (grub_raid_register): ... here.
34266 (grub_raid_rescan): Removed.
34267
34268 * include/grub/raid.h (grub_raid_rescan): Removed.
34269
34270 * util/grub-fstest.c: Remove include file <grub/raid.h>.
34271 (fstest): Replace grub_raid_rescan with module fini function followed
34272 by init function.
34273
34274 * util/grub-probe.c: Add include file <grub/raid.h>.
34275 (probe_raid_level): New function.
34276 (probe): Detect abstraction by walking the disk device, support two
34277 level of abstraction (LVM on RAID) when detecting partition map.
34278
24443b5a 342792009-07-31 Pavel Roskin <proski@gnu.org>
34280
34281 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
34282 to grub_zalloc(), it was erroneous.
34283 Reported by Bean <bean123ch@gmail.com>
34284
a275d9e7 342852009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
34286
34287 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 34288 embedding zone, not only the first one.
a275d9e7 34289
56c5a47f 342902009-07-29 Joe Auricchio <jauricchio@gmail.com>
34291
34292 * term/gfxterm.c (clear_char): New function.
34293 (grub_virtual_screen_setup): Use clear_char.
34294 (scroll_up): Likewise.
34295 (grub_virtual_screen_cls): Likewise.
34296
67bb323a 342972009-07-29 Felix Zielcke <fzielcke@z-51.de>
34298
34299 * util/deviceiter.c (get_acceleraid_disk_name): New static
34300 function.
34301 (grub_util_iterate_devices): Handle Accelraid devices.
34302 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
34303
388a7c75 343042009-07-28 Robert Millan <rmh.grub@aybabtu.com>
34305
34306 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
34307 separator for the suggested gfxpayload string (';' collides with the
34308 parser and needs escaping).
34309
3bb7abcf 343102009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
34311
34312 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
34313 Clear direction flag before jumping to OS.
34314 (grub_multiboot2_real_boot): Likewise.
34315
2ddd36d7 343162009-07-28 Felix Zielcke <fzielcke@z-51.de>
34317
34318 * util/i386/pc/grub-install: Fix parsing of --disk-module
34319 option.
34320
c521b62b 343212009-07-28 Felix Zielcke <fzielcke@z-51.de>
34322
34323 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
34324 when embedding.
34325
880e0a0c 343262009-07-26 Felix Zielcke <fzielcke@z-51.de>
34327
34328 * util/grub-mkconfig.in (package_version): New variable.
34329 Use it do display the version.
34330
2366e356 343312009-07-25 Felix Zielcke <fzielcke@z-51.de>
34332
34333 * kern/file.c (grub_file_open): Revert to previous check with
34334 grub_errno.
34335
7ad8c80e 343362009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34337
34338 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
34339 from help line. It's out of sync with code.
34340
72b9658b 343412009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34342
34343 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
34344 entries on failed boot.
34345
77435277 343462009-07-25 Felix Zielcke <fzielcke@z-51.de>
34347
34348 * kern/file.c (grub_file_open): Fix an error check.
34349
fcaa8b21 343502009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
34351
35d16c74 34352 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
34353 partition map couldn't be identified.
fcaa8b21 34354
48904cd1 343552009-07-23 Pavel Roskin <proski@gnu.org>
34356
ef3c317f 34357 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
34358 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
34359 case of little endian words becomes just an optimization.
34360 Respect const modifier.
ad8ea1f4 34361 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 34362
48904cd1 34363 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
34364 to avoid loss of upper bits if align is unsigned and shorter
34365 than addr.
34366
260c9a89 343672009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34368
34369 UUID support for UFS
34370
34371 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
34372 (grub_ufs_uuid): New function.
34373 (grub_ufs_fs): add .uuid
34374
f76ce889 343752009-07-21 Pavel Roskin <proski@gnu.org>
34376
34377 * kern/dl.c (grub_dl_check_header): Make static.
34378
6a6cbcaf 343792009-07-21 Felix Zielcke <fzielcke@z-51.de>
34380
34381 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
34382 add drivemap for Vista. It breaks Windows 7.
34383
cffcddb2 343842009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34385
34386 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
34387 128 bytes
34388
1ef44b80 343892009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34390
34391 Add BFS support
34392
34393 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
34394 (grub_fstest_SOURCES): Likewise.
34395 (pkglib_MODULES): Add befs.mod.
34396 (befs_mod_SOURCES): New variable.
34397 (befs_mod_CFLAGS): Likewise.
34398 (befs_mod_LDFLAGS): Likewise.
34399 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34400 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34401 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34402 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34403 (grub_setup_SOURCES): Likewise.
34404 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34405 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34406 (grub_setup_SOURCES): Likewise.
34407 * fs/befs.c: New file.
34408 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
34409 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
34410 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
34411 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
34412 (B_KEY_INDEX_ALIGN): New declaration.
34413 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
34414 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
34415 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
34416 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
34417 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
34418 (grub_afs_mount) [MODE_BFS]: Likewise.
34419 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
34420 (grub_afs_fs): Use GRUB_AFS_FSNAME
34421 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
34422 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
34423 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
34424 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
34425
4f253044 344262009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
34427
34428 * util/getroot.c (find_root_device): Add support for MacOSX.
34429 * util/hostdisk.c: Likewise.
34430
57a55913 344312009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34432
34433 * font/font.c (find_glyph): Check whether a font is present to avoid
34434 segmentation fault.
75421ca9 34435
344362009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 34437
34438 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
34439
e98cd0c2 344402009-07-20 Pavel Roskin <proski@gnu.org>
34441
34442 * configure.ac: Trim excessively wordy excuses.
34443
1d2d169a 344442009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34445
34446 Add symlink, mtime and label support to AtheFS.
34447
34448 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
34449 (grub_afs_iterate_dir): Handle symlinks.
34450 (grub_afs_open): Use grub_afs_read_symlink.
34451 (grub_afs_dir): Likewise.
34452 Pass mtime.
34453 (grub_afs_label): New function.
34454 (grub_afs_fs): Add grub_afs_label.
34455 (grub_afs_read_symlink): New function.
34456
186f3189 344572009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34458
34459 Fix AtheFS support.
34460
34461 * fs/afs.c: Fix comments style.
34462 (grub_afs_blockrun): Declare as packed.
34463 (grub_afs_datastream): Likewise.
34464 (grub_afs_bnode): Likewise.
34465 (grub_afs_btree): Likewise.
34466 (grub_afs_sblock): Likewise.
34467 Declare `name' as char.
34468 (grub_afs_inode): Declare as packed.
34469 Change void *vnode to grub_uint32_t unused.
34470 (grub_afs_iterate_dir): Check that key_size is positive.
34471 (grub_afs_mount): Don't read superblock twice.
75421ca9 34472 (grub_afs_dir): Don't free node in case of error,
186f3189 34473 grub_fshelp_find_file already handles this.
34474 (grub_afs_open): Likewise.
34475
5680109e 344762009-07-19 Pavel Roskin <proski@gnu.org>
34477
34478 * Makefile.in: Remove LIBLZO and enable_lzo.
34479 * conf/i386-pc.rmk: Remove lzo support.
34480 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
34481 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
34482 support.
34483 * kern/i386/pc/lzo1x.S: Remove.
34484 * kern/i386/pc/startup.S: Remove lzo support.
34485 * util/i386/pc/grub-mkimage.c: Likewise.
34486
ac70fa32 344872009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
34488
34489 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
34490 * fs/xfs.c (grub_xfs_dir): Likewise.
34491 * fs/afs.c (grub_afs_dir): Likewise.
34492 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
34493 (grub_iso9660_open): Likewise.
34494 * fs/jfs.c (grub_jfs_open): Likewise.
34495 * fs/ext2.c (grub_ext2_dir): Likewise.
34496 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
34497 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 34498
eab58da2 344992009-07-16 Pavel Roskin <proski@gnu.org>
34500
d2838156 34501 * configure.ac: Never add "-c" to CFLAGS.
34502
55c70904 34503 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
34504
43e6200c 34505 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
34506 grub_cv_cc_efiemu should be used.
34507
ce7a733d 34508 * configure.ac: Typo fixes.
34509
eab58da2 34510 * kern/mm.c (grub_zalloc): New function.
34511 (grub_debug_zalloc): Likewise.
34512 * include/grub/mm.h: Declare grub_zalloc() and
34513 grub_debug_zalloc().
34514 * util/misc.c (grub_zalloc): New function.
34515 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
34516 instead of grub_malloc(), remove unneeded initializations.
34517 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
34518 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
34519 * commands/parttool.c (grub_cmd_parttool): Likewise.
34520 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
34521 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
34522 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
34523 * disk/usbms.c (grub_usbms_finddevs): Likewise.
34524 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
34525 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
34526 (grub_cmd_efiemu_pnvram): Likewise.
34527 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
34528 * fs/iso9660.c (grub_iso9660_mount): Likewise.
34529 (grub_iso9660_iterate_dir): Likewise.
34530 * fs/jfs.c (grub_jfs_opendir): Likewise.
34531 * fs/ntfs.c (list_file): Likewise.
34532 (grub_ntfs_mount): Likewise.
34533 * kern/disk.c (grub_disk_open): Likewise.
34534 * kern/dl.c (grub_dl_load_core): Likewise.
34535 * kern/elf.c (grub_elf_file): Likewise.
34536 * kern/env.c (grub_env_context_open): Likewise.
34537 (grub_env_set): Likewise.
34538 (grub_env_set_data_slot): Likewise.
34539 * kern/file.c (grub_file_open): Likewise.
34540 * kern/fs.c (grub_fs_blocklist_open): Likewise.
34541 * loader/i386/multiboot.c (grub_module): Likewise.
34542 * loader/xnu.c (grub_xnu_create_key): Likewise.
34543 (grub_xnu_create_value): Likewise.
34544 * normal/main.c (grub_normal_add_menu_entry): Likewise.
34545 (read_config_file): Likewise.
34546 * normal/menu_entry.c (make_screen): Likewise.
34547 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34548 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
34549 * script/sh/script.c (grub_script_parse): Likewise.
34550 * video/bitmap.c (grub_video_bitmap_create): Likewise.
34551 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
34552 * video/readers/png.c (grub_png_output_byte): Likewise.
34553 (grub_video_reader_png): Likewise.
34554
830afef7 345552009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 34556
34557 Enable all targets that can be built by default
34558
830afef7 34559 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 34560 grub-mkfont and grub-fstest if they can be built
34561
ee293aee 345622009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34563
34564 Fix hang and segmentation fault in grub-emu-usb
34565
34566 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
34567 * util/usb.c (grub_libusb_devices): likewise
34568 (grub_libusb_init): rename to ...
34569 (GRUB_MOD_INIT (libusb)):...this
34570 (grub_libusb_fini): rename to ..
34571 (GRUB_MOD_FINI (libusb)):...this
34572 * disk/usbms.c (grub_usbms_transfer): fix retry logic
34573 * include/grub/disk.h (grub_raid_init): removed, it's useless
34574 (grub_raid_fini): likewise
34575 (grub_lvm_init): likewise
34576 (grub_lvm_fini): likewise
34577 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
34578 by grub_init_all
34579
94414221 345802009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34581
34582 Fix libusb
34583
34584 * Makefile.in (LIBUSB): new macro
34585 * genmk.rb (Utility/print_tail): new method
34586 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
34587 (top level): call util.print_tail at the end.
34588
59ade63d 345892009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34590
34591 Make FreeBSD accept zpool.cache
34592
34593 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
34594 type is /boot/zfs/zpool.cache
34595
a58da8c7 345962009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34597
34598 Fix 64-bit efiemu
34599
34600 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
34601 correct wrong typedef
34602 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
34603
20591577 346042009-07-15 Pavel Roskin <proski@gnu.org>
34605
560ca572 34606 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
34607 * kern/disk.c (struct grub_disk_cache): Likewise.
34608
e8e8e4fd 34609 * commands/probe.c (options): Typo fix.
34610
fde24e10 34611 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
34612 Increase to 0x5a to accommodate FAT32. Adjust other offsets
34613 accordingly.
34614 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
34615
379c54c1 34616 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
34617 the end of "Error" to make the message more readable.
34618
7bd8f5bf 34619 * boot/i386/pc/boot.S (kernel_segment): Remove.
34620 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
34621 for destination.
34622
40b132c5 34623 * boot/i386/pc/boot.S (boot_version): Remove.
34624 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
34625 Remove.
34626
20591577 34627 * include/grub/i386/pc/boot.h: Sort all offsets.
34628 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
34629 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
34630 * boot/i386/pc/boot.S: Assert location of every offset listed in
34631 include/grub/i386/pc/boot.h.
34632
2df32b2c 346332009-07-13 Pavel Roskin <proski@gnu.org>
34634
44b5d879 34635 * include/grub/i386/coreboot/machine.h: Rename
34636 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
34637 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
34638 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
34639
17dc3751 34640 * kern/dl.c: Force native word size to suppress warnings when
34641 compiling grub-emu.
34642
2df32b2c 34643 * kern/device.c (grub_device_iterate): Change struct part_ent to
34644 hold the name, not a pointer to it. Use one grub_malloc() per
34645 partition, not two. Free partition_name if grub_malloc() fails.
34646 Set ents to NULL only before grub_partition_iterate() is called.
34647
75c59f59 346482009-07-11 Bean <bean123ch@gmail.com>
34649
34650 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
34651 childname.
34652
0ae1bf88 346532009-07-10 Bean <bean123ch@gmail.com>
346542009-07-10 Robert Millan <rmh.grub@aybabtu.com>
34655
34656 * kern/ieee1275/openfw.c (grub_children_iterate)
34657 (grub_devalias_iterate): Fix size evaluation for property or path
34658 strings, which was broken since r2132.
34659
8279cade 346602009-07-07 Pavel Roskin <proski@gnu.org>
34661
7d8a52d3 34662 * commands/search.c (search_file): Merge into ...
34663 (search_fs): ... this. Accept search type as argument.
34664 (grub_cmd_search): Pass search type to search_fs().
34665
25f9a05a 34666 * include/grub/util/console.h: New file.
34667 * util/console.c: Use it instead of grub/machine/console.h.
34668 * util/grub-emu.c: Likewise.
34669
8279cade 34670 * lib/arg.c (find_long_option): Remove.
34671 (find_long): Add `len' argument, make `s' const char *.
34672 (grub_arg_parse): Parse long options in place, not in a
34673 temporary buffer.
34674
4a11b60f 346752009-07-06 Pavel Roskin <proski@gnu.org>
34676
99f68041 34677 * commands/search.c (search_fs): Fix potential NULL pointer
34678 dereference.
34679
4a11b60f 34680 * commands/search.c (search_fs): Replace QUID macro with quid_fn
34681 function pointer.
34682
e110f4de 346832009-07-06 Daniel Mierswa <impulze@impulze.org>
34684
34685 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
34686 comparison.
34687
46eeb6a2 346882009-07-05 Pavel Roskin <proski@gnu.org>
34689
bab74958 34690 * include/grub/i386/linux.h (struct linux_kernel_params):
34691 Restore padding3, it's still needed.
34692
46eeb6a2 34693 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
34694 FreeBSD.
34695 * util/osdetect.lua: Likewise.
34696
b4a1dc79 346972009-07-05 Bean <bean123ch@gmail.com>
34698
34699 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
34700
34701 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
34702 (grub_lua_getenv): Likewise.
34703 (grub_lua_setenv): Likewise.
34704 (save_errno): New function.
34705 (push_result): Likewise.
34706 (grub_lua_enum_device): Likewise.
34707 (grub_lua_enum_file): Likewise.
34708 (grub_lua_file_open): Likewise.
34709 (grub_lua_file_close): Likewise.
34710 (grub_lua_file_seek): Likewise.
34711 (grub_lua_file_read): Likewise.
34712 (grub_lua_file_getline): Likewise.
34713 (grub_lua_file_getsize): Likewise.
34714 (grub_lua_file_getpos): Likewise.
34715 (grub_lua_file_eof): Likewise.
34716 (grub_lua_file_exist): Likewise.
34717 (grub_lua_add_menu): Likewise.
34718
34719 * script/lua/grub_lua.h (isupper): New inline function.
34720 (islower): Likewise.
34721 (ispunct): Likewise.
34722 (isxdigit): Likewise.
34723 (strcspn): Change to normal function.
34724 (strpbkr): New function declaration.
34725 (memchr): Likewise.
34726
34727 * script/lua/grub_main.c (scan_str): New function.
34728 (strcspn): Likewise.
34729 (strpbrk): Likewise.
34730 (memchr): Likewise.
34731
34732 * script/lua/linit.c (lualibs): Enable the string library.
34733
34734 * util/osdetect.lua: New file.
34735
2da92295 347362009-07-04 Robert Millan <rmh.grub@aybabtu.com>
34737
34738 * include/grub/i386/linux.h (struct linux_kernel_params): Add
34739 `capabilities' member.
34740
b2582ec9 347412009-07-02 Pavel Roskin <proski@gnu.org>
34742
34743 * genparttoollist.sh: Add missing newline at the end.
34744
32622956 347452009-07-01 Pavel Roskin <proski@gnu.org>
34746
87a7339e 34747 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
34748
d23af54e 34749 * util/hostdisk.c (open_device): Remove `const' from
34750 `sysctl_size', as sysctlbyname() can change it (in this case it
34751 doesn't actually happen).
34752
c94b18a9 34753 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
34754 using signed long int constants.
34755
c6cd3ef0 34756 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
34757 constant to avoid a warning on FreeBSD.
34758
0df63420 34759 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
34760 where it's needed.
34761
999577f1 34762 * Makefile.in: Install include/grub/machine symlink.
34763
6f41557f 34764 * Makefile.in: When installing symlinks, use "cp -fR", which
34765 works on FreeBSD and MacOSX.
34766 From Yves Blusseau <cl7m42e02@sneakemail.com>
34767
c8d22988 34768 * kern/dl.c (grub_dl_resolve_symbol): Make static.
34769 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
34770
1b96e952 34771 * util/misc.c: Move grub_reboot() and grub_halt() ...
34772 * util/grub-emu.c: ... here. Make main_env static.
34773 * include/grub/util/misc.h: Remove main_env.
34774
2ef0084d 34775 * kern/mm.c: Use correct format to print size_t.
34776
32622956 34777 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
34778 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
34779 * kern/powerpc/dl.c: Likewise.
34780 * kern/sparc64/dl.c: Likewise.
34781 * kern/x86_64/dl.c: Likewise.
34782
3f7f0cd0 347832009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34784
34785 Fix grub-emu build on sparc64-ieee1275.
34786
75421ca9 34787 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 34788 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
34789
211d06b5 347902009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34791
34792 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
34793 (grub_reboot, grub_halt): New functions.
34794
34795 * util/i386/pc/misc.c: Delete. Update all users.
34796 * util/sparc64/ieee1275/misc.c: Likewise.
34797 * util/powerpc/ieee1275/misc.c: Likewise.
34798
aaf53e3c 347992009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34800
34801 * conf/i386.rmk (setjmp_mod_SOURCES)
34802 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
34803 * conf/common.rmk (setjmp_mod_SOURCES)
34804 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
34805 to use $(target_cpu).
34806 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
34807 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
34808 * conf/powerpc-ieee1275.rmk: Likewise.
34809 * conf/sparc64-ieee1275.rmk: Likewise.
34810
34811 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
34812 $(target_cpu) for kern/$(target_cpu)/dl.c.
34813 * conf/i386-efi.rmk: Likewise.
34814 * conf/i386-ieee1275.rmk: Likewise.
34815 * conf/x86_64-efi.rmk: Likewise.
34816 * conf/i386-coreboot.rmk: Likewise.
34817 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
34818 $(target_cpu) for kern/$(target_cpu)/dl.c and for
34819 kern/$(target_cpu)/cache.S.
34820 * conf/sparc64-ieee1275.rmk: Likewise.
34821
a337130b 348222009-07-01 Robert Millan <rmh.grub@aybabtu.com>
34823
34824 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
34825 type to `grub_uint8_t', and adjust `padding9' accordingly.
34826
c6fe4d53 348272009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34828
b09db61d 34829 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
34830
c6fe4d53 34831 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
34832 assembly in final jump, using register constraints.
34833
b09db61d 34834 (grub_linux_boot): For text mode, initialize `have_vga' using
34835 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
34836
34837 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
34838 right before the final jump.
34839
34840 Set `video_mode' to 0x3.
34841
34842 Document initialization of `video_page', `video_mode' and
34843 `video_ega_bx'.
34844
28333ad0 348452009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34846
34847 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
34848 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 34849 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 34850
02164e1b 348512009-06-29 Robert Millan <rmh.grub@aybabtu.com>
34852
34853 Fix build on Debian / sparc.
34854
34855 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
34856
18b6c557 348572009-06-28 Pavel Roskin <proski@gnu.org>
34858
85f2aab6 34859 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
34860 fix a warning.
34861
18b6c557 34862 * util/grub.d/10_linux.in: Match SUSE style initrd names.
34863
ad760f81 348642009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34865
34866 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
34867 `err'.
34868
87a4623b 348692009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34870
34871 Revert r2338.
34872
34873 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
34874 file can't be opened. grub_file_open() is already supposed to set
75421ca9 34875 grub_errno / grub_errmsg appropriately.
87a4623b 34876 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
34877
8231fb77 348782009-06-27 Pavel Roskin <proski@gnu.org>
348792009-06-27 Robert Millan <rmh.grub@aybabtu.com>
34880
34881 * include/grub/dl.h: Include grub/elf.h.
34882 (struct grub_dl): Add symtab field.
34883 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
34884 GRUB_MODULES_MACHINE_READONLY.
34885 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
34886 of the header for read-only modules.
34887 (grub_dl_unload): Free mod->symtab for read-only modules.
34888 * kern/i386/dl.c: Use mod->symtab.
34889 * kern/powerpc/dl.c: Likewise.
34890 * kern/sparc64/dl.c: Likewise.
34891 * kern/x86_64/dl.c: Likewise.
34892
34893 * conf/i386-qemu.rmk: New file.
34894 * kern/i386/qemu/startup.S: Likewise.
34895 * kern/i386/qemu/mmap.c: Likewise.
34896 * boot/i386/qemu/boot.S: Likewise.
34897 * include/grub/i386/qemu/time.h: Likewise.
34898 * include/grub/i386/qemu/serial.h: Likewise.
34899 * include/grub/i386/qemu/kernel.h: Likewise.
34900 * include/grub/i386/qemu/console.h: Likewise.
34901 * include/grub/i386/qemu/boot.h: Likewise.
34902 * include/grub/i386/qemu/init.h: Likewise.
34903 * include/grub/i386/qemu/machine.h: Likewise.
34904 * include/grub/i386/qemu/loader.h: Likewise.
34905 * include/grub/i386/qemu/memory.h: Likewise.
34906
34907 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
34908 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
34909 [qemu] (pkglib_IMAGES): Add `boot.img'.
34910 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
34911 [qemu] (boot_img_FORMAT): New variables.
34912 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
34913 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
34914 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
34915 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
34916 [qemu] (kernel_img_FORMAT): New variables.
34917
34918 * configure.ac: Recognise `i386-qemu'.
34919
34920 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
34921 (for no compression).
34922 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
34923 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
34924 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
34925 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
34926 ifdefs).
34927
97fe384e 349282009-06-27 Pavel Roskin <proski@gnu.org>
34929
34930 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
34931 read.
34932 * efiemu/prepare32.c: Likewise.
34933 * efiemu/prepare64.c: Likewise.
34934
c402ab17 349352009-06-26 Pavel Roskin <proski@gnu.org>
34936
34937 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
34938 * include/grub/elf.h: Define symbols without "32" or "64" based
34939 on GRUB_TARGET_WORDSIZE.
34940 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
34941 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
34942 ELF definitions.
34943 * efiemu/loadcore64.c: Likewise.
34944 * loader/i386/bsd32.c: Likewise.
34945 * loader/i386/bsd64.c: Likewise.
34946 * kern/dl.c: Remove own ELF definitions.
34947 * util/i386/efi/grub-mkimage.c: Likewise.
34948
9bbdfd4d 349492009-06-23 Robert Millan <rmh.grub@aybabtu.com>
34950
34951 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
34952 segment 0x0 unconditionally, because the reference generated by
34953 GAS is an absolute address.
34954
a42ce6e9 349552009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34956
34957 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
34958 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
34959
c952cf92 349602009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34961
34962 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
34963 indexes. Check for -f explicitly.
cc3752ad 34964 (search_file): Improve error message.
34965 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 34966
132a0a59 349672009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34968
34969 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
34970 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
34971
387a140c 349722009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34973
34974 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
34975 * conf/i386-ieee1275.rmk: Likewise.
34976 * conf/i386-coreboot.rmk: Likewise.
34977
34978 * kern/i386/pc/startup.S (grub_stop): Remove function.
34979 * kern/i386/ieee1275/startup.S: Likewise.
34980 * kern/i386/coreboot/startup.S: Likewise.
34981 * kern/i386/misc.S (grub_stop): New function.
34982
41da9665 349832009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34984
34985 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
34986 * kern/i386/realmode.S (real_to_prot): ... to here.
34987
bf337234 349882009-06-22 Robert Millan <rmh.grub@aybabtu.com>
34989
34990 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
34991 with `kernel.img'.
34992 (kernel_elf_SOURCES): Rename to ...
34993 (kernel_img_SOURCES): ... this.
34994 (kernel_elf_HEADERS): Rename to ...
34995 (kernel_img_HEADERS): ... this. Update all users.
34996 (kernel_elf_ASFLAGS): Rename to ...
34997 (kernel_img_ASFLAGS): ... this.
34998 (kernel_elf_CFLAGS): Rename to ...
34999 (kernel_img_CFLAGS): ... this.
35000 (kernel_elf_LDFLAGS): Rename to ...
35001 (kernel_img_LDFLAGS): ... this.
35002 * conf/i386-coreboot.rmk: Likewise.
35003 * conf/powerpc-ieee1275.rmk: Likewise.
35004
35005 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
35006 with "kernel.img".
35007
f52196ff 350082009-06-21 Pavel Roskin <proski@gnu.org>
35009
c3cee413 35010 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
35011 to match nested functions.
35012 * loader/sparc64/ieee1275/linux.c: Likewise.
35013
f52196ff 35014 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
35015
58750afc 350162009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35017
35018 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
35019 all i386 platforms.
35020
15355c7d 350212009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35022
35023 Fix asm file handling on ELF, and remove workarounds.
35024
35025 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 35026 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 35027 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
35028 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
35029
3f3ec72b 350302009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
35031
35032 Load BSD ELF modules
35033
35034 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
35035 and loader/i386/bsd64.c
35036 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
35037 (FREEBSD_MODTYPE_ELF_MODULE): New definition
35038 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
35039 (grub_freebsd_load_elfmodule32): New declaration
35040 (grub_freebsd_load_elfmoduleobj64): Likewise
35041 (grub_freebsd_load_elf_meta32): Likewise
35042 (grub_freebsd_load_elf_meta64): Likewise
35043 (grub_freebsd_add_meta): Likewise
35044 (grub_freebsd_add_meta_module): Likewise
35045 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
35046 (grub_freebsd_add_meta_module): Likewise and move module-specific
35047 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
35048 (grub_cmd_freebsd): Add elf-kernel specific parts
35049 based on grub_freebsd_add_meta_module
35050 (grub_cmd_freebsd_module): Add type parsing moved from
35051 grub_freebsd_add_meta_module
35052 (grub_cmd_freebsd_module_elf): New function
35053 (cmd_freebsd_module_elf): New variable
35054 (GRUB_MOD_INIT): Register freebsd_module_elf
35055 * loader/i386/bsd32.c: New file
35056 * loader/i386/bsd64.c: Likewise
35057 * loader/i386/bsdXX.c: Likewise
35058 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
35059 (grub_elf64_load): Likewise
35060 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
35061 All users updated
35062 (grub_elf64_load_hook_t): Likewise
35063
0db15301 350642009-06-21 Colin Watson <cjwatson@ubuntu.com>
35065
35066 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
35067 variable.
35068 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
35069 don't write a menu entry for recovery mode.
35070
546796c1 350712009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35072
35073 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
35074 after it's no longer needed.
35075
cd7310d5 350762009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35077
35078 * include/grub/i386/loader.h (grub_linux_prot_size)
35079 (grub_linux_tmp_addr, grub_linux_real_addr)
35080 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
35081 GRUB_MACHINE_PCBIOS.
35082 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
35083 common grub_util_info() call to ...
35084 (generate_image): ... here.
35085 Fix use of uninitialized memory, comparison of signed with
35086 unsigned integers and memory leak.
35087 Remove bogus module address message.
35088
ab32d3b5 350892009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
35090
35091 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
35092 grub_raid_register
35093 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
35094
024ef597 350952009-06-19 Pavel Roskin <proski@gnu.org>
35096
35097 * configure.ac: Remove stray AC_MSG_CHECKING.
35098
3ac72b51 350992009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
35100
35101 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 35102
e14cd814 351032009-06-18 Pavel Roskin <proski@gnu.org>
35104
35105 * conf/common.rmk: Add fs_file.mod.
35106 * disk/fs_file.c: New file.
35107 * include/grub/disk.h (enum grub_disk_dev_id): Add
35108 GRUB_DISK_DEVICE_FILE_ID.
35109
26586d98 351102009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35111
35112 Fix build with Apple's toolchain. Part 2
35113
35114 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
35115 a fake start
35116
26de2bcd 351172009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35118
35119 Fix build with Apple's toolchain. Part 1
35120
35121 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
35122 for long calls
35123 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 35124 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 35125 Apple's toolchain
35126
09b3490b 351272009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35128
35129 Fix warnings
35130
35131 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
35132 (decomp_block): initialize ch
35133 use grub_memcpy instead of memcpy
35134
c22a006a 351352009-06-17 Pavel Roskin <proski@gnu.org>
35136
d3638678 35137 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
35138 version, use declarations needed to use vga_text as the startup
35139 console.
35140
c22a006a 35141 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
35142 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
35143 the kernel.
35144 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
35145 and grub_at_keyboard_fini(), it's done on module load and
35146 unload.
35147
05b129e0 351482009-06-17 Felix Zielcke <fzielcke@z-51.de>
35149
35150 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
35151 file can't be found.
35152 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35153
cf24ed9e 351542009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35155
35156 Fix newline handling
35157
35158 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 35159 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 35160 (grub_script_yylex): don't segfault on unterminated script
35161 newline terminates command and variable
35162
74aa8e4b 351632009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35164
35165 avoid double grub_adjust_range call. Bug reported by David Simner
35166
35167 * kern/disk.c (grub_disk_write): change to raw disk access before
35168 calling disk_read
35169
1bd265f3 351702009-06-17 Colin Watson <cjwatson@ubuntu.com>
35171
35172 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
35173 spaces, for the benefit of help2man.
35174 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35175
a2d08c06 351762009-06-16 Pavel Roskin <proski@gnu.org>
35177
35178 * kern/i386/halt.c: Include grub/machine/init.h.
35179 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
35180
b97bcb19 351812009-06-16 Felix Zielcke <fzielcke@z-51.de>
35182
35183 * util/grub.d/30_os-prober.in: Use ${root} in the generated
35184 drivemap menuentry.
35185
0644f96c 351862009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
35187
35188 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
35189 `echo' command.
35190
3ef17a2e 351912009-06-16 Pavel Roskin <proski@gnu.org>
35192
35193 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
35194 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
35195 save %dx, we only need %dl and we never change it.
35196 * boot/i386/pc/cdboot.S: Don't set the root drive.
35197 * boot/i386/pc/pxeboot.S: Likewise.
35198 * include/grub/i386/pc/boot.h: Remove
35199 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
35200 GRUB_BOOT_MACHINE_DRIVE_CHECK.
35201 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
35202 * kern/i386/pc/init.c (make_install_device): Remove references
35203 to grub_root_drive.
35204 * kern/i386/pc/startup.S: Likewise.
35205 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
35206
693fe637 352072009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35208
35209 xnu_uuid command
35210
35211 * commands/xnu_uuid.c: new file
35212 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
35213 (xnu_uuid_mod_SOURCES): new variable
35214 (xnu_uuid_mod_CFLAGS): likewise
35215 (xnu_uuid_mod_LDFLAGS): likewise
35216 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35217 * conf/i386-ieee1275.rmk: likewise
35218 * conf/i386-pc.rmk: likewise
35219 * conf/powerpc-ieee1275.rmk: likewise
35220 * conf/sparc64-ieee1275.rmk: likewise
35221 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
35222
c9da87d0 352232009-06-16 Pavel Roskin <proski@gnu.org>
35224
35225 * configure.ac: Avoid '==' in test command, it's not portable.
35226
9c6f4596 352272009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35228
35229 Probe command
35230
35231 * commands/probe.c: new file
35232 * conf/common.rmk (pkglib_MODULES): add probe.mod
35233 (probe_mod_SOURCES): new variable
35234 (probe_mod_CFLAGS): likewise
35235 (probe_mod_LDFLAGS): likewise
35236 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35237 * conf/i386-ieee1275.rmk: likewise
35238 * conf/i386-pc.rmk: likewise
35239 * conf/powerpc-ieee1275.rmk: likewise
35240 * conf/sparc64-ieee1275.rmk: likewise
35241
70b7f9fd 352422009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
35243
35244 Fix handling of string like \"hello\" and "a
35245 b"
35246
35247 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
35248 (grub_script_yylex): fix parsing of quoting, escaping and newline
35249
71c79a6b 352502009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
35251
dd74360c 35252 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 35253 handling
dd74360c 35254
0644f96c 352552009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 35256
35257 * util/grub-mkconfig.in: Fix parsing of --output option.
35258
e40893c3 352592009-06-12 Pavel Roskin <proski@gnu.org>
35260
35261 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
35262 genmk.rb don't need to be generated or installed.
35263
3a1acfe2 352642009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
35265
35266 * commands/i386/pc/drivemap_int13h.S: add more comments
35267
3a4575d4 352682009-06-11 Pavel Roskin <proski@gnu.org>
35269
0658e928 35270 * Makefile.in (uninstall): Uninstall manuals.
35271
ca0388f0 35272 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
35273 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
35274 and update-grub_lib in two places.
35275 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
35276
e3b27c39 35277 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
35278 a compiler warning.
35279
3a4575d4 35280 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
35281 `entry_lo' to fix variable shadowing.
35282
af1f4f55 352832009-06-11 Christian Franke <franke@computer.org>
35284
35285 * kern/misc.c (__enable_execute_stack): Add missing return type
35286 to prevent gcc warning.
35287
5225e649 352882009-06-11 Felix Zielcke <fzielcke@z-51.de>
35289
35290 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
35291
7d83bd47 352922009-06-11 Pavel Roskin <proski@gnu.org>
35293
c1cb63ba 35294 * Makefile.in: Don't rely on any scripts being executable.
35295 Always use $(SHELL) to run shell scripts.
35296
7d83bd47 35297 * configure.ac: Always define ___main if using -nostdlib. This
35298 fixes tests on Cygwin.
35299
948f48e7 353002009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
35301
35302 UDF fix
35303
7d83bd47 35304 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 35305 is in bytes and not in blocks
7d83bd47 35306
8ada9bc1 353072009-06-11 Pavel Roskin <proski@gnu.org>
35308
35309 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
35310 warning.
35311
25ad2323 353122009-06-11 Felix Zielcke <fzielcke@z-51.de>
35313
35314 * util/grub.d/30_os-prober.in: Fix a comment. Source
35315 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
35316 to set the root device. Place drivemap command in the generated
35317 chain entry.
35318
e65acb0c 353192009-06-11 Pavel Roskin <proski@gnu.org>
35320
35321 * configure.ac: Remove host_m32. Issues with 64-bit utilities
35322 have long been resolved.
35323
f285fe2d 353242009-06-11 Colin Watson <cjwatson@ubuntu.com>
35325
bd47b0b5 35326 * util/grub.d/10_linux.in: Capitalise "Linux".
35327
f285fe2d 35328 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
35329
a0c62e4e 353302009-06-11 Pavel Roskin <proski@gnu.org>
35331
b6783cb2 35332 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
35333 fix a gcc warning and ensure that the function won't ever exit.
35334
dde032e8 35335 * kern/i386/ieee1275/init.c: Add missing prototype for
35336 grub_stop_floppy().
35337
22cd079d 35338 * loader/ieee1275/multiboot2.c [__i386__]: Include
35339 grub/cpu/multiboot.h.
35340
a0c62e4e 35341 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
35342 casts to short - they are not portable and cause warnings. Fix
35343 use of uninitialized values in input_buf. Use ARRAY_SIZE.
35344
63963d17 353452009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
35346
35347 Drivemap fixes
35348
35349 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
35350 new function
35351 (grub_get_root_biosnumber_saved): new variable
35352 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
35353 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 35354 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 35355 %dx after the call if necessary
35356 * conf/common.rmk (pkglib_MODULES): remove boot.mod
35357 (boot_mod_SOURCES): remove
35358 (boot_mod_CFLAGS): remove
35359 (boot_mod_LDFLAGS): remove
35360 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
35361 (boot_mod_SOURCES): new variable
35362 (boot_mod_CFLAGS): likewise
35363 (boot_mod_LDFLAGS): likewise
35364 * conf/i386-efi.rmk: likewise
35365 * conf/i386-ieee1275.rmk: likewise
35366 * conf/i386-pc.rmk: likewise
35367 * conf/powerpc-ieee1275.rmk: likewise
35368 * conf/sparc64-ieee1275.rmk: likewise
35369 * conf/x86_64-efi.rmk: likewise
35370 * include/grub/i386/pc/biosnum.h: new file
35371 * lib/i386/pc/biosnum.c: likewise
35372 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
35373 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
35374 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 35375
33abf7ae 353762009-06-10 Pavel Roskin <proski@gnu.org>
35377
5ac35b35 35378 * io/gzio.c (test_header): Don't reuse one buffer for all data.
35379 Use separate variables. Read only the file size at the end, but
35380 not the checksum that we don't use.
35381
5c5215d5 35382 * kern/file.c (grub_file_read): Use void pointer for the buffer.
35383 Adjust all callers.
35384
27d5fef7 35385 * kern/ieee1275/openfw.c: Remove libc includes.
35386 * kern/ieee1275/cmain.c: Likewise.
35387 * include/grub/ieee1275/ieee1275.h: Likewise.
35388
33abf7ae 35389 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
35390 compiler warnings.
35391
19d50c2b 353922009-06-10 Felix Zielcke <fzielcke@z-51.de>
35393
35394 * Makefile.in: Remove all trailing whitespace.
35395 * conf/i386-pc.rmk: Likewise.
35396 * conf/powerpc-ieee1275.rmk: Likewise.
35397 * conf/sparc64-ieee1275.rmk: Likewise.
35398 * docs/grub.texi: Likewise.
35399 * docs/texinfo.tex: Likewise.
35400 * disk/fs_uuid.c: Likewise.
35401 * disk/lvm.c: Likewise.
35402 * disk/scsi.c: Likewise.
35403 * disk/ata.c: Likewise.
35404 * disk/ieee1275/ofdisk.c: Likewise.
35405 * disk/i386/pc/biosdisk.c: Likewise.
35406 * disk/host.c: Likewise.
35407 * disk/raid.c: Likewise.
35408 * disk/efi/efidisk.c: Likewise.
35409 * disk/usbms.c: Likewise.
35410 * disk/memdisk.c: Likewise.
35411 * disk/loopback.c: Likewise.
35412 * kern/powerpc/dl.c: Likewise.
35413 * kern/device.c: Likewise.
35414 * kern/dl.c: Likewise.
35415 * kern/sparc64/dl.c: Likewise.
35416 * kern/ieee1275/ieee1275.c: Likewise.
35417 * kern/term.c: Likewise.
35418 * kern/fs.c: Likewise.
35419 * kern/i386/dl.c: Likewise.
35420 * kern/i386/pc/startup.S: Likewise.
35421 * kern/i386/pc/init.c: Likewise.
35422 * kern/i386/pc/mmap.c: Likewise.
35423 * kern/i386/pc/lzo1x.S: Likewise.
35424 * kern/i386/ieee1275/init.c: Likewise.
35425 * kern/i386/realmode.S: Likewise.
35426 * kern/i386/tsc.c: Likewise.
35427 * kern/partition.c: Likewise.
35428 * kern/corecmd.c: Likewise.
35429 * kern/file.c: Likewise.
35430 * kern/efi/efi.c: Likewise.
35431 * kern/efi/init.c: Likewise.
35432 * kern/efi/mm.c: Likewise.
35433 * kern/main.c: Likewise.
35434 * kern/err.c: Likewise.
35435 * kern/env.c: Likewise.
35436 * kern/disk.c: Likewise.
35437 * kern/generic/millisleep.c: Likewise.
35438 * kern/generic/rtc_get_time_ms.c: Likewise.
35439 * kern/misc.c: Likewise.
35440 * kern/parser.c: Likewise.
35441 * genmk.rb: Likewise.
35442 * configure.ac: Likewise.
35443 * boot/i386/pc/diskboot.S: Likewise.
35444 * boot/i386/pc/pxeboot.S: Likewise.
35445 * boot/i386/pc/boot.S: Likewise.
35446 * boot/i386/pc/lnxboot.S: Likewise.
35447 * boot/i386/pc/cdboot.S: Likewise.
35448 * parttool/pcpart.c: Likewise.
35449 * video/readers/tga.c: Likewise.
35450 * video/video.c: Likewise.
35451 * video/bitmap.c: Likewise.
35452 * lib/envblk.c: Likewise.
35453 * lib/i386/setjmp.S: Likewise.
35454 * fs/xfs.c: Likewise.
35455 * fs/afs.c: Likewise.
35456 * fs/fat.c: Likewise.
35457 * fs/ntfs.c: Likewise.
35458 * fs/udf.c: Likewise.
35459 * fs/affs.c: Likewise.
35460 * fs/iso9660.c: Likewise.
35461 * fs/hfs.c: Likewise.
35462 * fs/fshelp.c: Likewise.
35463 * fs/ext2.c: Likewise.
35464 * fs/jfs.c: Likewise.
35465 * fs/reiserfs.c: Likewise.
35466 * fs/hfsplus.c: Likewise.
35467 * fs/minix.c: Likewise.
35468 * fs/cpio.c: Likewise.
35469 * fs/sfs.c: Likewise.
35470 * fs/ufs.c: Likewise.
35471 * efiemu/prepare.c: Likewise.
35472 * efiemu/loadcore_common.c: Likewise.
35473 * efiemu/runtime/efiemu.sh: Likewise.
35474 * efiemu/runtime/efiemu.S: Likewise.
35475 * efiemu/runtime/efiemu.c: Likewise.
35476 * efiemu/pnvram.c: Likewise.
35477 * efiemu/main.c: Likewise.
35478 * efiemu/i386/pc/cfgtables.c: Likewise.
35479 * efiemu/i386/loadcore64.c: Likewise.
35480 * efiemu/i386/loadcore32.c: Likewise.
35481 * efiemu/loadcore.c: Likewise.
35482 * efiemu/symbols.c: Likewise.
35483 * efiemu/mm.c: Likewise.
35484 * include/grub/autoefi.h: Likewise.
35485 * include/grub/datetime.h: Likewise.
35486 * include/grub/term.h: Likewise.
35487 * include/grub/hfs.h: Likewise.
35488 * include/grub/lvm.h: Likewise.
35489 * include/grub/i386/tsc.h: Likewise.
35490 * include/grub/i386/linux.h: Likewise.
35491 * include/grub/i386/xnu.h: Likewise.
35492 * include/grub/i386/efiemu.h: Likewise.
35493 * include/grub/i386/pc/biosdisk.h: Likewise.
35494 * include/grub/i386/pc/memory.h: Likewise.
35495 * include/grub/i386/pc/vbe.h: Likewise.
35496 * include/grub/parttool.h: Likewise.
35497 * include/grub/video.h: Likewise.
35498 * include/grub/memory.h: Likewise.
35499 * include/grub/fs.h: Likewise.
35500 * include/grub/partition.h: Likewise.
35501 * include/grub/xnu.h: Likewise.
35502 * include/grub/efi/api.h: Likewise.
35503 * include/grub/efi/pe32.h: Likewise.
35504 * include/grub/efi/memory.h: Likewise.
35505 * include/grub/multiboot.h: Likewise.
35506 * include/grub/usbdesc.h: Likewise.
35507 * include/grub/multiboot2.h: Likewise.
35508 * include/grub/acpi.h: Likewise.
35509 * include/grub/efiemu/efiemu.h: Likewise.
35510 * include/grub/disk.h: Likewise.
35511 * include/grub/ieee1275/ieee1275.h: Likewise.
35512 * include/grub/net.h: Likewise.
35513 * include/grub/machoload.h: Likewise.
35514 * include/grub/macho.h: Likewise.
35515 * include/multiboot.h: Likewise.
35516 * genmoddep.awk: Likewise.
35517 * normal/main.c: Likewise.
35518 * normal/menu_entry.c: Likewise.
35519 * normal/menu_viewer.c: Likewise.
35520 * normal/completion.c: Likewise.
35521 * normal/cmdline.c: Likewise.
35522 * normal/misc.c: Likewise.
35523 * normal/datetime.c: Likewise.
35524 * bus/usb/usbtrans.c: Likewise.
35525 * bus/usb/ohci.c: Likewise.
35526 * bus/usb/uhci.c: Likewise.
35527 * bus/usb/usb.c: Likewise.
35528 * mmap/efi/mmap.c: Likewise.
35529 * mmap/i386/pc/mmap_helper.S: Likewise.
35530 * mmap/i386/pc/mmap.c: Likewise.
35531 * mmap/i386/mmap.c: Likewise.
35532 * mmap/i386/uppermem.c: Likewise.
35533 * mmap/mmap.c: Likewise.
35534 * commands/acpi.c: Likewise.
35535 * commands/echo.c: Likewise.
35536 * commands/blocklist.c: Likewise.
35537 * commands/loadenv.c: Likewise.
35538 * commands/usbtest.c: Likewise.
35539 * commands/boot.c: Likewise.
35540 * commands/parttool.c: Likewise.
35541 * commands/search.c: Likewise.
35542 * commands/cat.c: Likewise.
35543 * commands/i386/pc/play.c: Likewise.
35544 * commands/i386/pc/drivemap.c: Likewise.
35545 * commands/i386/pc/vbeinfo.c: Likewise.
35546 * commands/i386/pc/acpi.c: Likewise.
35547 * commands/i386/pc/vbetest.c: Likewise.
35548 * commands/ls.c: Likewise.
35549 * commands/cmp.c: Likewise.
35550 * commands/test.c: Likewise.
35551 * commands/efi/acpi.c: Likewise.
35552 * commands/gptsync.c: Likewise.
35553 * commands/help.c: Likewise.
35554 * partmap/amiga.c: Likewise.
35555 * partmap/apple.c: Likewise.
35556 * partmap/acorn.c: Likewise.
35557 * partmap/pc.c: Likewise.
35558 * partmap/sun.c: Likewise.
35559 * partmap/gpt.c: Likewise.
35560 * script/sh/lexer.c: Likewise.
35561 * script/sh/function.c: Likewise.
35562 * font/font.c: Likewise.
35563 * font/font_cmd.c: Likewise.
35564 * loader/powerpc/ieee1275/linux.c: Likewise.
35565 * loader/efi/chainloader.c: Likewise.
35566 * loader/multiboot_loader.c: Likewise.
35567 * loader/macho.c: Likewise.
35568 * loader/i386/multiboot.c: Likewise.
35569 * loader/i386/linux.c: Likewise.
35570 * loader/i386/pc/linux.c: Likewise.
35571 * loader/i386/pc/multiboot2.c: Likewise.
35572 * loader/i386/pc/chainloader.c: Likewise.
35573 * loader/i386/pc/xnu.c: Likewise.
35574 * loader/i386/bsd_trampoline.S: Likewise.
35575 * loader/i386/efi/linux.c: Likewise.
35576 * loader/i386/multiboot_elfxx.c: Likewise.
35577 * loader/i386/bsd_helper.S: Likewise.
35578 * loader/i386/bsd.c: Likewise.
35579 * loader/i386/linux_trampoline.S: Likewise.
35580 * loader/i386/xnu_helper.S: Likewise.
35581 * loader/i386/xnu.c: Likewise.
35582 * loader/i386/bsd_pagetable.c: Likewise.
35583 * loader/i386/multiboot_helper.S: Likewise.
35584 * loader/xnu.c: Likewise.
35585 * loader/xnu_resume.c: Likewise.
35586 * io/gzio.c: Likewise.
35587 * term/efi/console.c: Likewise.
35588 * term/terminfo.c: Likewise.
35589 * term/ieee1275/ofconsole.c: Likewise.
35590 * term/i386/pc/serial.c: Likewise.
35591 * term/i386/pc/vesafb.c: Likewise.
35592 * term/i386/pc/vga.c: Likewise.
35593 * term/usb_keyboard.c: Likewise.
35594 * term/gfxterm.c: Likewise.
35595 * aclocal.m4: Likewise.
35596 * util/lvm.c: Likewise.
35597 * util/grub.d/30_os-prober.in: Likewise.
35598 * util/grub.d/10_hurd.in: Likewise.
35599 * util/console.c: Likewise.
35600 * util/grub-macho2img.c: Likewise.
35601 * util/grub-probe.c: Likewise.
35602 * util/hostfs.c: Likewise.
35603 * util/i386/pc/grub-mkimage.c: Likewise.
35604 * util/i386/pc/grub-setup.c: Likewise.
35605 * util/i386/efi/grub-mkimage.c: Likewise.
35606 * util/grub-mkconfig.in: Likewise.
35607 * util/raid.c: Likewise.
35608 * util/resolve.c: Likewise.
35609 * util/grub-mkdevicemap.c: Likewise.
35610 * util/grub-emu.c: Likewise.
35611 * util/getroot.c: Likewise.
35612 * util/hostdisk.c: Likewise.
35613 * util/usb.c: Likewise.
35614 * util/grub-editenv.c: Likewise.
35615 * util/misc.c: Likewise.
35616
d2d49665 356172009-06-10 Felix Zielcke <fzielcke@z-51.de>
35618
35619 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
35620 `genparttoollist.sh'.
35621 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
35622 Add `*.sh' to the list find searches for and change `mdate.sh'
35623 to `mdate-sh'.
35624
fe052e37 356252009-06-10 Pavel Roskin <proski@gnu.org>
35626
2763ac18 35627 * include/grub/multiboot2.h: Provide compatibility defines for
35628 multiboot2.h.
35629 * include/multiboot2.h: Include stdint.h only if needed, using
35630 angle brackets.
35631 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
35632 grub/multiboot2.h.
35633 * loader/ieee1275/multiboot2.c: Likewise.
35634 * loader/multiboot2.c: Likewise.
35635 * loader/multiboot_loader.c: Likewise.
35636
437e6adc 35637 * configure.ac: Use -nostdlib when probing for the target. It
35638 should not be required to have libc for the target.
35639
06a6836c 35640 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
35641 they fail without libc headers for the target.
35642 * include/grub/powerpc/libgcc.h: Use weak attribute for all
35643 exports.
35644 * include/grub/sparc64/libgcc.h: Likewise. Don't use
35645 preprocessor conditionals.
35646
fe052e37 35647 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
35648 build system doesn't need to be aware of the tar.c internals.
35649
afd22553 356502009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 35651
afd22553 35652 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 35653
6b787c4f 356542009-06-09 Robert Millan <rmh.grub@aybabtu.com>
35655
35656 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
35657 disk limit to 26 for IDE, Virtio, Xen and SCSI.
35658
356592009-06-09 Felix Zielcke <fzielcke@z-51.de>
35660
35661 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 35662 aren't available if ata.mod gets used.
6b787c4f 35663
473d1e45 356642009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 35665
473d1e45 35666 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 35667 initialising controller.
473d1e45 35668 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 35669
255a27d4 356702009-06-08 Felix Zielcke <fzielcke@z-51.de>
35671
35672 * util/i386/pc/grub-install.in: Add a parameter --disk-module
35673 to choose between ata and biosdisk module on i386-pc.
35674
473d1e45 356752009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 35676
d55842d8 35677 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
35678 Subclass and Programming Interface fields in terms of the 3 byte
35679 Class Code register.
35680 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35681
fa5db0b1 35682 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
35683 interface is OHCI. Add grub_dprintf for symmetry with
35684 bus/usb/uhci.c.
35685 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
35686 interface is UHCI. Add interf variable for programming
35687 interface. Print interface with class/subclass.
35688
c0947beb 35689 * bus/usb/ohci.c: Set interf with correct field.
35690
69da8877 35691 * bus/usb/uhci.c: Remove unneeded doubled lines.
35692 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
35693 Remove whitespace inside comment.
35694
9e172e30 356952009-06-08 Robert Millan <rmh.grub@aybabtu.com>
35696
35697 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
35698 as fallback an equivalent option without depth.
35699
de65ee2b 357002009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35701
35702 Not fail if unable to retrieve C/H/S on LBA disks
35703
473d1e45 35704 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 35705 if unable to retrieve C/H/S on LBA disks
35706
b57ea2c9 357072009-06-08 Pavel Roskin <proski@gnu.org>
35708
35709 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
35710 about aliasing.
35711
af361263 357122009-06-08 Felix Zielcke <fzielcke@z-51.de>
35713
35714 * Makefile.in (uninstall): Remove all $lib_DATA files.
35715
4c9ec6b3 357162009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35717
35718 Bugfix: install on partitionless device
35719
35720 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
35721 is a whole disk
35722
e76fc924 357232009-06-08 Felix Zielcke <fzielcke@z-51.de>
35724
35725 * Makefile.in (uninstall): Remove all $include_DATA files.
35726
ba5a0d05 357272009-06-08 Felix Zielcke <fzielcke@z-51.de>
35728
35729 * commands/true.c: New file. Implement the true and false commands.
35730 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
35731 (true_mod_SOURCES): New variable.
35732 (true_mod_CFLAGS): Likewise.
35733 (true_mod_LDFLAGS): Likewise.
35734
c8048e32 357352009-06-05 Colin D Bennett <colin@gibibit.com>
35736
35737 Optimized font character lookup using binary search instead of linear
35738 search. Fonts now are required to have the character index ordered by
35739 code point.
35740
35741 * font/font.c (load_font_index): Verify that fonts have ordered
35742 character indices.
35743 (find_glyph): Use binary search instead of linear search to find a
35744 character in a font.
35745
408305be 357462009-06-05 Michael Scherer <misc@mandriva.org>
35747
35748 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
35749 uses case sensitive btree.
35750 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
35751 only for case insensitive filesystems.
35752
8ee1e0d9 357532009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
35754
35755 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
35756 * conf/common.rmk (search_mod_CFLAGS): likewise
35757
a9966eb1 357582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35759
473d1e45 35760 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 35761 compensate a compiler bug
35762
9e7100fb 357632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35764
473d1e45 35765 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 35766 instead of '\b'
473d1e45 35767
ede21d71 357682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35769
35770 Definitions for creating asm symbols with Apple's CC
35771
35772 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
35773 [APPLE_CC] (VARIABLE): likewise
35774
9dbf7653 357752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35776
35777 Disable lnxboot.img when compiled
35778 with Apple's CC
35779
35780 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
35781 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
35782 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
35783 [! APPLE_CC] (CODE_LENG): skip
35784 [! APPLE_CC] (setup_sects): likewise
35785 [! APPLE_CC]: skip filling
473d1e45 35786
e93cdc3d 357872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35788
35789 Address in trampolines based on 32-bit registers when compiled
35790 with Apple's CC
35791
473d1e45 35792 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 35793 for addresses
35794 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
35795
6c688477 357962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35797
35798 Avoid aliases when compiling with Apple's CC for PCBIOS machine
35799
35800 * kern/misc.c [APPLE_CC] (memcpy): new function
35801 [APPLE_CC] (memmove): likewise
35802 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 35803 (memcpy): define alias conditionally on !APPLE_CC
6c688477 35804 (memset): likewise
35805 (abort): likewise
35806 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
35807 APPLE_CC are defined
35808 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
35809 (grub_assert_fail): make prototype conditional
35810
e37ffc5c 358112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35812
35813 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
35814
473d1e45 35815 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
35816 grub-macho2img
e37ffc5c 35817 (CLEANFILES): add grub-macho2img
35818 (grub_macho2img_SOURCES): new variable
35819 * kern/i386/pc/startup.S (bss_start): new variable
35820 (bss_end): likewise
35821 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
35822 * util/grub-macho2img.c: new file
35823
cf00df31 358242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35825
35826 Use objconv when compiling with Apple's CC
35827
35828 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
35829 (efiemu64.o): likewise
35830 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
35831 when compiling with Apple's CC
35832 (efiemu64_s.o): likewise
35833 * configure.ac: check for objconv when compiling with Apple's CC
35834 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 35835
d119a20c 358362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35837
35838 Define segment as well as section when compiling with
35839 Apple's CC
35840
35841 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
35842 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
35843 (efiemu_convert_pointer): likewise
35844 (efiemu_set_virtual_address_map): likewise
35845 (efiemu_convert_pointer): likewise
35846 (efiemu_getcrc32): likewise
35847 (init_crc32_table): likewise
35848 (reflect): likewise
35849 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
35850 (GRUB_MOD_DEP): likewise
473d1e45 35851
c8600122 358522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35853
35854 Allow a compilation without -mcmodel=large
35855
35856 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
35857 when compiled without -mcmodel=large
473d1e45 35858 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 35859 without -mcmodel=large
473d1e45 35860 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 35861 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 35862
e8df1d4e 358632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35864
35865 Remove nested functions in efiemu core
35866
35867 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 35868
cc6c3ac1 358692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35870
35871 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
35872
35873 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
35874 temporary storage
473d1e45 35875 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
35876 using Apple's CC
cc6c3ac1 35877 (grub_cpu_is_tsc_supported): likewise
35878 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 35879
3e325901 358802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35881
35882 Absolute addressing through constant with Apple's cc
35883
35884 * kern/i386/pc/startup.S: Define necessary constants
35885 and address through it when using ABS with Apple's CC
35886 * boot/i386/pc/diskboot.S: likewise
35887 * boot/i386/pc/boot.S: likewise
35888 * boot/i386/pc/lnxboot.S: likewise
35889 * boot/i386/pc/cdboot.S: likewise
35890 * mmap/i386/pc/mmap_helper.S: likewise
35891 * commands/i386/pc/drivemap_int13h.S: likewise
35892
2b167a72 358932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35894
35895 Check if compiler is apple cc
35896
35897 * Makefile.in (ASFLAGS): new variable
35898 (TARGET_ASFLAGS): likewise
35899 (TARGET_MODULE_FORMAT): likewise
35900 (TARGET_APPLE_CC): likewise
35901 (OBJCONV): likewise
35902 (TARGET_IMG_CFLAGS): likewise
35903 (TARGET_CPPFLAGS): add includedir
35904 * configure.ac: call grub_apple_cc and grub_apple_target_cc
35905 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
35906 Check for linker script only if compiler isn't Apple's CC
35907 (TARGET_MODULE_FORMAT): set
35908 (TARGET_APPLE_CC): likewise
35909 (TARGET_ASFLAGS): likewise
35910 (ASFLAGS): likewise
35911 Check for objcopy only if compiler isn't Apple's CC
35912 Check for BSS symbol only if compiler isn't Apple's CC
35913 * genmk.rb: adapt nm options if we use Apple's utils
35914 * aclocal.m4 (grub_apple_cc): new test
35915 (grub_apple_target_cc): likewise
473d1e45 35916
fb14123e 359172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35918
35919 Simplify sed expressions and improve awk
35920
35921 * Makefile.in (install-local): simplify sed expression
35922 * gencmdlist.sh: likewise
35923 * genmoddep.awk: avoid adding module as a dependency of itself
35924
5b889789 359252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35926
35927 Add missing start symbols
35928
35929 * boot/i386/pc/boot.S: add start
fb14123e 35930 * boot/i386/pc/pxeboot.S: likewise
473d1e45 35931
fd2bf2e3 359322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35933
35934 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 35935
35936 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 35937 (relocate_addresses): consider both r_addend and value at offset
35938 (make_mods_section): zerofill modinfo and header
35939 (convert_elf): write prefix here
473d1e45 35940
5389763d 359412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35942
35943 Use .asciz instead of .string
35944
35945 * i386/pc/diskboot.S: use .asciz instead of .string
35946 * i386/pc/boot.S: likewise
35947 * include/grub/dl.h (GRUB_MOD_DEP): likewise
35948 (GRUB_MOD_NAME): likewise
473d1e45 35949
3eb5ed4e 359502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35951
35952 gfxpayload support
35953
35954 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
35955 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
35956 (grub_video_setup): remove
35957 (grub_video_set_mode): new prototype
35958 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
35959 (vid_mode): remove
35960 (linux_vesafb_res): compile only on PCBIOS
35961 (grub_linux_boot): support gfxpayload
35962 * loader/i386/pc/xnu.c (video_hook): new function
35963 (grub_xnu_set_video): support gfxpayload
35964 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
35965 (DEFAULT_VIDEO_HEIGHT): likewise
35966 (DEFAULT_VIDEO_FLAGS): likewise
35967 (DEFAULT_VIDEO_MODE): new definition
35968 (video_hook): new function
35969 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 35970 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 35971 loading xnu
35972 * video/video.c (grub_video_setup): removed
473d1e45 35973 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 35974 grub_video_setup
35975
4b0e1143 359762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35977
35978 Avoid calling biosdisk in drivemap
35979
35980 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
35981 (revparse_biosdisk): likewise
35982 (list_mappings): derive name from id directly
35983 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 35984
fda6cb98 359852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
35986
35987 Script fixes
35988
35989 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
35990 (grub_lexer_param): add tokenonhold
35991 (grub_script_create_cmdline): remove cmdline. All callers updated
35992 (grub_script_function_create): make functionname
35993 grub_script_arg. All callers updated
35994 (grub_script_execute_argument_to_string): new prototype
35995 * kern/parser.c (state_transitions): reorder
35996 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 35997 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 35998 make global
35999 (grub_script_execute_cmdline): use new format
36000 * script/sh/function.c (grub_script_function_create): make functionname
36001 grub_script_arg. All callers updated
473d1e45 36002 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 36003 (grub_script_yylex): remove
36004 (grub_script_yylex2): renamed to ...
36005 (grub_script_yylex): ...renamed
36006 parse the expressions like a${b}c
36007 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
36008 (GRUB_PARSER_TOKEN_VAR): remove
36009 (GRUB_PARSER_TOKEN_NAME): likewise
36010 ("if"): declare as typeless
36011 ("while"): likewise
36012 ("function"): likewise
36013 ("else"): likewise
36014 ("then"): likewise
36015 ("fi"): likewise
36016 (text): remove
36017 (argument): likewise
36018 (script): accept empty scripts and make exit on error
36019 (arguments): use GRUB_PARSER_TOKEN_ARG
36020 (function): likewise
36021 (command): move error handling to script
36022 (menuentry): move grub_script_lexer_ref before
473d1e45 36023 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 36024 argument. All callers updated
36025
f4448a07 360262009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36027
36028 Prevent GRUB from probing floppies during boot.
36029
36030 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
36031 * commands/search.c (options): Add --no-floppy.
36032 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
36033 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
36034 --no-floppy when searching for UUIDs.
36035
2bf5885a 360362009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36037
36038 Simplify the code duplication in commands/search.c.
36039
36040 * commands/search.c (search_label, search_fs_uuid): Merge into ...
36041 (search_fs): ... this. Update all users.
36042
f6fd460a 360432009-06-03 Felix Zielcke <fzielcke@z-51.de>
36044
36045 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
36046
cbb3c83e 360472009-05-28 Pavel Roskin <proski@gnu.org>
36048
57788cfd 36049 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
36050 Remove the original symlink explicitly.
36051
cbb3c83e 36052 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
36053 just one slash. That's how grub_fshelp_find_file() does it.
36054
cd0d5e30 360552009-05-26 Pavel Roskin <proski@gnu.org>
36056
f0f8bbe2 36057 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
36058 to `str'.
36059
cd0d5e30 36060 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
36061 possibly unused.
36062
8c2cab51 360632009-05-25 Christian Franke <franke@computer.org>
36064
36065 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
36066 register.
36067 (grub_atapi_identify): Add wait after drive select.
36068 (grub_ata_identify): Do more strict status register check before
36069 calling grub_atapi_identify (). Suppress error message if status
36070 register is 0x00 after command failure. Add status register
36071 check after PIO read to avoid bogus identify due to stuck DRQ.
36072 Thanks to Pavel Roskin for testing.
36073 (grub_device_initialize): Remove unsafe status register check.
36074 Thanks to 'phcoder' for problem report and patch.
36075 Prevent sign extension in debug message.
36076
230c0ad6 360772009-05-23 Colin D Bennett <colin@gibibit.com>
36078
36079 Cleaned up `include/grub/normal.h'. Grouped prototypes by
36080 definition file, and functions defined in `normal/menu.c' have had
36081 their prototypes moved to `include/grub/menu.h' for consistency.
36082
36083 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
36084 from normal.h.
36085 (grub_menu_get_entry): Likewise.
36086 (grub_menu_get_timeout): Likewise.
36087 (grub_menu_set_timeout): Likewise.
36088 (grub_menu_execute_entry): Likewise.
36089 (grub_menu_execute_with_fallback): Likewise.
36090 (grub_menu_entry_run): Likewise.
36091
36092 * include/grub/normal.h: Re-ordered and grouped function
36093 prototypes by file that the function is defined in.
36094 (grub_menu_execute_callback): Removed; moved to menu.h.
36095 (grub_menu_get_entry): Likewise.
36096 (grub_menu_get_timeout): Likewise.
36097 (grub_menu_set_timeout): Likewise.
36098 (grub_menu_execute_entry): Likewise.
36099 (grub_menu_execute_with_fallback): Likewise.
36100 (grub_menu_entry_run): Likewise.
36101 (grub_menu_addentry): Renamed from this ...
36102 (grub_normal_add_menu_entry): ... to this.
36103
36104 * normal/main.c (grub_menu_addentry): Renamed from this ...
36105 (grub_normal_add_menu_entry): ... to this.
36106
36107 * script/sh/execute.c (grub_script_execute_menuentry): Update
36108 reference to renamed grub_menu_addentry function.
36109
861f03a5 361102009-05-23 Felix Zielcke <fzielcke@z-51.de>
36111
36112 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
36113
96b1619a 361142009-05-22 Pavel Roskin <proski@gnu.org>
36115
bf6a5fb2 36116 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
36117 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
36118 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
36119 compiling for the i386 targets, but not for the utilities.
36120
96b1619a 36121 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
36122 to grub_uint8_t.
36123 (grub_root_drive): Likewise.
36124 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
36125 remove alignment.
36126 (grub_root_drive): Change size to byte.
36127 (grub_start_addr): Remove.
36128 (grub_end_addr): Likewise.
36129 (grub_apm_bios_info): Likewise.
36130
b729776b 361312009-05-21 Felix Zielcke <fzielcke@z-51.de>
36132
36133 * normal/i386: Remove.
36134 * normal/powerpc: Likewise.
36135 * normal/sparc64: Likewise.
36136 * normal/x86_64: Likewise.
36137
0a15ce80 361382009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
36139
36140 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 36141 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 36142 * loader/i386/xnu_helper.S: Likewise
d6da58e6 36143
33db9015 361442009-05-18 Colin D Bennett <colin@gibibit.com>
36145
d6da58e6 36146 Display error messages when parsing a Lua statement fails.
36147 Previously, executing a syntactically invalid statement like
36148 ")foo" or "bar;" would silently fail.
33db9015 36149
36150 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 36151 (grub_lua_parse_line): Improved reporting of Lua parser and
36152 execution errors.
33db9015 36153
46422c89 361542009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36155
36156 Remove -Werror which causes build to fail on some systems
36157
36158 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
36159 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
36160 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 36161
22f53a96 361622009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36163
36164 trampoline for linux on 64-bit platform
36165
18f547ad 36166 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
36167 loader/i386/efi/linux_trampoline.S
36168 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 36169 declaration
d6da58e6 36170 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
36171 here
22f53a96 36172 * loader/i386/linux_trampoline.S: moved here
d6da58e6 36173 * loader/i386/efi/linux.c (allocate_pages): reserve space for
36174 trampoline
22f53a96 36175 (jumpvector): removed
36176 (grub_linux_trampoline_start): new declaration
36177 (grub_linux_trampoline_end): likewise
36178 (grub_linux_boot): use trampoline when on 64-bit platform
36179 * loader/i386/linux.c: likewise
36180
cb5a0f40 361812009-05-16 Pavel Roskin <proski@gnu.org>
36182
36183 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
36184 const to avoid a warning.
36185 (grub_lua_setenv): Likewise.
36186 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
36187 lmsg to fix a warning.
36188
334f2c28 361892009-05-16 Felix Zielcke <fzielcke@z-51.de>
36190
36191 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 36192 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36193 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
36194 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36195 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36196 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36197 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36198 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 36199
59e5d3ec 362002009-05-16 Felix Zielcke <fzielcke@z-51.de>
36201
36202 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
36203
9d87a1ba 362042009-05-16 Bean <bean123ch@gmail.com>
36205
36206 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
36207 (lua_mod_SOURCES): New variable.
36208 (lua_mod_CFLAGS): Likewise.
36209 (lua_mod_LDFLAGS): Likewise.
36210
36211 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
36212 (setjmp_mod_SOURCES): New variable.
36213 (setjmp_mod_CFLAGS): Likewise.
36214 (setjmp_LDFLAGS): Likewise.
36215
36216 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
36217 (setjmp_mod_SOURCES): New variable.
36218 (setjmp_mod_CFLAGS): Likewise.
36219 (setjmp_LDFLAGS): Likewise.
36220
36221 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36222 (setjmp_mod_SOURCES): New variable.
36223 (setjmp_mod_CFLAGS): Likewise.
36224 (setjmp_LDFLAGS): Likewise.
36225
36226 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36227 (setjmp_mod_SOURCES): New variable.
36228 (setjmp_mod_CFLAGS): Likewise.
36229 (setjmp_LDFLAGS): Likewise.
36230
36231 * normal/i386/setjmp.S: Moved from here ...
36232 * lib/i386/setjmp.S: ... Moved here
36233 * normal/x86_64/setjmp.S: Moved from here ...
36234 * lib/x86_64/setjmp.S: ... Moved here
36235 * normal/powerpc/setjmp.S: Moved from here ...
36236 * lib/powerpc/setjmp.S: ... Moved here
36237 * normal/sparc64/setjmp.S: Moved from here ...
36238 * lib/sparc64/setjmp.S: ... Moved here
36239
36240 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
36241 returns_twice in mingw.
36242
36243 * script/lua/grub_lib.c: New file.
36244 * script/lua/grub_lib.h: Likewise.
36245 * script/lua/grub_lua.h: Likewise.
36246 * script/lua/grub_main.c: Likewise.
36247 * script/lua/lapi.c: Likewise.
36248 * script/lua/lapi.h: Likewise.
36249 * script/lua/lauxlib.c: Likewise.
36250 * script/lua/lauxlib.h: Likewise.
36251 * script/lua/lbaselib.c: Likewise.
36252 * script/lua/lcode.c: Likewise.
36253 * script/lua/lcode.h: Likewise.
36254 * script/lua/ldblib.c: Likewise.
36255 * script/lua/ldebug.c: Likewise.
36256 * script/lua/ldebug.h: Likewise.
36257 * script/lua/ldo.c: Likewise.
36258 * script/lua/ldo.h: Likewise.
36259 * script/lua/ldump.c: Likewise.
36260 * script/lua/lfunc.c: Likewise.
36261 * script/lua/lfunc.h: Likewise.
36262 * script/lua/lgc.c: Likewise.
36263 * script/lua/lgc.h: Likewise.
36264 * script/lua/linit.c: Likewise.
36265 * script/lua/liolib.c: Likewise.
36266 * script/lua/llex.c: Likewise.
36267 * script/lua/llex.h: Likewise.
36268 * script/lua/llimits.h: Likewise.
36269 * script/lua/lmathlib.c: Likewise.
36270 * script/lua/lmem.c: Likewise.
36271 * script/lua/lmem.h: Likewise.
36272 * script/lua/loadlib.c: Likewise.
36273 * script/lua/lobject.c: Likewise.
36274 * script/lua/lobject.h: Likewise.
36275 * script/lua/lopcodes.c: Likewise.
36276 * script/lua/lopcodes.h: Likewise.
36277 * script/lua/loslib.c: Likewise.
36278 * script/lua/lparser.c: Likewise.
36279 * script/lua/lparser.h: Likewise.
36280 * script/lua/lstate.c: Likewise.
36281 * script/lua/lstate.h: Likewise.
36282 * script/lua/lstring.c: Likewise.
36283 * script/lua/lstring.h: Likewise.
36284 * script/lua/lstrlib.c: Likewise.
36285 * script/lua/ltable.c: Likewise.
36286 * script/lua/ltable.h: Likewise.
36287 * script/lua/ltablib.c: Likewise.
36288 * script/lua/ltm.c: Likewise.
36289 * script/lua/ltm.h: Likewise.
36290 * script/lua/lua.h: Likewise.
36291 * script/lua/luaconf.h: Likewise.
36292 * script/lua/lualib.h: Likewise.
36293 * script/lua/lundump.c: Likewise.
36294 * script/lua/lundump.h: Likewise.
36295 * script/lua/lvm.c: Likewise.
36296 * script/lua/lvm.h: Likewise.
36297 * script/lua/lzio.c: Likewise.
36298 * script/lua/lzio.h: Likewise.
36299
5e898c9d 363002009-05-16 Bean <bean123ch@gmail.com>
36301
36302 * include/grub/kernel.h (grub_module_header_types): Add type
36303 OBJ_TYPE_CONFIG.
36304
36305 * kern/main.c (grub_load_config): New function.
36306 (grub_main): Call grub_load_config to read boot config.
36307
36308 * grub-mkimage (generate_image): New parameter config_path.
36309 (options): New option --config.
36310 (main): Parse --config option, and pass it to generate_image.
36311
cf353a47 363122009-05-14 Christian Franke <franke@computer.org>
36313
36314 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
36315 This fixes build on Cygwin.
36316
3834887f 363172009-05-14 Pavel Roskin <proski@gnu.org>
36318
36319 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
36320 jump. This saves two bytes, so the typical case of 2 swapped
36321 drives would fit 32 bytes.
36322
8090fc01 363232009-05-13 Pavel Roskin <proski@gnu.org>
36324
ac963883 36325 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
36326 grub_uint32_t to avoid a warning.
36327
8090fc01 36328 * loader/i386/linux.c (allocate_pages): When assigning
36329 real_mode_mem, cast through grub_size_t to fix a warning. The
36330 code already makes sure that the value would fit a pointer.
36331 (grub_linux_setup_video): Cast render_target->data to
36332 grub_size_t to fix a warning.
36333
18f547ad 363342009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 36335
36336 * commands/i386/pc/drivemap.c: New file - implement drivemap
36337 command.
36338 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
36339 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
36340
6f6a8b28 363412009-05-13 Pavel Roskin <proski@gnu.org>
36342
36343 * util/i386/pc/grub-setup.c (setup): Remove unused variable
36344 embedding_area_exists.
36345
15fbf4c4 363462009-05-13 Robert Millan <rmh.grub@aybabtu.com>
36347
36348 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
36349 it easier to understand / work with.
59978c8a 36350 Improve warning messages for cases where there's no embedding area,
36351 or when it is too small (or core.img too large).
15fbf4c4 36352
238e871f 363532009-05-13 Pavel Roskin <proski@gnu.org>
36354
0ab3a9a4 36355 * loader/i386/pc/multiboot2.c: Add necessary includes for
36356 grub_multiboot2_real_boot().
36357
a2c8c5f8 36358 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
36359 PX record is always little-endian. We only need the lower 2
36360 bytes of the mode.
36361
faec96af 36362 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
36363 facilitate code reuse.
36364 (grub_cpio_mount): Use "struct head", not a char buffer. This
36365 fixes a warning reported by gcc 4.4.
36366
238e871f 36367 * kernel/disk.c (grub_disk_read): Use void pointer for the
36368 buffer.
36369 (grub_disk_write): Use const void pointer for the buffer.
36370 Adjust all callers. Remove unnecessary casts.
36371
901d2f0c 363722009-05-10 Robert Millan <rmh.grub@aybabtu.com>
36373
36374 * util/i386/pc/grub-install.in: Update copyright year.
36375
18f547ad 363762009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 36377
36378 gptsync
36379
36380 * commands/gptsync.c: new file
36381 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
36382 (gptsync_mod_SOURCES): new variable
36383 (gptsync_mod_CFLAGS): likewise
36384 (gptsync_mod_LDFLAGS): likewise
18f547ad 36385 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 36386 new definition
36387 (GRUB_PC_PARTITION_TYPE_HFS): likewise
36388 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
36389 * conf/i386-ieee1275.rmk: likewise
36390 * conf/i386-pc.rmk: likewise
36391 * conf/powerpc-ieee1275.rmk: likewise
36392
b4ba690a 363932009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
36394
36395 Fixed grub-emu
36396
36397 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
36398 (grub_dl_ref): likewise
36399
317e1a44 364002009-05-08 Robert Millan <rmh.grub@aybabtu.com>
36401
36402 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
36403 split in two functions (one for msdos and one for gpt).
36404
041b8094 364052009-05-08 Pavel Roskin <proski@gnu.org>
36406
752473c2 36407 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
36408 not modified.
36409
041b8094 36410 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
36411 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
36412 Initialize them with -1. Add sanity check for bad1. Eliminate
36413 nerr variable.
36414
172800ce 364152009-05-08 David S. Miller <davem@davemloft.net>
36416
36417 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
36418
29aa5e81 364192009-05-06 Robert Millan <rmh.grub@aybabtu.com>
36420
36421 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 36422 existence.
29aa5e81 36423
96613b62 364242009-05-05 Felix Zielcke <fzielcke@z-51.de>
36425
36426 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 36427 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 36428
eef73c8a 364292009-05-05 David S. Miller <davem@davemloft.net>
36430
36431 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
36432
119494b5 364332009-05-05 Pavel Roskin <proski@gnu.org>
36434
36435 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
36436 of grub_dl_ref() and grub_dl_unref().
36437 * commands/parttool.c: Remove preprocessor conditionals around
36438 grub_dl_ref() and grub_dl_unref().
36439 * fs/affs.c: Likewise.
36440 * fs/afs.c: Likewise.
36441 * fs/cpio.c: Likewise.
36442 * fs/ext2.c: Likewise.
36443 * fs/fat.c: Likewise.
36444 * fs/hfs.c: Likewise.
36445 * fs/hfsplus.c: Likewise.
36446 * fs/iso9660.c: Likewise.
36447 * fs/jfs.c: Likewise.
36448 * fs/minix.c: Likewise.
36449 * fs/ntfs.c: Likewise.
36450 * fs/reiserfs.c: Likewise.
36451 * fs/sfs.c: Likewise.
36452 * fs/udf.c: Likewise.
36453 * fs/ufs.c: Likewise.
36454 * fs/xfs.c: Likewise.
36455 * include/grub/dl.h: Likewise.
36456 * loader/xnu.c: Likewise.
36457
de5fd76e 364582009-05-04 Pavel Roskin <proski@gnu.org>
36459
36460 * commands/acpi.c: Remove unused variable my_mod.
36461 * partmap/amiga.c: Likewise.
36462 * partmap/apple.c: Likewise.
36463 * partmap/gpt.c: Likewise.
36464 * partmap/pc.c: Likewise.
36465 * partmap/sun.c: Likewise.
36466 * term/gfxterm.c: Likewise.
36467 * term/i386/pc/vesafb.c: Likewise.
36468 * term/i386/pc/vga.c: Likewise.
36469
983598ad 364702009-05-04 David S. Miller <davem@davemloft.net>
36471
36472 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
36473 pointer args to grub_ieee1275_get_property().
36474
8aadec43 36475 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
36476
9554b15e 36477 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
36478 devices, and do not traverse down under controller nodes.
36479
67e23c90 36480 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
36481 (grub_ofdisk_open): Use it to un-escape "," characters.
36482 * kern/disk.c (find_part_sep): New.
36483 (grub_disk_open): Use it to find the first non-escaped ','
36484 character in the disk name.
36485 * util/ieee1275/devicemap.c (escape_of_path): New.
36486 (grub_util_emit_devicemap_entry): Use it.
36487 * util/sparc64/ieee1275/grub-install.in: Update script to
36488 strip partition specifiers properly by not triggering on
36489 '\' escaped ',' characters.
36490
74bfdd2f 364912009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36492
36493 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
36494 to 0x300.
36495 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
36496 resolutions.
36497 (linux_vesafb_modes): Add a lot of additional modes to the list (based
36498 on documentation from Wikipedia).
36499
4241d2b1 365002009-05-04 Pavel Roskin <proski@gnu.org>
36501
36502 * disk/ata.c: Spelling fixes.
36503 * disk/raid.c: Likewise.
36504 * disk/usbms.c: Likewise.
36505 * disk/dmraid_nvidia.c: Likewise.
36506 * kern/ieee1275/openfw.c: Likewise.
36507 * kern/ieee1275/init.c: Likewise.
36508 * kern/ieee1275/cmain.c: Likewise.
36509 * boot/i386/pc/cdboot.S: Likewise.
36510 * video/readers/png.c: Likewise.
36511 * video/i386/pc/vbe.c: Likewise.
36512 * fs/udf.c: Likewise.
36513 * fs/hfs.c: Likewise.
36514 * fs/reiserfs.c: Likewise.
36515 * efiemu/runtime/efiemu.c: Likewise.
36516 * efiemu/main.c: Likewise.
36517 * efiemu/mm.c: Likewise.
36518 * include/grub/elf.h: Likewise.
36519 * include/grub/xnu.h: Likewise.
36520 * include/grub/usbdesc.h: Likewise.
36521 * include/grub/usb.h: Likewise.
36522 * include/grub/script_sh.h: Likewise.
36523 * include/grub/lib/LzmaEnc.h: Likewise.
36524 * include/grub/efiemu/efiemu.h: Likewise.
36525 * include/grub/command.h: Likewise.
36526 * normal/menu.c: Likewise.
36527 * normal/main.c: Likewise.
36528 * normal/datetime.c: Likewise.
36529 * bus/usb/uhci.c: Likewise.
36530 * mmap/i386/uppermem.c: Likewise.
36531 * mmap/mmap.c: Likewise.
36532 * commands/acpi.c: Likewise.
36533 * commands/test.c: Likewise.
36534 * partmap/apple.c: Likewise.
36535 * font/font.c: Likewise.
36536 * loader/sparc64/ieee1275/linux.c: Likewise.
36537 * loader/macho.c: Likewise.
36538 * loader/i386/bsd_trampoline.S: Likewise.
36539 * loader/i386/bsd.c: Likewise.
36540 * loader/xnu.c: Likewise.
36541 * term/i386/pc/vesafb.c: Likewise.
36542 * term/usb_keyboard.c: Likewise.
36543 * util/resolve.c: Likewise.
36544 * util/getroot.c: Likewise.
36545
0cfc0083 365462009-05-04 Felix Zielcke <fzielcke@z-51.de>
36547
36548 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
36549
7c1d00cd 365502009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36551
36552 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
36553 build error.
36554
b01f0548 365552009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36556
36557 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
36558 parameter only available on BIOS.
36559
ecc3eb22 365602009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36561
36562 Removed wrong semicolon in declaration
36563
36564 * grub/misc.h (grub_dprintf): remove semicolon
36565
112972a9 365662009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36567
36568 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
36569 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
36570 is done by grub_cmd_linux() now).
36571 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
36572 restore video to text mode.
36573 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
36574 indicates lack of "vga=" parameter. "vga=0" is mapped to
36575 `GRUB_LINUX_VID_MODE_NORMAL'.
36576
afd5c115 365772009-05-04 Felix Zielcke <fzielcke@z-51.de>
36578
36579 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
36580 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
36581 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 36582 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 36583 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
36584 `grub_script.tab.c'.
36585
36586 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36587 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36588 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36589 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36590 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36591
faa517ce 36592 * Makefile.in: Remove duplicated 2008 in Copyright line.
36593
ae0c0bdc 365942009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36595
473d1e45 36596 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 36597 unconditionally.
36598 * include/grub/util/misc.h (grub_util_warn): New declaration.
36599
36600 * util/i386/pc/grub-install.in: Understand --force and pass it down
36601 to grub-setup.
36602
36603 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
36604 down to setup().
36605 (setup): Improve error messages and add warnings when requested to
36606 install in odd layouts. Refuse to install using blocklists unless
36607 --force was set.
36608
18f547ad 366092009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 36610
36611 * disk/raid.c (grub_raid_scan_device): Improve debug message.
36612
6d260daa 366132009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36614
36615 Updated copyright year
36616
36617 * fs/hfsplus.c: updated copyright year
18f547ad 36618
69f853f8 366192009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36620
36621 HFS+ UUID
36622
18f547ad 36623 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 36624 in the space previously used by unused3
36625 (grub_hfsplus_uuid): new function
36626 (grub_hfsplus_fs): added uuid field
36627
4c402e73 366282009-05-03 Pavel Roskin <proski@gnu.org>
36629
36630 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
36631 suppress warnings. It's no longer needed.
36632 * disk/host.c: Likewise.
36633 * disk/ata_pthru.c: Likewise.
36634 * disk/loopback.c: Likewise.
36635 * hook/datehook.c: Likewise.
36636 * parttool/pcpart.c: Likewise.
36637 * fs/i386/pc/pxe.c: Likewise.
36638 * fs/ntfscomp.c: Likewise.
36639 * efiemu/main.c: Likewise.
36640 * mmap/mmap.c: Likewise.
36641 * commands/crc.c: Likewise.
36642 * commands/hexdump.c: Likewise.
36643 * commands/hdparm.c: Likewise.
36644 * commands/acpi.c: Likewise.
36645 * commands/echo.c: Likewise.
36646 * commands/minicmd.c: Likewise.
36647 * commands/blocklist.c: Likewise.
36648 * commands/memrw.c: Likewise.
36649 * commands/loadenv.c: Likewise.
36650 * commands/usbtest.c: Likewise.
36651 * commands/lsmmap.c: Likewise.
36652 * commands/boot.c: Likewise.
36653 * commands/parttool.c: Likewise.
36654 * commands/configfile.c: Likewise.
36655 * commands/search.c: Likewise.
36656 * commands/ieee1275/suspend.c: Likewise.
36657 * commands/cat.c: Likewise.
36658 * commands/i386/pc/pxecmd.c: Likewise.
36659 * commands/i386/pc/play.c: Likewise.
36660 * commands/i386/pc/halt.c: Likewise.
36661 * commands/i386/pc/vbeinfo.c: Likewise.
36662 * commands/i386/pc/vbetest.c: Likewise.
36663 * commands/lspci.c: Likewise.
36664 * commands/date.c: Likewise.
36665 * commands/handler.c: Likewise.
36666 * commands/ls.c: Likewise.
36667 * commands/test.c: Likewise.
36668 * commands/cmp.c: Likewise.
36669 * commands/efi/loadbios.c: Likewise.
36670 * commands/efi/fixvideo.c: Likewise.
36671 * commands/halt.c: Likewise.
36672 * commands/help.c: Likewise.
36673 * commands/reboot.c: Likewise.
36674 * hello/hello.c: Likewise.
36675 * script/sh/main.c: Likewise.
36676 * loader/xnu.c: Likewise.
36677 * term/terminfo.c: Likewise.
36678 * term/i386/pc/serial.c: Likewise.
36679 * term/usb_keyboard.c: Likewise.
36680
515b5079 366812009-05-03 David S. Miller <davem@davemloft.net>
36682
36683 * normal/menu.c: Include grub/parser.h
36684
dfc31a22 366852009-05-03 Pavel Roskin <proski@gnu.org>
36686
2fee74f1 36687 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
36688 not char*.
36689 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
36690 Suggested by Javier Martín <lordhabbit@gmail.com>
36691
dfc31a22 36692 * util/i386/pc/grub-mkrescue.in: Allow for the case when
36693 efiemu??.o doesn't exist.
36694 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
36695 copying.
36696
18f547ad 366972009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 36698
36699 FreeBSD 64-bit support
36700
18f547ad 36701 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 36702 and loader/i386/bsd_trampoline.S
36703 (bsd_mod_ASFLAGS): new variable
36704 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
36705 (FREEBSD_MODTYPE_KERNEL64): likewise
36706 (grub_bsd64_trampoline_start): likewise
36707 (grub_bsd64_trampoline_end): likewise
36708 (grub_bsd64_trampoline_selfjump): likewise
36709 (grub_bsd64_trampoline_gdt): likewise
36710 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
36711 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
36712 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
36713 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 36714 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 36715 of "attrib" member
36716 * loader/i386/bsd_pagetable.c: new file
36717 * loader/i386/bsd_trampoline.S: likewise
36718 * loader/i386/bsd.c (ALIGN_QWORD): new macro
36719 (ALIGN_VAR): likewise
36720 (entry_hi): new variable
36721 (kern_end_mdofs): likewise
36722 (is_64bit): likewise
36723 (grub_freebsd_add_meta): use ALIGN_VAR
36724 (grub_e820_mmap): new declaration
36725 (grub_freebsd_add_mmap): new function
36726 (grub_freebsd_add_meta_module): support 64 bit kernels
36727 (grub_freebsd_list_modules): use ALIGN_VAR
36728 (gdt_descriptor): new declaration
36729 (grub_freebsd_boot): support 64 bit kernels
36730 (grub_bsd_elf64_hook): new function
36731 (grub_bsd_load_elf): support elf64
36732
038c5720 367332009-05-03 Bean <bean123ch@gmail.com>
36734
36735 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
36736 after we get the result of if statement.
36737
fc45fb58 367382009-05-03 Bean <bean123ch@gmail.com>
36739
36740 * Makefile.in (enable_efiemu): New variable.
36741
36742 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
36743 set.
36744 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
36745 path.
36746 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
36747 path, add -mno-red-zone option.
36748 (efiemu64_s.o): Likewise.
36749 (efiemu64.o): Use macro $^ for source file.
36750
36751 * configure.ac (--enable-efiemu): New option.
36752
bbee0f2b 367532009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
36754
36755 xnu support
36756
36757 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
36758 (pkglib_MODULES): add xnu.mod
36759 (xnu_mod_SOURCES): new variable
36760 (xnu_mod_CFLAGS): likewise
36761 (xnu_mod_LDFLAGS): likewise
36762 (xnu_mod_ASFLAGS): likewise
36763 * conf/i386-pc.rmk: likewise
36764 * conf/x86_64-efi.rmk: likewise
7dd4a573 36765 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 36766 new declaration
36767 * include/grub/i386/macho.h: new file
36768 * include/grub/i386/xnu.h: likewise
36769 * include/grub/macho.h: likewise
36770 * include/grub/machoload.h: likewise
36771 * include/grub/x86_64/macho.h: likewise
36772 * include/grub/x86_64/xnu.h: likewise
36773 * include/grub/xnu.h: likewise
36774 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
36775 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
36776 * loader/i386/efi/xnu.c: new file
36777 * loader/i386/pc/xnu.c: likewise
36778 * loader/i386/xnu.c: likewise
36779 * loader/i386/xnu_helper.S: likewise
36780 * loader/macho.c: likewise
36781 * loader/xnu.c: likewise
36782 * loader/xnu_resume.c: likewise
36783 * util/grub-dumpdevtree: likewise
36784 * include/grub/i386/pit.h: include grub/err.h
36785 (grub_pit_wait): export
36786 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 36787
5caf964d 367882009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
36789
36790 Efiemu
7dd4a573 36791
5caf964d 36792 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 36793 _linux_efi, linux_efi.
36794 new files in grub-emu
5caf964d 36795 new targets efiemu32.o and efiemu64.o
36796 * loader/linux_normal_efiemu.c: likewise
36797 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 36798 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 36799 files to copy
36800 * include/grub/autoefi.h: new file
7dd4a573 36801 * include/grub/i386/efiemu.h: likewise
5caf964d 36802 * include/grub/i386/pc/efiemu.h: likewise
36803 * include/grub/efi/api.h: add LL suffix when necessary
36804 new definitions relating to tables
36805 * include/grub/efiemu/efiemu.h: new file
36806 * include/grub/efiemu/runtime.h: likewise
36807 * efiemu/prepare.c: likewise
36808 * efiemu/loadcore_common.c: likewise
36809 * efiemu/loadcore64.c: likewise
36810 * efiemu/runtime/efiemu.sh: likewise
36811 * efiemu/runtime/efiemu.S: likewise
36812 * efiemu/runtime/efiemu.c: likewise
36813 * efiemu/runtime/config.h: likewise
36814 * efiemu/prepare32.c: likewise
36815 * efiemu/main.c: likewise
36816 * efiemu/modules/pnvram.c: likewise
36817 * efiemu/modules/i386: likewise
36818 * efiemu/modules/i386/pc: likewise
36819 * efiemu/modules/acpi.c: likewise
36820 * efiemu/i386/pc/cfgtables.c: likewise
36821 * efiemu/i386/loadcore64.c: likewise
36822 * efiemu/i386/loadcore32.c: likewise
36823 * efiemu/prepare64.c: likewise
36824 * efiemu/loadcore.c: likewise
36825 * efiemu/symbols.c: likewise
36826 * efiemu/mm.c: likewise
36827 * efiemu/loadcore32.c: likewise
7dd4a573 36828
368292009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 36830
36831 ACPI spoofing
36832
36833 * commands/acpi.c: new file
36834 * commands/i386/pc/acpi.c: likewise
36835 * commands/efi/acpi.c: likewise
36836 * include/grub/acpi.h: likewise
36837 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
36838 (acpi_mod_SOURCES): new variable
36839 (acpi_mod_CFLAGS): likewise
36840 (acpi_mod_LDFLAGS): likewise
36841 * conf/i386-efi.rmk: likewise
36842 * conf/x86_64-efi.rmk: likewise
36843
7dd4a573 368442009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 36845
36846 Missing part from mmap patch
36847
36848 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
36849 (grub_mmap_unregister)
36850 (grub_mmap_free_and_unregister): use grub_mmap_register
36851
7dd4a573 368522009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 36853
36854 Mmap services
36855
36856 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
36857 * loader/i386/linux.c (find_mmap_size): likewise
36858 (allocate_pages): likewise
36859 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
36860 (grub_fill_multiboot_mmap): likewise
36861 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
36862 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
36863 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
36864 (OPENBSD_MMAP_RESERVED): likewise
36865 * include/grub/i386/pc/memory.h: include grub/memory.h
36866 (grub_lower_mem): removed
36867 (grub_upper_mem): likewise
36868 (GRUB_MACHINE_MEMORY_ACPI): new definition
36869 (GRUB_MACHINE_MEMORY_NVS): likewise
36870 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
36871 (GRUB_MACHINE_MEMORY_HOLE): likewise
36872 (grub_machine_mmap_register): likewise
36873 (grub_machine_mmap_unregister): likewise
36874 (grub_machine_get_upper): likewise
36875 (grub_machine_get_lower): likewise
36876 (grub_machine_get_post64): likewise
36877 * include/grub/i386/efi/memory.h: new file
36878 * include/grub/x86_64/efi/memory.h: likewise
36879 * include/grub/efi/memory.h: likewise
36880 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
36881 (mmap_mod_SOURCES): new variable
36882 (mmap_mod_LDFLAGS): likewise
36883 (mmap_mod_ASFLAGS): likewise
36884 * conf/i386-coreboot.rmk: likewise
36885 * conf/i386-ieee1275.rmk: likewise
36886 * conf/i386-efi.rmk: likewise
36887 * conf/x86_64-efi.rmk: likewise
36888 * include/grub/types.h (UINT_TO_PTR): new macro
36889 (PTR_TO_UINT32): likewise
36890 (PTR_TO_UINT64): likewise
36891 * include/grub/memory.h: new file
36892 * mmap/i386/pc/mmap.c: likewise
36893 * mmap/i386/pc/mmap_helper.S: likewise
36894 * mmap/i386/uppermem.c: likewise
36895 * mmap/mmap.c: likewise
36896 * mmap/efi/mmap.c: likewise
7dd4a573 36897 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 36898 grub_upper_mem
36899 * kern/i386/pc/init.c (grub_lower_mem): removed variable
36900 (grub_upper_mem): likewise
36901 (grub_machine_init): don't use grub_upper_mem,
36902 make grub_lower_mem local
36903 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
36904 grub_mmap_iterate and grub_mmap_get_upper
36905 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
36906
d558e6b5 369072009-05-02 Bean <bean123ch@gmail.com>
36908
36909 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
36910 script/sh/parser.y.
36911 (pkglib_MODULES): Add normal.mod and sh.mod.
36912 (normal_SOURCES): New variable.
36913 (normal_mod_CFLAGS): Likewise.
36914 (normal_mod_LDFLAGS): Likewise.
36915 (sh_mod_SOURCES): Likewise.
36916 (sh_mod_CFLAGS): Likewise.
36917 (sh_mod_LDFLAGS): Likewise.
36918
36919 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
36920 script/sh/lexer.c_DEPENDENCIES.
36921 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
36922 kern/rescue_reader.c and kern/rescue_parser.c.
36923 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
36924 (grub_emu_SOURCES): Change source files.
36925 (pkglib_MODULES): Remove normal.mod.
36926 (normal_SOURCES): Removed.
36927 (normal_mod_CFLAGS): Likewise.
36928 (normal_mod_LDFLAGS): Likewise.
36929 * conf/i386-coreboot.rmk: Likewise.
36930 * conf/i386-efi.rmk: Likewise.
36931 * conf/i386-ieee1276.rmk: Likewise.
36932 * conf/powerpc-ieee1275.rmk: Likewise.
36933 * conf/sparc64-ieee1275.rmk: Likewise.
36934 * conf/x86_64-efi.rmk: Likewise.
36935
36936 * include/grub/command.h (grub_command_execute): New inline function.
36937
36938 * include/grub/menu.h (grub_menu_entry): Removed commands field.
36939
36940 * include/grub/normal.h: Remove <grub/setjmp.h>.
36941 (grub_fs_module_list): Moved to normal/autofs.c.
36942 (grub_exit_env): Removed.
36943 (grub_command_execute): Likewise.
36944 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
36945 parameter script.
36946 (read_command_list): New function declaration.
36947 (read_fs_list): Likewise.
36948
36949 * include/parser.h: Include <grub/reader.h>.
36950 (grub_parser_split_cmdline): Change type of getline parameter.
36951 (grub_parser): New structure.
36952 (grub_parser_class): New variable.
36953 (grub_parser_execute): New function declaration.
36954 (grub_register_rescue_parser): Likewise.
36955 (grub_parser_register): New inline function.
36956 (grub_parser_unregister): Likewise.
36957 (grub_parser_get_current): Likewise.
36958 (grub_parser_set_current): Likewise.
36959
36960 * include/grub/reader.h: New file.
36961 * kern/reader.c: Likewise.
36962 * kern/rescue_parser.c: Likewise.
36963 * kern/rescue_reader.c: Likewise.
36964 * normal/autofs.c: Likewise.
36965 * normal/dyncmd.c: Likewise.
36966
36967 * include/grub/rescue.h: Removed.
36968 * normal/command.h: Likewise.
36969
36970 * include/grub/script.h: Moved to ...
36971 * include/grub/script_sh.h: ... Moved here.
36972 * normal/execute.c: Moved to ...
36973 * script/sh/execute.c: ... Moved here.
36974 * normal/function.c: Moved to ...
36975 * script/sh/function.c: ... Moved here.
36976 * normal/lexer.c: Moved to ...
36977 * script/sh/lexer.c: ... Moved here.
36978 * normal/parser.y: Moved to ...
36979 * script/sh/parser.y: ... Moved here.
36980 * normal/script.c: Moved to ...
36981 * script/sh/script.c: ... Moved here.
36982
36983 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
36984 <grub/reader.h>.
36985 (grub_exit_env): Removed.
36986 (fs_module_list): Moved to normal/autofs.c.
36987 (grub_file_getline): Don't handle comment here.
36988 (free_menu): Skip removed field entry->commands.
36989 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
36990 script parameter.
36991 (read_config_file): Removed nested parameter, change getline function.
36992 (grub_enter_normal_mode): Removed.
36993 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
36994 (read_command_list): Likewise.
36995 (autoload_fs_module): Moved to normal/autofs.c.
36996 (read_fs_list): Likewise.
36997 (reader_nested): New variable.
36998 (grub_normal_execute): Run parser.sh to switch to sh parser.
36999 (grub_cmd_rescue): Removed.
37000 (cmd_normal): Removed.
37001 (grub_cmd_normal): Unregister itself at the beginning. Don't register
37002 rescue command.
37003 (grub_cmdline_run): New function.
37004 (grub_normal_reader_init): Likewise.
37005 (grub_normal_read_line): Likewise.
37006 (grub_env_write_pager): Likewise.
37007 (cmdline): New variable.
37008 (grub_normal_reader): Likewise.
37009 (GRUB_MOD_INIT): Register normal reader and set as current, register
37010 pager hook, register normal command with grub_register_command_prio,
37011 so that it won't show up in command.lst.
37012 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
37013 grub_fs_autoload_hook.
37014
37015 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
37016 (grub_menu_execute_entry): Replace grub_script_execute with
37017 grub_parser_execute, change parameter to grub_command_execute.
37018
37019 * normal/menu_text.c: Remove <grub/script.h>.
37020
37021 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
37022 and <grub/parser.h>.
37023 (run): Change editor_getline to use new parser interface. Change
37024 parameter to grub_command_execute.
37025
37026 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
37027 <grub/reader.h> and <grub/parser.h>.
37028 (grub_load_normal_mode): Execute normal command.
37029 (grub_main): Call grub_register_core_commands,
37030 grub_register_rescue_parser and grub_register_rescue_reader, use
37031 grub_reader_loop to enter input loop.
37032
7dd4a573 37033 * kern/parser.c (grub_parser_split_cmdline): Change type of
37034 getline parameter.
d558e6b5 37035 (grub_parser_class): New variable.
37036 (grub_parser_execute): New function.
37037
37038 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
37039 * loader/multiboot2.c: Likewise.
37040 * loader/sparc64/ieee1275/linux.c: Likewise.
37041
37042 * util/grub-emu.c (read_command_list): New dummy function.
37043
18db813d 370442009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37045
37046 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
37047 count to 16 for CCISS and IDA.
37048
6c67de15 370492009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37050
37051 * normal/menu_text.c (grub_wait_after_message): Print a newline
37052 after waiting for user input.
37053
37054 * loader/i386/linux.c: Include `<grub/normal.h>'.
37055 (grub_cmd_linux): Improve the error message about `ask' mode, by
37056 waiting for user input so it's not missed (we can do this, since
37057 user requested interaction).
37058
d9dc87b0 370592009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37060
37061 Added missing lst to grub-mkrescue
37062
37063 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
37064 and ${input_dir}/parttool.lst
37065
ac8a2baa 370662009-04-30 David S. Miller <davem@davemloft.net>
37067
ad22a610 37068 * util/hostdisk.c (device_is_wholedisk): New function.
37069 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
37070 zero only if device_is_wholedisk() returns true.
37071
6966215d 37072 * util/hostdisk.c (convert_system_partition_to_system_disk):
37073 Handle virtual disk devices named /dev/vdiskX as found on sparc
37074 and powerpc.
37075
ac8a2baa 37076 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
37077 lettered partition specifier is found, convert to numbered.
37078
979b4fb4 370792009-04-29 David S. Miller <davem@davemloft.net>
37080
e2bf39b2 37081 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
37082 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37083
3c64e104 37084 * normal/command.c: Add missing newline at end of file.
37085
979b4fb4 37086 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
37087 warnings.
37088 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
37089 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
37090 grub_ofdisk_read): Likewise, and deal similarly with the fact that
37091 ihandles have a 32-bit type but need to be stored in a "void *".
37092
136d9f82 370932009-04-28 Pavel Roskin <proski@gnu.org>
37094
9459c306 37095 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
37096 not disk. Adjust all dependencies.
2e08a26a 37097 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 37098 grub_disk_close().
37099
136d9f82 37100 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
37101 parent's partition, don't copy it by reference, as it gets freed
37102 on close.
37103
7dd4a573 371042009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 37105
37106 Preboot hooks support
37107
37108 * commands/boot.c (struct grub_preboot_t): new declaration
37109 (preboots_head): new variable
37110 (preboots_tail): likewise
37111 (grub_loader_register_preboot_hook): new function
37112 (grub_loader_unregister_preboot_hook): likewise
37113 (grub_loader_set): launch preboot hooks
37114 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
37115 (grub_loader_register_preboot_hook): new declaration
37116 (grub_loader_unregister_preboot_hook): likewise
37117
5af922b5 371182009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
37119
37120 Warning fix
37121
7dd4a573 37122 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 37123 calling grub_dprintf
37124
a5562c30 371252009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
37126
37127 Bug and warning fixes
37128
7dd4a573 37129 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 37130 declaration
37131 * commands/test.c (test_parse): fixed bug with file tests and corrected
37132 declaration of find_file
37133
4006f85c 371342009-04-26 Pavel Roskin <proski@gnu.org>
37135
37136 * Makefile.in: Don't install empty manual pages if help2man is
37137 missing. Use help2man option for output, not shell redirection.
37138
5c77c3de 371392009-04-26 David S. Miller <davem@davemloft.net>
37140
37141 * util/grub-mkdevicemap.c (make_device_map): Add missing
37142 NESTED_FUNC_ATTR to process_device().
37143
033b10a8 371442009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37145
37146 Test command
37147
37148 * commands/test.c: rewritten to use bash-like test
37149
e4343593 371502009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37151
37152 Parttool autoloading and improvements
37153
7dd4a573 37154 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 37155 (parttool.lst): new target
37156 * genmk.rb: generate parttool-*
37157 (CLEANFILES): add #{parttool}
37158 (PARTTOOLFILES): new variable
37159 * genparttoollist.sh: new file
7dd4a573 37160 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 37161 (grub_pcpart_type): likewise
37162 * commands/parttool.c (helpmsg): new variable
37163 (grub_cmd_parttool): output help if not enough arguments are supplied
37164 autoload modules
37165 (GRUB_MOD_INIT(parttool)): use helpmsg
37166
0d312500 371672009-04-24 David S. Miller <davem@davemloft.net>
37168
7dd4a573 37169 Avoiding opening same device multiple times in device iterator.
0d312500 37170
37171 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 37172 and use it to build a list of partitions in iterate_disk() and
0d312500 37173 iterate_partition().
37174
ac20caff 37175 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
37176 on disk->data.
37177
0dcf7495 37178 * disk/ieee1275/nand.c (grub_nand_iterate): Return
37179 grub_devalias_iterate() result instead of unconditional 0.
37180 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
37181 Also, capture hook return value, either directly or via
37182 grub_children_iterate(), and propagate to caller.
37183 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
37184 grub_children_iterate): Return value is now 'int' instead of
37185 'grub_err_t'.
37186 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
37187 like a proper iterator, stopping when hooks return non-zero.
37188 (grub_devalias_iterate): Likewise.
37189
c8c08833 371902009-04-23 David S. Miller <davem@davemloft.net>
37191
37192 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
37193
f01005a8 371942009-04-22 David S. Miller <davem@davemloft.net>
37195
37196 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
37197 is larger than address_cells, use that value for address_cells too.
37198
4e8269da 37199 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
37200 IEEE1275_MAX_PATH_LEN): Define.
37201 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
37202 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
37203 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
37204 'devtype'. Explicitly NULL terminate devalias expansion.
37205
a1447506 37206 * util/sparc64/ieee1275/misc.c: New file.
37207 * util/sparc64/ieee1275/grub-setup.c: New file.
37208 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
37209 * util/sparc64/ieee1275/grub-mkimage.c: New file.
37210 * util/sparc64/ieee1275/grub-install.in: New file.
37211 * util/ieee1275/ofpath.c: New file.
37212 * util/ieee1275/devicemap.c: New file.
37213 * util/devicemap.c: New file.
37214 * util/deviceiter.c: New file.
37215 * kern/sparc64/ieee1275/init.c: New file.
37216 * include/grub/util/ofpath.h: New file.
37217 * include/grub/util/deviceiter.h: New file.
37218 * util/grub-mkdevicemap.c: Include deviceiter.h.
37219 Implement using grub_util_emit_devicemap_entry and
37220 grub_util_iterate_devices.
37221 * conf/i386-corebook.rmk: Build util/deviceiter.c and
37222 util/devicemap.c into grub-mkdevicemap
37223 * conf/i386-efi.rmk: Likewise.
37224 * conf/i386-ieee1275.rmk: Likewise.
37225 * conf/i386-pc.rmk: Likewise.
37226 * conf/powerpc-ieee1275.rmk: Likewise.
37227 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
37228 images and installation utilities. Build kernel as image
37229 instead of as elf binary. Use common rules as much as possible.
37230
7dd4a573 372312009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 37232
37233 Correct GPT definition
37234
7dd4a573 37235 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 37236 of "attrib" member
37237
c6c5219f 372382009-04-19 Felix Zielcke <fzielcke@z-51.de>
37239
37240 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
37241
0552ff9f 372422009-04-19 David S. Miller <davem@davemloft.net>
37243
37244 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
37245 (grub_rescue_cmd_linux): Rename to...
37246 (grub_cmd_linux): and fix prototype.
37247 (grub_rescue_cmd_initrd): Rename to...
37248 (grub_cmd_initrd): and fix prototype.
37249 (cmd_linux, cmd_initrd): New.
37250 (GRUB_MOD_INIT(linux)): Use grub_register_command().
37251 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
37252
d1a282fc 372532009-04-17 Pavel Roskin <proski@gnu.org>
37254
07c5039f 37255 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
37256 format.
37257 (grub_ohci_transfer): Likewise.
37258
b012002d 37259 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
37260
1bc09c35 37261 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
37262 return without a value. Fix inconsistent indentation.
37263
e0ff9126 37264 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
37265 match struct grub_fs.
37266
d1a282fc 37267 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
37268 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
37269 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37270 * commands/lspci.c (grub_lspci_iter): Likewise.
37271
a96df3f2 372722009-04-16 Bean <bean123ch@gmail.com>
37273
37274 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
37275 value.
37276
41bb0fe9 372772009-04-15 Pavel Roskin <proski@gnu.org>
37278
37279 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
37280 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
37281 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
37282 definitions.
37283
596c6970 372842009-04-15 Felix Zielcke <fzielcke@z-51.de>
37285
37286 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 37287 that no multiple data or metadata areas are supported and `Unknown
596c6970 37288 metadata header'.
37289
7dd4a573 372902009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 37291
37292 Move loader out of the kernel
37293
37294 * kern/loader.c: moved to ...
37295 * commands/boot.c: ... moved here
37296 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
37297 * commands/boot.c (grub_cmd_boot): moved here. All users updated
37298 * include/grub/kernel.h (grub_machine_fini): export
37299 * include/grub/loader.h (grub_loader_is_loaded): update declaration
37300 (grub_loader_set): likewise
37301 (grub_loader_unset): likewise
37302 (grub_loader_boot): likewise
37303 * conf/common.rmk: new module boot.mod
37304 (pkglib_MODULES): add boot.mod
37305 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
37306 (grub_emu_SOURCES): likewise
37307 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
37308 (grub_emu_SOURCES): likewise
37309 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
37310 (grub_emu_SOURCES): likewise
37311 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
37312 (grub_emu_SOURCES): likewise
37313 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
37314 (grub_emu_SOURCES): likewise
7dd4a573 37315 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
37316 (grub_emu_SOURCES): likewise
0d5d5653 37317 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 37318 (grub_emu_SOURCES): likewise
0d5d5653 37319
7dd4a573 373202009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 37321
37322 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 37323
5999d619 37324 * kern/misc.c (grub_itoa): Removed function
37325 (grub_ltoa): likewise
37326 (grub_vsprintf): use grub_lltoa
37327
7dd4a573 373282009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 37329
37330 Restore grub-emu
37331
37332 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
37333 * conf/i386-coreboot.rmk: likewise
37334 * conf/i386-ieee1275.rmk: likewise
37335 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37336
20318222 373372009-04-15 Felix Zielcke <fzielcke@z-51.de>
37338
37339 * INSTALL: Add that `./autogen.sh' needs to be run before
37340 `./configure.'.
37341
d05f0df3 373422009-04-14 Bean <bean123ch@gmail.com>
37343
37344 * Makefile.in (pkglib_DATA): Add handler.lst.
37345 (handler.lst): New rule.
37346
37347 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
37348 * conf/i386-coreboot.rmk: Likewise.
37349 * conf/i386-ieee1275.rmk: Likewise.
37350 * conf/i386-efi.rmk: Likewise.
37351 * conf/x86_64-efi.rmk: Likewise.
37352 * conf/powerpc-ieee1275.rmk: Likewise.
37353 * conf/sparc64-ieee1275.rmk: Likewise.
37354
37355 * genhandlerlist.sh: New file.
37356
37357 * genmk.rb: Add rules to generate handler.lst.
37358
37359 * include/grub/normal.h (grub_file_getline): New function definition.
37360 (read_handler_list): Likewise.
37361 (free_handler_list): Likewise.
37362
37363 * include/grub/term.h (grub_term_register_input): Add name parameter
37364 for auto generation of handler.lst.
37365 (grub_term_register_output): Likewise.
37366
37367 * normal/handler.c: New file.
37368
37369 * normal/main.c (get_line): Renamed to grub_file_getline.
37370 (read_config_file): Use the newly renamed grub_file_getline.
37371 (read_command_list): Likewise.
37372 (read_fs_list): Likewise.
37373 (grub_normal_execute): Call read_handler_list to parse handler.lst.
37374 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
37375
37376 * term/efi/console.c (grub_console_init): Add name parameter for auto
37377 generation of handler.lst.
37378 * term/gfxterm.c: Likewise.
37379 * term/i386/pc/at_keyboard.c: Likewise.
37380 * term/i386/pc/console.c: Likewise.
37381 * term/i386/pc/serial.c: Likewise.
37382 * term/i386/pc/vesafb.c: Likewise.
37383 * term/i386/pc/vga.c: Likewise.
37384 * term/i386/pc/vga_text.c: Likewise.
37385 * term/ieee1275/ofconsole.c: Likewise.
37386 * term/usb_keyboard.c: Likewise.
37387
33c846be 373882009-04-14 Bean <bean123ch@gmail.com>
37389
37390 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
37391 properly with null character.
37392
4484e01e 373932009-04-14 Felix Zielcke <fzielcke@z-51.de>
37394
37395 * configure: Remove.
37396 * config.h.in: Likewise.
f93d668e 37397 * stamp-h.in: Likewise.
4484e01e 37398 * DISTLIST: Likewise.
37399 * conf/common.mk: Likewise.
37400 * conf/i386-coreboot.mk: Likewise.
37401 * conf/i386-efi.mk: Likewise.
37402 * conf/i386-ieee1275.mk: Likewise.
37403 * conf/i386.mk: Likewise.
37404 * conf/i386-pc.mk: Likewise.
37405 * conf/powerpc-ieee1275.mk: Likewise.
37406 * conf/sparc64-ieee1275.mk: Likewise.
37407 * conf/x86_64-efi.mk: Likewise.
37408
37409 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
37410 develop on GRUB.
37411
7dd4a573 374122009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 37413 David S. Miller <davem@davemloft.net>
37414
37415 * util/hostdisk.c (make_device_name): Fix buffer length
37416 calculations.
37417
e25b5a8c 374182009-04-14 Felix Zielcke <fzielcke@z-51.de>
37419
37420 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
37421 <sys/param.h> and <sys/sysctl.h>.
37422 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
37423 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
37424 opening the device and reset them afterwards.
37425
1f1f580c 374262009-04-13 Pavel Roskin <proski@gnu.org>
37427
37428 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
37429 Reported by John Stanley <jpsinthemix@verizon.net>
37430
7ebc2d6b 374312009-04-13 Robert Millan <rmh@aybabtu.com>
37432
37433 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 37434 that name for menuentries when appropriate.
7ebc2d6b 37435
d8ba3667 374362009-04-13 Felix Zielcke <fzielcke@z-51.de>
37437
37438 * util/grub.d/10_freebsd.in: Add a missing `fi'.
37439
cba416eb 374402009-04-13 Robert Millan <rmh@aybabtu.com>
37441
37442 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
37443 to Linux, simply abort telling the user it's no longer supported.
37444
a547a745 374452009-04-13 Felix Zielcke <fzielcke@z-51.de>
37446
37447 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 37448 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 37449 `freebsd_loadenv' only when devices.hints exist.
37450
232a769c 374512009-04-13 Pavel Roskin <proski@gnu.org>
37452
37453 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
37454
c3012039 374552009-04-13 Felix Zielcke <fzielcke@z-51.de>
37456
37457 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
37458 partition number.
37459 (grub_drive): Likewise.
37460
234022fe 374612009-04-13 David S. Miller <davem@davemloft.net>
37462
37463 * kern/sparc64/ieee1275/ieee1275.c: New file.
37464 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
37465 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
37466 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
37467 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
37468 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
37469 grub_ieee1275_alloc_physmem): Declare new exported functions.
37470
d8e1836c 37471 * include/grub/sparc64/ieee1275/loader.h: New file.
37472 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37473 * include/grub/sparc64/kernel.h: Likewise.
37474 * loader/sparc64/ieee1275/linux.c: Likewise.
37475
96bd81ec 37476 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
37477 (grub_fstest_SOURCES): Likewise.
37478
6a4737e5 37479 * util/hostdisk.c (make_device_name): Do not make any assumptions
37480 about the length of drive names.
37481
1d7a72fd 37482 * kern/dl.c (grub_dl_load_file): Close file immediately when
37483 we are done using it.
37484
56bc2471 374852009-04-12 David S. Miller <davem@davemloft.net>
37486
37487 * kern/misc.c (grub_ltoa): Fix cast when handling negative
37488 values. Noticed by Pavel Roskin.
37489
df38d0bb 37490 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
37491 target compiler.
7dd4a573 37492
e382e93a 37493 * genmk.rb: Add more flexible image type specification, also
37494 pass --strip-unneeded to objcopy.
37495 * conf/i386-pc.rmk: Use *_FORMAT.
37496 * conf/i386-pc.mk: Rebuilt.
37497
f5dbbca9 37498 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
37499 (OFDISK_HASH_SZ): Define.
37500 (ofdisk_hash): New hash table.
37501 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
37502 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
37503 instead of device phandle which is not unique.
37504
91c88b12 37505 * kern/sparc64/ieee1275/init.c: Delete, replace with...
37506 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
37507 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
37508 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
37509 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
37510 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
37511 GRUB_KERNEL_MACHINE_DATA_END): Define.
37512 (grub_kernel_image_size, grub_total_module_size): Declare.
37513
5b5d4aa5 375142009-04-12 Pavel Roskin <proski@gnu.org>
37515
7dd4a573 37516 * configure.ac: Change the logic when we check for target tools.
37517 Do it when the target is specified and it's different from the
37518 specified value of the host.
5b5d4aa5 37519
c91e1793 375202009-04-11 Felix Zielcke <fzielcke@z-51.de>
37521
37522 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
37523 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
37524 GNU/kFreeBSD. Check if a device is a character device. Use
37525 DIOCGMEDIASIZE to get the size.
37526 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
37527 support for GNU/kFreeBSD.
37528 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
37529 is a character device instead of a block device. Add support for
37530 FreeBSD device names.
37531
37532 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
37533 is a character device instead of a block device.
37534
37535 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
37536 is a character device instead of a block device.
37537
b1ac8644 375382009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
37539
37540 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
37541 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
37542 FreeBSD. Check if a device is a character device. Use
37543 DIOCGMEDIASIZE to get the size.
37544 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
37545 support for FreeBSD.
37546 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
37547 is a character device instead of a block device. Add support for
37548 FreeBSD device names.
37549
37550 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
37551 a character device instead of a block device.
37552 (grub_util_check_char_device): New function.
37553
37554 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
37555 a character device instead of a block device.
37556
37557 * include/grub/util/getroot.h (grub_util_check_char_device): New
37558 prototype.
37559
a3f7515a 375602009-04-11 David S. Miller <davem@davemloft.net>
37561
37562 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
37563 static libgcc.
37564 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
37565 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
37566 function, if present.
37567 (__bswapdi2): Likewise.
37568
0d44993d 37569 * include/grub/sparc64/ieee1275/boot.h: New file.
37570 * boot/sparc64/ieee1275/boot.S: Likewise.
37571 * boot/sparc64/ieee1275/diskboot.S: Likewise.
37572
ed3d2bc2 37573 * kern/misc.c (grub_ltoa): New function.
37574 (grub_vsprintf): Use it to format 'long' integers.
37575
d3bfb59c 375762009-04-10 David S. Miller <davem@davemloft.net>
37577
37578 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
37579 slots are of type grub_ieee1275_cell_t.
37580 (grub_nand_read): Likewise.
37581 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
37582 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
37583 macros are used to compare values in arg/ret block of the call.
37584 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37585 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
37586 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
37587 grub_ieee1275_instance_to_path, grub_ieee1275_write,
37588 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
37589 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
37590 grub_ieee1275_close, grub_ieee1275_set_property,
37591 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
37592 grub_ieee1275_cell_t.
37593 * kern/ieee1275/openfw.c (grub_map): Likewise.
37594 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
37595 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
37596
450e2238 37597 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
37598 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
37599 (grub_devalias_iterate): Likewise.
37600
7dd4a573 376012009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 37602
37603 UFS improvements
37604
37605 * fs/ufs.c (INODE_NBLOCKS): new definition
37606 (struct grub_ufs_dirent): added fields for non-BSD dirents
37607 (grub_ufs_get_file_block): fixed double indirect handling
37608 (grub_ufs_lookup_symlink): use more robust way to determine whether
37609 symlink is inline
37610 (grub_ufs_find_file): support for non-BSD dirents
37611 (grub_ufs_dir): support for non-BSD dirents
37612
e7e6862a 376132009-04-10 Bean <bean123ch@gnail.com>
37614
37615 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
37616 attribute, otherwise the size would be wrong for i386 platform.
37617
37618 * include/grub/pci.h (grub_pci_read_word): New inline function.
37619 (grub_pci_read_byte): Likewise.
37620 (grub_pci_write): Likewise.
37621 (grub_pci_write_word): Likewise.
37622 (grub_pci_write_byte): Likewise.
37623
37624 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
37625
37626 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
37627 (find_framebuf): Scan pci to locate the frame buffer address.
37628
37629 * commands/efi/fixvideo.c: New file.
37630
37631 * commands/efi/loadbios.c: Likewise.
37632
37633 * commands/memrw.c: Likewise.
37634
37635 * util/grub-dumpbios.in: Likewise.
37636
37637 * conf/common.rmk (grub-dumpbios): New utility.
37638 (pkglib_MODULES): New module memrw.mod.
37639 (memrw_mod_SOURCE): New macro.
37640 (memrw_mod_CFLAGS): Likewise.
37641 (memrw_mod_LDFLAGS): Likewise.
37642
7dd4a573 37643 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37644 fixvideo.mod.
37645 (loadbios_mod_SOURCE): New macro.
37646 (loadbios_mod_CFLAGS): Likewise.
37647 (loadbios_mod_LDFLAGS): Likewise.
37648 (fixvideo_mod_SOURCE): Likewise.
37649 (fixvideo_mod_CFLAGS): Likewise.
37650 (fixvideo_mod_LDFLAGS): Likewise.
37651
7dd4a573 37652 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 37653 fixvideo.mod.
37654 (loadbios_mod_SOURCE): New macro.
37655 (loadbios_mod_CFLAGS): Likewise.
37656 (loadbios_mod_LDFLAGS): Likewise.
37657 (fixvideo_mod_SOURCE): Likewise.
37658 (fixvideo_mod_CFLAGS): Likewise.
37659 (fixvideo_mod_LDFLAGS): Likewise.
37660
af63ada2 376612009-04-08 Felix Zielcke <fzielcke@z-51.de>
37662
37663 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
37664
c2cdde70 376652009-04-07 David S. Miller <davem@davemloft.net>
37666
37667 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
37668 support for R_SPARC_OLO10 relocations. Fix compile warning for
37669 R_SPARC_WDISP30 case.
ea3f72cf 37670 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 37671
761319cf 376722009-04-06 Pavel Roskin <proski@gnu.org>
37673
1007d1f5 37674 * include/grub/misc.h (ARRAY_SIZE): New macro.
37675 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
37676 New macro.
37677 * loader/i386/linux.c (allocate_pages): Use free_pages().
37678 (grub_linux_unload): Don't use free_pages().
37679 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
37680 wrong index. Treat all other modes as text modes.
37681 (grub_cmd_linux): Initialize vid_mode unconditionally to
37682 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
37683
761319cf 37684 * commands/help.c (print_command_help): Use cmd->prio, not
37685 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
37686
ea761d40 376872009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 37688
ea761d40 37689 Parttool
37690
37691 * parttool/pcpart.c: new file
37692 * commands/parttool.c: likewise
37693 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
37694 (parttool_mod_SOURCES): new variable
37695 (parttool_mod_CFLAGS): likewise
37696 (parttool_mod_LDFLAGS): likewise
37697 (pcpart_mod_SOURCES): likewise
37698 (pcpart_mod_CFLAGS): likewise
37699 (pcpart_mod_LDFLAGS): likewise
7dd4a573 37700 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 37701 and parttool/pcpart.c
37702 * conf/i386-efi.rmk: likewise
37703 * conf/i386-ieee1275.rmk: likewise
37704 * conf/i386-pc.rmk: likewise
37705 * conf/powerpc-ieee1275.rmk: likewise
37706 * conf/sparc64-ieee1275.rmk: likewise
37707 * conf/x86_64-ieee1275.rmk: likewise
37708
05aaebfb 377092009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37710
37711 Support for mtime and further expandability of dir command
37712
37713 * include/grub/lib/datetime.h: moved to ...
7dd4a573 37714 * include/grub/datetime.h: ... moved here and added
05aaebfb 37715 declaration of grub_unixtime2datetime. All users updated
7dd4a573 37716 * include/grub/fs.h: new syntax for dir and mtime functions in
37717 struct grub_fs
05aaebfb 37718 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
37719 and GRUB_FSHELP_FLAGS_MASK
37720 * commands/ls.c (grub_ls_list_files): Write mtime in long format
37721 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
37722 (grub_ext2_mtime): new function
37723 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
37724 (grub_hfsplus_mtime): new function
37725 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
37726 (GRUB_UFS_ATTR_FILE): likewise
37727 (GRUB_UFS_ATTR_LNK): likewise
37728 (struct grub_ufs_sblock): new fields mtime
37729 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
37730 all users updated
37731 (grub_ufs_dir): mtime support
37732 (grub_ufs_mtime): new function
37733 * fs/affs.c (grub_affs_dir): use new dir syntax
37734 * fs/afs.c (grub_afs_dir): likewise
37735 * fs/cpio.c (grub_cpio_dir): likewise
37736 * fs/fat.c (grub_fat_find_dir): likewise
37737 * fs/hfs.c (grub_hfs_dir): likewise
37738 * fs/iso9660.c (grub_iso9660_dir): likewise
37739 * fs/jfs.c (grub_jfs_dir): likewise
37740 * fs/minix.c (grub_minix_dir): likewise
37741 * fs/ntfs.c (grub_ntfs_dir): likewise
37742 * fs/reiserfs.c (grub_reiserfs_dir): likewise
37743 * fs/sfs.c (grub_sfs_dir): likewise
37744 * fs/xfs.c (grub_xfs_dir): likewise
37745 * util/hostfs.c (grub_hostfs_dir): likewise
37746 * lib/datetime.c: moved to ...
37747 * normal/datetime.c: ... moved here
37748 (grub_unixtime2datetime): new function
37749 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 37750 * normal/completion.c (iterate_dir): use new dir syntax
37751 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 37752 last modification time of a volume
7dd4a573 37753 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 37754 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 37755 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 37756 (normal_mod_SOURCES): likewise
37757 (datetime_mod_SOURCES): Removed lib/datetime.c
37758 * conf/i386-efi.rmk: likewise
7dd4a573 37759 * conf/i386-ieee1275.rmk: likewise
05aaebfb 37760 * conf/i386-pc.rmk: likewise
37761 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 37762 * conf/sparc64-ieee1275.rmk: likewise
37763 * conf/x86_64-efi.rmk: likewise
05aaebfb 37764
8a7e1a14 377652009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37766
37767 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 37768
37769 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 37770 on grub_fat_find_dir
37771 (grub_fat_find_dir): use grub_fat_iterate_dir
37772 (grub_fat_label): likewise
37773
04186a9c 377742009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
37775
7dd4a573 37776 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 37777 and command.h
37778 remove extraneous kernel_elf_HEADERS
37779
da4c0bb6 377802009-04-04 Bean <bean123ch@gnail.com>
37781
37782 * include/grub/util/misc.h: Add dummy function fsync for mingw.
37783
37784 * util/misc.c: Likewise.
37785
54ad9555 377862009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37787
37788 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
37789 instead of grub_printf.
37790
7a6bf9f2 377912009-04-03 Robert Millan <rmh@aybabtu.com>
37792
37793 * loader/i386/linux.c (grub_linux_setup_video): Fill
37794 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
37795 values from `mode info' structure instead of hardcoded
37796 values.
37797
3fcc2083 377982009-04-01 Pavel Roskin <proski@gnu.org>
37799
37800 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
37801 unused now.
37802 * genmk.rb: Likewise.
37803 * configure.ac: Likewise.
37804
5ec9740b 378052009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
37806
37807 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
37808 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
37809
5270cec8 378102009-04-01 David S. Miller <davem@davemloft.net>
37811
37812 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 37813 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 37814 (grub_setjmp): Mark with 'returns_twice' attribute.
37815 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
37816 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
37817 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
37818
9c3dd854 378192009-04-01 Robert Millan <rmh@aybabtu.com>
37820
37821 Reapply fix from 2008-07-28 which was accidentally reverted; also
37822 perform the same fix to a similar check in same function.
37823
37824 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
37825 with the same number are found, just use issue a warning with
37826 grub_dprintf(), as this error has been reported to be non-fatal.
37827
0d818b7e 378282009-03-31 Pavel Roskin <proski@gnu.org>
37829
37830 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
37831 for cross-compilation.
37832
95646d92 378332009-03-30 Robert Millan <rmh@aybabtu.com>
37834
37835 Fix i386-ieee1275 build.
37836
37837 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
37838 Remove declaration.
37839
6a003ed1 378402009-03-30 Pavel Roskin <proski@gnu.org>
37841
37842 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
37843 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
37844 zero-terminated, rely only on the strlen value. Fix comparison
37845 of strings differing in length.
37846
92f33540 378472009-03-30 Robert Millan <rmh@aybabtu.com>
37848
37849 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
37850 checking for abi version. Improve error messages on BIOS to notify
37851 user about `linux16' command.
37852
a8c48fd5 378532009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
37854
f968172e 37855 Leak fixes
a8c48fd5 37856
f968172e 37857 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
37858 in case of collision
37859 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 37860
9c323f09 378612009-03-29 Robert Millan <rmh@aybabtu.com>
37862
37863 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
37864 set `vid_mode' accordingly.
37865 (grub_linux_boot): Process `vid_mode' and set video mode.
37866
ae68f423 378672009-03-29 Robert Millan <rmh@aybabtu.com>
37868
37869 * util/grub.d/10_linux.in (linux_entry): New function.
37870 Factorize generation of Linux boot entries.
37871
5709cfc4 378722009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
37873
37874 Make the format of Environment Block plain text. The boot loader
37875 part is not tested well yet.
7dd4a573 37876
5709cfc4 37877 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
37878 (buffer): Removed.
37879 (envblk): Likewise.
37880 (usage): Remove "info" and "clear". Add "unset". Update the
37881 description of "set", as this does not delete variables any
37882 longer.
37883 (create_envblk_file): Complete rewrite.
37884 (open_envblk_file): Likewise.
37885 (cmd_info): Removed.
37886 (cmd_list): Likewise.
37887 (cmd_set): Likewise.
37888 (cmd_clear): Likewise.
37889 (list_variables): New function.
37890 (write_envblk): Likewise.
37891 (set_variables): Likewise.
37892 (unset_variables): Likewise.
37893 (main): Complete rewrite.
37894
37895 * commands/loadenv.c (buffer): Removed.
37896 (envblk): Likewise.
37897 (open_envblk_file): New function.
37898 (read_envblk_file): Complete rewrite.
37899 (grub_cmd_load_env): Likewise.
37900 (grub_cmd_list_env): Likewise.
37901 (struct blocklist): New struct.
37902 (free_blocklists): New function.
37903 (check_blocklists): Likewise.
37904 (write_blocklists): Likewise.
37905 (grub_cmd_save_env): Complete rewrite.
37906
37907 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
37908 a plain text signature.
37909 (GRUB_ENVBLK_MAXLEN): Removed.
37910 (struct grub_envblk): Complete rewrite.
37911 (grub_envblk_find): Removed.
37912 (grub_envblk_insert): Likewise.
37913 (grub_envblk_open): New prototype.
37914 (grub_envblk_set): Likewise.
37915 (grub_envblk_delete): Put const to VALUE.
37916 (grub_envblk_iterate): Put const to NAME and VALUE.
37917 (grub_envblk_close): New prototype.
37918 (grub_envblk_buffer): New inline function.
37919 (grub_envblk_size): Likewise.
37920
37921 * lib/envblk.c: Include grub/mm.h.
37922 (grub_env_find): Removed.
37923 (grub_envblk_open): New function.
37924 (grub_envblk_close): Likewise.
37925 (escaped_value_len): Likewise.
37926 (find_next_line): Likewise.
37927 (grub_envblk_insert): Removed.
37928 (grub_envblk_set): New function.
37929 (grub_envblk_delete): Complete rewrite.
37930 (grub_envblk_iterate): Likewise.
37931
a9368fd3 379322009-03-28 Robert Millan <rmh@aybabtu.com>
37933
37934 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
37935 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
37936 variables. Use 16-bit loader.
37937 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
37938 loader.
37939 * kern/i386/loader.S (grub_linux_boot): Rename to ...
37940 (grub_linux16_boot): ... this. Update all users.
37941 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
37942 (grub_linux_boot): ... this. Update all users.
37943
37944 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
37945 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
37946 commands to `linux16' and `initrd16'.
37947 (GRUB_MOD_FINI(linux)): Rename to ...
37948 (GRUB_MOD_FINI(linux16)): ... this.
37949
e4dd5a7e 379502009-03-24 Pavel Roskin <proski@gnu.org>
37951
37952 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
37953 not just for compilation.
37954
c04d6e05 379552009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
37956
37957 Move multiboot helper out of kernel
37958
37959 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
37960 `loader/i386/multiboot_helper.S'.
37961 * conf/i386-coreboot.rmk: Likewise
37962 * conf/i386-ieee1275.rmk: Likewise
37963
37964 * kern/i386/loader.S: Move multiboot helpers from here...
37965 * loader/i386/multiboot_helper.S: ...moved here
37966 * include/grub/i386/loader.h: Move declarations of multiboot
37967 helpers from here...
37968 * include/grub/i386/multiboot.h: ...moved here
37969 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
37970
42a5b3fc 379712009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37972
37973 * kern/env.c (grub_env_context_open): Added an argument to specify
37974 whether a new context inherits exported variables from current
37975 one. This is useful when making a sandbox to interpret a config
37976 file.
37977 All callers updated.
37978
37979 * include/grub/env.h (grub_env_context_open): Updated the prototype.
37980
b28bbc4e 379812009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37982
37983 * kern/env.c (grub_env_context_close): Fix memory leaks.
37984
f04f02e4 379852009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
37986
37987 * normal/main.c (grub_normal_execute): Added an argument
37988 BATCH to specify if an interactive interface should be provided
37989 after reading a config file.
37990 All callers updated.
37991 (read_command_list): Prevent being executed twice.
37992 (read_fs_list): Likewise.
37993
42a5b3fc 37994 * include/grub/normal.h (grub_normal_execute): Updated the
37995 prototype.
f04f02e4 37996
41473ac2 379972009-03-22 Pavel Roskin <proski@gno.org>
37998
fbc00b0c 37999 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
38000 _start.
38001 * kern/i386/pc/startup.S: Likewise.
38002 * kern/i386/efi/startup.S: Likewise.
38003 * kern/i386/ieee1275/startup.S: Likewise.
38004 * kern/i386/coreboot/startup.S: Likewise.
38005 * kern/x86_64/efi/startup.S: Likewise.
38006
41473ac2 38007 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
38008 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
38009 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
38010
2274cc8f 380112009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
38012
38013 Bugfixes in multiboot for bugs uncovered by solaris kernel.
38014
38015 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
38016 limit detection.
38017 Use vaddr of correct segment for entry_point.
38018
b1b797cb 380192009-03-21 Bean <bean123ch@gmail.com>
38020
38021 * commands/blocklist.c: Add include file <grub/command.h>, remove
38022 <grub/normal.h> and <grub/arg.h>.
38023 (grub_cmd_blocklist): Use the new command interface.
38024 (GRUB_MOD_INIT): Likewise.
38025 (GRUB_MOD_FINI): Likewise.
38026 * commands/boot.c: Likewise.
38027 * commands/cat.c: Likewise.
38028 * commands/cmp.c: Likewise.
38029 * commands/configfile.c: Likewise.
38030 * commands/crc.c: Likewise.
38031 * commands/echo.c: Likewise.
38032 * commands/halt.c: Likewise.
38033 * commands/handler.c: Likewise.
38034 * commands/hdparm.c: Likewise.
38035 * commands/help.c: Likewise.
38036 * commands/hexdump.c: Likewise.
38037 * commands/loadenv.c: Likewise.
38038 * commands/ls.c: Likewise.
38039 * commands/lsmmap.c: Likewise.
38040 * commands/lspci.c: Likewise.
38041 * commands/loadenv.c: Likewise.
38042 * commands/read.c: Likewise.
38043 * commands/reboot.c: Likewise.
38044 * commands/search.c: Likewise.
38045 * commands/sleep.c: Likewise.
38046 * commands/test.c: Likewise.
38047 * commands/usbtest.c: Likewise.
38048 * commands/videotest.c: Likewise.
38049 * commands/i386/cpuid.c: Likewise.
38050 * commands/i386/pc/halt.c: Likewise.
38051 * commands/i386/pc/play.c: Likewise.
38052 * commands/i386/pc/pxecmd.c: Likewise.
38053 * commands/i386/pc/vbeinfo.c: Likewise.
38054 * commands/i386/pc/vbetest.c: Likewise.
38055 * commands/ieee1275/suspend.c: Likewise.
38056 * disk/loopback.c: Likewise.
38057 * font/font_cmd.c: Likewise.
38058 * hello/hello.c: Likewise.
38059 * loader/efi/appleloader.c: Likewise.
38060 * loader/efi/chainloader.c: Likewise.
38061 * loader/i386/bsd.c: Likewise.
38062 * loader/i386/efi/linux.c: Likewise.
38063 * loader/i386/ieee1275/linux.c: Likewise.
38064 * loader/i386/linux.c: Likewise.
38065 * loader/i386/pc/chainloader.c: Likewise.
38066 * loader/i386/pc/linux.c: Likewise.
38067 * loader/powerpc/ieee1275/linux.c: Likewise.
38068 * loader/multiboot_loader.c: Likewise.
38069 * term/gfxterm.c: Likewise.
38070 * term/i386/pc/serial.c: Likewise.
38071 * term/terminfo.c: Likewise.
38072
38073 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
38074 * term/i386/pc/vga.c: Likewise.
38075 * video/readers/jpeg.c: Likewise.
38076 * video/readers/png.c: Likewise.
38077 * video/readers/tga.c: Likewise.
38078
38079 * util/grub-fstest (cmd_loopback): Removed.
38080 (cmd_blocklist): Likewise.
38081 (cmd_ls): Likewise.
38082 (grub_register_command): Likewise.
38083 (grub_unregister_command): Likewise.
38084 (execute_command): Use grub_command_find to locate command and execute
38085 it.
38086
38087 * include/grub/efi/chainloader.h: Removed.
38088 * loader/efi/chainloader_normal.c: Likewise.
38089 * loader/i386/bsd_normal.c: Likewise.
38090 * loader/i386/pc/chainloader_normal.c: Likewise.
38091 * loader/i386/pc/multiboot_normal.c: Likewise.
38092 * loader/linux_normal.c: Likewise.
38093 * loader/multiboot_loader_normal.c: Likewise.
38094 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38095
38096 * gencmdlist.sh: Scan new registration command grub_register_extcmd
38097 and grub_register_command_p1.
38098
38099 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
38100 kern/command.c, lib/arg.c and commands/extcmd.c.
38101 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
38102 (minicmd_mod_SOURCES): New variable.
38103 (minicmd_mod_CFLAGS): Likewise.
38104 (minicmd_mod_LDFLAGS): Likewise.
38105 (extcmd_mod_SOURCES): Likewise.
38106 (extcmd_mod_CFLAGS): Likewise.
38107 (extcmd_mod_LDFLAGS): Likewise.
38108 (boot_mod_SOURCES): Removed.
38109 (boot_mod_CFLAGS): Likewise.
38110 (boot_mod_LDFLAGS): Likewise.
38111
38112 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
38113 kern/corecmd.c.
38114 (kernel_img_HEADERS): Add command.h.
38115 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
38116 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
38117 and lib/arg.c.
38118 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
38119 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
38120 remove the corresponding normal mode command.
38121 (normal_mod_SOURCES): Remove normal/arg.c.
38122 * conf/i386-coreboot.rmk: Likewise.
38123 * conf/i386-efi.rmk: Likewise.
38124 * conf/i386-ieee1275.rmk: Likewise.
38125 * conf/powerpc-ieee1275.rmk: Likewise.
38126 * conf/x86_64-efi.rmk: Likewise.
38127
38128 * include/grub/arg.h: Move from here ...
38129 * include/grub/lib/arg.h: ... to here.
38130
38131 * normal/arg.c: Move from here ...
38132 * lib/arg.c: ... to here.
38133
38134 * commands/extcmd.c: New file.
38135 * commands/minicmd.c: Likewise.
38136 * include/grub/command.h: Likewise.
38137 * include/grub/extcmd.h: Likewise.
38138 * kern/command.c: Likewise.
38139 * kern/corecmd.c: Likewise.
38140
38141 * kern/list.c (grub_list_iterate): Return int instead of void.
38142 (grub_list_insert): New function.
38143 (grub_prio_list_insert): Likewise.
38144
38145 * kern/rescue.c (grub_rescue_command): Removed.
38146 (grub_rescue_command_list): Likewise.
38147 (grub_rescue_register_command): Likewise.
38148 (grub_rescue_unregister_command): Likewise.
38149 (grub_rescue_cmd_boot): Move to minicmd.c
38150 (grub_rescue_cmd_help): Likewise.
38151 (grub_rescue_cmd_info): Likewise.
38152 (grub_rescue_cmd_boot): Likewise.
38153 (grub_rescue_cmd_testload): Likewise.
38154 (grub_rescue_cmd_dump): Likewise.
38155 (grub_rescue_cmd_rmmod): Likewise.
38156 (grub_rescue_cmd_lsmod): Likewise.
38157 (grub_rescue_cmd_exit): Likewise.
38158 (grub_rescue_print_devices): Moved to corecmd.c.
38159 (grub_rescue_print_files): Likewise.
38160 (grub_rescue_cmd_ls): Likewise.
38161 (grub_rescue_cmd_insmod): Likewise.
38162 (grub_rescue_cmd_set): Likewise.
38163 (grub_rescue_cmd_unset): Likewise.
7d074e3c 38164 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 38165 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 38166 commands, remove grub_rescue_register_command calls.
b1b797cb 38167
7d074e3c 38168 * normal/command.c (grub_register_command): Removed.
b1b797cb 38169 (grub_unregister_command): Likewise.
38170 (grub_command_find): Likewise.
38171 (grub_iterate_commands): Likewise.
38172 (rescue_command): Likewise.
38173 (export_command): Moved to corecmd.c.
38174 (set_command): Removed.
38175 (unset_command): Likewise.
38176 (insmod_command): Likewise.
38177 (rmmod_command): Likewise.
38178 (lsmod_command): Likewise.
38179 (grub_command_init): Likewise.
38180
38181 * normal/completion.c (iterate_command): Use cmd->prio to check for
38182 active command.
38183 (complete_arguments): Use grub_extcmd_t structure to find options.
38184 (grub_normal_do_completion): Change function grub_iterate_commands to
38185 grub_command_iterate.
38186
38187 * normal/execute.c (grub_script_execute_cmd): No need to parse
38188 argument here.
38189
38190 * normal/main.c (grub_dyncmd_dispatcher): New function.
38191 (read_command_list): Register unload commands as dyncmd.
38192 (grub_cmd_normal): Use new command interface, register rescue,
38193 unregister normal at entry, register normal, unregister rescue at exit.
38194
38195 * include/grub/list.h (grub_list_test_t): New type.
38196 (grub_list_iterate): Return int instead of void.
38197 (grub_list_insert): New function.
38198 (GRUB_AS_NAMED_LIST_P): New macro.
38199 (GRUB_AS_PRIO_LIST): Likewise.
38200 (GRUB_AS_PRIO_LIST_P): Likewise.
38201 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
38202 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
38203 (grub_prio_list): New structure.
38204 (grub_prio_list_insert): New function.
38205 (grub_prio_list_remove): New inline function.
38206
38207 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
38208 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
38209 (GRUB_COMMAND_FLAG_MENU): Likewise.
38210 (GRUB_COMMAND_FLAG_BOTH): Likewise.
38211 (GRUB_COMMAND_FLAG_TITLE): Likewise.
38212 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
38213 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
38214 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
38215 (grub_command): Likewise.
38216 (grub_register_command): Likewise.
38217 (grub_command_find): Likewise.
38218 (grub_iterate_commands): Likewise.
38219 (grub_command_init): Likewise.
38220 (grub_arg_parse): Likewise.
38221 (grub_arg_show_help): Likewise.
38222
38223 * include/grub/rescue.h (grub_rescue_register_command): Removed.
38224 (grub_rescue_unregister_command): Likewise.
38225
38226 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
38227 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
38228 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
38229
38230 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
38231 grub_rescue_cmd_initrd.
38232 * include/grub/i386/loader.h: Likewise.
38233 * include/grub/x86_64/loader.h: Likewise.
38234
38235 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
38236
1f4147aa 382372009-03-21 Bean <bean123ch@gmail.com>
38238
38239 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
38240 instead of stat in mingw environment.
38241
38242 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
38243
38244 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
38245
38246 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
38247 AC_CONFIG_LINKS.
38248
2156d5ba 382492009-03-21 Bean <bean123ch@gmail.com>
38250
38251 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
38252 out of range error.
38253
177b82ca 382542009-03-18 Michel Dänzer <michel@daenzer.net>
38255
38256 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
38257 checking inode flags for EXT4_EXTENTS_FLAG.
38258
14aad807 382592009-03-18 Robert Millan <rmh@aybabtu.com>
38260
38261 * loader/i386/linux.c: Include `<grub/video.h>' and
38262 `<grub/i386/pc/vbe.h>'..
38263 (grub_linux_setup_video): New function. Loosely based on the EFI one.
38264 (grub_linux32_boot): Attempt to configure video settings with
38265 grub_linux_setup_video().
38266 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
38267 to avoid grub_console_fini() which would step out of graphical mode
38268 unconditionally.
38269
8cf83a27 382702009-03-14 Robert Millan <rmh@aybabtu.com>
38271
38272 Fix build on powerpc.
38273 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
38274
40164e75 382752009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
38276
38277 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
38278 background image command.
38279
c58bc32a 382802009-03-12 Colin D Bennett <colin@gibibit.com>
38281
38282 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
38283 (grub_gfxterm_putchar): Extract pairs of identical calls to
38284 draw_cursor out of conditional blocks.
38285
5415144a 382862009-03-11 Pavel Roskin <proski@gnu.org>
38287
38288 * fs/hfs.c (grub_hfs_strncasecmp): New function.
38289 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
38290
6394042e 382912009-03-11 Robert Millan <rmh@aybabtu.com>
38292
38293 * loader/i386/multiboot_elfxx.c
38294 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
38295
b7b50e5f 382962009-03-11 Felix Zielcke <fzielcke@z-51.de>
38297
38298 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
38299 `kern/handler.c'.
38300
1ca7fc96 383012009-03-11 Robert Millan <rmh@aybabtu.com>
38302
38303 * loader/i386/multiboot.c (code_size): New variable.
38304 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 38305 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 38306 4-byte alignment to MBI and others by increasing
7d074e3c 38307 `boot_loader_name_length' appropriately.
1ca7fc96 38308
38309 * loader/i386/multiboot_elfxx.c
38310 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
38311
a83ea1d2 383122009-03-09 Felix Zielcke <fzielcke@z-51.de>
38313
38314 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
38315 `fs/ext2.c'.
38316
aa9f3bff 383172009-03-08 Robert Millan <rmh@aybabtu.com>
38318
38319 Make loader/i386/linux.c usable on i386-pc again.
38320
38321 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
38322 memory to heap.
38323 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
38324 `#error' stanza.
38325
d8b3b60e 383262009-03-07 Bean <bean123ch@gmail.com>
38327
38328 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
38329 allocation.
38330
b362c9e9 383312009-03-06 Robert Millan <rmh@aybabtu.com>
38332
38333 Fix display issue on terminals with screen size other than 80x25
38334 (e.g. gfxterm with resolution higher than 640x480).
38335
38336 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 38337 position relative to the center of the terminal instead of relying
b362c9e9 38338 on a hardcoded offset.
38339
9304eef1 383402009-03-04 Robert Millan <rmh@aybabtu.com>
38341
38342 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
38343 installed.
38344
38345 * Makefile.in (host_kernel): New variable.
38346 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
38347 scripts instead of just the windows one.
38348 * configure.ac: Initialize and AC_SUBST `host_kernel'.
38349
eabc95fb 383502009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 38351
38352 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
38353 `kern/handler.c'.
38354 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38355 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38356 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38357 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38358 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38359 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38360
ceb1223c 383612009-03-04 Felix Zielcke <fzielcke@z-51.de>
38362
38363 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
38364 or if there's no space for the disk label and print the partition number on a
38365 invalid magic.
38366
4910684a 383672009-03-04 Felix Zielcke <fzielcke@z-51.de>
38368
38369 * util/misc.c: Include <time.h>.
38370 (grub_millisleep): New function.
38371
7e9ca17a 383722009-03-04 Bean <bean123ch@gmail.com>
38373
38374 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
38375 another option -mno-red-zone.
38376
38377 * commands/handler.c: Change module description.
38378
38379 * kern/handler.c: Add missing space at the end of description line.
38380
38381 * kern/list.c: Likewise.
38382
f501677c 383832009-03-03 Robert Millan <rmh@aybabtu.com>
38384
38385 Move more components to the relocation area, and fix mbi pointer
38386 handling to use the destination rather than the origin (thanks to
38387 Vladimir Serbinenko for spotting).
38388
38389 * loader/i386/multiboot.c (mbi_dest): New variable.
38390 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
38391 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
38392 relocation area.
38393
9902d047 383942009-03-01 Bean <bean123ch@gmail.com>
38395
50fb7002 38396 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 38397 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
38398 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
38399 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
38400
38401 * loader/i386/efi/linux.c (acpi_guid): New variable.
38402 (acpi_guid): Likewise.
38403 (EBDA_SEG_ADDR): New constant.
38404 (LOW_MEM_ADDR): Likewise.
38405 (FAKE_EBDA_SEG): Likewise.
38406 (fake_bios_data): New function.
38407 (grub_linux_boot): Call fake_bios_data.
38408
71b9f361 384092009-03-01 Bean <bean123ch@gmail.com>
38410
38411 * commands/terminal.c: Removed.
38412
38413 * commands/handler.c: New file.
38414
38415 * include/grub/list.h: Likewise.
38416
38417 * include/grub/handler.h: Likewise.
38418
38419 * kern/list.c: Likewise.
38420
38421 * kern/handler.c: Likewise.
38422
38423 * kern/term.h: Include header file <grub/handler.h>.
38424 (grub_term_input): Move next field to the beginning.
38425 (grub_term_output): Likewise.
38426 (grub_term_input_class): New variable.
38427 (grub_term_output_class): Likewise.
38428 (grub_term_register_input): Changed to inline function.
38429 (grub_term_register_output): Likewise.
38430 (grub_term_unregister_input): Likewise.
38431 (grub_term_unregister_output): Likewise.
38432 (grub_term_set_current_input): Likewise.
38433 (grub_term_set_current_output): Likewise.
38434 (grub_term_get_current_input): Likewise.
38435 (grub_term_get_current_output): Likewise.
38436 (grub_term_iterate_input): Removed.
38437 (grub_term_iterate_output): Likewise.
38438
38439 * kern/term.c (grub_term_list_input): Removed.
38440 (grub_term_list_output): Likewise.
38441 (grub_term_input_class): New variable.
38442 (grub_term_output_class): Likewise.
50fb7002 38443 (grub_cur_term_input): Change variable as macro.
71b9f361 38444 (grub_cur_term_output): Likewise.
38445 (grub_term_register_input): Removed.
38446 (grub_term_register_output): Likewise.
38447 (grub_term_unregister_input): Likewise.
38448 (grub_term_unregister_output): Likewise.
38449 (grub_term_set_current_input): Likewise.
38450 (grub_term_set_current_output): Likewise.
38451 (grub_term_iterate_input): Likewise.
38452 (grub_term_iterate_output): Likewise.
38453 (grub_term_get_current_input): Likewise.
38454 (grub_term_get_current_output): Likewise.
38455
38456 * util/grub-editenv.c: Include header file <grub/handler.h>.
38457 (grub_term_get_current_input): Removed.
38458 (grub_term_get_current_output): Likewise.
38459 (grub_term_input_class): New variable.
50fb7002 38460 (grub_term_output_class): Likewise.
71b9f361 38461
38462 * util/grub-fstest.c (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-probe.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/i386/pc/grub-setup.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 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
38478 (terminal_mod_SOURCES): Likewise.
38479 (terminal_mod_CFLAGS): Likewise.
38480 (terminal_mod_LDFLAGS): Likewise.
38481
38482 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
38483 handler.c.
38484 (kernel_img_SOURCES): Add list.c and handler.c.
38485 (kernel_img_HEADERS): Add list.h and handler.h.
38486
38487 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38488 handler.c.
38489 (kernel_mod_SOURCES): Add list.c and handler.c.
38490 (kernel_mod_HEADERS): Add list.h and handler.h.
38491
38492 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
38493 handler.c.
38494 (kernel_elf_SOURCES): Add list.c and handler.c.
38495 (kernel_elf_HEADERS): Add list.h and handler.h.
38496
38497 * conf/i386-ieee1275.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/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38503 handler.c.
38504 (kernel_mod_SOURCES): Add list.c and handler.c.
38505 (kernel_mod_HEADERS): Add list.h and handler.h.
38506
38507 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38508 handler.c.
38509 (kernel_elf_SOURCES): Add list.c and handler.c.
38510 (kernel_elf_HEADERS): Add list.h and handler.h.
38511
8a31787f 385122009-02-27 Robert Millan <rmh@aybabtu.com>
38513
38514 Factorize elf32 / elf64 code in Multiboot loader. This will
38515 prevent it from getting out of sync again.
38516
38517 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
38518 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
38519 grub_multiboot_load_elf64): Move from here ...
38520 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
38521 grub_multiboot_load_elf): ... to here (new file).
38522
51cd3dfc 385232009-02-27 Robert Millan <rmh@aybabtu.com>
38524
38525 * util/grub.d/10_linux.in: Rename "single-user mode" to
38526 "recovery mode".
38527
6e8c9c3a 385282009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
38529
38530 Don't leak in SCSI code.
38531 * disk/scsi.c (grub_scsi_close): free `scsi'.
38532
4b6bf4f9 385332009-02-27 Robert Millan <rmh@aybabtu.com>
38534
38535 * loader/i386/pc/multiboot.c: Move from here ...
38536 * loader/i386/multiboot.c: ... to here. Update all users.
38537
b9413424 385382009-02-27 Robert Millan <rmh@aybabtu.com>
38539
38540 Patch from Alexandre Bique <bique.alexandre@gmail.com>
38541 * util/i386/pc/grub-setup.c (setup): Fix directory path.
38542
50fb7002 385432009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 38544
38545 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
38546 b-tree.
38547
8cc50345 385482009-02-27 Robert Millan <rmh@aybabtu.com>
38549
38550 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
38551 `0x' qualifier as 0 when base is specified as parameter).
38552
6e09b8b7 385532009-02-24 Bean <bean123ch@gmail.com>
38554
38555 * configure.ac: Check for -mcmodel=large in x86_64 target.
38556
38557 * include/grub/efi/api.h (efi_call_10): New macro.
38558 (efi_wrap_10): New function.
38559
38560 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
38561 (GRUB_PE32_REL_BASED_HIGH): Likewise.
38562 (GRUB_PE32_REL_BASED_LOW): Likewise.
38563 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
38564 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
38565 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
38566 (GRUB_PE32_REL_BASED_SECTION): Likewise.
38567 (GRUB_PE32_REL_BASED_REL): Likewise.
38568 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
38569 (GRUB_PE32_REL_BASED_DIR64): Likewise.
38570 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
38571
38572 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
38573 issue.
38574
38575 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
38576 (efi_wrap_10): New function.
38577
38578 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
38579
38580 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
38581 MB/MBP model (NV chipset).
38582 (devdata_devs): Add devpath_5 to the list.
38583
38584 * load/i386/efi/linux.c (video_base): Remove variable.
38585 (RGB_MASK): New macro.
38586 (RGB_MAGIC): Likewise.
38587 (LINE_MIN): Likewise.
38588 (LINE_MAX): Likewise.
38589 (FBTEST_STEP): Likewise.
38590 (FBTEST_COUNT): Likewise.
38591 (fb_list): New variable.
38592 (grub_find_video_card): Remove function.
38593 (find_framebuf): New function.
38594 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
38595 line length.
38596
38597 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
38598 problem for x86_64.
38599
74b21bee 386002009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
38601
38602 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
38603
38604 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
38605 coding tool name.
38606
a455f472 386072009-02-22 Robert Millan <rmh@aybabtu.com>
38608
38609 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
38610 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
38611 in our relocation, instead of using it directly from heap. Also
38612 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
38613
6374daf3 386142009-02-21 Robert Millan <rmh@aybabtu.com>
38615
38616 Implement USB keyboard support (based on patch by Marco Gerards)
38617
38618 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
38619 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
38620 (usb_keyboard_mod_LDFLAGS): New variables.
38621
38622 * term/usb_keyboard.c: New file.
38623
8fa4ea70 386242009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
38625
38626 Corrected wrong declaration
38627
38628 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
38629
353976ac 386302009-02-14 Christian Franke <franke@computer.org>
38631
38632 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
38633 (grub_lspci_iter): Print class code and programming interface byte.
38634
6aa1169b 386352009-02-14 Christian Franke <franke@computer.org>
38636
38637 * gendistlist.sh: Ignore `.svn' directories.
38638
265372ca 386392009-02-14 Felix Zielcke <fzielcke@z-51.de>
38640
38641 * fs/fat.c: Add 2009 to Copyright line.
38642
9ff516f3 386432009-02-14 Christian Franke <franke@computer.org>
38644
38645 * commands/hdparm.c: New file. Provides `hdparm' command
38646 which sends ATA commands via grub_disk_ata_pass_through ().
38647
38648 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
38649
38650 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
38651 and <grub/cpu/io.h> to include/grub/ata.h.
38652 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
38653 (GRUB_CDROM_SECTOR_SIZE): Remove.
38654 (GRUB_ATA_*): Move to include/grub/ata.h.
38655 (GRUB_ATAPI_*): Likewise.
38656 (enum grub_ata_commands): Likewise.
38657 (enum grub_ata_timeout_milliseconds): Likewise.
38658 (struct grub_ata_device): Likewise.
38659 (grub_ata_regset): Likewise.
38660 (grub_ata_regget): Likewise.
38661 (grub_ata_regset2): Likewise.
38662 (grub_ata_regget2): Likewise.
38663 (grub_ata_check_ready): Likewise.
38664 (grub_ata_wait_not_busy): Remove static, exported in
38665 include/grub/ata.h.
38666 (grub_ata_wait_drq): Likewise.
38667 (grub_ata_pio_read): Likewise.
38668
38669 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
38670 function for hdparm.mod.
38671
38672 * include/grub/ata.h: New file, contains declarations from
38673 disk/ata.c.
38674 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
38675
38676 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
38677 (grub_disk_ata_pass_through): New exported variable.
38678
38679 * kern/disk.c (grub_disk_ata_pass_through): New variable.
38680
772e23da 386812009-02-13 Colin D Bennett <colin@gibibit.com>
38682
38683 Support multiple fallback entries, and provide an API to support
38684 executing default+fallback menu entries. Renamed the `terminal' menu
38685 viewer to `text'.
38686
38687 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
38688 variable declaration.
38689 (grub_menu_execute_callback): New structure declaration.
38690 (grub_menu_execute_callback_t): New typedef.
38691 (grub_menu_execute_with_fallback): New function declaration.
38692 (grub_menu_get_entry): Likewise.
38693 (grub_menu_get_timeout): Likewise.
38694 (grub_menu_set_timeout): Likewise.
38695
38696 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
38697
38698 * normal/menu.c (grub_wait_after_message): Moved to
38699 `normal/menu_text.c'.
38700 (draw_border): Likewise.
38701 (print_message): Likewise.
38702 (print_entry): Likewise.
38703 (print_entries): Likewise.
38704 (grub_menu_init_page): Likewise.
38705 (get_entry_number): Likewise.
38706 (print_timeout): Likewise.
38707 (run_menu): Likewise.
38708 (grub_menu_execute_entry): Likewise.
38709 (show_text_menu): Likewise.
38710 (get_and_remove_first_entry_number): New function.
38711 (grub_menu_execute_with_fallback): Likewise.
38712 (get_entry): Renamed to ...
38713 (grub_menu_get_entry): .. this and made it global.
38714 (get_timeout): Renamed to ...
38715 (grub_menu_get_timeout): ... this and made it global.
38716 (set_timeout): Renamed to ...
38717 (grub_menu_set_timeout): ... this and made it global.
38718 (grub_normal_terminal_menu_viewer): Renamed to ...
38719 (grub_normal_text_menu_viewer): ... this.
38720
38721 * normal/menu_text.c: New file. Extracted text-menu-specific code
38722 from normal/menu.c.
38723
38724 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
38725 (normal_mod_SOURCES): Likewise.
38726
38727 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38728 (normal_mod_SOURCES): Likewise.
38729
38730 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38731 (normal_mod_SOURCES): Likewise.
38732
38733 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
38734 (normal_mod_SOURCES): Likewise.
38735
38736 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38737 (normal_mod_SOURCES): Likewise.
38738
38739 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38740 (normal_mod_SOURCES): Likewise.
38741
38742 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38743 (normal_mod_SOURCES): Likewise.
38744
16ac430e 387452009-02-11 Robert Millan <rmh@aybabtu.com>
38746
38747 * util/grub.d/00_header.in: Update old reference to `font' command.
38748
06ff20fc 387492009-02-10 Felix Zielcke <fzielcke@z-51.de>
38750
38751 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
38752
38753 Based on patch from Javier Martín.
38754
96da9407 387552009-02-09 Felix Zielcke <fzielcke@z-51.de>
38756
38757 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 38758 to avoid false positives with FAT.
96da9407 38759 (grub_fstest_SOURCES): Likewise.
38760 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38761 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38762 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38763 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38764 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38765 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38766
6dca6fe4 387672009-02-09 Felix Zielcke <fzielcke@z-51.de>
38768
06ff20fc 38769 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 38770 bpb.version_specific.fat12_or_fat16.fstype and
38771 bpb.version_specific.fat32.fstype.
38772
2550c62f 387732009-02-08 Robert Millan <rmh@aybabtu.com>
38774
be110b30 38775 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 38776
56978920 387772009-02-08 Robert Millan <rmh@aybabtu.com>
38778
38779 * Makefile.in (host_os, host_cpu): New variables.
38780 (target_os): Remove. Update all users.
38781
d64399b5 387822009-02-08 Marco Gerards <marco@gnu.org>
38783
38784 * Makefile.in (enable_grub_emu_usb): New variable.
38785 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
38786 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
38787 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
38788 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
38789 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
38790 `usbtest.mod' and `usbms.mod'.
38791 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
38792 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
38793 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
38794 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
38795 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
38796 variables.
38797
38798 * disk/usbms.c: New file.
38799
38800 * include/grub/usb.h: Likewise.
38801
38802 * include/grub/usbtrans.h: Likewise.
38803
38804 * include/grub/usbdesc.h: Likewise.
38805
38806 * bus/usb/usbtrans.c: Likewise.
38807
38808 * bus/usb/ohci.c: Likewise.
38809
38810 * bus/usb/uhci.c: Likewise.
38811
38812 * bus/usb/usbhub.c: Likewise.
38813
38814 * bus/usb/usb.c: Likewise.
38815
38816 * commands/usbtest.c: Likewise.
38817
38818 * util/usb.c: Likewise.
50fb7002 38819
d64399b5 38820 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
38821
38822 * configure.ac: Test for libusb presence.
50fb7002 38823
d64399b5 38824 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
38825
2b40d6bb 388262009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
38827
38828 * kern/mm.c: Add more comments.
38829
73a4ce81 388302009-02-08 Robert Millan <rmh@aybabtu.com>
38831
38832 Patch from Javier Martín.
38833 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
38834 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
38835
f821ce59 388362009-02-08 Robert Millan <rmh@aybabtu.com>
38837
38838 * fs/cpio.c: Split tar functionality to ...
38839 * fs/tar.c: ... here (new file). Update all users.
38840
aebfc4b0 388412009-02-07 Robert Millan <rmh@aybabtu.com>
38842
38843 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
38844 backward-incompatible features.
38845
38846 Based on patch from Javier Martín, with some adjustments.
38847
50fb7002 388482009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 38849
38850 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
38851
0bb5115e 388522009-02-07 Robert Millan <rmh@aybabtu.com>
38853
38854 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
38855 position of `disk/lvm.c' to ensure grub_init_all() always picks it
38856 after the RAID stuff.
38857
38a0f8e7 388582009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
38859
50fb7002 38860 Fixes problem when running vbetest command as reported by
38a0f8e7 38861 Vladimir Serbinenko <phcoder@gmail.com>.
38862
38863 * (grub_vbe_set_video_mode): Fixed problem with text modes.
38864
3143cc1c 388652009-02-04 Felix Zielcke <fzielcke@z-51.de>
38866
38867 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
38868 /dev/md/NpN style mdraid devices.
38869
9cba6fce 388702009-02-03 Felix Zielcke <fzielcke@z-51.de>
38871
38872 * util/unifont2pff.rb: Remove.
38873
e507a2c1 388742009-02-03 Felix Zielcke <fzielcke@z-51.de>
38875
38876 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
38877 `#'.
38878
d2c2b4cd 388792009-02-03 Felix Zielcke <fzielcke@z-51.de>
38880
38881 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
38882 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38883 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38884 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38885 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38886 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38887 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38888
b4315fb0 388892009-02-02 Christian Franke <franke@computer.org>
38890
38891 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
38892
de3aa260 388932009-02-01 Felix Zielcke <fzielcke@z-51.de>
38894
7c3ff286 38895 * INSTALL: Note that we now require at least autoconf 2.59 and
38896 that LZO is optional.
de3aa260 38897
825a182b 388982009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
38899
38900 Base on patch on bug #24154 created by Tomas Tintera
38901 <trosos@seznam.cz>.
38902
38903 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
38904
a69ef770 389052009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
38906
7c3ff286 38907 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 38908 <bero@arklinux.org>.
38909
38910 * normal/parser.y (script_init): Add missing semicolon.
38911
6fa42fa6 389122009-01-31 Colin D Bennett <colin@gibibit.com>
38913
7c3ff286 38914 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 38915 (free_menu_entry_classes): Added.
38916 (grub_normal_menu_addentry): Added class property handling.
38917 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
38918 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
38919
38920 * normal/menu_viewer.c: New file.
38921
38922 * normal/menu.c (run_menu_entry): Renamed to ...
38923 (grub_menu_execute_entry): ... this and made it as global.
38924 (grub_menu_run): Renamed to ...
38925 (show_text_menu): ... this and made it local.
38926 (show_text_menu): Adapt to new function names.
38927 (grub_normal_terminal_menu_viewer): New global variable.
38928
38929 * include/grub/menu.h: New file.
38930
38931 * include/grub/menu_viewer.h: New file.
38932
38933 * include/grub/normal.h: Added include to grub/menu.h.
38934 (grub_menu_entry): Moved to include/grub/menu.h.
38935 (grub_menu_entry_t): Likewise.
38936 (grub_menu): Likewise.
38937 (grub_menu_t): Likewise.
38938 (grub_normal_terminal_menu_viewer): Added.
38939 (grub_menu_execute_entry): Likewise.
38940 (grub_menu_run): Removed.
38941
38942 * DISTLIST: Added include/grub/menu.h.
38943 Added include/grub/menu_viewer.h.
38944 Added normal/menu_viewer.c.
38945
389462009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
38947
38948 * normal/execute.c (grub_script_execute_menuentry): Changed to use
38949 arglist for menutitle arguments.
38950
38951 * normal/main.c (grub_normal_menu_addentry): Likewise.
38952
38953 * normal/parser.y (menuentry): Likewise.
38954
38955 * normal/script.c (grub_script_create_cmdmenu): Likewise.
38956
38957 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
38958 (grub_script_create_cmdmenu): Likewise.
38959
38960 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
38961
38962 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
38963 changes.
38964
38965 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
38966
38967 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
38968
38969 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
38970
38971 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38972
38973 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38974
38975 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
38976
56192c23 389772009-01-30 Christian Franke <franke@computer.org>
38978
38979 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
38980 in option help text.
38981
d72521b3 389822009-01-27 Pavel Roskin <proski@gnu.org>
38983
38984 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
38985
994b5e84 389862009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
38987
38988 * commands/lsmmap.c: Add include to grub/machine/memory.h.
38989
38990 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
38991
38992 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
38993 unregister function.
38994
6a7eab2c 389952009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
38996
38997 * disk/scsi.c (grub_scsi_read): Fix sign problem.
38998
38999 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
39000
39001 * util/grub-mkfont.c (usage): Fix typo.
39002
39003 * util/elf/grub-mkimage.c (load_modules): Fix warning.
39004
1806b56e 390052009-01-26 Daniel Mierswa <impulze@impulze.org>
39006
3fb18f09 39007 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
39008
336e1fb9 39009 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
39010
1806b56e 39011 * kern/misc.c (grub_strcasecmp): New function.
39012 (grub_strcasecmp): Use grub_size_t instead of int for length.
39013 Fix return value.
39014 * include/grub/misc.h: Update function prototypes.
39015
580b2a0f 390162009-01-26 Robert Millan <rmh@aybabtu.com>
39017
39018 * configure.ac: Fix cross-compilation check.
ef257b36 39019
d31c24f1 390202009-01-22 Christian Franke <franke@computer.org>
39021
39022 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
39023 (precision) digit string. Allow `.format2' without `format1' (width).
39024 Limit input chars for `%s' output to `format2' if specified. This is
39025 compatible with standard printf ().
39026
3138b44c 390272009-01-22 Christian Franke <franke@computer.org>
39028
39029 * disk/ata.c (grub_ata_wait_status): Replace by ...
39030 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
39031 other status bits may be invalid while BSY is asserted.
39032 (grub_ata_check_ready): New function.
39033 (grub_ata_cmd): Removed.
39034 (grub_ata_wait_drq): New function.
39035 (grub_ata_strncpy): Remove inline.
39036 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
39037 and error check now done by grub_ata_wait_drq ().
39038 (grub_ata_pio_write): Likewise.
39039 (grub_atapi_identify): Set DEV before check for !BSY. Use
39040 grub_ata_wait_drq () to wait for data.
39041 (grub_ata_device_initialize): Add status register check to
39042 detect missing SATA slave devices. Add debug messages.
39043 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
39044 (grub_atapi_packet): Set DEV before check for !BSY. Replace
39045 transfer loop by grub_ata_pio_write ().
39046 (grub_ata_identify): Set DEV before check for !BSY. Use
39047 grub_ata_wait_drq () to wait for data.
ef257b36 39048 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 39049 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
39050 read/write in one loop. Fix invalid command on write. Fix incomplete
39051 command on (size % batch) == 0. Add missing error check after write of
39052 last block. Add debug messages.
39053 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
39054
59a64ef6 390552009-01-19 Christian Franke <franke@computer.org>
39056
39057 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
39058 (GRUB_ATAPI_IREASON_*): Likewise.
39059 (grub_ata_pio_write): Fix timeout error return.
39060 (grub_atapi_identify): Add grub_ata_wait () after cmd.
39061 (grub_atapi_wait_drq): New function.
39062 (grub_atapi_packet): New parameter `size'.
39063 Use grub_atapi_wait_drq () and direct write instead of
39064 grub_ata_pio_write ().
39065 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
39066 reads the number of bytes requested by the device for each DRQ
39067 assertion.
39068 (grub_atapi_write): Remove old implementation, return not
39069 implemented instead.
39070
1cfe20b3 390712009-01-19 Christian Franke <franke@computer.org>
39072
39073 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
39074 of 512 to calculate data size.
39075 (grub_scsi_read12): Likewise.
39076 (grub_scsi_write10): Likewise.
39077 (grub_scsi_write12): Likewise.
39078 (grub_scsi_read): Adjust size according to blocksize.
39079 Add checks for invalid blocksize and unaligned transfer.
39080
bee5fe5d 390812009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
39082
39083 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
39084
ef257b36 39085 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 39086 width glyphs.
39087
3e643f8c 390882009-01-19 Robert Millan <rmh@aybabtu.com>
39089
39090 * config.guess: Update to latest version from config git.
39091 * config.sub: Likewise.
39092
4fa80998 390932009-01-17 Felix Zielcke <fzielcke@z-51.de>
39094
39095 * Makefile.in: Change font compilation to use new grub-mkfont instead
39096 of java version.
39097
39098 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
39099 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
39100 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39101 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39102 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
39103 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
39104 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
39105 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
39106 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39107
7086085b 391082009-01-16 Christian Franke <franke@computer.org>
39109
39110 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
39111 (enum grub_ata_timeout_milliseconds): New enum.
39112 (grub_ata_wait_status): Add parameter milliseconds.
39113 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
39114 recovery from timed-out commands.
39115 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
39116 return grub_errno instead of REG_ERROR.
39117 (grub_ata_pio_write): Add parameter milliseconds.
39118 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
39119 Pass milliseconds to grub_ata_wait_status () and
39120 grub_ata_pio_read ().
39121 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
39122 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
39123 grub_ata_wait_status (). Fix IDENTIFY timeout check.
39124 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
39125 It is not suitable for device detection, because DEV bit is ignored,
39126 the command may run too long, and not all devices set the signature
39127 properly.
39128 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
39129 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
39130 Fix device selection, DEV bit must be set first to address the registers
39131 of the correct device.
39132 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
39133 grub_ata_pio_read/write ().
39134 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
39135 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
39136
4a412913 391372009-01-13 Carles Pina i Estany <carles@pina.cat>
39138
39139 * util/grub-editenv.c (main): Use fseeko(), not fseek().
39140
7795c55e 391412009-01-13 Bean <bean123ch@gmail.com>
d913988c 39142
39143 * util/grub-mkfont.c (write_font): forget to remove some debug code.
39144
7795c55e 391452009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 39146
39147 * Makefile.in: (enable_grub_mkfont): New variable.
39148 (freetype_cflags): Likewise.
39149 (freetype_libs): Likewise.
39150
39151 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
39152 (grub_mkfont_SOURCES): New variable.
39153 (grub_mkfont_CFLAGS): Likewise.
39154 (grub_mkfont_LDFLAGS): Likewise.
39155
39156 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
39157 library if `--enable-grub-mkfont' is requested.
39158 (enable_grub_mkfont): New variable.
39159 (freetype_cflags): Likewise.
39160 (freetype_libs): Likewise.
39161
39162 * util/grub-mkfont.c: New file.
39163
093af1fe 391642009-01-12 Christian Franke <franke@computer.org>
39165
39166 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
39167 mode check. Fix setting of compat_use[].
39168
f36cc108 391692009-01-10 Robert Millan <rmh@aybabtu.com>
39170
39171 Update a few copyright years which we forgot to do in 2008 (only for
39172 files whose changes made in 2008 were copyright-significant)
39173
39174 * Makefile.in: Add 2008 to Copyright line.
39175 * disk/ieee1275/ofdisk.c: Likewise.
39176 * disk/efi/efidisk.c: Likewise.
39177 * kern/dl.c: Likewise.
39178 * kern/sparc64/ieee1275/init.c: Likewise.
39179 * kern/mm.c: Likewise.
39180 * kern/efi/mm.c: Likewise.
39181 * boot/i386/pc/boot.S: Likewise.
39182 * genfslist.sh: Likewise.
39183 * fs/iso9660.c: Likewise.
39184 * fs/hfs.c: Likewise.
39185 * fs/jfs.c: Likewise.
39186 * fs/minix.c: Likewise.
39187 * fs/ufs.c: Likewise.
39188 * gensymlist.sh.in: Likewise.
39189 * genkernsyms.sh.in: Likewise.
39190 * include/grub/misc.h: Likewise.
39191 * include/grub/types.h: Likewise.
39192 * include/grub/symbol.h: Likewise.
39193 * include/grub/elf.h: Likewise.
39194 * include/grub/kernel.h: Likewise.
39195 * include/grub/disk.h: Likewise.
39196 * include/grub/dl.h: Likewise.
39197 * include/grub/i386/linux.h: Likewise.
39198 * include/grub/i386/pc/biosdisk.h: Likewise.
39199 * include/grub/efi/api.h: Likewise.
39200 * include/grub/efi/pe32.h: Likewise.
39201 * include/grub/util/misc.h: Likewise.
39202 * normal/execute.c: Likewise.
39203 * normal/arg.c: Likewise.
39204 * normal/completion.c: Likewise.
39205 * normal/lexer.c: Likewise.
39206 * normal/parser.y: Likewise.
39207 * normal/misc.c: Likewise.
39208 * commands/i386/pc/vbeinfo.c: Likewise.
39209 * commands/hexdump.c: Likewise.
39210 * commands/terminal.c: Likewise.
39211 * commands/ls.c: Likewise.
39212 * commands/help.c: Likewise.
39213 * partmap/pc.c: Likewise.
39214 * loader/efi/chainloader.c: Likewise.
39215 * loader/multiboot_loader.c: Likewise.
39216 * loader/i386/pc/multiboot2.c: Likewise.
39217 * term/efi/console.c: Likewise.
39218 * term/i386/pc/serial.c: Likewise.
39219 * util/lvm.c: Likewise.
39220 * util/console.c: Likewise.
39221 * util/i386/efi/grub-mkimage.c: Likewise.
39222 * util/raid.c: Likewise.
39223
7f02114b 392242009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
39225
39226 * commands/videotest.c: Removed include to grub/machine/memory.h.
39227
39228 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
39229 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
39230 (video_mod_SOURCES): Removed.
39231 (video_mod_CFLAGS): Likewise.
39232 (video_mod_LDFLAGS): Likewise.
39233 (gfxterm_mod_SOURCES): Likewise.
39234 (gfxterm_mod_CFLAGS): Likewise.
39235 (gfxterm_mod_LDFLAGS): Likewise.
39236 (videotest_mod_SOURCES): Likewise.
39237 (videotest_mod_CFLAGS): Likewise.
39238 (videotest_mod_LDFLAGS): Likewise.
39239 (bitmap_mod_SOURCES): Likewise.
39240 (bitmap_mod_CFLAGS): Likewise.
39241 (bitmap_mod_LDFLAGS): Likewise.
39242 (tga_mod_SOURCES): Likewise.
39243 (tga_mod_CFLAGS): Likewise.
39244 (tga_mod_LDFLAGS): Likewise.
39245 (jpeg_mod_SOURCES): Likewise.
39246 (jpeg_mod_CFLAGS): Likewise.
39247 (jpeg_mod_LDFLAGS): Likewise.
39248 (png_mod_SOURCES): Likewise.
39249 (png_mod_CFLAGS): Likewise.
39250 (png_mod_LDFLAGS): Likewise.
39251
39252 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
39253 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
39254 (video_mod_SOURCES): Added.
39255 (video_mod_CFLAGS): Likewise.
39256 (video_mod_LDFLAGS): Likewise.
39257 (videotest_mod_SOURCES): Likewise.
39258 (videotest_mod_CFLAGS): Likewise.
39259 (videotest_mod_LDFLAGS): Likewise.
39260 (bitmap_mod_SOURCES): Likewise.
39261 (bitmap_mod_CFLAGS): Likewise.
39262 (bitmap_mod_LDFLAGS): Likewise.
39263 (tga_mod_SOURCES): Likewise.
39264 (tga_mod_CFLAGS): Likewise.
39265 (tga_mod_LDFLAGS): Likewise.
39266 (jpeg_mod_SOURCES): Likewise.
39267 (jpeg_mod_CFLAGS): Likewise.
39268 (jpeg_mod_LDFLAGS): Likewise.
39269 (png_mod_SOURCES): Likewise.
39270 (png_mod_CFLAGS): Likewise.
39271 (png_mod_LDFLAGS): Likewise.
39272 (gfxterm_mod_SOURCES): Likewise.
39273 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 39274 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 39275
39276 * term/gfxterm.c: Removed include to grub/machine/memory.h,
39277 grub/machine/console.h.
39278
644fff97 392792009-01-04 Jerone Young <jerone@gmail.com>
39280
39281 Make on screen instructions clearer
39282
39283 Based on patch created by Jidanni <jidanni@jidanni.org>
39284
39285 * normal/menu.c: print clearer instructions on the screen
39286
1e901a75 392872009-01-02 Colin D Bennett <colin@gibibit.com>
39288
39289 New font engine.
34c44600 39290
1e901a75 39291 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
39292 build system and fixed gfxterm.c to work with different sized fonts.
39293
39294 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 39295
1e901a75 39296 * configure: Re-generated.
34c44600 39297
1e901a75 39298 * DISTLIST: Removed font/manager.c.
39299 Added font/font.c.
39300 Added font/font_cmd.c.
34c44600 39301
1e901a75 39302 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
39303 compilation.
34c44600 39304
1e901a75 39305 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 39306
39307 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 39308
39309 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 39310
1e901a75 39311 * normal/menu.c: Likewise.
34c44600 39312
1e901a75 39313 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
39314 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 39315
1e901a75 39316 * include/grub/font.h: Replaced with new file.
34c44600 39317
1e901a75 39318 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
39319 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
39320 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
39321 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
39322 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 39323 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 39324 fg_red, fg_green, fg_blue, fg_alpha.
39325 (grub_video_adapter): Removed blit_glyph.
34c44600 39326 (grub_video_blit_glyph): Removed.
39327
1e901a75 39328 * font/manager.c: Removed file.
34c44600 39329
39330 * font/font.c: New file.
39331
1e901a75 39332 * font/font_cmd.c: Likewise.
34c44600 39333
1e901a75 39334 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 39335
1e901a75 39336 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
39337 (grub_video_vbe_map_rgba): Likewise.
39338 (grub_video_vbe_unmap_color_int): Likewise.
39339 (grub_video_vbe_blit_glyph): Removed.
39340 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 39341
1e901a75 39342 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
39343 (get_pixel): Likewise.
34c44600 39344 (set_pixel): Likewise.
39345
1e901a75 39346 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 39347
1e901a75 39348 * term/gfxterm.c: Adapted to new font engine.
34c44600 39349
1e901a75 39350 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 39351
1e901a75 39352 * term/i386/pc/vga.c: Likewise.
34c44600 39353
1e901a75 39354 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 39355
1e901a75 39356 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 39357
1e901a75 39358 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39359
1e901a75 39360 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 39361
1e901a75 39362 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 39363
1e901a75 39364 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 39365
1e901a75 39366 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 39367
1e901a75 39368 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 39369
1e901a75 39370 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39371
39372 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 39373
1e901a75 39374 * util/grub-mkconfig_lib.in: Changed font extension.
39375
278922e8 393762008-12-28 Felix Zielcke <fzielcke@z-51.de>
39377
39378 * util/getroot.c (grub_util_get_grub_dev): Add support for
39379 /dev/md/dNNpNN style partitionable mdraid devices.
39380
3ced05cf 393812008-12-12 Alex Smith <alex@alex-smith.me.uk>
39382
39383 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
39384 at a time limit of the PXE TFTP API correctly.
39385 (grub_pxefs_close): Likewise.
39386
7fd0ee30 393872008-11-29 Robert Millan <rmh@aybabtu.com>
39388
34c44600 39389 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 39390 grub_ata_device_initialize() calls.
39391
34c44600 393922008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 39393
39394 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
39395 iteration failed.
39396 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
39397
89313780 393982008-11-28 Robert Millan <rmh@aybabtu.com>
39399
39400 Fix build on powerpc-ieee1275. Based on patch created by
39401 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
39402 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39403 `kern/ieee1275/mmap.c'.
39404 * include/grub/powerpc/ieee1275/memory.h: New file.
39405
15257703 39406 Provide grub-install on coreboot.
39407 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
39408 (grub_install_SOURCES): New variable.
39409 * util/i386/pc/grub-install.in: Add a few condition checks to make it
39410 usable on coreboot.
39411
9fc5388a 394122008-11-25 Felix Zielcke <fzielcke@z-51.de>
39413
39414 * util/grub-fstest.c (grub_term_get_current_input): Change return type
39415 to `grub_term_input_t'.
39416 (grub_term_get_current_output): Change return type to
39417 `grub_term_output_t'.
39418
bc3a2f31 394192008-11-22 Robert Millan <rmh@aybabtu.com>
39420
34c44600 39421 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 39422 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
39423 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
39424 grub_vga_text_cls().
39425
80fc88f2 39426 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 39427 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 39428
cbf36fd3 39429 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
39430 to 0x200000 (avoids trouble with some OFW implementations, and matches
39431 with the one in Yaboot).
39432 Reported by Manoel Abranches
39433
73e8e268 394342008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 39435
39436 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
39437 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
39438
73e8e268 39439 * util/grub-mkconfig_lib.in (grub_warn): New function.
39440 (convert_system_path_to_grub_path): Use grub_warn() when issuing
39441 warnings, to obtain consistent formatting.
39442 * util/grub.d/00_header.in: Likewise.
39443 * util/update-grub_lib.in: Likewise.
39444
e94045a1 39445 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 39446 Move comment text to `#error' stanza.
e94045a1 39447
79d29fd7 39448 Harmonize ieee1275's grub_available_iterate() with the generic
39449 grub_machine_mmap_iterate() interface (fixes a recently-introduced
39450 build problem on i386-ieee1275):
39451 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
39452 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
39453 parameter `type'. Update all users of this function.
39454 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39455 `kern/ieee1275/mmap.c'.
39456 * kern/ieee1275/init.c
39457 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
39458 with ...
39459 (grub_machine_mmap_iterate): ... this.
39460 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
39461 return type to `grub_err_t'. Update all implementations of this
39462 function prototype.
39463 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
39464 Likewise.
39465
60d6b16e 39466 Add `lsmmap' command (lists firmware-provided memory map):
39467 * commands/lsmmap.c: New file.
39468 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
39469 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
39470 variables.
39471 * conf/powerpc-ieee1275.rmk: Likewise.
39472 * conf/i386-coreboot.rmk: Likewise.
39473 * conf/i386-ieee1275.rmk: Likewise.
39474
ebaaf49b 394752008-11-19 Robert Millan <rmh@aybabtu.com>
39476
39477 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 39478 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
39479 constraints to initrd allocation (based on code from
39480 loader/i386/pc/linux.c). Without them, initrd was allocated too high
39481 for Linux to find it.
ebaaf49b 39482
dfab719f 394832008-11-14 Robert Millan <rmh@aybabtu.com>
39484
39485 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
39486 order to cope with duplicate slashes.
39487
10fc3eb9 394882008-11-14 Robert Millan <rmh@aybabtu.com>
39489
39490 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
39491 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
39492 don't want to mess with lower memory, because it is used in the Linux
39493 loader.
39494
39495 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 39496 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 39497 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
39498 is in our heap (probably as a result of it being corrupted during
2f2a3442 39499 decompression). Add #error instance with comment to explain why this
39500 loader isn't currently usable on PC/BIOS.
10fc3eb9 39501
e2e07847 395022008-11-14 Robert Millan <rmh@aybabtu.com>
39503
39504 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 39505 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 39506
fe8e8d69 395072008-11-12 Robert Millan <rmh@aybabtu.com>
39508
39509 Make loader/i386/linux.c buildable on i386-pc (although disabled).
39510
39511 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
39512 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
39513 from here ...
39514 * include/grub/i386/pc/memory.h: ... to here.
39515
976b07d0 395162008-11-12 Robert Millan <rmh@aybabtu.com>
39517
39518 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
39519 split).
39520
39521 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
39522 (grub_console_cur_color, grub_console_real_putchar)
39523 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39524 (grub_console_setcolorstate, grub_console_setcolor)
39525 (grub_console_getcolor): Move from here ...
39526 * include/grub/i386/vga_common.h: ... to here (new file).
39527
39528 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
39529 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
39530 `<grub/i386/io.h>'.
39531 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
39532 `<grub/i386/vga_common.h>'.
39533
76679cd3 395342008-11-12 Robert Millan <rmh@aybabtu.com>
39535
39536 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
39537 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
39538 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
39539 variables.
39540 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39541 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
39542
39543 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
39544 grub_console_init() with call to grub_vga_text_init().
39545 (grub_machine_fini): Replace call to
39546 grub_console_fini() with call to grub_vga_text_fini() and
39547 grub_at_keyboard_fini().
39548
39549 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
39550 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39551 (grub_console_setcolorstate, grub_console_setcolor)
39552 (grub_console_getcolor): New function prototypes.
39553
39554 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
39555 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
39556 (grub_vga_text_setcursor): Static-ize.
39557 (grub_vga_text_term): New structure.
39558 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
39559
39560 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
39561 (grub_console_cur_color, grub_console_standard_color)
39562 (grub_console_normal_color, grub_console_highlight_color)
39563 (map_char, grub_console_putchar, grub_console_getcharwidth)
39564 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
39565 (grub_console_getcolor): Move from here ...
39566 * term/i386/vga_common.c: ... to here (same function names).
39567
95b841d3 395682008-11-12 Robert Millan <rmh@aybabtu.com>
39569
39570 Use newly-added Multiboot support in coreboot.
39571
39572 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39573 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
39574
39575 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
39576 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
39577 (codestart): Store the MBI in `startup_multiboot_info' when we're
39578 being loaded using Multiboot.
39579
39580 * kern/i386/coreboot/init.c (grub_machine_init): Move
39581 grub_at_keyboard_init() call to beginning of function (useful for
39582 debugging). Call grub_machine_mmap_init() before attempting to use
39583 grub_machine_mmap_iterate().
39584 (grub_lower_mem, grub_upper_mem): Move from here ...
39585 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
39586 here (new file).
39587
39588 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
39589 function prototype.
39590
761ca975 395912008-11-12 Robert Millan <rmh@aybabtu.com>
39592
39593 Fix a regression introduced by the at_keyboard.mod split. Because
39594 some terminals are default on some platforms and non-default on
39595 others, the first terminal being registered determines which is
39596 going to be default.
39597
39598 * kern/term.c (grub_term_register_input): If this is the first
39599 terminal being registered, set it as the current one.
39600 (grub_term_register_output): Likewise.
39601
39602 * term/efi/console.c (grub_console_init): Do not call
39603 grub_term_set_current_output() or grub_term_set_current_input().
39604 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
39605 * term/i386/pc/console.c (grub_console_init): Likewise.
39606 (grub_console_fini): Do not call grub_term_set_current_input()
39607 (but leave grub_term_set_current_output() to restore text mode).
39608
6c529df7 396092008-11-10 Robert Millan <rmh@aybabtu.com>
39610
39611 * util/grub.d/00_header.in: Add backward compatibility check for
39612 versions of terminal.mod that don't understand `terminal_input' or
39613 `terminal_output'.
39614
132e4113 396152008-11-09 Robert Millan <rmh@aybabtu.com>
39616
39617 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
39618 `terminal_input' / `terminal_output', not `terminal'.
39619
ac293d50 396202008-11-08 Robert Millan <rmh@aybabtu.com>
39621
39622 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 39623 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 39624
0025933a 396252008-11-08 Robert Millan <rmh@aybabtu.com>
39626
39627 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 39628 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 39629 members. Update all users.
39630 * util/console.c (grub_ncurses_term): Split in ...
39631 (grub_ncurses_term_input): ... this, and ...
39632 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 39633 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 39634
37c86336 396352008-11-08 Robert Millan <rmh@aybabtu.com>
39636
39637 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
39638 (PKGDATA): Add $(pkgdata_SRCDIR).
39639 (pkglib_BUILDDIR): New variable.
39640 (pkgdata_SRCDIR): New variable.
39641 (build_env.mk): New target.
39642 (include_DATA): New variable.
39643 (install-local): Install $(include_DATA) files in $(includedir).
39644
b6c15a2d 396452008-11-07 Pavel Roskin <proski@gnu.org>
39646
d99d46f1 39647 * gendistlist.sh: Use C locale for sorting to ensure consistent
39648 output on all systems.
39649
b6c15a2d 39650 * util/grub.d/00_header.in: Remove incorrect space before
39651 "serial".
39652
c32ee8c9 396532008-11-07 Robert Millan <rmh@aybabtu.com>
39654
39655 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
39656 per specification.
39657 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
39658 * loader/multiboot_loader.c (find_multi_boot2_header): New function
39659 (based on find_multi_boot1_header).
39660 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
39661 using find_multi_boot2_header(), and abort if neither Multiboot or
39662 Multiboot headers were found.
39663
651c29b7 396642008-11-07 Robert Millan <rmh@aybabtu.com>
39665
39666 Modularize at_keyboard.mod:
39667
39668 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
39669 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
39670 (at_keyboard_mod_LDFLAGS): New variables.
39671
39672 Actual terminal split:
39673
39674 * include/grub/term.h (struct grub_term): Split in ...
39675 (struct grub_term_input): ... this, and ...
39676 (struct grub_term_output): ... this. Update all users.
39677 (grub_term_set_current): Split in ...
39678 (grub_term_set_current_input): ... this, and ...
39679 (grub_term_set_current_output): ... this.
39680 (grub_term_get_current): Split in ...
39681 (grub_term_get_current_input): ... this, and ...
39682 (grub_term_get_current_output): ... this.
39683 (grub_term_register): Split in ...
39684 (grub_term_register_input): ... this, and ...
39685 (grub_term_register_output): ... this.
39686 (grub_term_unregister): Split in ...
39687 (grub_term_unregister_input): ... this, and ...
39688 (grub_term_unregister_output): ... this.
39689 (grub_term_iterate): Split in ...
39690 (grub_term_iterate_input): ... this, and ...
39691 (grub_term_iterate_output): ... this.
39692
39693 * kern/term.c (grub_term_list): Split in ...
39694 (grub_term_list_input): ... this, and ...
39695 (grub_term_list_output): ... this. Update all users.
39696 (grub_cur_term): Split in ...
39697 (grub_cur_term_input): ... this, and ...
39698 (grub_cur_term_output): ... this. Update all users.
39699 (grub_term_set_current): Split in ...
39700 (grub_term_set_current_input): ... this, and ...
39701 (grub_term_set_current_output): ... this.
39702 (grub_term_get_current): Split in ...
39703 (grub_term_get_current_input): ... this, and ...
39704 (grub_term_get_current_output): ... this.
39705 (grub_term_register): Split in ...
39706 (grub_term_register_input): ... this, and ...
39707 (grub_term_register_output): ... this.
39708 (grub_term_unregister): Split in ...
39709 (grub_term_unregister_input): ... this, and ...
39710 (grub_term_unregister_output): ... this.
39711 (grub_term_iterate): Split in ...
39712 (grub_term_iterate_input): ... this, and ...
39713 (grub_term_iterate_output): ... this.
39714
39715 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
39716 a check for input and one for output (and only attempt to get keys
39717 from user when input works).
39718
39719 * util/grub-probe.c (grub_term_get_current): Split in ...
39720 (grub_term_get_current_input): ... this, and ...
39721 (grub_term_get_current_output): ... this.
39722 * util/grub-fstest.c: Likewise.
39723 * util/i386/pc/grub-setup.c: Likewise.
39724 * util/grub-editenv.c: Likewise.
39725
39726 Portability adjustments:
39727
39728 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
39729 `term/i386/pc/at_keyboard.c'.
39730 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
39731 grub_keyboard_controller_init() (now handled by terminal .init).
39732 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
39733 grub_at_keyboard_init().
39734 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
39735 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
39736 at_keyboard.mod via input terminal interface).
39737 * include/grub/i386/coreboot/console.h: Convert into a stub for
39738 `<grub/i386/pc/console.h>'.
39739
39740 Migrate full terminals to new API:
39741
39742 * term/efi/console.c (grub_console_term): Split into ...
39743 (grub_console_term_input): ... this, and ...
39744 (grub_console_term_output): ... this. Update all users.
39745 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
39746 (grub_ofconsole_init): Split into ...
39747 (grub_ofconsole_init_input): ... this, and ...
39748 (grub_ofconsole_init_output): ... this.
39749 (grub_ofconsole_term): Split into ...
39750 (grub_ofconsole_term_input): ... this, and ...
39751 (grub_ofconsole_term_output): ... this. Update all users.
39752 * term/i386/pc/serial.c (grub_serial_term): Split into ...
39753 (grub_serial_term_input): ... this, and ...
39754 (grub_serial_term_output): ... this. Update all users.
39755 * term/i386/pc/console.c (grub_console_term): Split into ...
39756 (grub_console_term_input): ... this, and ...
39757 (grub_console_term_output): ... this. Update all users.
39758 (grub_console_term_input): Only enable it on PC/BIOS platform.
39759 (grub_console_init): Remove grub_keyboard_controller_init() call.
39760
39761 Migrate input terminals to new API:
39762
39763 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
39764 `i386' and `i386/pc' to enable build on x86_64 (this driver is
39765 i386-specific anyway).
39766 (grub_console_checkkey): Rename to ...
39767 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
39768 users.
39769 (grub_keyboard_controller_orig): New variable.
39770 (grub_console_getkey): Rename to ...
39771 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
39772 users.
39773 (grub_keyboard_controller_init): Static-ize. Save original
39774 controller value so that it can be restored ...
39775 (grub_keyboard_controller_fini): ... here (new function).
39776 (grub_at_keyboard_term): New structure.
39777 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
39778 functions.
39779
39780 Migrate output terminals to new API:
39781
39782 * term/i386/pc/vga.c (grub_vga_term): Change type to
39783 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39784 members. Update all users.
39785 * term/gfxterm.c (grub_video_term): Change type to
39786 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39787 members. Update all users.
39788 * include/grub/i386/pc/console.h (grub_console_checkkey)
39789 (grub_console_getkey): Do not export (no longer needed by gfxterm,
39790 etc).
39791
39792 Migrate `terminal' command and userland tools to new API:
39793
39794 * commands/terminal.c (grub_cmd_terminal): Split into ...
39795 (grub_cmd_terminal_input): ... this, and ...
39796 (grub_cmd_terminal_output): ... this.
39797 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
39798 `terminal_input' and `terminal_output'.
39799 * util/grub.d/00_header.in: Adjust `terminal' calls to new
39800 `terminal_input' / `terminal_output' API.
39801 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
39802 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
39803 provided ${GRUB_TERMINAL}, convert it).
39804
96e5d876 398052008-11-04 Robert Millan <rmh@aybabtu.com>
39806
39807 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
39808 for FreeBSD.
39809 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
39810
556f3775 398112008-11-03 Bean <bean123ch@gmail.com>
39812
39813 * kern/elf.c (grub_elf32_load): Revert to previous code.
39814 (grub_elf64_load): Likewise.
39815
39816 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
39817
926b9823 398182008-11-01 Robert Millan <rmh@aybabtu.com>
39819
39820 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
39821 (TARGET_CPPFLAGS): Likewise.
39822 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
39823
1432e958 398242008-11-01 Carles Pina i Estany <carles@pina.cat>
39825
39826 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
39827
dba3f844 398282008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 39829
39830 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
39831 addition of objects until the code is not going to be able to fail.
39832
dba3f844 398332008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 39834
39835 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
39836 (add a missing NULL check, and correct them by moving the pointer
39837 operations after the actual check).
39838
7ab28c21 398392008-10-29 Robert Millan <rmh@aybabtu.com>
39840
39841 * util/i386/pc/grub-install.in: Handle empty string as output from
39842 make_system_path_relative_to_its_root().
39843
1b7748eb 398442008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
39845
39846 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
39847 circular metadata worst case scenario. If the metadata is circular
39848 then copy the wrap in place.
39849 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
39850 project lib/format_text/layout.h
39851 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
39852
c9618ab2 398532008-10-03 Felix Zielcke <fzielcke@z-51.de>
39854
7a36edca 39855 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 39856
bf981c62 398572008-10-03 Felix Zielcke <fzielcke@z-51.de>
39858
39859 * util/update-grub_lib.in: Mention filename in warning message.
39860
6d994591 398612008-09-29 Felix Zielcke <fzielcke@z-51.de>
39862
39863 * NEWS: Update for rename of update-grub to grub-mkconfig.
39864
18ade780 398652008-09-29 Felix Zielcke <fzielcke@z-51.de>
39866
39867 * util/update-grub_lib.in: Copy to ...
39868 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 39869 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 39870 * util/update-grub.in: Rename to ...
39871 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
39872 option. Add `--output' option to allow users to specify the generated
39873 configuration file. Default to stdout.
39874 (update_grub_dir): Rename to ...
39875 (grub_mkconfig_dir): ... this.
39876 (grub_cfg): Default to an empty string.
39877 * conf/common.rmk (update-grub): Rename to ...
39878 (grub-mkconfig): ... this.
39879 (update-grub_lib): Copy to ...
39880 (grub-mkconfig_lib): ... this.
39881 (update-grub_SCRIPTS): Copy to ...
39882 (grub-mkconfig_SCRIPTS): ... this. Update all users.
39883 (update-grub_DATA): Rename to ...
39884 (grub-mkconfig_DATA): ... this.
39885
556ce6ac 398862008-09-28 Robert Millan <rmh@aybabtu.com>
39887
39888 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
39889 to `modified'. Add the real `created' field.
39890 (grub_iso9660_uuid): Use `modified' rather than `created' for
39891 constructing the UUID.
39892
398932008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 39894
39895 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
39896 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
39897
92274e85 398982008-09-28 Bean <bean123ch@gmail.com>
39899
39900 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
39901 Thanks to Christian Franke for finding this bug.
39902
add6f17a 399032008-09-25 Robert Millan <rmh@aybabtu.com>
39904
39905 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
39906 instances of grub_util_get_disk_name() (see previous commit).
39907
d2a367b8 399082008-09-25 Robert Millan <rmh@aybabtu.com>
39909
39910 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
39911 `util/i386/get_disk_name.c'.
39912 * conf/i386-efi.rmk: Likewise.
39913 * conf/x86_64-efi.rmk: Likewise.
39914 * conf/i386-coreboot.rmk: Likewise.
39915 * conf/i386-ieee1275.rmk: Likewise.
39916 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
39917 `util/ieee1275/get_disk_name.c'.
39918 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
39919 * util/ieee1275/get_disk_name.c: Remove file.
39920 * util/i386/get_disk_name.c: Remove file.
39921 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
39922 "hd%d" for device.map entries, rather than using
39923 grub_util_get_disk_name().
39924
81a06771 399252008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 39926
39927 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
39928 warning.
39929 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
39930
5a004279 399312008-09-24 Carles Pina i Estany <carles@pina.cat>
39932
39933 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
39934 Changed to 0x5100.
39935 (GRUB_TERM_PPAGE): Changed to 0x4900.
39936
397093d3 399372008-09-24 Robert Millan <rmh@aybabtu.com>
39938
39939 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
39940 macros (they were i386-pc specific).
39941 * include/grub/sparc64/ieee1275/console.h: Likewise.
39942 * include/grub/efi/console.h: Likewise.
39943
a91b6c7c 399442008-09-22 Bean <bean123ch@gmail.com>
39945
39946 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
39947 resident and in attribute list.
39948
39949 * include/grub/ntfs.h (BMP_LEN): Removed.
39950
c40fd116 399512008-09-22 Bean <bean123ch@gmail.com>
39952
81a06771 39953 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 39954 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
39955
39956 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
39957 error occurs, as grub_disk_open will call grub_disk_close, which will
39958 call p->close (scsi).
39959
81a06771 399602008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 39961
39962 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
39963 (AC_PREREQ): Bumped to 2.59.
39964 (AC_TRY_COMPILE): Replace obsolete macro with ...
39965 (AC_COMPILE_IFELSE): ... this.
39966 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
39967 (AC_LINK_IFELSE): ... this.
39968
5dc43410 399692008-09-21 Felix Zielcke <fzielcke@z-51.de>
39970
39971 * autogen.sh: Add a call to `gendistlist.sh'.
39972
9035dce4 399732008-09-19 Christian Franke <franke@computer.org>
39974
39975 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
39976 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
39977 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
39978 Export __enable_execute_stack() to modules.
39979 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
39980 New function.
39981
7fd75377 399822008-09-09 Felix Zielcke <fzielcke@z-51.de>
39983
040030b3 39984 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
39985 Sort the list.
39986
399872008-09-09 Felix Zielcke <fzielcke@z-51.de>
39988
39989 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 39990 #include <grub/util/hostdisk.h>.
39991
89d5ffcf 399922008-09-08 Robert Millan <rmh@aybabtu.com>
39993
39994 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
39995 segments when their filesz is zero (grub_file_read() interprets
81a06771 39996 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 39997 Use `lowest_segment' rather than 0 for calculating the current
39998 segment load address.
39999
40da438f 400002008-09-08 Robert Millan <rmh@aybabtu.com>
40001
40002 * util/hostdisk.c (open_device): Replace a grub_util_info() call
40003 with grub_dprintf("hostdisk", ...), as it was so verbose that it
40004 clobbered useful information.
40005
ddbf5556 400062008-09-08 Robert Millan <rmh@aybabtu.com>
40007
40008 * include/grub/util/biosdisk.h: Move to ...
40009 * include/grub/util/hostdisk.h: ... here. Update all users.
40010 * util/biosdisk.c: Move to ...
40011 * util/hostdisk.c: ... here. Update all users.
40012
783d0f48 400132008-09-07 Robert Millan <rmh@aybabtu.com>
40014
40015 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
40016 variables.
40017 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
40018 and length can be stored directly in the `mbi->mmap_addr' and
40019 `mbi->mmap_length' struct fields.
40020
548e2ea5 400212008-09-07 Robert Millan <rmh@aybabtu.com>
40022
40023 * conf/i386.rmk: New file. Provides declaration for building
40024 `cpuid.mod'.
40025 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
40026 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
40027 variables.
40028 Include `conf/i386.mk'.
40029 * conf/i386-efi.rmk: Likewise.
40030 * conf/x86_64-efi.rmk: Likewise.
40031 * conf/i386-coreboot.rmk: Likewise.
40032 * conf/i386-ieee1275.rmk: Likewise.
40033
0ea85a37 400342008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
40035
40036 Based on patch created by Colin D Bennett <colin@gibibit.com>.
40037 Adds optimization support for BGR based modes.
40038
40039 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
40040 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40041 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40042 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40043 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40044 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40045 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40046 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40047 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40048 (grub_video_i386_vbeblit_index_index): Likewise.
40049 (grub_video_i386_vbeblit_replace_directN): Added.
40050 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40051 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40052 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40053 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40054 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40055 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 40056 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 40057 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40058 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40059 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40060 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40061 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40062 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
40063
40064 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
40065 (grub_video_i386_vbefill_R8G8B8): Likewise.
40066 (grub_video_i386_vbefill_index): Likewise.
40067 (grub_video_i386_vbefill_direct32): Added.
40068 (grub_video_i386_vbefill_direct24): Likewise.
40069 (grub_video_i386_vbefill_direct16): Likewise.
40070 (grub_video_i386_vbefill_direct8): Likewise.
40071
81a06771 40072 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 40073 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
40074 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
40075 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
40076 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
40077 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 40078
0ea85a37 40079 * video/video.c (grub_video_get_blit_format): Updated to use new
40080 blit formats. Added handling for 16 bit color modes.
81a06771 40081
40082 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 40083 fillers.
40084 (common_blitter): Updated to use new blitters.
40085
40086 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
40087 Removed.
40088 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40089 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40090 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40091 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40092 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40093 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40094 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40095 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40096 (grub_video_i386_vbeblit_index_index): Likewise.
40097 (grub_video_i386_vbeblit_replace_directN): Added.
40098 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40099 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40100 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40101 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40102 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40103 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
40104 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
40105 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40106 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40107 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40108 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40109 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40110 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 40111
0ea85a37 40112 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
40113 (grub_video_i386_vbefill_R8G8B8): Likewise.
40114 (grub_video_i386_vbefill_index): Likewise.
40115 (grub_video_i386_vbefill_direct32): Added.
40116 (grub_video_i386_vbefill_direct24): Likewise.
40117 (grub_video_i386_vbefill_direct16): Likewise.
40118 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 40119
0ea85a37 40120 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
40121 types.
81a06771 40122
0ea85a37 40123 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
40124 types.
81a06771 40125
0ea85a37 40126 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
40127 blitter types.
81a06771 40128
0ea85a37 40129 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
40130 types.
40131
e8a83df6 401322008-09-06 Felix Zielcke <fzielcke@z-51.de>
40133
40134 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
40135 RAID level 1.
40136
6bcd8ee5 401372008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 40138
6bcd8ee5 40139 * fs/iso9660.c (grub_iso9660_date): New structure.
40140 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
40141 (grub_iso9660_uuid): New function.
c375ae58 40142
59261157 401432008-09-05 Bean <bean123ch@gmail.com>
40144
40145 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
40146
40147 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
40148 insensitive bit for names in Win32 and Win32 & DOS namespace.
40149
40150 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
40151
40152 * include/grub/types.h (LONG_MAX): Likewise.
40153
58b6645a 401542008-09-04 Felix Zielcke <fzielcke@z-51.de>
40155
4ee55921 40156 * util/getroot.c: Include <config.h>.
40157 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
40158 add support for /dev/md/N devices and handle LVM double dash escaping.
40159
401602008-09-04 Felix Zielcke <fzielcke@z-51.de>
40161
40162 * config.guess: Update to latest version from config git.
40163 * config.sub: Likewise.
58b6645a 40164
9124f65d 401652008-09-03 Robert Millan <rmh@aybabtu.com>
40166
40167 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
40168 `disk->total_sectors'.
40169
81a06771 401702008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 40171
40172 * include/grub/normal.h: Fixed incorrect comment for
40173 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
40174
81a06771 401752008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 40176
40177 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
40178 values with defines.
40179
40180 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
40181 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
40182 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
40183 (GRUB_VBE_MODEATTR_COLOR): Likewise.
40184 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
40185 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
40186 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
40187 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
40188 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
40189 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
40190 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
40191 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
40192 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
40193 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
40194 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
40195 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
40196 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
40197 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
40198 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
40199
93d5cbf8 402002008-08-31 Robert Millan <rmh@aybabtu.com>
40201
40202 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
40203 declaration.
40204 (grub_multiboot): Fix a few warnings.
40205
21751d50 402062008-08-31 Robert Millan <rmh@aybabtu.com>
40207
40208 * loader/i386/pc/multiboot.c: Update comment not to say that
40209 boot_device support is unimplemented.
40210
e27a75c5 402112008-08-31 Robert Millan <rmh@aybabtu.com>
40212
40213 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
40214 or memory map support are unimplemented.
40215
81a06771 402162008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 40217
40218 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
40219
81a06771 402202008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 40221
40222 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
40223 total video memory in 'vbeinfo' output; show color format details for
40224 each video mode.
40225
7c5d8d95 402262008-08-30 Pavel Roskin <proski@gnu.org>
40227
40228 * util/genmoddep.c: Remove for real this time.
40229 * DISTLIST: Remove util/genmoddep.c.
40230
4cebd25a 402312008-08-30 Robert Millan <rmh@aybabtu.com>
40232
40233 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
40234 as required by Multiboot spec (it was already 4-byte aligned, but
40235 only by chance).
40236
b497a269 402372008-08-29 Pavel Roskin <proski@gnu.org>
40238
e3925185 40239 * kern/powerpc/ieee1275/crt0.S: Rename to ...
40240 * kern/powerpc/ieee1275/startup.S: ... this.
40241 * conf/powerpc-ieee1275.rmk: Adjust for the above.
40242 * DISTLIST: Likewise.
40243
b497a269 40244 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
40245 grub/cpu/kernel.h. Add start label for consistency with other
40246 platforms. Add grub_prefix immediately after start. Add jump
40247 to the code after grub_prefix.
40248 * include/grub/powerpc/kernel.h: Provide valid values for
40249 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
40250
6e5a42fe 402512008-08-29 Bean <bean123ch@gmail.com>
40252
40253 * configure.ac: Change host_os to cygwin for mingw.
40254 (asprintf): New check for function.
40255
40256 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
40257 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
40258
40259 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 40260 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 40261 sync, sleep and grub_util_get_disk_size for mingw.
40262
40263 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
40264 to get size in mingw.
40265 (open_device): Use flag O_BINARY if it's defined.
40266 (find_root_device): Add dummy code for mingw.
40267
40268 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
40269 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
40270 (get_scsi_disk_name): Return 0 for mingw.
40271
40272 * util/hostfs.c: #include <grub/util/misc.h>.
40273 (grub_hostfs_open): Use "rb" flag to open file, use
40274 grub_util_get_disk_size to get disk size for mingw.
40275
40276 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
40277 (asprintf): New function if HAVE_ASPRINTF is not set.
40278 (sync): New function for mingw.
40279 (sleep): Likewise.
40280 (grub_util_get_disk_size): Likewise.
40281
ab3f2673 402822008-08-28 Pavel Roskin <proski@gnu.org>
40283
40284 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40285 kern/time.c.
40286
1c282483 402872008-08-28 Robert Millan <rmh@aybabtu.com>
40288
40289 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
40290
678e849c 402912008-08-28 Robert Millan <rmh@aybabtu.com>
40292
40293 Change find_grub_drive() syntax so it doesn't prevent it from
40294 detecting NULL names as errors.
40295
40296 * util/biosdisk.c (find_grub_drive): Move free slot search code
40297 from here ...
40298 (find_free_slot): ... to here.
40299 (read_device_map): Use find_free_slot() to search for free slots.
40300
965c75ca 403012008-08-27 Marco Gerards <marco@gnu.org>
40302
40303 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
40304 (scsi_mod_SOURCES): New variable.
40305 (scsi_mod_CFLAGS): Likewise
40306 (scsi_mod_LDFLAGS): Likewise.
40307
40308 * disk/scsi.c: New file.
40309
40310 * include/grub/scsi.h: Likewise.
40311
40312 * include/grub/scsicmd.h: Likewise.
40313
40314 * disk/ata.c: Include <grub/scsi.h>.
40315 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
40316 instead.
40317 (grub_ata_iterate): Skip ATAPI devices.
40318 (grub_ata_open): Only handle ATAPI devices.
40319 (struct grub_atapi_read): Removed.
40320 (grub_atapi_readsector): Likewise.
40321 (grub_ata_read): No longer handle ATAPI devices.
40322 (grub_ata_write): Likewise.
40323 (grub_atapi_iterate): New function.
40324 (grub_atapi_read): Likewise.
40325 (grub_atapi_write): Likewise.
40326 (grub_atapi_open): Likewise.
40327 (grub_atapi_close): Likewise.
40328 (grub_atapi_dev): New variable.
40329 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
40330 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
40331
40332 * include/grub/disk.h (enum grub_disk_dev_id): Add
40333 `GRUB_DISK_DEVICE_SCSI_ID'.
40334
c07ae501 403352008-08-26 Robert Millan <rmh@aybabtu.com>
40336
40337 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
40338 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
40339 descriptive.
40340
5ed20adc 403412008-08-23 Bean <bean123ch@gmail.com>
40342
40343 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
40344 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40345 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
40346 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
40347 dm_nv.mod.
40348 (raid5rec_mod_SOURCES): New macro.
40349 (raid5rec_mod_CFLAGS): Likewise.
40350 (raid5rec_mod_LDFLAGS): Likewise.
40351 (raid6rec_mod_SOURCES): Likewise.
40352 (raid6rec_mod_CFLAGS): Likewise.
40353 (raid6rec_mod_LDFLAGS): Likewise.
40354 (mdraid_mod_SOURCES): Likewise.
40355 (mdraid_mod_CFLAGS): Likewise.
40356 (mdraid_mod_LDFLAGS): Likewise.
40357 (dm_nv_mod_SOURCES): Likewise.
40358 (dm_nv_mod_CFLAGS): Likewise.
40359 (dm_nv_mod_LDFLAGS): Likewise.
40360
40361 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
40362 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40363 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40364
40365 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
40366 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40367
40368 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40369
40370 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40371
40372 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40373
40374 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40375
40376 * disk/raid5_recover.c: New file.
40377
40378 * disk/raid6_recover.c: Likewise.
40379
40380 * disk/mdraid_linux.c: Likewise.
40381
40382 * disk/dmraid_nvidia.c: Likewise.
40383
40384 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
40385 ULONG_MAX.
40386
40387 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
40388 calculate the size of raid device.
40389 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
40390 different layout of raid5.
40391 (grub_raid_scan_device): Remove code specific to mdraid.
40392 (grub_raid_list): New variable.
40393 (free_array): New function.
40394 (grub_raid_register): Likewise.
40395 (grub_raid_unregister): Likewise.
40396 (grub_raid_rescan): Likewise.
40397 (GRUB_MOD_INIT): Don't iterate device here.
40398 (GRUB_MOD_FINI): Use free_array to release resource.
40399
40400 * include/grub/raid.h: Remove macro and structure specific to mdraid.
40401 (grub_raid5_recover_func_t): New function variable type.
40402 (grub_raid6_recover_func_t): Likewise.
40403 (grub_raid5_recover_func): New variable.
40404 (grub_raid6_recover_func): Likewise.
40405 (grub_raid_register): New function.
40406 (grub_raid_unregister): Likewise.
40407 (grub_raid_rescan): Likewise.
40408 (grub_raid_block_xor): Likewise.
40409
40410 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
40411 (CMD_CRC): New macro.
40412 (part): Removed.
40413 (read_file): Handle device as well as file.
40414 (cmd_crc): New function.
40415 (fstest): Handle multiple disks.
40416 (options): Remove part, raw and long, add root and diskcount.
40417 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 40418 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 40419 add handling for the new options, support multiple disks.
40420
40421 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
40422
29c18915 404232008-08-23 Bean <bean123ch@gmail.com>
40424
40425 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
40426
40427 * genfslist.sh: Ignore kernel.mod.
40428
40429 * genpartmaplist.sh: Likewise.
40430
8415f261 404312008-08-23 Robert Millan <rmh@aybabtu.com>
40432
40433 * util/getroot.c (find_root_device): Skip anything that starts with
40434 a dot, not just directories. This avoids things like /dev/.tmp.md0.
40435
d5a7dc5b 404362008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 40437
d5a7dc5b 40438 * util/update-grub.in (GRUB_GFXMODE): Export variable.
40439 * util/grub.d/00_header.in: Allow the administrator to change default
40440 gfxmode via ${GRUB_GFXMODE}.
40441
380cfbb4 404422008-08-21 Felix Zielcke <fzielcke@z-51.de>
40443
40444 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
40445
c9baafe7 404462008-08-21 Robert Millan <rmh@aybabtu.com>
40447
40448 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
40449 loader.
40450 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
40451 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
40452
e290bef2 404532008-08-20 Carles Pina i Estany <carles@pina.cat>
40454
40455 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
40456 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
40457
f9dbfc96 404582008-08-19 Robert Millan <rmh@aybabtu.com>
40459
40460 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
40461 (struct grub_virtual_screen): Remove `cursor_color'.
40462 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
40463 initialization.
40464 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
40465
dd6bd6ab 404662008-08-18 Robert Millan <rmh@aybabtu.com>
40467
40468 Unify (identical) linux_normal.c files.
40469 * loader/i386/efi/linux_normal.c: Move from here ...
40470 * loader/linux_normal.c: ... to here. Update all users.
40471 * loader/i386/pc/linux_normal.c: Delete. Update all users.
40472 * loader/i386/ieee1275/linux_normal.c: Likewise.
40473
7f42f83e 404742008-08-18 Robert Millan <rmh@aybabtu.com>
40475
40476 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
40477 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
40478 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
40479 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
40480 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
40481 New macros.
40482 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
40483 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
40484 (GRUB_LINUX_CL_END_OFFSET): ... to here.
40485 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
40486 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
40487 (GRUB_EFI_CL_END_OFFSET): Rename to ...
40488 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
40489 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
40490 Initialize `params->video_cursor_x' and `params->video_cursor_y'
40491 portably using grub_getxy().
40492 Replace `-EFI' with `-bzImage' in boot message.
40493
38487ddb 404942008-08-17 Robert Millan <rmh@aybabtu.com>
40495
40496 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
40497
deceb3ec 404982008-08-17 Robert Millan <rmh@aybabtu.com>
40499
40500 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
40501
40502 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
40503 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
40504 (grub_machine_mmap_iterate): New function declaration.
40505 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
40506 structure.
40507 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
40508 macros.
40509
40510 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
40511 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
40512 Move e820 parsing from here ...
40513 * kern/i386/pc/mmap.c: New file.
40514 (grub_machine_mmap_iterate): ... to here.
40515
40516 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
40517 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
40518 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
40519 (grub_available_iterate): Redeclare to return `void', and redeclare
40520 its hook to use grub_uint64_t as addr and size parameters, and rename
40521 to ...
40522 (grub_machine_mmap_iterate): ... this. Update all users.
40523
40524 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
40525 to make it more readable. Rename to ...
40526 (grub_machine_mmap_iterate): ... this.
40527
40528 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
40529 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
40530 (grub_multiboot): Allocate an extra region after the payload, and fill
40531 it with a Multiboot memory map. Adjust a.out loader to calculate size
40532 with the extra space.
40533 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
40534 with the extra space.
40535
f8aa0f43 405362008-08-17 Carles Pina i Estany <carles@pina.cat>
40537
9807deb9 40538 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 40539
605f5bb6 405402008-08-17 Felix Zielcke <fzielcke@z-51.de>
40541
40542 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
40543 mdate-sh to the list `find' searches for.
40544 * DISTLIST: Regenerated.
40545
210db6c6 405462008-08-16 Felix Zielcke <fzielcke@z-51.de>
40547
40548 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
40549 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 40550 genmoddep.awk, gensymlist.sh.in.
40551 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 40552 * DISTLIST: Regenerated.
48cdbfd4 40553 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 40554
1082b929 405552008-08-16 Robert Millan <rmh@aybabtu.com>
40556
40557 * disk/raid.c (grub_raid_init): Handle/report errors set by
40558 grub_device_iterate().
40559 * disk/lvm.c (grub_lvm_init): Likewise.
40560
42ce5170 405612008-08-15 Bean <bean123ch@gmail.com>
40562
40563 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40564 and datehook.mod.
40565 (datetime_mod_SOURCES): New macro.
40566 (datetime_mod_CFLAGS): Likewise.
40567 (datetime_mod_LDFLAGS): Likewise.
40568 (date_mod_SOURCES): Likewise.
40569 (date_mod_CFLAGS): Likewise.
40570 (date_mod_LDFLAGS): Likewise.
40571 (datehook_mod_SOURCES): Likewise.
40572 (datehook_mod_CFLAGS): Likewise.
40573 (datehook_mod_LDFLAGS): Likewise.
40574
40575 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40576 and datehook.mod.
40577 (datetime_mod_SOURCES): New macro.
40578 (datetime_mod_CFLAGS): Likewise.
40579 (datetime_mod_LDFLAGS): Likewise.
40580 (date_mod_SOURCES): Likewise.
40581 (date_mod_CFLAGS): Likewise.
40582 (date_mod_LDFLAGS): Likewise.
40583 (datehook_mod_SOURCES): Likewise.
40584 (datehook_mod_CFLAGS): Likewise.
40585 (datehook_mod_LDFLAGS): Likewise.
40586
40587 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40588 and datehook.mod.
40589 (datetime_mod_SOURCES): New macro.
40590 (datetime_mod_CFLAGS): Likewise.
40591 (datetime_mod_LDFLAGS): Likewise.
40592 (date_mod_SOURCES): Likewise.
40593 (date_mod_CFLAGS): Likewise.
40594 (date_mod_LDFLAGS): Likewise.
40595 (datehook_mod_SOURCES): Likewise.
40596 (datehook_mod_CFLAGS): Likewise.
40597 (datehook_mod_LDFLAGS): Likewise.
40598
40599 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40600 and datehook.mod.
40601 (datetime_mod_SOURCES): New macro.
40602 (datetime_mod_CFLAGS): Likewise.
40603 (datetime_mod_LDFLAGS): Likewise.
40604 (date_mod_SOURCES): Likewise.
40605 (date_mod_CFLAGS): Likewise.
40606 (date_mod_LDFLAGS): Likewise.
40607 (datehook_mod_SOURCES): Likewise.
40608 (datehook_mod_CFLAGS): Likewise.
40609 (datehook_mod_LDFLAGS): Likewise.
40610
40611 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40612 and datehook.mod.
40613 (datetime_mod_SOURCES): New macro.
40614 (datetime_mod_CFLAGS): Likewise.
40615 (datetime_mod_LDFLAGS): Likewise.
40616 (date_mod_SOURCES): Likewise.
40617 (date_mod_CFLAGS): Likewise.
40618 (date_mod_LDFLAGS): Likewise.
40619 (datehook_mod_SOURCES): Likewise.
40620 (datehook_mod_CFLAGS): Likewise.
40621 (datehook_mod_LDFLAGS): Likewise.
40622
40623 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
40624
40625 * commands/date.c: New file.
40626
40627 * hook/datehook.c: Likewise.
40628
40629 * include/grub/lib/datetime.h: Likewise.
40630
40631 * include/grub/i386/cmos.h: Likewise.
40632
40633 * lib/datetime.c: Likewise.
40634
40635 * lib/i386/datetime.c: Likewise.
40636
40637 * lib/efi/datetime.c: Likewise.
40638
0e9242da 406392008-08-14 Robert Millan <rmh@aybabtu.com>
40640
40641 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
40642 (grub_mkelfimage_SOURCES): New variable.
40643 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
40644
40645 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
40646 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
40647 * conf/powerpc-ieee1275.rmk: Likewise.
40648 * conf/i386-ieee1275.rmk: Likewise.
40649
40650 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
40651 * kern/i386/coreboot/init.c: Likewise.
40652
40653 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
40654 with `<grub/cpu/kernel.h>'.
40655 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
40656 to ...
40657 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
40658 * kern/i386/coreboot/startup.S: Likewise.
40659
40660 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
40661 (GRUB_MOD_GAP): Remove.
40662 * include/grub/powerpc/kernel.h: New file.
40663 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
40664 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40665 * include/grub/i386/kernel.h: New file.
40666 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
40667 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
40668 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40669
40670 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
40671 `grub-mkelfimage'.
40672 Use --directory when invoking grub_mkimage.
40673
40674 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
40675 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
40676 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
40677 and GRUB_KERNEL_CPU_PREFIX.
40678
b86408f8 406792008-08-14 Felix Zielcke <fzielcke@z-51.de>
40680
d5e619ca 40681 * include/grub/err.h (grub_err_printf): New function prototype.
40682 * util/misc.c (grub_err_printf): New function.
40683 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
40684 grub_printf.
40685 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 40686
7161f0e0 406872008-08-13 Robert Millan <rmh@aybabtu.com>
40688
40689 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
40690
a1967522 406912008-08-13 Robert Millan <rmh@aybabtu.com>
40692
40693 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
40694 boot entry.
40695
371458b5 406962008-08-12 Robert Millan <rmh@aybabtu.com>
40697
40698 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
40699 of the relocation code from here ...
40700 (grub_multiboot): ... to here.
40701 (forward_relocator, backward_relocator): Move from here ...
40702 * kern/i386/loader.S (grub_multiboot_forward_relocator)
40703 (grub_multiboot_backward_relocator): ... to here.
40704 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
40705 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
40706 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
40707 (grub_multiboot_forward_relocator_end)
40708 (grub_multiboot_backward_relocator)
40709 (grub_multiboot_backward_relocator_end): New variables.
40710
05f9452b 407112008-08-12 Bean <bean123ch@gmail.com>
40712
40713 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
40714
20024ab0 407152008-08-11 Robert Millan <rmh@aybabtu.com>
40716
40717 * kern/i386/linuxbios/startup.S: Move from here ...
40718 * kern/i386/coreboot/startup.S: ... to here.
40719
40720 * kern/i386/linuxbios/init.c: Move from here ...
40721 * kern/i386/coreboot/init.c: ... to here.
40722
40723 * kern/i386/linuxbios/table.c: Move from here ...
40724 * kern/i386/coreboot/mmap.c: ... to here.
40725
40726 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
40727
e352e9cd 407282008-08-11 Robert Millan <rmh@aybabtu.com>
40729
40730 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
40731 errors. Leave it to the upper layer to handle them.
40732
2d05bc6a 407332008-08-09 Christian Franke <franke@computer.org>
40734
40735 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
40736 * conf/common.rmk: Install `grub-pe2elf' only if requested.
40737 Install `grub.d/10_windows' only on Cygwin.
40738 * configure.ac: Add subst of `target_os'.
40739 Check `target_os' also before setting TARGET_OBJ2ELF.
40740 Add `--enable-grub-pe2elf'.
40741
042bd419 407422008-08-08 Robert Millan <rmh@aybabtu.com>
40743
40744 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40745 (grub_last_time): Change type to grub_uint64_t.
40746 (grub_disk_open): Migrate code from to using grub_get_time_ms().
40747 (grub_disk_close): Likewise.
40748
40749 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
40750 (run_menu): Migrate code from to using grub_get_time_ms().
40751
40752 * util/misc.c (grub_get_time_ms): New function.
40753
7f280db5 407542008-08-08 Marco Gerards <marco@gnu.org>
40755
40756 * disk/ata.c (grub_ata_regget): Change return type to
40757 `grub_uint8_t'.
40758 (grub_ata_regget2): Likewise.
40759 (grub_ata_wait_status): New function.
40760 (grub_ata_wait_busy): Removed function, updated all users to use
40761 `grub_ata_wait_status'.
40762 (grub_ata_wait_drq): Likewise.
40763 (grub_ata_cmd): New function.
40764 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
40765 error handling.
40766 (grub_ata_pio_write): Add error handling.
40767 (grub_atapi_identify): Likewise.
40768 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
40769 handling.
40770 (grub_ata_identify): Use `grub_ata_cmd' and improve error
40771 handling. Actually use the detected registers. Reorder the
40772 detection logic such that it is easier to read.
40773 (grub_ata_pciinit): Do not assign the same ID to each controller.
40774 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
40775 handling.
40776 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
40777
40778 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
40779
1fbc5e66 407802008-08-08 Marco Gerards <marco@gnu.org>
40781
40782 * NEWS: Update.
40783
819ce6c0 407842008-08-07 Bean <bean123ch@gmail.com>
40785
40786 * include/grub/x86_64/pci.h: New file.
40787
5c41d44d 407882008-08-07 Christian Franke <franke@computer.org>
40789
40790 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
40791 (TIMER2_GATE): Likewise.
40792 (grub_pit_wait): Add enable/disable of the timer2 gate
40793 bit of port 0x61. This fixes a possible infinite loop.
40794
5ebc275d 407952008-08-07 Bean <bean123ch@gmail.com>
40796
40797 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
40798 kern/i386/tsc.c and kern/i386/pit.c.
40799
40800 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
40801 x86_64 platform.
40802
40803 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
40804 <grub/i386/tsc.h>.
40805
40806 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
40807
e383b3d0 408082008-08-07 Bean <bean123ch@gmail.com>
40809
40810 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
40811
40812 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
40813
40814 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
40815 multiple inclusion. Add #include <grub/types.h>.
40816
1cbb58ac 408172008-08-06 Christian Franke <franke@computer.org>
40818
40819 * conf/common.rmk: Build and install `10_windows'.
40820 * util/grub.d/10_windows.in: New script.
40821
337f5a1e 408222008-08-06 Pavel Roskin <proski@gnu.org>
40823
40824 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
40825
057bc4ac 408262008-08-06 Robert Millan <rmh@aybabtu.com>
40827
40828 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
40829 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
40830
2b99f123 408312008-08-06 Bean <bean123ch@gmail.com>
40832
40833 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
40834 (grub_pxefs_fs_int): Remove dummy definition.
40835 (grub_pxefs_open): Use data->block_size to store the current block
40836 size setting.
40837 (grub_pxefs_read): Use block size stored in data->block_size. As the
40838 value of grub_pxe_blksize can be changed after the file is opened.
40839
9f0234cb 408402008-08-06 Bean <bean123ch@gmail.com>
40841
40842 * fs/i386/pc/pxe.c (curr_file): new variable.
40843 (grub_pxefs_open): Simply the handling of pxe file system. Don't
40844 require the dummy internal file system anymore.
40845 (grub_pxefs_read): Removed.
40846 (grub_pxefs_close): Likewise.
40847 (grub_pxefs_fs_int): Likewise.
40848 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
40849 connection when we switch file.
40850 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
40851
a55d42e0 408522008-08-06 Robert Millan <rmh@aybabtu.com>
40853
40854 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
40855 `halt.mod'.
40856 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
40857 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
40858
40859 * kern/i386/halt.c: New file.
40860 * kern/i386/reboot.c: Likewise.
40861 * include/grub/i386/reboot.h: Likewise.
40862 * include/grub/i386/halt.h: Likewise.
40863
40864 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
40865 Include `<grub/cpu/halt.h>'.
40866 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
40867 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
40868
40869 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
40870 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
40871 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
40872 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
40873 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
40874 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
40875 from here ...
40876 * include/grub/i386/at_keyboard.h: ... to here.
40877
24371d26 408782008-08-05 Robert Millan <rmh@aybabtu.com>
40879
40880 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
40881 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
40882 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
40883 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
40884 `kern/generic/millisleep.c'.
40885
40886 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
40887 instead of grub_get_rtc().
40888 (grub_tsc_init): Initialize `tsc_boot_time'.
40889
40890 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
40891 (grub_machine_init): Use grub_tsc_init() rather than
40892 installing an RTC-based handler via grub_install_get_time_ms().
40893
40894 * kern/i386/pit.c: New file.
40895 * include/grub/i386/pit.h: Likewise.
40896
9e7007b3 408972008-08-05 Bean <bean123ch@gmail.com>
40898
40899 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
40900
40901 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
40902 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
40903 (pxe_mod_SOURCES): New macro.
40904 (pxe_mod_CFLAGS): Likewise.
40905 (pxe_mod_LDFLAGS): Likewise.
40906 (pxecmd_mod_SOURCES): Likewise.
40907 (pxecmd_mod_CFLAGS): Likewise.
40908 (pxecmd_mod_LDFLAGS): Likewise.
40909
40910 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
40911 (grub_pxe_call): Likewise.
40912
40913 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
40914
40915 * commands/i386/pc/pxecmd.c: New file.
40916
9f0234cb 40917 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 40918
40919 * include/grub/i386/pc/pxe.h: Likewise.
40920
6977d49f 409212008-08-05 Bean <bean123ch@gmail.com>
40922
40923 * util/console.c (grub_console_cur_color): New variable.
40924 (grub_console_standard_color): Likewise.
40925 (grub_console_normal_color): Likewise.
40926 (grub_console_highlight_color): Likewise.
40927 (color_map): Likewise.
40928 (use_color): Likewise.
40929 (NUM_COLORS): New macro.
40930 (grub_ncurses_setcolorstate): Handle color properly.
40931 (grub_ncurses_setcolor): Don't change color here, just remember the
40932 settings, color will be set in grub_ncurses_setcolorstate.
40933 (grub_ncurses_getcolor): New function.
40934 (grub_ncurses_init): Initialize color pairs.
40935 (grub_ncurses_term): New member grub_ncurses_getcolor.
40936
9c2ff3ee 409372008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 40938
9c2ff3ee 40939 High resolution timer support. Implemented for x86 CPUs using TSC.
40940 Extracted generic grub_millisleep() so it's linked in only as needed.
40941 This requires a Pentium compatible CPU; if the RDTSC instruction is
40942 not supported, then it falls back on the generic grub_get_time_ms()
40943 implementation that uses the machine's RTC.
40944
40945 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
40946 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
40947 `kern/generic/millisleep.c'.
40948
40949 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
40950 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
40951
40952 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
40953 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
40954
40955 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40956
40957 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40958 `kern/generic/millisleep.c'.
40959
40960 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
40961
40962 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
40963
40964 * kern/generic/rtc_get_time_ms.c: New file.
40965
40966 * kern/generic/millisleep.c: New file.
337f5a1e 40967
9c2ff3ee 40968 * kern/misc.c: Don't include
40969 <kern/time.h> anymore.
40970 (grub_millisleep_generic): Removed.
40971
40972 * commands/sleep.c (grub_interruptible_millisleep): Uses
40973 grub_get_time_ms() instead of grub_get_rtc().
40974
40975 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
40976 function.
40977 (grub_cpu_is_cpuid_supported): New inline function.
40978 (grub_cpu_is_tsc_supported): New inline function.
40979 (grub_tsc_init): New function prototype.
40980 (grub_tsc_get_time_ms): New function prototype.
40981
40982 * kern/i386/tsc.c (grub_get_time_ms): New file.
40983
40984 * include/grub/time.h: Include <grub/types.h.
40985 (grub_millisleep_generic): Removed.
40986 (grub_get_time_ms): New prototype.
40987 (grub_install_get_time_ms): New prototype.
40988 (grub_rtc_get_time_ms): New prototype.
40989
40990 * kern/time.c (grub_get_time_ms): New function.
40991 (grub_install_get_time_ms): New function.
40992
40993 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
40994 <grub/time.h> anymore.
40995 (grub_millisleep): Removed.
40996 (grub_machine_init): Call grub_tsc_init.
40997
40998 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
40999 get_time_ms() implementation.
41000
41001 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
41002 (ieee1275_get_time_ms): New function.
41003 (grub_machine_init): Install get_time_ms() implementation.
41004
41005 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
41006 (grub_machine_init): Call grub_tsc_init().
41007 (grub_millisleep): Removed.
bf06a93f 41008
9c2ff3ee 41009 * kern/ieee1275/init.c (grub_millisleep): Removed.
41010 (grub_machine_init): Install ieee1275_get_time_ms()
41011 implementation.
41012 (ieee1275_get_time_ms): New function.
41013 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
41014 real work.
41015
9ec92aaf 410162008-08-05 Marco Gerards <marco@gnu.org>
41017
41018 * disk/ata.c: Include <grub/pci.h>.
41019 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
41020 (grub_ata_initialize): Rewritten.
41021 (grub_ata_device_initialize): New function.
41022
8d23f507 410232008-08-04 Pavel Roskin <proski@gnu.org>
41024
41025 * kern/main.c: Include grub/mm.h.
41026
5e15ee3d 410272008-08-04 Robert Millan <rmh@aybabtu.com>
41028
41029 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
41030 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
41031 corruption problem).
41032
a9053f8f 410332008-08-04 Robert Millan <rmh@aybabtu.com>
41034
41035 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
41036 warnings introduced in my last commit.
41037
dd19c7d7 410382008-08-03 Robert Millan <rmh@aybabtu.com>
41039
41040 Make PCI available on all i386 architectures.
41041
41042 * include/grub/i386/pc/pci.h: Move from here ...
41043 * include/grub/i386/pci.h: ... to here.
41044
41045 * include/grub/i386/pc/pci.h: Remove.
41046 * include/grub/i386/efi/pci.h: Remove.
41047 * include/grub/x86_64/efi/pci.h: Remove.
41048
41049 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
41050 `<grub/cpu/pci.h>'.
41051
41052 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
41053 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
41054 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
41055
41056 * conf/i386-ieee1275.rmk: Likewise.
41057
e14a6184 410582008-08-03 Robert Millan <rmh@aybabtu.com>
41059
41060 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
41061 (grub_console_setcursor): Make it possible to set cursor off.
41062
52768e37 410632008-08-03 Robert Millan <rmh@aybabtu.com>
41064
41065 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
41066 of modules instead of assuming which platform provides what.
41067 * util/update-grub.in: Likewise.
41068
2d52f57f 410692008-08-03 Robert Millan <rmh@aybabtu.com>
41070
41071 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
41072 instead of `grub_install_dos_part' to determine whether a drive needs
41073 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 41074 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 41075
2a5cd121 410762008-08-02 Robert Millan <rmh@aybabtu.com>
41077
41078 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
41079
93808428 410802008-08-02 Robert Millan <rmh@aybabtu.com>
41081
41082 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
41083 of informational grub_dprintf() calls.
41084
3bd0a12a 410852008-08-02 Robert Millan <rmh@aybabtu.com>
41086
41087 * disk/memdisk.c (memdisk_size): Don't initialize.
41088 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
41089
41090 * include/grub/i386/pc/kernel.h
41091 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
41092 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
41093 (grub_memdisk_image_size, grub_arch_memdisk_addr)
41094 (grub_arch_memdisk_size): Remove.
41095
41096 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
41097 field (was only used to transfer a constant). Add `type' field to
41098 support multiple module types.
41099 (grub_module_iterate): New function.
41100
41101 * kern/device.c (grub_device_open): Do not hide error messages
41102 when grub_disk_open() fails. Use grub_print_error() instead.
41103
41104 * kern/i386/pc/init.c (grub_arch_modules_addr)
41105 (grub_arch_memdisk_size): Remove functions.
41106 (grub_arch_modules_addr): Return the module address in high memory
41107 (now that it isn't copied anymore).
41108
41109 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
41110 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
41111 decompression routine (grub_total_module_size already includes that
41112 now). Don't copy modules back to low memory.
41113
41114 * kern/main.c: Include `<grub/mm.h>'.
41115 (grub_load_modules): Split out (and use) ...
41116 (grub_module_iterate): ... this function, which iterates through
41117 module objects and runs a hook.
41118 Comment out grub_mm_init_region() call, as it would cause non-ELF
41119 modules to be overwritten.
41120
41121 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
41122 the memdisk image in its own region, make it part of the module list.
41123 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
41124 (main): Parse --memdisk|-m option, and pass user-provided path as
41125 parameter to generate_image().
41126 (add_segments): Pass `memdisk_path' down to load_modules().
41127 (load_modules): Embed memdisk image in module section when requested.
41128 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
41129 `header.type' instead of `header.offset'.
41130
41131 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
41132 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
41133 (memdisk_mod_LDFLAGS): New variables.
41134 * conf/i386-coreboot.rmk: Likewise.
41135 * conf/i386-ieee1275.rmk: Likewise.
41136
a927cc73 411372008-08-02 Robert Millan <rmh@aybabtu.com>
41138
41139 * loader/i386/pc/multiboot.c (playground, forward_relocator)
41140 (backward_relocator): New variables. Used to allocate and relocate
41141 the payload, respectively.
41142 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 41143 address, install the appropriate relocator code in each bound of
a927cc73 41144 the payload, and set the entry point such that
41145 grub_multiboot_real_boot() will jump to one of them.
41146
41147 * kern/i386/loader.S (grub_multiboot_payload_size)
41148 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41149 (grub_multiboot_payload_entry_offset): New variables.
41150 (grub_multiboot_real_boot): Set cpu context to what the relocator
41151 expects, and jump to the relocator instead of the payload.
41152
41153 * include/grub/i386/loader.h (grub_multiboot_payload_size)
41154 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41155 (grub_multiboot_payload_entry_offset): Export.
41156
b15d8a0c 411572008-08-01 Bean <bean123ch@gmail.com>
41158
41159 * normal/menu_entry.c (editor_getline): Don't return the original
41160 string as result, as it will be released by lexer once it has done
41161 using it.
41162
cdfb3d22 411632008-08-01 Robert Millan <rmh@aybabtu.com>
41164
41165 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
41166 within menuentries, not before them.
41167 util/grub.d/10_hurd.in: Likewise.
41168
9175e93d 411692008-08-01 Bean <bean123ch@gmail.com>
41170
41171 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
41172 (bufio_mod_SOURCES): New macro.
41173 (bufio_mod_CFLAGS): Likewise.
41174 (bufio_mod_LDFLAGS): Likewise.
41175
41176 * include/grub/bufio.h: New file.
41177
41178 * io/bufio.c: Likewise.
41179
41180 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
41181 (grub_video_reader_png): Use grub_buffile_open to open file.
41182
41183 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
41184 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
41185
41186 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
41187 (grub_video_reader_tga): Use grub_buffile_open to open file.
41188
41189 * font/manager.c: Include <grub/bufio.h>.
41190 (add_font): Use grub_buffile_open to open file.
41191
3d8383e7 411922008-07-31 Robert Millan <rmh@aybabtu.com>
41193
41194 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
41195 ELF segments, use a macro for arbitrarily accessing any of them instead
41196 of preparing a pointer that allows access to one at a time.
41197 (grub_multiboot_load_elf64): Likewise.
41198
16e641b6 411992008-07-31 Bean <bean123ch@gmail.com>
41200
41201 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
41202 GRUB_KERNEL_MACHINE_DATA_END.
41203
59198b72 412042008-07-30 Robert Millan <rmh@aybabtu.com>
41205
41206 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
41207 Increase from 0x50 to 0x60.
41208 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
41209 use UUIDs to identify the root drive for them. If that's not
41210 possible, abort.
41211 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
41212 check, for cross-disk installs.
41213
ae88bca3 412142008-07-30 Robert Millan <rmh@aybabtu.com>
41215
41216 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
41217 is non-empty, use it to set the `prefix' environment variable instead
41218 of the usual approach.
41219 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
41220 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
41221 environment variable instead of dummy make_install_device().
41222
41223 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
41224 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 41225 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 41226
41227 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
41228 New variable reference.
41229 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
41230 New macro. Defines offset of `grub_prefix' within startup.S (relative
41231 to `start').
41232 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
41233 section within startup.S (relative to `start').
41234 * include/grub/i386/coreboot/kernel.h: Likewise.
41235
41236 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
41237 Overwrite grub_prefix with its contents, at the beginning of the
41238 first segment.
41239 (main): Understand -p|--prefix.
41240
14f41dd1 412412008-07-30 Robert Millan <rmh@aybabtu.com>
41242
41243 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
41244
4ca049a3 412452008-07-30 Robert Millan <rmh@aybabtu.com>
41246
41247 * term/i386/pc/vga_text.c (grub_console_cls): Use
41248 grub_console_gotoxy() to go back to beginning of the screen.
41249 Found by Patrick Georgi <patrick.georgi@coresystems.de>
41250
2921d337 412512008-07-29 Christian Franke <franke@computer.org>
41252
41253 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41254 Add conversion of emulated mount points on Cygwin.
41255
b609876d 412562008-07-29 Christian Franke <franke@computer.org>
41257
41258 * util/update-grub.in: Add a check for admin
41259 group on Cygwin.
41260 Remove old `grub.cfg.new' before creation.
41261 Add `-f' to `mv' to handle the different filesystem
41262 semantics of Windows.
41263
e93e4679 412642008-07-29 Bean <bean123ch@gmail.com>
41265
41266 * normal/main.c (get_line): Fix buffer overflow bug.
41267
41694fd0 412682008-07-28 Robert Millan <rmh@aybabtu.com>
41269
41270 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
41271 (struct grub_apple_header): New struct. Describes the layout of
41272 the partmap header.
41273 (apple_partition_map_iterate): Check the header magic as well as the
41274 partition magic (which was already being checked).
41275
cfd0b4e6 412762008-07-28 Pavel Roskin <proski@gnu.org>
41277
41278 * genmk.rb: Add a warning to the beginning of the output that
41279 it's a generated file and should not be edited.
41280
93cce016 412812008-07-28 Robert Millan <rmh@aybabtu.com>
41282
41283 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
41284 with the same number are found, just use issue a warning with
41285 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 41286
cd1df915 412872008-07-27 Robert Millan <rmh@aybabtu.com>
41288
41289 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
41290 information.
41291
b70a8427 412922008-07-27 Bean <bean123ch@gmail.com>
41293
41294 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
41295 (grub_fat_find_dir): Ignore case when comparing filename.
41296
8f5e379f 412972008-07-27 Bean <bean123ch@gmail.com>
41298
41299 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
41300 smallino, as it's more descriptive, and i8count can be confused with
41301 the other field count.
41302 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
41303 inode type.
41304
a85cd5a0 413052008-07-27 Bean <bean123ch@gmail.com>
41306
41307 * commands/crc.c: New file.
41308
41309 * lib/crc.c: Likewise.
41310
41311 * include/grub/lib/crc.h: Likewise.
41312
41313 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
41314
41315 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
41316 (hexdump): Move this function to ...
41317
41318 * lib/hexdump.c: ... here.
41319
41320 * include/grub/hexdump.h: Renamed to ...
41321
41322 * include/grub/lib/hexdump.h: ... this.
41323
41324 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
41325
41326 * util/grub-editenv.c: Likewise.
41327
41328 * include/envblk.h: Renamed to ...
41329
41330 * include/lib/envblk.h: ... this.
41331
41332 * util/envblk.c: Renamed to ...
41333
41334 * lib/envblk.c: ... this.
41335
41336 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
41337 lib/hexdump.c.
41338 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
41339 (pkglib_MODULES): Add crc.mod.
41340 (hexdump_mod_SOURCES): Add lib/hexdump.c.
41341 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
41342 (crc_mod_SOURCES): New macro.
41343 (crc_mod_CFLAGS): Likewise.
41344 (crc_mod_LDFLAGS): Likewise.
41345
41346 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
41347
41348 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41349
41350 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41351
41352 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41353
41354 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41355
c298def0 413562008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 41357
41358 * commands/help.c: Include <grub/term.h>.
41359 (TERM_WIDTH): Removed. Updated all users.
41360
cc349fb3 413612008-07-27 Pavel Roskin <proski@gnu.org>
41362
41363 * util/getroot.c (find_root_device): Rephrase a comment to avoid
41364 spurious warnings about a comment within a comment.
41365
9051607e 413662008-07-25 Robert Millan <rmh@aybabtu.com>
41367
41368 * util/getroot.c (find_root_device): Skip devices that match
41369 /dev/dm-[0-9]. This lets the real device be found for any type of
41370 abstraction (LVM, EVMS, RAID..).
41371 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
41372 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
41373 device is found first, find_root_device() will now skip it.
41374
01453bfc 413752008-07-24 Pavel Roskin <proski@gnu.org>
41376
41377 * include/grub/types.h: Use __builtin_bswap32() and
41378 __builtin_bswap64() with gcc 4.3 and newer.
41379
6af9849f 413802008-07-24 Christian Franke <franke@computer.org>
41381
3a0fa256 41382 * util/i386/pc/grub-install.in: If `--debug' is specified,
41383 pass `--verbose' to grub-setup.
41384 Abort script if make_system_path_relative_to_its_root() fails.
41385
7810e747 413862008-07-24 Bean <bean123ch@gmail.com>
41387
41388 * configure.ac: Fixed a bug caused by the previous cygwin patch,
41389 variable `target_platform' should be `platform'.
41390
42290e17 413912008-07-24 Bean <bean123ch@gmail.com>
41392
51cc5193 41393 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 41394 (grub_png_init_fixed_block): New function.
41395 (grub_png_decode_image_data): Handle fixed huffman code compression.
41396
2a8a80e4 413972008-07-24 Bean <bean123ch@gmail.com>
41398
41399 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
41400 (grub_pe2elf_SOURCES): New macro.
41401 (CLEANFILES): Add grub-pe2elf.
41402
41403 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
41404 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
41405 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
41406 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
41407 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
41408 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
41409 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
41410 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
41411 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
41412 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
41413 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
41414 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
41415 (GRUB_PE32_DT_FUNCTION): Likewise.
41416 (GRUB_PE32_REL_I386_DIR32): Likewise.
41417 (GRUB_PE32_REL_I386_REL32): Likewise.
41418 (grub_pe32_symbol): New structure.
41419 (grub_pe32_reloc): Likewise.
41420
41421 * util/grub-pe2elf.c: New file.
41422
41423 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
41424 start symbol in non pc platform.
41425
41426 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
41427
41428 The following patches are from Christian Franke.
41429
41430 * include/grub/dl.h: Remove .previous, gas supports this only
41431 for ELF format.
41432
41433 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
41434 Remove .type, gas supports this only for ELF format.
41435
41436 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
41437 nullbytes in symbol table. This fixes an infinite loop if table is
41438 zero filled.
41439
41440 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
41441 TARGET_IMG_LDFLAGS and EXEEXT.
41442
41443 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
41444 TARGET_IMG_LDFLAGS_AC.
41445 (grub_CHECK_STACK_ARG_PROBE): New function.
41446
41447 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
41448
41449 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
41450
41451 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
41452 to set TARGET_IMG_LD* accordingly.
41453 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
41454 Add call to grub_CHECK_STACK_ARG_PROBE.
41455 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
41456
41457 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
41458
41459 * genmk.rb: Add EXEEXT to CLEANFILES.
41460
12ccdb75 414612008-07-23 Robert Millan <rmh@aybabtu.com>
41462
41463 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
41464 define the codes for arrows and lines used for the menu).
41465 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
41466 as well.
41467
41468 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
41469 fonts, because the latter are too slow.
41470
18eeaf04 414712008-07-21 Bean <bean123ch@gmail.com>
41472
41473 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
41474 a20. Run keyboard test last, as it will cause macbook to halt.
41475
b095e2ad 414762008-07-18 Pavel Roskin <proski@gnu.org>
41477
41478 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
41479 load foreign architecture modules correctly anyway. Keep
41480 support for loading host architecture modules, whether we
41481 compile them or not.
41482
737feb35 414832008-07-17 Pavel Roskin <proski@gnu.org>
41484
3f4ce737 41485 * configure.ac: Use -m32 or -m64 regardless of whether we had to
41486 change target_cpu. The compiler default can mismatch target_cpu
41487 in any case.
41488
4ad2d049 41489 * disk/efi/efidisk.c: Fix format warnings on x86_64.
41490 * kern/efi/efi.c: Likewise.
41491
f6130a12 41492 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
41493 target compiler is functional.
41494 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
41495 are set up.
41496
58393a2d 41497 * configure.ac: Default to efi platform for x86_64-apple. Allow
41498 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
41499 adjustments from the rest, only do them if target is not
41500 explicitly given. Merge other adjustments with the final sanity
41501 check. Remove an extraneous check for supported CPU. Be
41502 specific which CPU and which platform is not supported.
41503
737feb35 41504 * configure.ac: Default to pc platform for x86_64.
41505
546f966a 415062008-07-17 Robert Millan <rmh@aybabtu.com>
41507
41508 Partial LinuxBIOS -> Coreboot rename.
41509
41510 * conf/i386-linuxbios.rmk: Renamed to ...
41511 * conf/i386-coreboot.rmk: ... this.
41512 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
41513 * configure.ac: Accept "coreboot" as input platform (but maintain
41514 compatibility with "linuxbios").
41515 * include/grub/i386/linuxbios: Renamed to ...
41516 * include/grub/i386/coreboot: ... this.
41517
20011694 415182008-07-17 Bean <bean123ch@gmail.com>
41519
41520 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 41521 (appleldr_mod_SOURCE): New variable.
20011694 41522 (appleldr_mod_CFLAGS): Likewise.
41523 (appleldr_mod_LDFLAGS): Likewise.
41524 (pci_mod_SOURCES): Likewise.
41525 (pci_mod_CFLAGS): Likewise.
41526 (pci_mod_LDFLAGS): Likewise.
41527 (lspci_mod_SOURCES): Likewise.
41528 (lspci_mod_CFLAGS): Likewise.
41529 (lspci_mod_LDFLAGS): Likewise.
41530
41531 * conf/x86_64-efi.rmk: New file.
41532
41533 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
41534 macro.
41535 (grub_efidisk_write): Likewise.
41536
41537 * include/efi/api.h (efi_call_0): New macro.
41538 (efi_call_1): Likewise.
41539 (efi_call_2): Likewise.
41540 (efi_call_3): Likewise.
41541 (efi_call_4): Likewise.
41542 (efi_call_5): Likewise.
41543 (efi_call_6): Likewise.
41544
41545 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
41546 grub_rescue_cmd_chainloader.
41547
41548 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
41549 (grub_pe32_optional_header): Change some fields based on i386 or
41550 x86_64 platform.
41551 (GRUB_PE32_PE32_MAGIC): Likewise.
41552
41553 * include/grub/efi/uga_draw.h: New file.
41554
41555 * include/grub/elf.h (STN_ABS): New constant.
41556 (R_X86_64_NONE): Relocation constant for x86_64.
41557 (R_X86_64_64): Likewise.
41558 (R_X86_64_PC32): Likewise.
41559 (R_X86_64_GOT32): Likewise.
41560 (R_X86_64_PLT32): Likewise.
41561 (R_X86_64_COPY): Likewise.
41562 (R_X86_64_GLOB_DAT): Likewise.
41563 (R_X86_64_JUMP_SLOT): Likewise.
41564 (R_X86_64_RELATIVE): Likewise.
41565 (R_X86_64_GOTPCREL): Likewise.
41566 (R_X86_64_32): Likewise.
41567 (R_X86_64_32S): Likewise.
41568 (R_X86_64_16): Likewise.
41569 (R_X86_64_PC16): Likewise.
41570 (R_X86_64_8): Likewise.
41571 (R_X86_64_PC8): Likewise.
41572
41573 * include/grub/i386/efi/pci.h: New file.
41574
41575 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
41576 Change it value based on platform.
41577 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
41578 (GRUB_E820_RAM): Likewise.
41579 (GRUB_E820_RESERVED): Likewise.
41580 (GRUB_E820_ACPI): Likewise.
41581 (GRUB_E820_NVS): Likewise.
41582 (GRUB_E820_EXEC_CODE): Likewise.
41583 (GRUB_E820_MAX_ENTRY): Likewise.
41584 (grub_e820_mmap): New structure.
41585 (linux_kernel_header): Change the efi field according to different
41586 kernel version, also field from linux_kernel_header.
41587
41588 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
41589
41590 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
41591 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
41592 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
41593 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
41594 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
41595 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
41596 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
41597 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
41598 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
41599 (GRUB_PCI_ADDR_IO_MASK): Likewise.
41600
41601 * include/grub/x86_64/efi/kernel.h: New file.
41602
41603 * include/grub/x86_64/efi/loader.h: Likewise.
41604
41605 * include/grub/x86_64/efi/machine.h: Likewise.
41606
41607 * include/grub/x86_64/efi/pci.h: Likewise.
41608
41609 * include/grub/x86_64/efi/time.h: Likewise.
41610
41611 * include/grub/x86_64/linux.h: Likewise.
41612
41613 * include/grub/x86_64/setjmp.h: Likewise.
41614
41615 * include/grub/x86_64/time.h: Likewise.
41616
41617 * include/grub/x86_64/types.h: Likewise.
41618
41619 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
41620 GRUB_TARGET_SIZEOF_VOID_P.
41621
41622 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
41623 (grub_efi_locate_handle): Likewise.
41624 (grub_efi_open_protocol): Likewise.
41625 (grub_efi_set_text_mode): Likewise.
41626 (grub_efi_stall): Likewise.
41627 (grub_exit): Likewise.
41628 (grub_reboot): Likewise.
41629 (grub_halt): Likewise.
41630 (grub_efi_exit_boot_services): Likewise.
41631 (grub_get_rtc): Likewise.
41632
41633 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
41634 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
41635 (grub_efi_allocate_pages): Wrap efi calls.
41636 (grub_efi_free_pages): Wrap efi calls.
41637 (grub_efi_get_memory_map): Wrap efi calls.
41638
41639 * kern/x86_64/dl.c: New file.
41640
41641 * kern/x86_64/efi/callwrap.S: Likewise.
41642
41643 * kern/x86_64/efi/startup.S: Likewise.
41644
41645 * loader/efi/appleloader.c: Likewise.
41646
41647 * loader/efi/chainloader.c (cmdline): New variable.
41648 (grub_chainloader_unload): Wrap efi calls.
41649 (grub_chainloader_boot): Likewise.
41650 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
41651 command line.
41652
41653 * loader/efi/chainloader_normal.c (chainloader_command):
41654 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
41655 command line.
41656
41657 * loader/i386/efi/linux.c (allocate_pages): Change allocation
41658 method.
41659 (grub_e820_add_region): New function.
41660 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
41661 booting.
41662 (grub_find_video_card): New function.
41663 (grub_linux_setup_video): New function.
41664 (grub_rescue_cmd_linux): Probe for video information.
41665
41666 * normal/x86_64/setjmp.S: New file.
41667
41668 * term/efi/console.c (map_char): New function.
41669 (grub_console_putchar): Map unicode char.
41670 (grub_console_checkkey): Wrap efi calls.
41671 (grub_console_getkey): Likewise.
41672 (grub_console_getwh): Likewise.
41673 (grub_console_gotoxy): Likewise.
41674 (grub_console_cls): Likewise.
41675 (grub_console_setcolorstate): Likewise.
41676 (grub_console_setcursor): Likewise.
41677
41678 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
41679
59652a20 416802008-07-16 Pavel Roskin <proski@gnu.org>
41681
ef294055 41682 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
41683 format strings.
41684
59652a20 41685 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
41686 pointer, not an integer. This fixes a warning and prevents
41687 precision loss on 64-bit systems.
41688 (relocate_addresses): Remove unneeded cast.
41689
afc3b5d7 416902008-07-15 Pavel Roskin <proski@gnu.org>
41691
506b2b3e 41692 * kern/i386/ieee1275/init.c: Include grub/cache.h.
41693
62ead89c 41694 * term/ieee1275/ofconsole.c: Disable code unused on i386.
41695
c4cd51d7 41696 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
41697 Fix comparison between signed and unsigned.
41698
0d3d8f28 41699 * include/grub/i386/ieee1275/console.h: Declare
41700 grub_console_init() and grub_console_fini().
41701
8804b286 41702 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
41703 It's empty and unused.
41704
ee01cf35 41705 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
41706 beginning to avoid warnings with some compilers.
41707
afc3b5d7 41708 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
41709 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
41710
e4e8eaa5 417112008-07-14 Pavel Roskin <proski@gnu.org>
41712
407aceb4 41713 * kern/env.c (grub_register_variable_hook): Don't copy empty
41714 string, it leaks memory. Pass "" to grub_env_set(), it should
41715 handle constant strings.
41716
e4e8eaa5 41717 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
41718 * commands/cmp.c (grub_cmd_cmp): Likewise.
41719 * kern/dl.c (grub_dl_flush_cache): Likewise.
41720 (grub_dl_load_core): Likewise.
41721 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
41722 (grub_elf64_load_phdrs): Likewise.
41723
d4e2dad3 417242008-07-13 Pavel Roskin <proski@gnu.org>
41725
41726 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
41727 between signed and unsigned.
41728 (LzmaEnc_Finish): Fix warning about an unused parameter.
41729
aa24b516 417302008-07-13 Bean <bean123ch@gmail.com>
41731
41732 * Makefile.in (enable_lzo): New rule.
41733
41734 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
41735
41736 * configure.ac (ENABLE_LZO): New option --enable-lzo.
41737
41738 * boot/i386/pc/lnxboot.S: #include <config.h>.
41739
41740 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 41741 its value according to the compression algorithm used, lzo or lzma.
aa24b516 41742
41743 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
41744 compression algorithm according to configure macro.
41745
41746 * kern/i386/pc/startup.S (codestart): Likewise.
41747
41748 * kern/i386/pc/lzma_decode.S: New file.
41749
41750 * include/grub/lib/LzFind.h: Likewise.
41751
41752 * include/grub/lib/LzHash.h: Likewise.
41753
41754 * include/grub/lib/LzmaDec.h: Likewise.
41755
41756 * include/grub/lib/LzmaEnc.h: Likewise.
41757
41758 * include/grub/lib/LzmaTypes.h: Likewise.
41759
41760 * lib/LzFind.c: Likewise.
41761
41762 * lib/LzmaDec.c: Likewise.
41763
41764 * lib/LzmaEnc.c: Likewise.
41765
4ae821ac 417662008-07-13 Bean <bean123ch@gmail.com>
41767
41768 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
41769 (grub_ext4_extent_header): New structure.
41770 (grub_ext4_extent): Likewise.
41771 (grub_ext4_extent_idx): Likewise.
41772 (grub_ext4_find_leaf): New function.
41773 (grub_ext2_read_block): Handle extents.
41774
9a745147 417752008-07-12 Robert Millan <rmh@aybabtu.com>
41776
41777 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
41778
d49a4cf6 417792008-07-11 Robert Millan <rmh@aybabtu.com>
41780
41781 * util/grub.d/40_custom.in: New file. Example on how to add custom
41782 entries to /etc/grub.d.
41783 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
41784 40_custom (implicitly, by merging all the grub.d rules).
41785
947414b4 417862008-07-11 Pavel Roskin <proski@gnu.org>
41787
0059cf6f 41788 * commands/read.c (grub_getline): Fix invalid memory access.
41789 Don't add newline to the variable value.
41790
947414b4 41791 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
41792 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
41793 (serial_hw_get_port): Check validity of the port number.
41794 (grub_cmd_serial): Check return value of serial_hw_get_port().
41795
62a02d00 417962008-07-07 Pavel Roskin <proski@gnu.org>
41797
41798 * boot/i386/pc/diskboot.S (notification_string): Replace
41799 "Loading kernel" with just "loading". This is shorter, less
41800 confusing and saves a few bytes for possible future changes.
41801
3e5581b0 418022008-07-05 Pavel Roskin <proski@gnu.org>
41803
ea387a48 41804 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
41805 size for ATAPI devices, they are undefined. Output sector
41806 number in decimal form.
41807
3e5581b0 41808 * disk/ata.c: Use named constants for status bits.
41809
fdecb8fd 418102008-07-04 Pavel Roskin <proski@gnu.org>
41811
bcd35b90 41812 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
41813 grub_addr_t before casting it to the void pointer to fix a
41814 warning. Non-addressable regions are discarded earlier.
41815 (grub_arch_modules_addr): Cast _end to grub_addr_t.
41816 * kern/i386/linuxbios/table.c: Include grub/misc.h.
41817 (check_signature): Don't shadow table_header.
41818 (grub_linuxbios_table_iterate): Cast numeric constants to
41819 grub_linuxbios_table_header_t.
41820 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
41821 grub_stop().
41822
af58ab3d 41823 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
41824 prevent warnings.
41825
1759aa57 41826 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
41827 pointer, which can cause warnings. Support 64-bit addresses.
41828
fdecb8fd 41829 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
41830 of sizeof(long). This fixes PowerPC image generation on x86_64.
41831
8516d2a8 418322008-07-04 Robert Millan <rmh@aybabtu.com>
41833
41834 This fixes a performance issue when pc & gpt partmap iterators
41835 didn't abort iteration even after our hook found what it was
fe987087 41836 looking for (often causing expensive probes of non-existent drives).
8516d2a8 41837
41838 Some callers relied on previous buggy behaviour, since they would
34c44600 41839 raise an error when their own hooks caused early abortion of its
8516d2a8 41840 iteration.
41841
41842 * kern/device.c (grub_device_open): Improve error message.
41843 * disk/lvm.c (grub_lvm_open): Likewise.
41844 * disk/raid.c (grub_raid_open): Likewise.
41845
41846 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
41847 when hook requests it, independently of grub_errno.
41848 (pc_partition_map_probe): Do not fail when find_func() caused
41849 early abortion of pc_partition_map_iterate().
41850
41851 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
41852 when hook requests it, independently of grub_errno.
41853 (gpt_partition_map_probe): Do not fail when find_func() caused
41854 early abortion of gpt_partition_map_iterate().
41855
41856 * kern/partition.c (grub_partition_iterate): Abort parent iteration
41857 when hook requests it, independently of grub_errno. Do not fail when
41858 part_map_iterate_hook() caused early abortion of p->iterate().
41859
41860 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
41861 when grub_partition_iterate() returned with non-zero.
41862
277d0de9 418632008-07-03 Pavel Roskin <proski@gnu.org>
41864
41865 * disk/ata.c (grub_ata_pio_write): Check status before writing,
41866 like we do in grub_ata_pio_read().
41867 (grub_ata_readwrite): Always write individual sectors. Fix the
41868 sector count for the remainder.
41869 (grub_ata_write): Enable writing to ATA devices. Correctly
41870 report error for ATAPI devices.
41871
d4c9b428 418722008-07-02 Pavel Roskin <proski@gnu.org>
41873
e43fc690 41874 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
41875 warning.
41876
f707af42 41877 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
41878 for every read sector, we already increment it for the whole
41879 batch. This fixes reading more than 256 sectors at once.
41880
11e16b15 41881 * util/grub-editenv.c (cmd_info): Cast argument to long
41882 explicitly. ptrdiff_t reduces to int on i386.
41883
cbabfdd4 41884 * util/grub-editenv.c (main): Be specific which parameter is
41885 missing.
41886
b8fbce0a 41887 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
41888 (memdisk): Make memdisk_orig_addr a pointer.
41889
c9c8e606 41890 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
41891 for file offsets, use grub_off_t instead. Fix printf format
41892 warnings.
41893
ca62e598 41894 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
41895 there. Real unexpected warnings should not drown in the noise
41896 about known problems.
41897
ce8d1766 41898 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
41899 grub_disk_addr_t for memory addresses.
41900
00c7a56a 41901 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
41902 explicitly to fix a warning.
41903
08d3ef09 41904 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
41905
cb71ba20 41906 * Makefile.in (MODULE_LDFLAGS): New variable.
41907 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
41908 the linker accepts --build-id=none.
41909 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
41910 MODULE_LDFLAGS.
41911 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
41912
d4c9b428 41913 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
41914 those in Linux XFS code. Provide a way to access 64-bit parent
41915 inode.
41916 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
41917 the end of struct grub_xfs_dir_header.
41918
d4156eee 419192008-07-02 Bean <bean123ch@gmail.com>
41920
41921 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
41922 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
41923 and GRUB_IEEE1275_FLAG_NO_ANSI.
41924
41925 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
41926 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
41927 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
41928
41929 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
41930 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
41931
41932 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
41933 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
41934
41935 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
41936 esc sequence on non ANSI terminal.
41937 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
41938
41939 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
41940 beginning of file.
41941
2270f77b 419422008-07-02 Bean <bean123ch@gmail.com>
41943
41944 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
41945 (grub_editenv_SOURCES): New variable.
41946 (pkglib_MODULES): Add loadenv.mod.
41947 (loadenv_mod_SOURCES): New variable.
41948 (loadenv_mod_CFLAGS): Likewise.
41949 (loadenv_mod_LDFLAGS): Likewise.
41950
41951 * include/grub/envblk.h: New file.
41952
41953 * util/envblk.c: New file.
41954
41955 * util/grub-editenv.c: New file.
41956
41957 * commands/loadenv.c: New file.
41958
0e9e51ec 419592008-07-01 Pavel Roskin <proski@gnu.org>
41960
d89b7634 41961 * include/multiboot2.h (struct multiboot_tag_module): Use char,
41962 not unsigned char. This fixes warnings and is consistent with
41963 other tags.
41964
bf1835b1 41965 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
41966
8222a04b 41967 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
41968
6a42d99d 41969 * term/tparm.c (analyze): Always set *popcount.
41970
10b159d1 41971 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
41972 cast to fix a warning.
41973
b8789f6c 41974 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
41975 cast to suppress a warning.
41976
29d7e38a 41977 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
41978 grub_fshelp_read_file() expects.
41979
f341f669 41980 * fs/fat.c: Fix UUID calculation on big-endian systems. We
41981 write uuid as a 32-bit value in CPU byte order, so declare and
41982 use it as such.
41983
0e9e51ec 41984 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
41985 long if the format specifier expects it.
41986 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
41987 * partmap/pc.c (pc_partition_map_iterate): Likewise.
41988 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
41989 long to fix a warning.
41990 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
41991 grub_dprintf() arguments to fix warnings.
41992
3aefa857 419932008-06-30 Pavel Roskin <proski@gnu.org>
41994
56c7668b 41995 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
41996 install_bsd_part immediately before core.img is embedded or
41997 modified on disk. This fixes core.img verification if core.img
41998 cannot be embedded.
41999
3aefa857 42000 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
42001 core_path to calculate the blocklist.
42002 Patch from Javier Martín <lordhabbit@gmail.com>
42003
5444088d 420042008-06-29 Robert Millan <rmh@aybabtu.com>
42005
42006 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
42007 block to disk block.
42008 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
42009 Patch from Niels Böhm <bitbucket@arcor.de>
42010
674835c8 420112008-06-29 Robert Millan <rmh@aybabtu.com>
42012
42013 * util/update-grub_lib.in (font_path): Search for fonts in
42014 /boot/grub first, which is more likely to be readable (we aren't
42015 deciding where fonts live, just looking for them).
42016
f527dbc8 420172008-06-26 Pavel Roskin <proski@gnu.org>
42018
6c2d8df6 42019 * util/biosdisk.c (read_device_map): Don't leave dead map
42020 entries for devices failing stat() check.
42021
f527dbc8 42022 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
42023 core_path_dev for the core.img path on the target device.
42024
aebe3d13 420252008-06-26 Robert Millan <rmh@aybabtu.com>
42026
42027 * disk/fs_uuid.c: New file.
42028 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
42029 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
42030 (fs_uuid_mod_LDFLAGS): New variables.
42031 * include/grub/disk.h (grub_disk_dev_id): Add
42032 `GRUB_DISK_DEVICE_UUID_ID'.
42033 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
42034 implement iterate().
42035
37aaf354 420362008-06-26 Robert Millan <rmh@aybabtu.com>
42037
42038 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
42039 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
42040 Linux image includes no initrd.
42041
25ff262a 420422008-06-21 Javier Martín <lordhabbit@gmail.com>
42043
42044 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
42045 call to resolve the core image location that effectively appended the
42046 name twice.
42047
76a2bd44 420482008-06-21 Robert Millan <rmh@aybabtu.com>
42049
42050 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
42051 call from here ...
42052
42053 * util/grub.d/10_hurd.in: ... to here ...
42054 * util/grub.d/10_linux.in: ... and here.
42055
650e1c79 420562008-06-19 Robert Millan <rmh@aybabtu.com>
42057
fe987087 42058 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 42059 after it has been set by grub_machine_set_prefix().
42060
6ce63911 420612008-06-19 Robert Millan <rmh@aybabtu.com>
42062
42063 * commands/search.c (search_label, search_fs_uuid, search_file): Print
42064 search result when not saving to variable, not the other way around.
42065 When saving to variable, abort iteration as soon as a match is found.
42066
73940cec 420672008-06-19 Robert Millan <rmh@aybabtu.com>
42068
42069 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
42070 check for partition that provides /boot/grub. Its logic is flawed,
42071 as it prevents prepare_grub_to_access_device() from being called
42072 multiple times.
42073
3c62a39d 420742008-06-19 Robert Millan <rmh@aybabtu.com>
42075
42076 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
42077 "insmod" command directly when abstraction modules are needed,
fe987087 42078 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 42079 since it had already been processed).
42080
47395a42 420812008-06-19 Pavel Roskin <proski@gnu.org>
42082
42083 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
42084 changed. This is needed in case GRUB_LIBDIR changes.
42085 * conf/i386-ieee1275.rmk: Likewise.
42086 * conf/i386-linuxbios.rmk: Likewise.
42087 * conf/i386-pc.rmk: Likewise.
42088 * conf/powerpc-ieee1275.rmk: Likewise.
42089
a145ac2d 420902008-06-18 Pavel Roskin <proski@gnu.org>
42091
42092 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
42093 kernel_elf_symlist.c to symlist.c for consistency with other
42094 architectures. Update all users.
42095 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42096
7847c51e 420972008-06-18 Robert Millan <rmh@aybabtu.com>
42098
42099 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
42100 it in prefix.
42101
42102 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
42103 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
42104 a RAID device, run setup() for all members independently on whether
42105 LVM abstraction is being used.
42106 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
42107 If grub-mkimage has set `*install_dos_part == -2', don't override this
42108 value.
42109 Perform *install_dos_part adjustments independently on whether
42110 we're embedding or not.
42111 Clarify error message when image is too big for embedding.
42112 Remove duplicate *install_dos_part stanza.
42113
b23e5644 421142008-06-17 Robert Millan <rmh@aybabtu.com>
42115
42116 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
42117 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
42118 variables.
42119 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
42120 values in grub_ofconsole_normal_color and
42121 grub_ofconsole_highlight_color (they're not directly related to
42122 background and foreground).
42123 (grub_ofconsole_setcolorstate): Extract background and foreground
42124 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
42125
0aac2f79 421262008-06-17 Robert Millan <rmh@aybabtu.com>
42127
42128 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
42129 /boot/grub for the check in last commit, not /boot (they could be
42130 different partitions).
42131
3cca7ef3 421322008-06-16 Robert Millan <rmh@aybabtu.com>
42133
42134 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
42135 asked to setup access for the same partition that provides /boot,
42136 don't bother using UUIDs since our root already has the value we
42137 want.
42138
347396d8 421392008-06-16 Robert Millan <rmh@aybabtu.com>
42140
42141 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
42142 I2O devices.
42143 Patch from Sven Mueller <sven@debian.org>.
42144
991477f8 421452008-06-16 Robert Millan <rmh@aybabtu.com>
42146
42147 * util/update-grub.in: Check for $EUID instead of $UID.
42148 Reported by Vincent Zweije.
42149
d31a32a1 421502008-06-16 Bean <bean123ch@gmail.com>
42151
fe987087 42152 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 42153 (grub_ext2_read_block): Likewise.
42154 (grub_ext2_read_inode): Likewise.
42155 (grub_ext2_mount): Likewise.
42156 (grub_ext2_close): Likewise.
42157 (grub_ext3_get_journal): Removed.
42158
fe987087 42159 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 42160 (grub_reiserfs_read_symlink): Likewise.
42161 (grub_reiserfs_mount): Likewise.
42162 (grub_reiserfs_open): Likewise.
42163 (grub_reiserfs_read): Likewise.
42164 (grub_reiserfs_close): Likewise.
42165 (grub_reiserfs_get_journal): Removed.
42166
42167 * fs/fshelp.c (grub_fshelp_read): Removed.
42168 (grub_fshelp_map_block): Likewise.
42169
42170 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
42171 (grub_fshelp_journal): Likewise.
42172 (grub_fshelp_read): Likewise.
42173 (grub_fshelp_map_block): Likewise.
42174
3540a760 421752008-06-16 Pavel Roskin <proski@gnu.org>
42176
42177 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
42178 floating point anymore.
42179 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
42180
95614c84 421812008-06-15 Pavel Roskin <proski@gnu.org>
42182
42183 * commands/ls.c (grub_ls_list_files): Use integer calculations
42184 for human readable format, avoid floating point use.
42185 * kern/misc.c (grub_ftoa): Remove.
42186 (grub_vsprintf): Remove floating point support.
42187
50465dd6 421882008-06-15 Robert Millan <rmh@aybabtu.com>
42189
fe6b695a 42190 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 42191 devices.
42192 Reported by Max Vozeler.
42193
a9207284 421942008-06-15 Robert Millan <rmh@aybabtu.com>
42195
42196 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
42197 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
42198 skipped later.
42199 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
42200 the beginning of the prefix.
42201
42202 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
42203 It is assumed that if we have a memdisk, grub-mkimage has set
42204 grub_prefix to include the "(memdisk)" drive in it.
42205
a7cbd45a 422062008-06-15 Robert Millan <rmh@aybabtu.com>
42207
42208 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
42209 Initialize keyboard controller after registering the terminal, so that
42210 grub_printf() can be called from grub_keyboard_controller_init().
42211
21cf716a 422122008-06-15 Robert Millan <rmh@aybabtu.com>
42213
42214 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
42215 extent-btree which is written as big endian on disk.
42216 Reported by Alain Greppin <al@chilibi.org>.
42217
23a64d8e 422182008-06-14 Robert Millan <rmh@aybabtu.com>
42219
42220 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
42221 * util/i386/pc/grub-install.in (modules): Likewise.
42222
d687651c 422232008-06-13 Pavel Roskin <proski@gnu.org>
42224
42225 * commands/ls.c (grub_ls_list_files): Fix format warnings.
42226
dfe9ddd4 422272008-06-13 Bean <bean123ch@gmail.com>
42228
42229 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
42230
42231 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
42232
42233 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
42234 to indicate sparse block.
42235
16ae7781 422362008-06-12 Pavel Roskin <proski@gnu.org>
42237
e6d1a308 42238 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
42239 number, grub_fshelp_read() does it for us.
42240
16ae7781 42241 * fs/fshelp.c (grub_fshelp_read): New function. Implement
42242 linear disk read with journal translation.
42243 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
42244 * include/grub/fshelp.h: Declare grub_fshelp_read().
42245
40fd3a2b 422462008-06-09 Pavel Roskin <proski@gnu.org>
42247
42248 * fs/minix.c (grub_minix_mount): Handle error reading
42249 superblock.
42250
f5679726 422512008-06-08 Robert Millan <rmh@aybabtu.com>
42252
42253 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
42254 don't append the RAID prefix afterwards.
42255 Reported by Clint Adams.
42256
ce525529 422572008-06-08 Robert Millan <rmh@aybabtu.com>
42258
42259 Based on description from Pavel:
42260 * kern/disk.c (grub_disk_check_range): Rename to ...
42261 (grub_disk_adjust_range): ... this. Add a comment explaining the
42262 tasks performed by this function.
42263
ad4936a0 422642008-06-08 Robert Millan <rmh@aybabtu.com>
42265
42266 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
42267 `num_serial' (for consistency with other variables).
42268 (struct grub_ntfs_data): Add `uuid' member.
42269 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
42270 (grub_ntfs_uuid): New function.
42271 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
42272
dc20b0f9 422732008-06-07 Pavel Roskin <proski@gnu.org>
42274
42275 * util/biosdisk.c (open_device): Revert last change to the
42276 function, it broke installation. The sector needs to be
42277 different dependent on which device is opened.
42278
c5e3cfba 422792008-06-06 Robert Millan <rmh@aybabtu.com>
42280
42281 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
42282 rest of GRUB, and breakage doesn't happen if its value were modified.
42283
42284 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42285 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
42286 a constant (same value).
42287 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
42288 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
42289
26a1f8c4 422902008-06-06 Robert Millan <rmh@aybabtu.com>
42291
42292 * util/biosdisk.c (open_device): Do not modify sector offset when
42293 accessing a partition. kern/disk.c already handles this for us.
42294
25d6b327 422952008-06-06 Robert Millan <rmh@aybabtu.com>
42296
42297 * util/grub-emu.c (grub_machine_init): Move code in this function from
42298 here ...
42299 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
42300 segfault in case grub_printf() is called).
42301
42302 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
42303 grub_probe. Update all users not to explicitly add it again.
42304 (grub_device): New variable; contains corresponding device for grubdir.
42305 (fs_module, partmap_module, devabstraction_module): Pass
42306 `--device ${grub_device}' to grub_probe to avoid traversing /dev
42307 every time.
42308
9ece62fb 423092008-06-05 Robert Millan <rmh@aybabtu.com>
42310
42311 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
42312 is found, print it (same layout as with labels).
42313
1ad36d37 423142008-06-04 Robert Millan <rmh@aybabtu.com>
42315
42316 * util/biosdisk.c (get_drive): Rename to ...
42317 (find_grub_drive): ... this. Update all users.
42318
42319 (get_os_disk): Rename to ...
42320 (convert_system_partition_to_system_disk): ... this. Update all users.
42321
42322 (find_drive): Rename to ...
42323 (find_system_device): ... this. Update all users.
42324
e6a30859 423252008-06-04 Robert Millan <rmh@aybabtu.com>
42326
42327 * util/biosdisk.c (get_os_disk): Handle IDA devices.
42328 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42329 (make_device_map): Likewise.
42330
00c108a4 423312008-06-01 Robert Millan <rmh@aybabtu.com>
42332
42333 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
42334 before dereferencing it.
42335
42336 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
42337 union with fat12/fat16-specific ones. Add some new fields, including
42338 `num_serial' for both versions.
42339 (struct grub_fat_data): Add `uuid' member.
42340 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
42341 names. Initialize `data->uuid' using `num_serial'.
42342 (grub_fat_uuid): New function.
42343 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
42344
42345 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
42346 (grub_reiserfs_uuid): New function.
42347 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
42348 member.
42349
42350 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
42351 (grub_xfs_uuid): New function.
42352 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
42353
1385c5bb 423542008-06-01 Robert Millan <rmh@aybabtu.com>
42355
42356 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
42357 code that is backward compatible with pre-uuid search command.
42358
c682dfd7 423592008-05-31 Robert Millan <rmh@aybabtu.com>
42360
42361 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
42362 floppies after everything else, to ensure floppy drive isn't accessed
42363 unnecessarily (patch from Bean).
42364
b7db5d47 423652008-05-31 Robert Millan <rmh@aybabtu.com>
42366
42367 * commands/search.c (search_label, search_fs_uuid, search_file): Do
42368 not print device names when we were asked to set a variable.
42369
6e037aa9 423702008-05-31 Robert Millan <rmh@aybabtu.com>
42371
42372 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
42373 using "cursor-on" and "cursor-off" commands (understood at least by
42374 the Open Firmware flavour on OLPC).
42375
41305bc8 423762008-05-31 Michael Gorven <michael@gorven.za.net>
42377
42378 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
42379 on and off sequences.
42380
69ba137e 423812008-05-31 Robert Millan <rmh@aybabtu.com>
42382
42383 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
42384 * util/update-grub.in: Likewise.
42385
520ae21b 423862008-05-30 Pavel Roskin <proski@gnu.org>
42387
42388 * util/biosdisk.c (linux_find_partition): Simplify logic and
42389 make the code more universal. Keep special processing for
42390 devfs, but use a simple rule for all other devices. If the
42391 device ends with a number, append 'p' and the partition number.
42392 Otherwise, append only the partition number.
42393
5786569b 423942008-05-30 Robert Millan <rmh@aybabtu.com>
42395
42396 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
42397 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
42398 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
42399 the `root' parameter to Linux.
42400
51500452 424012008-05-30 Robert Millan <rmh@aybabtu.com>
42402
42403 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
42404 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
42405 --fs_uuid with --fs-uuid.
42406 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
42407 all filesystems support them).
42408
811d3878 424092008-05-30 Robert Millan <rmh@aybabtu.com>
42410
42411 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 42412 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 42413
cab63c95 424142008-05-30 Robert Millan <rmh@aybabtu.com>
42415
42416 * util/grub.d/00_header.in: Remove obsolete comment referencing
42417 convert_system_path_to_grub_path().
42418 * util/update-grub.in: Likewise.
42419 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
42420 (convert_system_path_to_grub_path): Add a warning message explaining
42421 that this function is deprecated. Rely on is_path_readable_by_grub()
42422 for the readability checks.
42423 (font_path): Use is_path_readable_by_grub() for the readability
42424 check rather than convert_system_path_to_grub_path().
42425
972e2f7a 424262008-05-30 Robert Millan <rmh@aybabtu.com>
42427
42428 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
42429 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
42430 converting it first.
42431 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
42432 grub.cfg for access to font file, and afterwards call it again to set
42433 the root device.
42434
62191274 424352008-05-30 Robert Millan <rmh@aybabtu.com>
42436
42437 * commands/search.c (options): Add --fs_uuid option.
42438 (search_fs_uuid): New function.
42439 (grub_cmd_search): Fix --set argument passing.
42440 Use search_fs_uuid() when requested via --fs_uuid.
42441 (grub_search_init): Update help message.
42442 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
42443 and redeclare it as an array of 16-bit words.
42444 (grub_ext2_uuid): New function.
42445 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
42446 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
42447 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
42448 (GRUB_DEVICE_BOOT_UUID): New variables.
42449 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
42450 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
42451 whenever possible.
42452 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
42453 just assume `root' variable has the right value.
42454 * util/grub.d/10_linux.in: Likewise.
42455 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
42456 via PRINT_FS_UUID.
42457 (main): Recognise `-t fs_uuid' argument.
42458
01b73ec8 424592008-05-30 Robert Millan <rmh@aybabtu.com>
42460
42461 * util/biosdisk.c (map): Redefine structure to hold information
42462 about GRUB drive name.
fe6b695a 42463 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 42464 drive names.
42465 (call_hook): Remove.
42466 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
42467 member. Assume drive has partitions.
42468 (grub_util_biosdisk_open): Access device names via `.device' struct
42469 member.
42470 (open_device): Likewise.
42471 (find_drive): Likewise.
42472 (read_device_map): Adjust map[] usage to match the new struct
42473 definition. Don't check for duplicates (still possible, but not cheap
42474 anymore).
42475 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
42476 (make_device_name): Remove assumption of BIOS-like drive names.
42477
22f16596 424782008-05-30 Pavel Roskin <proski@gnu.org>
42479
42480 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
42481 compiling execute.c doesn't need grub_script.tab.h anymore.
42482 (normal/command.c_DEPENDENCIES): Likewise.
42483 (normal/function.c_DEPENDENCIES): Likewise.
42484 * conf/i386-ieee1275.rmk: Likewise.
42485 * conf/i386-linuxbios.rmk: Likewise.
42486 * conf/i386-pc.rmk: Likewise.
42487 * conf/powerpc-ieee1275.rmk: Likewise.
42488 * conf/sparc64-ieee1275.rmk: Likewise.
42489
528ad8f2 424902008-05-29 Pavel Roskin <proski@gnu.org>
42491
d1dff95d 42492 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
42493 when scanning metadata for volume group name.
42494
528ad8f2 42495 * include/grub/script.h: Don't include grub_script.tab.h. It's
42496 a generated file, which may only be included from the files with
42497 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
42498 use union YYSTYPE, as the later allows forward declaration.
42499 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
42500
47248e08 425012008-05-29 Robert Millan <rmh@aybabtu.com>
42502
42503 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
42504 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
42505 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
42506 (grub_console_checkkey): Add grub_dprintf() call to report unknown
42507 scan codes.
42508
ee632529 425092008-05-29 Robert Millan <rmh@aybabtu.com>
42510
42511 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
42512 control key combinations.
42513
eee96e08 425142008-05-29 Robert Millan <rmh@aybabtu.com>
42515
42516 * util/powerpc/ieee1275/grub-install.in: Move from here ...
42517 * util/ieee1275/grub-install.in: ... to here.
42518 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
42519 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
42520 (grub_install_SOURCES): Likewise.
42521
da9a6a94 425222008-05-29 Robert Millan <rmh@aybabtu.com>
42523
42524 * fs/affs.c: Update copyright year.
42525 * fs/ext2.c: Likewise.
42526 * fs/fshelp.c: Likewise.
42527 * fs/hfsplus.c: Likewise.
42528 * fs/ntfs.c: Likewise.
42529 * fs/xfs.c: Likewise.
42530 * include/grub/fshelp.h: Likewise.
42531 * util/grub-mkdevicemap.c: Likewise.
42532
12e65f3a 425332008-05-28 Robert Millan <rmh@aybabtu.com>
42534
42535 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
42536 might need to be fatfs to support some firmware implementations
42537 (e.g. OFW or EFI).
42538
23023641 425392008-05-28 Robert Millan <rmh@aybabtu.com>
42540
42541 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
42542 devices.
42543 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42544 (make_device_map): Likewise.
42545
887d2619 425462008-05-20 Bean <bean123ch@gmail.com>
42547
42548 * fs/fshelp.c (grub_fshelp_map_block): New function.
42549 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
42550 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
42551
42552 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
42553 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
42554 (grub_fshelp_journal): New structure.
42555 (grub_fshelp_map_block): New function prototype.
42556 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
42557 (grub_fshelp_map_block): Likewise.
42558
42559 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
42560 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
42561 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
42562 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
42563 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
42564 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
42565 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
42566 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
42567 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
42568 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
42569 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
42570 (grub_ext2_sblock): New members for journal support.
42571 (grub_ext3_journal_header): New structure.
42572 (grub_ext3_journal_revoke_header): Likewise.
42573 (grub_ext3_journal_block_tag): Likewise.
42574 (grub_ext3_journal_sblock): Likewise.
42575 (grub_fshelp_node): New members logfile and journal.
42576 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
42577 grub_fshelp_map_block to get real block number.
42578 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
42579 number.
42580 (grub_ext2_read_inode): Likewise.
42581 (grub_ext3_get_journal): New function.
42582 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
42583 (grub_ext2_close): Release memory used by journal.
42584
42585 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
42586 (REISERFS_MAGIC_DESC_BLOCK): New macro.
42587 (grub_reiserfs_transaction_header): Renamed to
42588 grub_reiserfs_description_block, replace field data with real_blocks.
42589 (grub_reiserfs_commit_block): New structure.
42590 (grub_reiserfs_data): New member journal.
42591 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
42592 number.
42593 (grub_reiserfs_read_symlink): Likewise.
42594 (grub_reiserfs_iterate_dir): Likewise.
42595 (grub_reiserfs_open): Likewise.
42596 (grub_reiserfs_read): Likewise.
42597 (grub_reiserfs_get_journal): New function.
42598 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
42599 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
42600 using grub_reiserfs_get_journal.
42601 (grub_reiserfs_close): Release memory used by journal.
42602
42603 * fs/affs.c (grub_affs_read_block): Change block type to
42604 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
42605
42606 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
42607
42608 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
42609
42610 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
42611
42612 * fs/udf.c (grub_udf_read_block): Change block type to
42613 grub_disk_addr_t. Use type cast to avoid warning.
42614
42615 * fs/xfs.c (grub_xfs_read_block): Likewise.
42616
b7c6bed5 426172008-05-16 Christian Franke <franke@computer.org>
42618
42619 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
42620 to ensure that break with ESC will always work.
42621 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
42622 Remove ESC from keyboard queue.
42623
eedf167f 426242008-05-16 Christian Franke <franke@computer.org>
42625
42626 * util/biosdisk.c: [__CYGWIN__] Add includes.
42627 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
42628 (get_os_disk): Move variable declarations to OS specific
42629 parts to avoid warning.
42630 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
42631 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
42632 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
42633 Cygwin.
42634 * util/getroot.c: [__CYGWIN__] Add includes.
42635 (strip_extra_slashes): Fix "/" case.
42636 [__CYGWIN__] (get_win32_path): New function.
42637 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
42638 [__CYGWIN__] (find_root_device): Disable.
42639 [__CYGWIN__] (get_bootsec_serial): New function.
42640 [__CYGWIN__] (find_cygwin_root_device): Likewise.
42641 [__linux__] (grub_guess_root_device): Add early returns to simplify
42642 structure.
42643 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
42644 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
42645 check for Linux only.
42646
a079699e 426472008-05-15 Bean <bean123ch@gmail.com>
42648
42649 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
42650 keyboard hang problem in apple's intel mac.
42651
1cf4059a 426522008-05-09 Robert Millan <rmh@aybabtu.com>
42653
42654 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
42655 devices.
42656 * util/grub-mkdevicemap.c (get_virtio_disk_name)
42657 (make_device_map): Likewise.
42658 Reported by Aurelien Jarno <aurel32@debian.org>
42659
ed759390 426602008-05-07 Ian Campbell <ijc@hellion.org.uk>
42661
42662 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
42663 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
42664 (make_device_map): Output entries for xvd type disks.
42665
b56c4eaa 426662008-05-07 Robert Millan <rmh@aybabtu.com>
42667
42668 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
42669 devices.
42670 * util/grub-mkdevicemap.c (get_cciss_disk_name)
42671 (make_device_map): Likewise.
42672 Reported by Roland Dreier <rdreier@cisco.com>
42673
7f8866ed 426742008-05-07 Robert Millan <rmh@aybabtu.com>
42675
42676 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
42677 grub_strstr() call. Correct a few mistakes in failure path handling.
42678
b0346e0f 426792008-05-06 Robert Millan <rmh@aybabtu.com>
42680
42681 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42682 Do not print a trailing slash (therefore, the root directory is an
42683 empty string).
42684 (convert_system_path_to_grub_path): Do not remove trailing slash
42685 from make_system_path_relative_to_its_root() output.
42686
42687 * util/i386/pc/grub-install.in: Add trailing slash to output from
42688 make_system_path_relative_to_its_root().
42689
6cf12cbd 426902008-05-06 Robert Millan <rmh@aybabtu.com>
42691
42692 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
42693 ensures that output lines aren't intermangled with those sent to
42694 stderr (via grub_util_info()).
42695 * util/grub-probe.c (grub_refresh): Likewise.
42696 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
42697
0fbb3117 426982008-05-05 Christian Franke <franke@computer.org>
42699
42700 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
42701 Add Cygwin device names.
42702 (get_ide_disk_name) [__CYGWIN__]: Likewise.
42703 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
42704 (check_device): Return error instead of success on empty name.
42705 (make_device_map): Move label inside linux specific code to
42706 prevent compiler warning.
42707
8124cdb7 427082008-04-30 Robert Millan <rmh@aybabtu.com>
42709
42710 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
42711 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
42712 first boot option.
42713 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
42714
094c01d0 427152008-04-29 Robert Millan <rmh@aybabtu.com>
42716
42717 * docs/grub.cfg: New file (example GRUB configuration).
42718
f4b1fc02 427192008-04-26 Robert Millan <rmh@aybabtu.com>
42720
329ce2a5 42721 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
42722 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
42723 and `disk/ieee1275/nand.c'.
f4b1fc02 42724
25f16ec1 427252008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 42726
25f16ec1 42727 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
42728 i386-linuxbios.
42729
42730 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
42731 change the buffer size to 4096 for cdrom device.
42732
42733 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
42734 and nand.mod.
42735 (_linux_mod_SOURCES): New variable.
42736 (_linux_mod_CFLAGS): Likewise.
42737 (_linux_mod_LDFLAGS): Likewise.
42738 (linux_mod_SOURCES): Likewise.
42739 (linux_mod_CFLAGS): Likewise.
42740 (linux_mod_LDFLAGS): Likewise.
42741 (nand_mod_SOURCES): Likewise.
42742 (nand_mod_CFLAGS): Likewise.
42743 (nand_mod_LDFLAGS): Likewise.
42744
42745 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
42746 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
42747 type property. (nand device in olpc don't have this property)
42748
42749 * include/grub/disk.h (grub_disk_dev_id): New macro
42750 GRUB_DISK_DEVICE_NAND_ID.
42751
42752 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
42753 function prototype.
42754 (grub_rescue_cmd_initrd): Likewise.
42755
42756 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
42757 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
42758 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 42759
25f16ec1 42760 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
42761 GRUB_MACHINE_IEEE1275 is defined.
42762
42763 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
42764 Use NESTED_FUNC_ATTR attribute on the hook parameter.
42765
42766 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
42767 on nested function heap_init.
42768 (grub_upper_mem): New variable for i386-ieee1275.
42769 (grub_get_extended_memory): New function for i386-ieee1275.
42770 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
42771
42772 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
42773 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
42774 property.
f19dbdb7 42775
25f16ec1 42776 * loader/i386/ieee1275/linux.c: New file.
42777
42778 * loader/i386/ieee1275/linux_normal.c: New file.
42779
42780 * disk/ieee1275/nand.c: New file.
42781
e89d61e9 427822008-04-18 Thomas Schwinge <tschwinge@gnu.org>
42783
42784 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
42785 value.
42786 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
42787
602566f6 427882008-04-18 Robert Millan <rmh@aybabtu.com>
42789
42790 Restructures early code path on ieee1275 to unify grub_main() as
42791 the first C function that is executed in every platform.
42792
42793 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
42794 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
42795 cmain().
42796 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
42797 * kern/ieee1275/cmain.c (cmain): Rename to ...
42798 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
42799 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
42800 at the beginning.
42801
57490c2b 428022008-04-18 Robert Millan <rmh@aybabtu.com>
42803
42804 * util/update-grub.in: Fix syntax error when setting
42805 `GRUB_PRELOAD_MODULES'.
42806 Reported by Stephane Chazelas <stephane@artesyncp.com>
42807
1977517d 428082008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
42809
42810 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
42811 section into account, newer toolchains generate unique build ids
42812 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 42813 we want build ids to be preserved
1977517d 42814 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
42815 far from other sections don't cause the raw binary images grow
42816 size
42817
bfb1f1a2 428182008-04-15 Robert Millan <rmh@aybabtu.com>
42819
42820 * disk/lvm.c: Update copyright year.
42821 * kern/misc.c: Likewise.
42822
01979850 428232008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42824
42825 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 42826 there is no memory left for physical volume name.
01979850 42827
0a1150e2 428282008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
42829
42830 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
42831 volume name mapping to support bigger than 9 character names properly.
42832
82ead3fe 428332008-04-13 Robert Millan <rmh@aybabtu.com>
42834
42835 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
42836 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
42837
e54a72f5 428382008-04-13 Christian Franke <franke@computer.org>
42839
42840 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
42841 to create a floppy emulation boot CD when non emulation mode
42842 does not work.
42843 Enable Joliet CD filesystem extension.
42844
9fe86034 428452008-04-13 Robert Millan <rmh@aybabtu.com>
42846
42847 * kern/misc.c (grub_strncat): Fix off-by-one error.
42848 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
42849
42850 * kern/env.c (grub_env_context_close): Clear current context, not
42851 previous one.
42852 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
42853
42854 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
42855
7ceeee39 428562008-04-13 Robert Millan <rmh@aybabtu.com>
42857
42858 Improve robustness when handling LVM.
42859
42860 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 42861 (and leave `*p' unmodified).
7ceeee39 42862 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
42863 through it.
42864 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
42865 iterating through it.
42866 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
42867 through it.
fe6b695a 42868 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 42869 when due) on each grub_lvm_getvalue() or grub_strstr() call.
42870 Don't assume `vg->pvs != NULL' when iterating through it.
42871
58cd3d85 428722008-04-13 Robert Millan <rmh@aybabtu.com>
42873
42874 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
42875 * genmk.rb (partmap): New variable.
42876 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
42877 (#{partmap}): New target rule.
42878 * genpartmaplist.sh: New file.
42879 * Makefile.in (pkglib_DATA): Add partmap.lst.
42880 (partmap.lst): New target rule.
42881 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
42882 modules (including all partition maps), instead of preloading them.
42883
78b51059 428842007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
42885
42886 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
42887 `linux-boot-prober' (if installed) to detect other operating
42888 systems which are installed on the computer and add them to
42889 the boot menu.
42890 * conf/common.rmk: Build and install 30_os-prober.
42891
a91627b4 428922008-04-12 Robert Millan <rmh@aybabtu.com>
42893
42894 * kern/powerpc/ieee1275/init.c: Move from here ...
42895 * kern/ieee1275/init.c: ... to here. Update all users.
42896
42897 * kern/powerpc/ieee1275/cmain.c: Move from here ...
42898 * kern/ieee1275/cmain.c: ... to here. Update all users.
42899
42900 * kern/powerpc/ieee1275/openfw.c: Move from here ...
42901 * kern/ieee1275/openfw.c: ... to here. Update all users.
42902
42903 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
42904 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
42905
322562ea 429062008-04-10 Pavel Roskin <proski@gnu.org>
42907
42908 * configure.ac: Always use "_cv_" in cache variables for
42909 compatibility with Autoconf 2.62.
42910
a02a73c5 429112008-04-07 Robert Millan <rmh@aybabtu.com>
42912
42913 Revert grub/machine/init.h addition by Pavel (since it breaks on
42914 i386-ieee1275 and others):
42915 * util/i386/pc/misc.c: Remove grub/machine/init.h.
42916 * util/powerpc/ieee1275/misc.c: Likewise.
42917
25c024b1 429182008-04-07 Robert Millan <rmh@aybabtu.com>
42919
42920 * util/grub-probe.c (probe): Improve error message.
42921
3cbd2f98 429222008-04-07 Robert Millan <rmh@aybabtu.com>
42923
42924 * util/biosdisk.c (read_device_map): Skip devices that don't exist
42925 (this prevents the presence of a bogus entry from ruining the whole
42926 thing).
42927
87a297bf 429282008-04-06 Pavel Roskin <proski@gnu.org>
42929
36747a62 42930 * util/biosdisk.c: Include grub/util/biosdisk.h.
42931 * util/grub-fstest.c (execute_command): Make static.
42932 * util/grub-mkdevicemap.c (check_device): Likewise.
42933 * util/i386/pc/misc.c: Include grub/machine/init.h.
42934 * util/powerpc/ieee1275/misc.c: Likewise.
42935 * util/lvm.c: Include grub/util/lvm.h.
42936 * util/misc.c: Include grub/kernel.h, grub/misc.h and
42937 grub/cache.h.
42938 * util/raid.c: Include grub/util/raid.h.
42939 (grub_util_getdiskname): Make static.
42940
87a297bf 42941 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
42942 grub_hostfs_fini(), as they are called from grub_init_all() and
42943 grub_fini_all() respectively. This fixes an infinite loop in
42944 grub-fstest due to double registration of hostfs.
42945 Reported by Christian Franke <Christian.Franke@t-online.de>
42946
f6ce7629 429472008-04-05 Pavel Roskin <proski@gnu.org>
42948
42949 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
42950 all 8 functions. Otherwise, probe function 0 only.
42951
070e49e4 429522008-04-04 Pavel Roskin <proski@gnu.org>
42953
8b088a4c 42954 * commands/lspci.c (grub_lspci_iter): Print the bus number
42955 correctly.
42956
4f657021 42957 * commands/lspci.c (grub_pci_classes): Fix typos.
42958 (grub_lspci_iter): Don't print func twice. Print vendor ID
42959 before device ID, as it's normally done.
42960
070e49e4 42961 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
42962 Fix signedness warnings.
42963 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
42964 Likewise.
42965 * util/ieee1275/get_disk_name.c: Include config.h so that
42966 _GNU_SOURCE is defined and getline() is declared. Mark an
42967 unused argument as such. Fix a signedness warning.
42968
ba7328dc 429692008-04-02 Pavel Roskin <proski@gnu.org>
42970
26887f22 42971 * genkernsyms.sh.in: Use more robust assignments for CC and
42972 srcdir. Quote srcdir.
42973 * gensymlist.sh.in: Likewise. Assert at the compile time that
42974 the symbol table is not empty.
42975
ba7328dc 42976 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
42977 * fs/cpio.c (grub_cpio_read): Likewise.
42978
0f582c6b 429792008-04-01 Pavel Roskin <proski@gnu.org>
42980
4b6e1995 42981 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
42982 * disk/host.c (grub_host_open): Likewise.
42983 * disk/loopback.c (grub_loopback_open): Likewise.
42984 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
42985 disk->id as in disk/host.c, not a multi-character constant.
42986
828a2768 42987 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
42988 later is obsolete, potentially dangerous and sets a bad example.
42989 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
42990 * util/misc.c (grub_util_get_image_size): Likewise.
42991
2bb4fb47 42992 * disk/loopback.c (options): Improve help for "--partitions".
42993
0f582c6b 42994 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
42995 options to align them with the short options, e.g. "echo -e".
42996
a33224e0 429972008-03-31 Bean <bean123ch@gmail.com>
42998
42999 * video/reader/png.c (grub_png_data): New member is_16bit and
43000 image_data.
43001 (grub_png_decode_image_header): Detect 16 bit png image.
43002 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
43003 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
43004 (grub_video_reader_png): Release memory occupied by image_data.
43005
43006 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
43007 4096 bytes.
43008 (grub_nfs_mount): Skip the test for sector per cluster.
43009
43010 * include/grub/ntfs.h (MAX_SPC): Removed.
43011
86cb4f54 430122008-03-31 Bean <bean123ch@gmail.com>
43013
43014 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
43015 (grub_probe_SOURCES): Add fs/afs.c.
43016 (grub_fstest_SOURCES): Likewise.
43017 (afs_mod_SOURCES): New variable.
43018 (afs_mod_CFLAGS): Likewise.
43019 (afs_mod_LDFLAGS): Likewise.
43020
43021 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
43022 (grub_emu_SOURCES): Likewise.
43023
43024 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43025
43026 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43027
43028 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43029
43030 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43031
43032 * fs/afs.c: New file.
43033
17c74c21 430342008-03-30 Pavel Roskin <proski@gnu.org>
43035
4cb68e89 43036 * disk/host.c: Include grub/misc.h to fix a warning.
43037 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
43038 warnings about implicit declarations.
43039
8790bb04 43040 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
43041 variable.
43042 * include/grub/i386/loader.h: Change declaration of
43043 grub_linux_boot() to match what grub_loader_set() expects.
43044 * util/getroot.c (grub_guess_root_device): Return const char* to
43045 fix a warning.
43046 * util/grub-probe.c (probe): Fix a warning about uninitialized
43047 abstraction_name variable.
43048 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
43049 second argument as unused to fix a warning.
43050
9a3f3296 43051 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
43052 missing grub_error() call.
43053
0ecef90d 43054 * util/update-grub_lib.in: Define datarootdir, since Autoconf
43055 2.60 and newer uses it to define datadir.
43056
0bf6d401 43057 * commands/sleep.c: Fix warning about implicit declaration.
43058 * disk/memdisk.c: Likewise.
43059 * loader/aout.c: Likewise.
43060 * loader/i386/bsd_normal.c: Likewise.
43061 * util/grub-probe.c: Likewise.
43062
7cdacf97 43063 * commands/i386/cpuid.c (has_longmode): Make static.
43064 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
43065 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
43066
17c74c21 43067 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
43068 GDT. This is more robust, as %ds can change.
43069 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
43070 calling real_to_prot().
43071 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
43072
80a3e68b 430732008-03-28 Pavel Roskin <proski@gnu.org>
43074
43075 * kern/i386/pc/startup.S: Assert that uncompressed functions
43076 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
43077 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
43078 code, as they push parts of the code (error handlers) beyond
43079 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
43080 code as correctness and size.
43081
77bcd272 430822008-03-28 Pavel Roskin <proski@gnu.org>
43083
43084 * kern/i386/pc/startup.S
43085 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
43086 data block address to the real mode, keep offset minimal. This
43087 works around a bug in AWARD BIOS on old Athlon systems, which
43088 makes CD detection hang.
43089
c5dfd43b 430902008-03-26 Pavel Roskin <proski@gnu.org>
43091
43092 * normal/color.c (grub_parse_color_name_pair): Make `name' a
43093 const.
43094 * include/grub/normal.h: Add grub_parse_color_name_pair()
43095 declaration.
43096
bf962df2 430972008-03-24 Bean <bean123ch@gmail.com>
43098
43099 * disk/i386/pc/biosdisk.c (cd_start): Removed.
43100 (cd_count): Removed.
43101 (cd_drive): New variable.
43102 (grub_biosdisk_get_drive): Don't check for (cdN) device.
43103 (grub_biosdisk_call_hook): Likewise.
43104 (grub_biosdisk_iterate): Change cdrom detection method.
43105 (grub_biosdisk_open): Replace cd_start with cd_drive.
43106 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
43107 detect cdrom device.
43108
43109 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
43110 Removed.
43111 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
43112 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
43113 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
43114 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
43115 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
43116 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
43117 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
43118 (grub_biosdisk_cdrp): New structure.
43119 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
43120
43121 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
43122
43123 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
43124 device.
43125
43126 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
43127 New function.
43128
68e7fc7a 431292008-03-20 Robert Millan <rmh@aybabtu.com>
43130
43131 Remove 2 TiB limit in ata.mod.
43132 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
43133 (grub_ata_dumpinfo): Print sector count with 0x%llx.
43134 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
43135 grub_uint64_t instead of grub_uint32_t.
43136
38ad2cf5 431372008-03-05 Bean <bean123ch@gmail.com>
43138
43139 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
43140 (grub_multiboot): Set boot device.
43141
43142 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
43143
2b89344e 431442008-03-02 Bean <bean123ch@gmail.com>
43145
43146 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
43147 symlink_buffer.
43148
87a95d1f 431492008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
43150
43151 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
43152 texinfo.tex.
43153
43154 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
43155 modified.
43156
43157 * docs/fdl.texi: New file.
f19dbdb7 43158
87a95d1f 43159 * docs/mdate-sh: New file. Copied from gnulib.
43160 * docs/texinfo.tex: Likewise.
43161
43162 * config.guess: Updated from gnulib.
43163 * install-sh: Likewise.
43164
7dc15d8e 431652008-02-28 Robert Millan <rmh@aybabtu.com>
43166
43167 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
43168 (aout_mod_SOURCES): New variable.
43169 (aout_mod_CFLAGS): Likewise.
43170 (aout_mod_LDFLAGS): Likewise.
43171
43172 * conf/i386-ieee1275.rmk: Likewise.
43173
b00ab696 431742008-02-28 Robert Millan <rmh@aybabtu.com>
43175
43176 * util/update-grub.in: Reorganise terminal validity check. Accept
43177 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
43178 Based on suggestion by Franklin PIAT.
43179
79ca2d78 431802008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
43181
43182 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
43183 function.
43184 * util/getroot.c (grub_util_check_block_device): New function that
43185 returns the given argument if it is a block device and returns NULL else.
43186 * util/grub-probe.c (argument_is_device): New variable.
43187 (probe): Promote device_name from a variable to an argument. Receive
43188 device_name from grub_util_check_block_device() if path is NULL and from
43189 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 43190 (options): Introduce new parameter '-d, --device'.
79ca2d78 43191 (main): Add description of the new parameter to the help screen.
43192 Rename path variable to argument. Set argument_is_device if the '-d'
43193 option is given. Pass argument to probe() depending on
43194 argument_is_device.
43195
0d16e571 431962008-02-24 Bean <bean123ch@gmail.com>
43197
43198 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
43199 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
43200 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
43201 (GRUB_ISO9660_VOLDESC_PART): Likewise.
43202 (GRUB_ISO9660_VOLDESC_END): Likewise.
43203 (grub_iso9660_primary_voldesc): New member escape.
43204 (grub_iso9660_data): New member joliet.
43205 (grub_iso9660_convert_string): New function.
43206 (grub_iso9660_mount): Detect joliet extension.
43207 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
43208 (grub_iso9660_iso9660_label): Likewise.
43209
43210 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
43211 (grub_setup_SOURCES): Add fs/udf.c.
43212 (grub_fstest_SOURCES): Likewise.
43213 (udf_mod_SOURCES): New variable.
43214 (udf_mod_CFLAGS): Likewise.
43215 (udf_mod_LDFLAGS): Likewise.
43216
43217 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
43218 (grub_emu_SOURCES): Likewise.
43219
43220 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43221
43222 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43223
43224 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43225
43226 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43227
43228 * fs/udf.c: New file.
43229
8a594a17 432302008-02-24 Robert Millan <rmh@aybabtu.com>
43231
43232 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
43233 (normal/lexer.c_DEPENDENCIES): New variables.
43234 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43235 (normal/lexer.c_DEPENDENCIES): Likewise.
43236 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
43237 (normal/lexer.c_DEPENDENCIES): Likewise.
43238 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
43239 (normal/lexer.c_DEPENDENCIES): Likewise.
43240 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43241 (normal/lexer.c_DEPENDENCIES): Likewise.
43242 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43243 (normal/lexer.c_DEPENDENCIES): Likewise.
43244
2dc33c03 432452008-02-23 Robert Millan <rmh@aybabtu.com>
43246
43247 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
43248 since they were intended to be in hex. This didn't break previously
43249 because of a bug in gpt_partition_map_iterate() (see below).
43250
43251 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
43252 when checking the validity of GPT header.
43253 Remove `partno', since it always provides the same information as `i'.
43254
f6f4cfb0 432552008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
43256
43257 * include/grub/efi/time.h: Fix a wrong comment.
43258
79ff665f 432592008-02-19 Pavel Roskin <proski@gnu.org>
43260
43261 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
43262 message.
43263
d38e24c2 432642008-02-19 Bean <bean123ch@gmail.com>
43265
43266 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
43267 (aout_mod_SOURCES): New variable.
43268 (aout_mod_CFLAGS): Likewise.
43269 (aout_mod_LDFLAGS): Likewise.
43270 (_bsd_mod_SOURCES): New variable.
43271 (_bsd_mod_CFLAGS): Likewise.
43272 (_bsd_mod_LDFLAGS): Likewise.
43273 (bsd_mod_SOURCES): New variable.
43274 (bsd_mod_CFLAGS): Likewise.
43275 (bsd_mod_LDFLAGS): Likewise.
43276
43277 * include/grub/aout.h: New file.
43278
43279 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
43280
43281 * include/grub/i386/bsd.h: New file.
43282
43283 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
43284 to make it public.
43285
43286 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
43287 function is called, so that it's possible to change it inside the hook.
43288 (grub_elf64_load): Likewise.
43289 (grub_elf_file): Don't close the file if elf header is not found.
43290 (grub_elf_close): Close the file if grub_elf_file fails (The new
43291 grub_elf_file won't close it).
43292 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
43293 (grub_elf64_size): Likewise.
43294
43295 * kern/i386/loader.S (grub_unix_real_boot): New function.
43296
43297 * loader/aout.c: New file.
43298
43299 * loader/i386/bsd.c: New file.
43300
43301 * loader/i386/bsd_normal.c: New file.
43302
43303 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
43304
43305 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 43306 can test other formats.
d38e24c2 43307
b93bdb0f 433082008-02-19 Robert Millan <rmh@aybabtu.com>
43309
43310 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
43311 (grub_gpt_partition_type_empty): Redefine with macro from
43312 `<grub/gpt_partition.h>'.
43313 (gpt_partition_map_iterate): Adjust partition type comparison.
43314
43315 Export `entry' as partmap-specific `part.data' struct.
43316 (grub_gpt_header, grub_gpt_partentry): Move from here ...
43317
43318 * include/grub/gpt_partition.h (grub_gpt_header)
43319 (grub_gpt_partentry): ... to here (new file).
43320
43321 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
43322
43323 (grub_gpt_partition_type_bios_boot): New const variable, defined
43324 with macro from `<grub/gpt_partition.h>'.
43325
43326 (setup): Replace `first_start' with `embed_region', which keeps
43327 track of the embed region (and is partmap-agnostic).
43328
43329 Replace find_first_partition_start() with find_usable_region(),
43330 which finds a usable region for embedding using partmap-specific
43331 knowledge (supports PC/MSDOS and GPT).
43332
43333 Fix all assumptions that the embed region start at sector 1, using
43334 `embed_region.start' from now on. Similarly, use `embed_region.end'
43335 rather than `first_start' to calculate available size.
43336
43337 In grub_util_info() message, replace "into after the MBR" with an
43338 indication of the specific sector our embed region starts at.
43339
66cb40f6 433402008-02-19 Robert Millan <rmh@aybabtu.com>
43341
43342 * DISTLIST: Replace `commands/ieee1275/halt.c' and
43343 `commands/ieee1275/reboot.c' with `commands/halt.c' and
43344 `commands/reboot.c'.
43345 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43346 (halt_mod_SOURCES): Likewise.
43347 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43348 (halt_mod_SOURCES): Likewise.
43349
b7202015 433502008-02-17 Christian Franke <franke@computer.org>
43351
43352 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
43353
32b0fc49 433542008-02-17 Robert Millan <rmh@aybabtu.com>
43355
43356 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43357 set `first_start' to 0 for non-PC/MSDOS partition maps.
43358
aca63502 433592008-02-16 Robert Millan <rmh@aybabtu.com>
43360
43361 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43362 do not assume partition map is PC/MSDOS before performing checks that
43363 are specific to that layout.
43364
0de8be86 433652008-02-13 Robert Millan <rmh@aybabtu.com>
43366
43367 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
43368 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
43369 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
43370
c3db8364 433712008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
43372
43373 * configure.ac: Only a cosmetic change on the handling of
43374 -fno-stack-protector.
43375
f714229e 433762008-02-12 Alexandre Boeglin <alex@boeglin.org>
43377
c3db8364 43378 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
43379 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
43380 reboot.c.
f714229e 43381 (grub_install_SOURCES): Add halt.mod and reboot.mod.
43382 (halt_mod_SOURCES): New variable.
43383 (halt_mod_CFLAGS): Likewise.
43384 (halt_mod_LDFLAGS): Likewise.
43385 (reboot_mod_SOURCES): Likewise.
43386 (reboot_mod_CFLAGS): Likewise.
43387 (reboot_mod_LDFLAGS): Likewise.
43388
c3db8364 43389 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
43390 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
43391 reboot.c.
f714229e 43392 (halt_mod_SOURCES): Likewise.
43393 (reboot_mod_SOURCES): Likewise.
43394
c3db8364 43395 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
43396 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 43397 (reboot_mod_SOURCES): Likewise.
43398
43399 * commands/i386/pc/reboot.c: merge this file ...
43400
43401 * commands/ieee1275/reboot.c: ... and this file ...
43402
43403 * commands/reboot.c: ... to this file.
c3db8364 43404 Add some precompiler directive to include the correct header for
43405 each machine.
f714229e 43406
43407 * commands/ieee1275/halt.c: move this file ...
43408
43409 * commands/halt.c: ... to here.
c3db8364 43410 Add some precompiler directive to include the correct header for
43411 each machine.
f714229e 43412
43413 * include/grub/efi/efi.h (grub_reboot): New function declaration.
43414 (grub_halt): Likewise.
43415
43416 * kern/efi/efi.c (grub_reboot): New function.
43417 (grub_halt): Likewise.
43418
c74493e0 434192008-02-12 Robert Millan <rmh@aybabtu.com>
43420
43421 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
43422 /dev (like it is done for /dev/mapper). This doesn't provide support
43423 for EVMS, but at least it is now easy to identify the problem when it
43424 arises.
43425
d0db4b04 434262008-02-11 Robert Millan <rmh@aybabtu.com>
43427
43428 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
43429 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
43430 comparing it with -1, not 0.
43431
bf748642 434322008-02-10 Robert Millan <rmh@aybabtu.com>
43433
43434 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
43435 `disk/lvm.c'.
43436 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43437 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
43438
43439 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
43440 `disk/lvm.c' to the end of the list.
43441 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43442 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43443
b5db202a 434442008-02-10 Robert Millan <rmh@aybabtu.com>
43445
43446 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
43447 grub_print_error() instead. This will let user know why we're entering
43448 rescue mode.
43449 Based on suggestions from Sam Morris.
43450
83abee31 434512008-02-10 Alexandre Boeglin <alex@boeglin.org>
43452
43453 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
43454 on remaining N args, instead of "--" arg N times.
43455
78d5a08b 434562008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
43457
43458 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
43459 (fill_with_default_glyph): Changed to use unknown_glyph for fill
43460 pattern for unknown glyphs.
43461
68807e5f 434622008-02-09 Robert Millan <rmh@aybabtu.com>
43463
43464 * configure.ac: Probe for `help2man'.
43465 * Makefile.in (builddir): New variable.
43466 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
43467 or otherwise add a few flags/options to it.
43468 (install-local): For every executable utility or script that is
43469 installed, invoke $(HELP2MAN) to install a manpage based on --help
43470 output.
43471
43472 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
43473 that it doesn't prevent --help from working in build tree.
43474
43475 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
43476 with `bug-grub@gnu.org'.
43477 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
43478 * util/update-grub.in (usage): New function.
43479 Implement proper argument check, with support for --help and --version
43480 (as well as existing -y).
43481
434822008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 43483
43484 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
43485 avoid overwriting previous output.
43486 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
43487
c1962162 434882008-02-09 Robert Millan <rmh@aybabtu.com>
43489
43490 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
43491 drawing the menu.
43492
3dac2e3f 434932008-02-09 Robert Millan <rmh@aybabtu.com>
43494
43495 * commands/sleep.c: New file.
43496 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
43497 (sleep_mod_SOURCES): New variable.
43498 (sleep_mod_CFLAGS): Likewise.
43499 (sleep_mod_LDFLAGS): Likewise.
43500
7a634e08 435012008-02-09 Robert Millan <rmh@aybabtu.com>
43502
43503 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
43504 situations in which we can deduce the RAID size and the superblock
43505 doesn't match it.
43506
b92f0c18 435072008-02-09 Robert Millan <rmh@aybabtu.com>
43508
43509 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
43510 and return a grub_diskmemberlist_t composed of LVM physical volumes.
43511 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
43512
43513 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
43514 and return a grub_diskmemberlist_t composed of physical array members.
43515 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
43516
43517 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
43518 prototype.
43519 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
43520 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
43521 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
43522
43523 * util/grub-probe.c (probe): Move partmap probing code from here ...
43524 (probe_partmap): ... to here.
43525 (probe): Use probe_partmap() once for the disk we're probing, and
43526 additionally, when such disk contains a memberlist() struct member,
43527 once for each disk that is contained in the structure returned by
43528 memberlist().
43529
91a4bf68 435302008-02-09 Robert Millan <rmh@aybabtu.com>
43531
43532 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
43533 environment variable to 'all' in order to obtain debug output from
43534 non-util/ code.
43535 * util/i386/pc/grub-setup.c (main): Likewise.
43536
a96f9caa 435372008-02-08 Robert Millan <rmh@aybabtu.com>
43538
43539 * disk/raid.c (grub_raid_scan_device): Check for
43540 `array->device[sb.this_disk.number]' rather than for
43541 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 43542 guaranteed to be accessible.
a96f9caa 43543
b37a9222 435442008-02-08 Robert Millan <rmh@aybabtu.com>
43545
43546 * disk/raid.c: Update copyright.
43547 * fs/cpio.c: Likewise.
43548 * include/grub/raid.h: Likewise.
43549 * loader/i386/pc/multiboot.c: Likewise.
43550 * util/hostfs.c: Likewise.
43551
5626aee1 435522008-02-08 Robert Millan <rmh@aybabtu.com>
43553
43554 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
43555 to a grub_disk_t array.
43556 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
43557 `device[x]'.
43558 (grub_raid_scan_device): Replace `device[x].name' accesses with
43559 `device[x]->name'. Simplify initialization of `array->device[x]'.
43560
554f0187 435612008-02-08 Robert Millan <rmh@aybabtu.com>
43562
43563 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
43564 grub_dprintf() calls.
43565 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
43566 error message.
43567
1ec8425d 435682008-02-07 Christian Franke <franke@computer.org>
43569
43570 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
43571 instead of fseek and ftell to support large files.
43572 (grub_hostfs_read): Likewise.
43573
f2156fda 435742008-02-07 Robert Millan <rmh@aybabtu.com>
43575
43576 Patch from Jeroen Dekkers.
43577 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 43578 failure, since successfully reading all array members might not be
f2156fda 43579 required.
43580
9216e0e7 435812008-02-06 Robert Millan <rmh@aybabtu.com>
43582
43583 * util/grub-probe.c (probe): Simplify partmap probing (with the
43584 assumption that the first word up to the underscore equals to
43585 the module name).
43586
b0dfd29a 435872008-02-06 Christian Franke <franke@computer.org>
43588
43589 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
43590 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
43591 last block of a cpio or tar stream.
43592 Check for "TRAILER!!!" instead of any empty data
43593 block to detect last block of a cpio stream.
43594 (grub_cpio_dir): Fix constness of variable np.
43595 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
43596 cpio or tar trailer is detected. This fixes a crash
43597 on open of a non existing file.
43598
c32865bf 435992008-02-05 Bean <bean123ch@gmail.com>
43600
43601 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
43602 address of entry.
43603 (grub_multiboot_load_elf64): Likewise.
43604 (grub_multiboot): Initialize mbi structure.
43605
43606 * util/grub-fstest.c: Don't include unused header file script.h.
43607
fe6b695a 43608 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 43609 of file.
43610 (grub_fstest_SOURCES): Likewise.
43611
409480b7 436122008-02-05 Robert Millan <rmh@aybabtu.com>
43613
43614 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
43615 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
43616 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
43617 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
43618
43619 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
43620 (translation_table): Replace hardcoded values with macros
43621 provided by `<grub/term.h>'.
43622
43623 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
43624 (keyboard_map): Correct/add a few values, with macros provided
43625 by `<grub/term.h>'.
43626 (keyboard_map_shift): Zero values that don't differ from their
43627 `keyboard_map' equivalents.
43628 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
43629 Discard the second scan code that is always sent by Caps lock.
43630 Only use `keyboard_map_shift' when it provides a non-zero value,
43631 otherwise fallback to `keyboard_map'.
43632
99fadbaa 436332008-02-04 Bean <bean123ch@gmail.com>
43634
43635 * Makefile.in (enable_grub_fstest): New variable.
43636
43637 * conf/common.rmk (grub_fstest_init.lst): New rule.
43638 (grub_fstest_init.h): Likewise.
43639 (grub_fstest_init.c): Likewise.
43640 (util/grub-fstest.c_DEPENDENCIES): New variable.
43641 (grub_fstest_SOURCES): Likewise.
43642
43643 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
43644
43645 * util/grub-fstest.c: New file.
43646
bf567c50 436472008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43648
43649 Make grub-setup handle a separate root device.
f19dbdb7 43650
bf567c50 43651 * util/i386/pc/grub-setup.c (setup): Always open the root device,
43652 so that the root device can be compared with the destination
43653 device.
43654 When embedding the core image, if the root and destination devices
43655 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
43656 0xFF.
43657 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 43658
9be6b98b 436592008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43660
43661 Add support for having a grub directory in a different drive. This
43662 is still only the data handling part.
f19dbdb7 43663
9be6b98b 43664 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
43665 (codestart): Save %dh in GRUB_ROOT_DRIVE.
43666 (grub_root_drive): New variable.
43667
43668 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
43669 instead of GRUB_BOOT_DRIVE to construct a device name. Set
43670 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
43671 as it was.
43672
43673 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
43674
43675 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
43676 macro.
43677 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
43678
43679 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
43680 is bogus, because PXE booting does not specify any drive
43681 correctly.
43682
43683 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
43684 am not sure if this is really correct.
43685
43686 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
43687 is always identical to the boot drive when booting from a CD.
43688
43689 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
43690 longer.
43691 (root_drive): New variable.
43692 (real_start): Unconditionally set %dh to ROOT_DRIVE.
43693 (setup_sectors): Push %dx right after popping it, because %dh will
43694 be modified later.
43695 (copy_buffer): Restore %dx.
43696
e0ca0677 436972008-02-03 Robert Millan <rmh@aybabtu.com>
43698
43699 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
43700 use `cdboot.img' for cdrom images.
43701
3b3f6629 437022008-02-03 Robert Millan <rmh@aybabtu.com>
43703
43704 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
43705 only setup gfxterm when `font' command has succeeded.
43706
d42b3672 437072008-02-03 Robert Millan <rmh@aybabtu.com>
43708
43709 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
43710 (grub_rescue_cmd_multiboot_loader)
43711 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
43712
fa370ea6 437132008-02-03 Pavel Roskin <proski@gnu.org>
43714
e0c5dacb 43715 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 43716 %edx and %esi from stack only after grub_gate_a20() is called.
43717 grub_gate_a20() clobbers %edx.
43718
f2a76e1d 437192008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43720
43721 * configure.ac (AC_INIT): Bumped to 1.96.
43722
43723 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
43724 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
43725 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
43726 video/readers/png.c.
43727
90fd32d1 437282008-02-03 Bean <bean123ch@gmail.com>
9be665dd 43729
43730 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
43731 (cdboot_img_SOURCES): New variable.
43732 (cdboot_img_ASFLAGS): New variable.
43733 (cdboot_img_LDFLAGS): New variable.
43734
43735 * boot/i386/pc/cdboot.S: New file.
43736
43737 * disk/i386/pc/biosdisk.c (cd_start): New variable.
43738 (cd_count): Likewise.
43739 (grub_biosdisk_get_drive): Add support for cd device.
43740 (grub_biosdisk_call_hook): Likewise.
43741 (grub_biosdisk_iterate): Likewise.
43742 (grub_biosdisk_open): Likewise.
43743 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
43744 (grub_biosdisk_rw): Support reading from cd device.
43745 (GRUB_MOD_INIT): Iterate cd devices.
43746
43747 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
43748 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
43749 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
43750
43751 * kern/i386/pc/init.c (make_install_device): Check for cd device.
43752
4020aa53 437532008-02-02 Robert Millan <rmh@aybabtu.com>
43754
43755 * commands/read.c: New file.
43756 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
43757 (read_mod_SOURCES): New variable.
43758 (read_mod_CFLAGS): Likewise.
43759 (read_mod_LDFLAGS): Likewise.
43760
e03a1132 437612008-02-02 Robert Millan <rmh@aybabtu.com>
43762
43763 * normal/main.c (grub_normal_execute): Check for `menu->size' when
43764 determining whether menu has to be displayed.
43765
58c69220 437662008-02-02 Marco Gerards <marco@gnu.org>
43767
43768 * bus/pci.c: New file.
43769
43770 * include/grub/pci.h: Likewise.
43771
43772 * include/grub/i386/pc/pci.h: Likewise.
43773
43774 * commands/lspci.c: Likewise.
43775
43776 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
43777 `lspci.mod'.
43778 (pci_mod_SOURCES): New variable.
43779 (pci_mod_CFLAGS): Likewise.
43780 (pci_mod_LDFLAGS): Likewise.
43781 (lspci_mod_SOURCES): Likewise.
43782 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 43783 (lspci_mod_LDFLAGS): Likewise.
58c69220 43784
c004e1b4 437852008-02-02 Bean <bean123ch@gmail.com>
43786
43787 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
43788 (grub_ufs_get_file_block): Fix indirect block calculation problem.
43789
43790 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
43791 (grub_xfs_btree_node): New structure.
43792 (grub_xfs_btree_root): New structure.
43793 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
43794 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
43795 (GRUB_XFS_EXTENT_BLOCK): Likewise.
43796 (GRUB_XFS_EXTENT_SIZE): Likewise.
43797 (grub_xfs_read_block): Support btree format type.
43798 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
43799 Use directory block as basic unit.
43800
43801 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
43802
43803 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
43804 __attribute__ ((__regparm__ (1))).
43805
f95562bf 438062008-02-01 Robert Millan <rmh@aybabtu.com>
43807
43808 Correct a mistake in previous commit.
43809
43810 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
43811 top.
43812 (normal/command.c_DEPENDENCIES): New variable.
43813
7d31f41f 438142008-02-01 Robert Millan <rmh@aybabtu.com>
43815
43816 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
43817 top.
43818 (normal/command.c_DEPENDENCIES): New variable.
43819 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
43820 * conf/i386-ieee1275.rmk: Likewise.
43821 * conf/i386-linuxbios.rmk: Likewise.
43822 * conf/i386-pc.rmk: Likewise.
43823 * conf/sparc64-ieee1275.rmk: Likewise.
43824 * conf/powerpc-ieee1275.rmk: Likewise.
43825 (grub_emu_SOURCES): Add `fs/fshelp.c'.
43826
43827 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
43828
60b6be74 438292008-02-01 Robert Millan <rmh@aybabtu.com>
43830
43831 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
43832 call at beginning of function.
43833
078522ab 438342008-01-31 Pavel Roskin <proski@gnu.org>
43835
43836 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 43837 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
43838 (grub_mkrescue_SOURCES): Likewise.
078522ab 43839 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
43840
ccaa8a5f 438412008-01-30 Robert Millan <rmh@aybabtu.com>
43842
43843 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
43844 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
43845 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
43846 (grub_probe_SOURCES): ... to here.
43847
43848 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
43849 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
43850 * conf/i386-ieee1275.rmk: Likewise.
43851 * conf/i386-linuxbios.rmk: Likewise.
43852 * conf/powerpc-ieee1275.rmk: Likewise.
43853
ae5a9cd7 438542008-01-30 Tristan Gingold <gingold@free.fr>
43855
43856 * kern/rescue.c: Silently accept empty lines.
43857
70bc2ef2 438582008-01-29 Bean <bean123ch@gmail.com>
43859
43860 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
43861 (real_code_2): Code cleanup and change comment style.
43862 (move_memory): Avoid using 32-bit address mode.
43863
6a4d50ea 438642008-01-29 Bean <bean123ch@gmail.com>
43865
43866 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
43867 (png_mod_SOURCES): New variable.
43868 (png_mod_CFLAGS): Likewise.
43869 (png_mod_LDFLAGS): Likewise.
43870
43871 * video/readers/png.c: New file.
43872
11cc30ac 438732008-01-28 Robert Millan <rmh@aybabtu.com>
43874
43875 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
43876 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
43877 `ifndef GRUB_MOD_GAP' hack.
43878 * util/elf/grub-mkimage.c (add_segments): Likewise.
43879
3abc589f 438802008-01-27 Robert Millan <rmh@aybabtu.com>
43881
43882 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
43883 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 43884 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 43885
e1907778 438862008-01-27 Robert Millan <rmh@aybabtu.com>
43887
43888 Get grub-emu to build again (including parallel builds).
43889
43890 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
43891 Split into ...
43892 (util/grub-emu.c_DEPENDENCIES): ... this, ...
43893 (normal/execute.c_DEPENDENCIES): ... this, ...
43894 (grub-emu_DEPENDENCIES): ... and this.
43895
43896 * conf/i386-efi.rmk: Likewise.
43897 * conf/i386-linuxbios.rmk: Likewise.
43898 * conf/i386-ieee1275.rmk: Likewise.
43899 * conf/powerpc-ieee1275.rmk: Likewise.
43900 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
43901
2216b101 439022008-01-27 Robert Millan <rmh@aybabtu.com>
43903
43904 * NEWS: Add a few items.
43905
f75172d9 439062008-01-27 Robert Millan <rmh@aybabtu.com>
43907
43908 Fix parallel builds with grub-emu. Based on earlier commit for
43909 grub-probe and grub-setup.
43910
43911 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43912 (util/grub-emu.c_DEPENDENCIES): ... this.
43913 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43914 (util/grub-emu.c_DEPENDENCIES): ... this.
43915 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43916 (util/grub-emu.c_DEPENDENCIES): ... this.
43917 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43918 (util/grub-emu.c_DEPENDENCIES): ... this.
43919 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
43920 (util/grub-emu.c_DEPENDENCIES): ... this.
43921
3f51de77 439222008-01-27 Pavel Roskin <proski@gnu.org>
43923
43924 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
43925 to create a gap between _end and the modules added to the image
43926 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
43927 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
43928 * util/elf/grub-mkimage.c (add_segments): Likewise.
43929
2033f53e 439302008-01-26 Pavel Roskin <proski@gnu.org>
43931
43932 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
43933 just return an error.
43934
22da1f6f 439352008-01-26 Bean <bean123ch@gmail.com>
43936
43937 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
43938 (grub_reiserfs_get_item): Save offset of the next item.
43939 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
43940
2a9525e6 439412008-01-25 Robert Millan <rmh@aybabtu.com>
43942
43943 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
43944 make all filesystem sources appear together (possibly fixing omissions
43945 while at it).
43946 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43947 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43948 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43950
43951 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
43952 add `kern/file.c'.
43953 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
43954 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
43955 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
43956 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
43957
43958 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
43959 (probe): Add a sanity check to make sure of our ability to read
43960 requested files when probing for filesystem type.
43961
43962 * genmk.rb: Update copyright year (2007).
43963
43964 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
43965 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
43966 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
43967 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
43968 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
43969 : Remove function prototypes.
43970
b95f71b5 439712008-01-25 Robert Millan <rmh@aybabtu.com>
43972
43973 Revert my previous commits (based on wrong assumption of how grub_errno
43974 works).
43975
fe6b695a 43976 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 43977 * kern/file.c (grub_file_open): Likewise.
43978
d08bbb49 439792008-01-24 Pavel Roskin <proski@gnu.org>
43980
43981 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
43982 that hang if GRUB tries to setup colors.
43983 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
43984 colors for firmwares that don't support it.
43985 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
43986 Recognize Open Hack'Ware, set flags to work around its
43987 limitations.
43988
605e36ed 439892008-01-24 Robert Millan <rmh@aybabtu.com>
43990
43991 * kern/file.c (grub_file_open): Do not account previous failures of
43992 unrelated functions when grub_errno is checked for.
43993 Reported by Oleg Strikov.
43994
bac332a1 439952008-01-24 Bean <bean123ch@gmail.com>
43996
43997 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
43998 (grub_ufs_sblock): New member volume name.
43999 (grub_ufs_find_file): Fix string copy bug.
44000 (grub_ufs_label): Implement this function properly.
44001
44002 * fs/hfs.c (grub_hfs_cnid_type): New enum.
44003 (grub_hfs_iterate_records): Use the correct file number for extents
44004 and catalog file. Fix problem in next index calculation.
44005 (grub_hfs_find_node): Replace recursive function call with loop.
44006 (grub_hfs_iterate_dir): Replace recursive function call with loop.
44007
15c80c09 440082008-01-23 Robert Millan <rmh@aybabtu.com>
44009
44010 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
44011 `<grub/symbol.h>' and `<grub/multiboot.h>'.
44012 (grub_multiboot2_real_boot): New function prototype.
44013
44014 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
44015 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
44016
44017 * kern/i386/ieee1275/init.c (grub_os_area_addr)
44018 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
44019
305338fd 440202008-01-23 Robert Millan <rmh@aybabtu.com>
44021
44022 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
44023 #ifdef'ed out grub_printf().
44024
3ea52685 440252008-01-23 Robert Millan <rmh@aybabtu.com>
44026
44027 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
44028 grub_dprintf calls, since they make "debug=all" mode unusable.
44029 (grub_console_checkkey): Likewise.
44030
5882ae4b 440312008-01-23 Robert Millan <rmh@aybabtu.com>
44032
44033 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
44034 `term/i386/pc/at_keyboard.c'.
44035 (pkglib_MODULES): Add `serial.mod'.
44036 (serial_mod_SOURCES): New variable.
44037 (serial_mod_CFLAGS): Likewise.
44038 (serial_mod_LDFLAGS): Likewise.
44039
44040 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
44041 `<grub/powerpc/ieee1275/console.h>'.
44042 (grub_keyboard_controller_init): New function prototype.
44043 (grub_console_checkkey): Likewise.
44044 (grub_console_getkey): Likewise.
44045
44046 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
44047 keyboard on i386.
44048
44049 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
44050 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
44051
06ab5303 440522008-01-23 Robert Millan <rmh@aybabtu.com>
44053
44054 * kern/i386/pc/init.c (make_install_device): When memdisk image is
44055 present, "(memdisk)/boot/grub" becomes the default prefix.
44056
44057 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
44058 a memdisk tarball with all the modules. Add --overlay=DIR option that
44059 allows users to overlay additional files into the image.
44060
dbb475a4 440612008-01-23 Robert Millan <rmh@aybabtu.com>
44062
44063 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
44064 and `machine/memory.h'.
44065 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
44066 (_multiboot_mod_SOURCES): New variable.
44067 (_multiboot_mod_CFLAGS): Likewise.
44068 (_multiboot_mod_LDFLAGS): Likewise.
44069 (multiboot_mod_SOURCES): Likewise.
44070 (multiboot_mod_CFLAGS): Likewise.
44071 (multiboot_mod_LDFLAGS): Likewise.
44072
44073 * include/grub/i386/ieee1275/loader.h: New file.
44074
44075 * include/grub/i386/ieee1275/machine.h: Likewise.
44076
44077 * include/grub/i386/ieee1275/memory.h: Likewise.
44078
44079 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
44080 variable declaration.
44081 (grub_os_area_size): Likewise.
44082
44083 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
44084 (grub_lower_mem, grub_upper_mem): New variables.
44085 (grub_stop_floppy): New function (just to make
44086 grub_multiboot2_real_boot() happy).
44087
44088 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
44089 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
44090 (grub_stop): New function.
44091 Include `"../realmode.S"' and `"../loader.S"'.
44092
44093 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
44094 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
44095
44096 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
44097 rely on grub_multiboot2_real_boot() for final boot.
44098
25638629 440992008-01-22 Robert Millan <rmh@aybabtu.com>
44100
44101 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
44102 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
44103 device that doesn't look like an SD card.
44104 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
44105 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
44106 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
44107 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
44108 found.
44109
9dad816d 441102008-01-22 Robert Millan <rmh@aybabtu.com>
44111
44112 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
44113 avoid claiming over our own code.
44114
34842f2d 441152008-01-22 Bean <bean123ch@gmail.com>
44116
44117 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
44118 (jpeg_mod_SOURCES): New variable.
44119 (jpeg_mod_CFLAGS): Likewise.
44120 (jpeg_mod_LDFLAGS): Likewise.
44121
44122 * video/readers/jpeg.c : New file.
44123
44023a28 441242008-01-22 Bean <bean123ch@gmail.com>
44125
44126 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
44127 there are no more items.
44128
bc2d8ac6 441292008-01-21 Robert Millan <rmh@aybabtu.com>
44130
44131 * kern/mm.c (grub_mm_init_region): Improve debug message.
44132
261bd4bc 441332008-01-21 Robert Millan <rmh@aybabtu.com>
44134
44135 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
44136 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
44137 address.
44138 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
44139 a C macro.
44140 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
44141 Indicates start of upper memory.
44142 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
44143 (generate_image): Abort when image size is big enough to corrupt
44144 upper memory.
44145
44146 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
44147 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
44148 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44149 instead of hardcoding 0xA0000.
44150 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
44151 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44152 instead of hardcoding 0xA0000.
44153
f970b55e 441542008-01-21 Robert Millan <rmh@aybabtu.com>
44155
44156 * disk/memdisk.c (memdisk_size): New variable.
44157 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
44158 `memdisk_size'.
44159 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
44160 image to dynamic memory.
44161 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
44162 `memdisk_size'. Free memdisk block.
44163
1a8b0526 441642008-01-21 Robert Millan <rmh@aybabtu.com>
44165
44166 Fix detection of very small filesystems (like tar).
44167
44168 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
44169 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
44170 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
44171 a problem with this disk).
44172
6e9b4aab 441732008-01-21 Robert Millan <rmh@aybabtu.com>
44174
44175 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
44176 on grub_biosdisk_rw_standard() error.
44177
0d8837b2 441782008-01-21 Robert Millan <rmh@aybabtu.com>
44179
44180 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
44181 recent changes.
44182 * kern/elf.c: Likewise.
44183 * kern/ieee1275/ieee1275.c: Likewise.
44184 * kern/powerpc/ieee1275/openfw.c: Likewise.
44185 * term/ieee1275/ofconsole.c: Likewise.
44186
ffd36e34 441872008-01-21 Robert Millan <rmh@aybabtu.com>
44188
44189 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
44190
3f0093d0 44191 * include/grub/kernel.h (grub_arch_memdisk_addr)
44192 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 44193
3f0093d0 44194 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
44195 (grub_arch_memdisk_size): ... to here.
ffd36e34 44196
6c391b21 441972008-01-21 Robert Millan <rmh@aybabtu.com>
44198
44199 Mostly based on bugfix from Bean.
44200
44201 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
44202 attribute with hook() parameter.
44203 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
44204 declaration.
44205 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
44206 attribute with hook() parameter.
44207 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
44208 declaration.
44209
55a581dc 442102008-01-21 Robert Millan <rmh@aybabtu.com>
44211
44212 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
44213 (pkglib_MODULES): Add `memdisk.mod'.
44214 (memdisk_mod_SOURCES): New variable.
44215 (memdisk_mod_CFLAGS): Likewise.
44216 (memdisk_mod_LDFLAGS): Likewise.
44217
44218 * disk/memdisk.c: New file.
44219
44220 * include/grub/disk.h (grub_disk_dev_id): Add
44221 `GRUB_DISK_DEVICE_MEMDISK_ID'.
44222
44223 * include/grub/i386/pc/kernel.h
44224 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
44225 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
44226 (grub_kernel_image_size): New variable declaration.
44227 (grub_total_module_size): Likewise.
44228 (grub_memdisk_image_size): Likewise.
44229
44230 * include/grub/i386/pc/memory.h
44231 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
44232
44233 * include/grub/kernel.h: Include `<grub/symbol.h>'.
44234 (grub_arch_memdisk_addr): New variable declaration.
44235 (grub_arch_memdisk_size): Likewise.
44236
44237 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
44238 (grub_arch_memdisk_size): Likewise.
44239
44240 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
44241 (codestart): Replace hardcoded `0x100000' with
44242 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
44243
44244 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
44245 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
44246 not NULL, append the contents of the file it refers to, at the end of
44247 the compressed kernel image. Initialize `grub_memdisk_image_size'
44248 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
44249 (options): Add "memdisk"|'m' option.
44250 (main): Parse --memdisk|-m option, and pass user-provided path as
44251 parameter to generate_image().
44252
3d7f54c9 442532008-01-20 Robert Millan <rmh@aybabtu.com>
44254
44255 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
44256 grub_dprintf() calls from here ...
44257 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
44258
0bf74728 442592008-01-20 Robert Millan <rmh@aybabtu.com>
44260
44261 Fix detection of "real mode" when /options/real-mode? doesn't exist.
44262
44263 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
44264 declaration.
44265 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
44266 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
44267 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 44268 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 44269 property).
44270 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
44271 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
44272
33bf70a7 442732008-01-19 Robert Millan <rmh@aybabtu.com>
44274
fe6b695a 44275 Get rid of confusing function (superseded by
33bf70a7 44276 `grub_ieee1275_get_integer_property')
44277 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
44278 prototype.
44279 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
44280 function.
44281 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
44282 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 44283 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 44284
e2da7d26 442852008-01-19 Robert Millan <rmh@aybabtu.com>
44286
44287 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
44288 command after "shut-down", since implementations differ on which
44289 the command for halt is.
44290
59f1fd8d 442912008-01-19 Robert Millan <rmh@aybabtu.com>
44292
44293 * include/grub/i386/linuxbios/console.h: Add header protection.
44294 (grub_keyboard_controller_init): New function prototype.
44295 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
44296 (KEYBOARD_COMMAND_READ): Likewise.
44297 (KEYBOARD_COMMAND_WRITE): Likewise.
44298 (KEYBOARD_SCANCODE_SET1): Likewise.
44299 (grub_keyboard_controller_write): New function.
44300 (grub_keyboard_controller_read): Likewise.
44301 (grub_keyboard_controller_init): Likewise.
44302
44303 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
44304 (grub_console_init): On coreboot/LinuxBIOS, call
44305 grub_keyboard_controller_init().
44306
5f5a7c15 443072008-01-19 Robert Millan <rmh@aybabtu.com>
44308
44309 PowerPC changes provided by Pavel Roskin.
44310
44311 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
44312 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
44313 don't rely on cmain() doing it.
44314 * kern/i386/ieee1275/startup.S (_start): Store %eax in
44315 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
44316
1210e168 443172008-01-16 Robert Millan <rmh@aybabtu.com>
44318
44319 * include/grub/i386/linuxbios/memory.h
44320 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
44321 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
44322 receive `table_header' as argument. Instead, probe for it in the
44323 known memory ranges where it can be present.
44324 (grub_available_iterate): Do not pass a fixed `table_header' address
44325 to grub_linuxbios_table_iterate().
44326
3d04eab8 443272008-01-15 Robert Millan <rmh@aybabtu.com>
44328
44329 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
44330 * conf/i386-ieee1275.rmk: New file.
44331 * include/grub/i386/ieee1275/console.h: Likewise.
44332 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
44333 * include/grub/i386/ieee1275/kernel.h: Likewise.
44334 * include/grub/i386/ieee1275/time.h: Likewise.
44335 * kern/i386/ieee1275/init.c: Likewise.
44336 * kern/i386/ieee1275/startup.S: Likewise.
44337
d1bc1b73 443382008-01-15 Robert Millan <rmh@aybabtu.com>
44339
44340 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
44341 when pointers are 32-bit (but still do set it to one when they are
44342 64-bit).
44343
66a65807 443442008-01-15 Robert Millan <rmh@aybabtu.com>
44345
44346 * include/grub/ieee1275/ieee1275.h
44347 (grub_ieee1275_get_integer_property): New function prototype.
44348
44349 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
44350 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 44351 grub_ieee1275_get_property() to handle endianness.
66a65807 44352
44353 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
44354 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 44355 where appropriate.
66a65807 44356 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
44357 (grub_map): Likewise.
44358 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
44359
a83ccafd 443602008-01-15 Bean <bean123ch@gmail.com>
44361
44362 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
44363 (grub_script_execute_cmdline): Reset grub_errno.
44364
44365 * normal/main.c (read_config_file): Reset grub_errno.
44366
44367 * normal/parse.y (script_init): New.
44368 (script): Move function and menuentry here.
44369 (delimiter): New.
44370 (command): Add delimiter at the end of command.
44371 (commands): Adjust to match the new command.
44372 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 44373 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 44374 (if): Use the new commands.
44375
44376 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
44377
df6ecfc6 443782008-01-15 Robert Millan <rmh@aybabtu.com>
44379
44380 * normal/menu.c (run_menu): Move timeout message from here ...
44381 (print_timeout): ... to here.
44382 (run_menu): Use print_timeout() once during initial draw to print
44383 the whole message, and again in every clock tick to update only
44384 the number of seconds.
44385
87ae25eb 443862008-01-15 Robert Millan <rmh@aybabtu.com>
44387
44388 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
44389 actual size of `available' from grub_ieee1275_get_property(), and
44390 restrict parsing to that bound.
44391
47bf09a4 443922008-01-15 Christian Franke <franke@computer.org>
44393
44394 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
44395 (argp_program_version): Remove variable.
44396 (argp_program_bug_address): Likewise.
44397 (options): Convert from struct argp_option to struct option.
44398 (struct arguments): Remove.
44399 (parse_opt): Remove.
44400 (usage): New function.
44401 (main): Replace struct args members by simple variables.
44402 Replace argp_parse() by getopt_long().
44403 Add switch to evaluate options.
44404 Add missing "(...)" around root_dev in prefix string.
44405
c86f1469 444062008-01-14 Robert Millan <rmh@aybabtu.com>
44407
44408 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
44409 for grub_ieee1275_exit(), in order to improve portability.
44410
e622c559 444112008-01-14 Robert Millan <rmh@aybabtu.com>
44412
44413 * util/grub.d/10_linux.in (prefix): Define.
44414 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
44415
44cb1ec8 444162008-01-13 Pavel Roskin <proski@gnu.org>
44417
44418 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
44419 grub_errno if no errors have been detected.
44420
1eb8c802 444212008-01-12 Robert Millan <rmh@aybabtu.com>
44422
44423 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
44424 (grub_util_get_dev_abstraction): New function prototype.
44425
44426 * util/getroot.c: Include `<grub/util/getroot.h>'
44427 (grub_util_get_grub_dev): Move detection of abstraction type to ...
44428 (grub_util_get_dev_abstraction): ... here (new function).
44429
44430 * util/grub-probe.c: Convert PRINT_* to an enum. Add
44431 `PRINT_ABSTRACTION'.
44432 (probe): Probe for abstraction type when requested.
44433 (main): Understand `--target=abstraction'.
44434
44435 * util/i386/efi/grub-install.in: Add abstraction module to core
44436 image when it is found to be necessary.
44437 * util/i386/pc/grub-install.in: Likewise.
44438 * util/powerpc/ieee1275/grub-install.in: Likewise.
44439
44440 * util/update-grub_lib.in (font_path): Return system path without
44441 converting to GRUB path.
44442 * util/update-grub.in: Convert system path returned by font_path()
44443 to a GRUB path. Use `grub-probe -t abstraction' to determine what
44444 abstraction module is needed for loading fonts (if any). Export
44445 that as `GRUB_PRELOAD_MODULES'.
44446 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
44447 insmod commands).
44448
52bd3de9 444492008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
44450
44451 Remove some unused code from reiserfs.
f19dbdb7 44452
52bd3de9 44453 * fs/reiserfs.c (struct grub_reiserfs_key)
44454 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
44455 (struct grub_reiserfs_node_body): Removed.
44456 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44457 Likewise.
44458 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44459 Likewise.
44460 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44461 Likewise.
44462 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44463 Likewise.
44464 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44465 Likewise.
44466 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
44467 Likewise.
44468 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44469 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44470 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44471
2f80039d 444722008-01-10 Robert Millan <rmh@aybabtu.com>
44473
44474 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
44475 Determines if a file is garbage left by packaging systems, etc.
44476 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
44477 for processing /etc/grub.d scripts.
44478 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
44479 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
44480 as a condition for processing Linux images.
44481
87888032 444822008-01-10 Pavel Roskin <proski@gnu.org>
44483
44484 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
44485 to compile reiserfs.c on PowerPC.
44486
7e54fced 444872008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 44488
44489 * kern/device.c (grub_device_iterate): Do not abort device iteration
44490 when one of the devices cannot be opened.
44491 * kern/disk.c (grub_disk_open): Do not account previous failures of
44492 unrelated functions when grub_errno is checked for.
44493
5aa541e6 444942008-01-08 Robert Millan <rmh@aybabtu.com>
44495
44496 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
44497 `! grub_linux_is_bzimage', change order of address comparison to make
44498 it more intuitive, and improve "too big zImage" error message.
44499
7076340d 445002008-01-08 Robert Millan <rmh@aybabtu.com>
44501
44502 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
44503 `$(update-grub_DATA)'.
44504 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
44505 targets.
44506
9ca70333 445072008-01-07 Robert Millan <rmh@aybabtu.com>
44508
44509 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
44510 which instruction is modified by grub-setup during installation
44511 (since it wasn't obvious by only looking at this file).
44512
38ccf575 445132008-01-07 Robert Millan <rmh@aybabtu.com>
44514
44515 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
44516 listing actual TODO items.
44517
f5db4291 445182008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44519
868967cf 44520 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
44521 correctly.
44522 (grub_reiserfs_get_key_offset): Likewise.
44523 (grub_reiserfs_set_key_offset): Likewise.
44524 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 44525 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 44526
44527 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
44528 better to remove the bitfield version completely.
f19dbdb7 44529
868967cf 445302008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44531
f5db4291 44532 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
44533 allocated from the heap, due to the fshelp implementation.
44534 (grub_reiserfs_dir): Free NODE, due to the same reason.
44535
492e6d9d 445362008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44537
44538 Mostly from Vincent Pelletier:
f19dbdb7 44539
492e6d9d 44540 * fs/reiserfs.c: New file.
f19dbdb7 44541
492e6d9d 44542 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
44543 (reiserfs_mod_SOURCES): New variable.
44544 (reiserfs_mod_CFLAGS): Likewise.
44545 (reiserfs_mod_LDFLAGS): Likewise.
44546
44547 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
44548 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
44549 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
44550 normal/color.c.
44551
9ce3e7c1 445522008-01-06 Robert Millan <rmh@aybabtu.com>
44553
44554 * normal/color.c: Remove `<grub/env.h>'.
44555
f3b58148 445562008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
44557
44558 * include/grub/normal.h: Include <grub/env.h>.
44559
7ac3bcfa 445602008-01-05 Robert Millan <rmh@aybabtu.com>
44561
44562 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
44563 usage example with `(hd0,1)'.
fb358190 44564 Reported by Samuel Thibault.
7ac3bcfa 44565
c8ee99d7 445662008-01-05 Robert Millan <rmh@aybabtu.com>
44567
44568 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
44569 (grub_linux_boot_zimage): Rename to ...
44570 (grub_linux_boot): ... this.
44571 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
44572 (grub_linux_boot_zimage): Conditionalize zImage copy.
44573
44574 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
44575 (grub_linux_boot_bzimage): Remove prototype.
44576 (grub_linux_boot_zimage): Rename to ...
44577 (grub_linux_boot): ... this.
44578
44579 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
44580 (grub_linux_boot): Remove function.
44581
0ece25b1 445822008-01-05 Robert Millan <rmh@aybabtu.com>
44583
44584 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
44585 (grub_env_write_color_highlight): Likewise.
44586 (grub_wait_after_message): Likewise.
44587
44588 * normal/color.c: New file.
44589
44590 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44591 (normal_mod_DEPENDENCIES): Likewise.
44592
44593 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44594 (normal_mod_DEPENDENCIES): Likewise.
44595
44596 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44597 (normal_mod_DEPENDENCIES): Likewise.
44598
44599 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44600 (normal_mod_DEPENDENCIES): Likewise.
44601
44602 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
44603 for waiting after a message is printed.
44604 * normal/main.c (read_config_file): Likewise.
44605 (grub_normal_init): Register grub_env_write_color_normal() and
44606 grub_env_write_color_highlight() hooks. Mark `color_normal' and
44607 `color_highlight' variables as global.
44608
44609 * normal/menu.c (grub_wait_after_message): New function.
44610 (grub_color_menu_normal): New variable. Replaces ...
44611 (GRUB_COLOR_MENU_NORMAL): ... this macro.
44612 (grub_color_menu_highlight): New variable. Replaces ...
44613 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
44614 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
44615 `GRUB_TERM_COLOR_STANDARD'.
44616 (print_message): Use `grub_setcolorstate' to reload colors. Rename
44617 `normal_code' and `highlight_code' to `old_color_normal' and
44618 `old_color_highlight', respectively.
44619 (grub_menu_init_page): Update colors when drawing the menu, based on
44620 `menu_color_normal' and `menu_color_highlight' variables.
44621 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
44622 a message is printed.
44623
182dd4e5 446242008-01-05 Robert Millan <rmh@aybabtu.com>
44625
44626 * kern/env.c (grub_env_context_open): Propagate hooks for global
44627 variables to new context.
44628
44629 * kern/main.c (grub_set_root_dev): Export `root' variable.
44630
ddf8f6ad 446312008-01-05 Robert Millan <rmh@aybabtu.com>
44632
44633 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 44634 discs unconditionally, since udev and others have options to provide
ddf8f6ad 44635 them.
44636
d8b43d9b 446372008-01-05 Robert Millan <rmh@aybabtu.com>
44638
44639 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
44640
2bff2de3 446412008-01-04 Christian Franke <franke@computer.org>
44642
44643 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
44644 of eisa_mmap.
44645
97eab917 446462008-01-03 Pavel Roskin <proski@gnu.org>
44647
44648 * kern/i386/linuxbios/init.c: Put "void" to all function
44649 declarations with no arguments.
44650 * kern/powerpc/ieee1275/init.c: Likewise.
44651 * term/i386/pc/at_keyboard.c: Likewise.
44652 * term/i386/pc/vga_text.c: Likewise.
44653 * util/grub-mkdevicemap.c: Likewise.
44654
b9416d00 446552008-01-02 Robert Millan <rmh@aybabtu.com>
44656
44657 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
44658 message when loaded image is out of bounds.
44659 (grub_multiboot_load_elf64): Likewise.
44660
92695df9 446612008-01-02 Pavel Roskin <proski@gnu.org>
44662
44663 * util/grub.d/10_linux.in: Try version without ".old" when
44664 looking for initrd. It's better to use initrd from the newer
44665 kernel of the same version than no initrd at all.
44666
d98d9cad 446672008-01-01 Robert Millan <rmh@aybabtu.com>
44668
44669 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
44670
dbfdce36 446712008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
44672
f19dbdb7 44673 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 44674 grub_video_get_active_render_target.
44675 (grub_video_adapter): Added unmap_color and get_active_render_target.
44676
f19dbdb7 44677 * video/video.c: Added grub_video_unmap_color and
dbfdce36 44678 grub_video_get_active_render_target.
44679 (grub_video_get_info): Changed method to accept NULL pointer as an
44680 argument to allow detection of active video adapter.
44681
44682 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
44683 grub_video_vbe_unmap_color_int.
44684 Added grub_video_vbe_unmap_color and
44685 grub_video_vbe_get_active_render_target.
44686 (grub_video_vbe_adapter): Added unmap_color and
44687 get_active_render_target.
44688
f19dbdb7 44689 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 44690 with grub_video_vbe_unmap_color_int.
44691
44692 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
44693 (DEFAULT_NORMAL_COLOR): Likewise.
44694 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
44695 (DEFAULT_FG_COLOR): Removed.
44696 (DEFAULT_BG_COLOR): Likewise.
44697 (DEFAULT_CURSOR_COLOR): Changed value.
44698 (grub_virtual_screen): Added standard_color_setting,
44699 normal_color_setting, highlight_color_setting and term_color.
44700 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
44701 (bitmap_width): Added.
44702 (bitmap_height): Likewise.
44703 (bitmap): Likewise.
44704 (set_term_color): Likewise.
44705 (grub_virtual_screen_setup): Changed to use new terminal coloring
44706 settings.
44707 (grub_gfxterm_init): Added init for bitmap.
44708 (grub_gfxterm_fini): Added destroy for bitmap.
44709 (redraw_screen_rect): Updated to use background bitmap and new
44710 terminal coloring.
44711 (scroll_up): Added optimization for case when there is no bitmap.
44712 (grub_gfxterm_cls): Fixed to use correct background color.
44713 (grub_virtual_screen_setcolorstate): Changed to use new terminal
44714 coloring.
44715 (grub_virtual_screen_setcolor): Likewise.
44716 (grub_virtual_screen_getcolor): Added.
44717 (grub_gfxterm_background_image_cmd): Likewise.
44718 (grub_video_term): Added setcolor and getcolor.
44719 (MOD_INIT): Added registration of background_image command.
44720 (MOD_TERM): Added unregistration for background_image command.
44721
c3c20931 447222007-12-30 Pavel Roskin <proski@gnu.org>
44723
44724 * loader/multiboot_loader.c: Fix multiboot command
44725 unregistration. Fix all typos in the word "multiboot".
44726
df266716 447272007-12-29 Pavel Roskin <proski@gnu.org>
94239199 44728
44729 * util/grub.d/10_linux.in: Refactor search for initrd. Add
44730 support for initrd names used in Fedora.
44731
fc6e896c 447322007-12-26 Bean <bean123ch@gmail.com>
44733
44734 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
44735 (cpio_mod_SOURCES): New variable.
44736 (cpio_mod_CFLAGS): Likewise.
44737 (cpio_mod_LDFLAGS): Likewise.
44738
44739 * fs/cpio.c: New file.
44740
44741 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
44742
44743 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44744
44745 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44746
44747 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44748
533110ad 447492007-12-25 Robert Millan <rmh@aybabtu.com>
44750
44751 * include/grub/term.h (struct grub_term): Add `getcolor' function.
44752 (grub_getcolor): New function.
44753
44754 * kern/term.c (grub_getcolor): New function.
44755 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
44756 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
44757 (print_entry): Set normal and highlight colors to
44758 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
44759 respectively, before printing and restore them to old
44760 values afterwards.
44761 (grub_menu_init_page): Likewise. Fill an additional colored space
44762 that would otherwise be left blank.
44763
44764 * term/efi/console.c (grub_console_getcolor): New function.
44765 (struct grub_console_term.getcolor): New variable.
44766 * term/i386/pc/console.c (grub_console_getcolor): New function.
44767 (struct grub_console_term.getcolor): New variable.
44768 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
44769 (struct grub_console_term.getcolor): New variable.
44770
44771 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
44772 (struct grub_console_term.setcolor): Remove variable.
44773 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
44774 (struct grub_console_term.setcolor): Remove variable.
44775 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
44776 (struct grub_console_term.setcolor): Remove variable.
44777 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
44778 (struct grub_console_term.setcolor): Remove variable.
44779
4931827f 447802007-12-25 Robert Millan <rmh@aybabtu.com>
44781
44782 * configure.ac: Search for possible unifont.hex locations, and
44783 define UNIFONT_HEX if found.
44784
44785 * Makefile.in (UNIFONT_HEX): Define variable.
44786 (DATA): Rename to ...
44787 (PKGLIB): ... this. Update all users.
44788 (PKGDATA): New variable.
44789 (pkgdata_IMAGES): Rename to ...
44790 (pkglib_IMAGES): ... this. Update all users.
44791 (pkgdata_MODULES): Rename to ...
44792 (pkglib_MODULES): ... this. Update all users.
44793 (pkgdata_PROGRAMS): Rename to ...
44794 (pkglib_PROGRAMS): ... this. Update all users.
44795 (pkgdata_DATA): Rename to ...
44796 (pkglib_DATA): ... this. Update all users.
44797 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
44798 (unicode.pff, ascii.pff): New rules.
44799 (all-local): Add `$(PKGDATA)' dependency.
44800 (install-local): Process `$(PKGDATA)'.
44801
44802 * util/update-grub_lib.in (font_path): Search for *.pff files in
44803 a few more locations, including `${pkgdata}'.
44804
57e57e31 448052007-12-23 Robert Millan <rmh@aybabtu.com>
44806
44807 Patch from Bean <bean123ch@gmail.com>:
44808 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
44809 `size'.
44810
4bc72aa9 448112007-12-21 Bean <bean123ch@gmail.com>
44812
44813 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
44814 (ntfscomp_mod_SOURCES): New variable.
44815 (ntfscomp_mod_CFLAGS): Likewise.
44816 (ntfscomp_mod_LDFLAGS): Likewise.
44817
44818 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
44819 (grub_probe_SOURCES): Likewise.
44820 (grub_emu_SOURCES): Likewise.
44821
44822 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44823 (grub_emu_SOURCES): Likewise.
44824
44825 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44826 (grub_emu_SOURCES): Likewise.
44827
44828 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
44829 (grub_emu_SOURCES): Likewise.
44830
44831 * fs/ntfs.c (grub_ntfscomp_func): New variable.
44832 (read_run_list): Renamed to grub_ntfs_read_run_list.
44833 (decomp_nextvcn): Moved to ntfscomp.c.
44834 (decomp_getch): Likewise.
44835 (decomp_get16): Likewise.
44836 (decomp_block): Likewise.
44837 (read_block): Likewise.
44838 (read_data): Partially moved to ntfscomp.c.
44839 (fixup): Change unsigned to grub_uint16_t.
44840 (read_mft): Change unsigned long to grub_uint32_t.
44841 (read_attr): Likewise.
44842 (read_data): Likewise.
44843 (read_run_data): Likewise.
44844 (read_run_list): Likewise.
44845 (read_mft): Likewise.
44846
44847 * fs/ntfscomp.c: New file.
44848
44849 * include/grub/ntfs.h: New file.
44850
af680a87 448512007-12-16 Robert Millan <rmh@aybabtu.com>
44852
44853 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
44854 IDE disk check, since Linux is known to support 20 IDE disks.
44855 Reported by Colin Watson.
44856
84be7599 448572007-12-15 Bean <bean123ch@gmail.com>
44858
44859 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
44860 (lnxboot_img_SOURCES): New variable.
44861 (lnxboot_img_ASFLAGS): Likewise.
44862 (lnxboot_img_LDFLAGS): Likewise.
44863
44864 * boot/i386/pc/lnxboot.S: New file.
44865
6af9db01 448662007-11-24 Pavel Roskin <proski@gnu.org>
44867
44868 * configure.ac: Test if '--build-id=none' is supported by the
44869 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
44870 objcopy to generate incorrect binary files (binutils
44871 2.17.50.0.18-1 as shipped by Fedora 8).
44872 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
44873 linking, so that build ID doesn't break the test.
44874
7361cfe6 448752007-11-24 Pavel Roskin <proski@gnu.org>
44876
44877 * include/grub/i386/time.h: use "void" in the argument list
44878 of grub_cpu_idle().
44879 * include/grub/powerpc/time.h: Likewise.
44880 * include/grub/sparc64/time.h: Likewise.
44881
1593e10c 448822007-11-18 Christian Franke <franke@computer.org>
44883
44884 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
44885 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
44886 This fixes the problem that function keys did not work in grub-emu.
44887
3b8db1a8 448882007-11-18 Christian Franke <franke@computer.org>
44889
44890 * disk/host.c (grub_host_open): Remove attribute unused from
44891 name parameter. Add check for "host". This fixes the problem
44892 that grub-emu does not find partitions.
44893
2e29408d 448942007-11-18 Christian Franke <franke@computer.org>
44895
44896 * util/hostfs.c (is_dir): New function.
44897 (grub_hostfs_dir): Handle missing dirent.d_type case.
44898 (grub_hostfs_read): Add missing fseek().
44899 (grub_hostfs_label): Clear label pointer. This fixes a crash
44900 of grub-emu on "ls (host)".
44901
398cd047 449022007-11-18 Christian Franke <franke@computer.org>
44903
44904 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
44905 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
44906 to 64 bit boundary by default.
44907
c405c391 449082007-11-18 Bean <bean123ch@gmail.com>
44909
44910 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
44911 (hexdump_mod_SOURCES): New variable.
44912 (hexdump_mod_CFLAGS): Likewise.
44913 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 44914
c405c391 44915 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44916
44917 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44918
44919 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44920
44921 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
44922
44923 * include/grub/hexdump.h: New file.
44924
44925 * commands/hexdump.c: New file.
44926
5cced7fd 449272007-11-10 Robert Millan <rmh@aybabtu.com>
44928
44929 * commands/i386/pc/play.c (beep_off): Switch order of arguments
44930 in grub_outb() calls.
44931 (beep_on): Likewise.
44932
8b714eb0 449332007-11-10 Christian Franke <franke@computer.org>
44934
44935 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
44936 (grub_menu_run): Likewise.
44937
ce0f1839 449382007-11-10 Robert Millan <rmh@aybabtu.com>
44939
44940 * include/grub/i386/efi/machine.h: New file.
44941 * include/grub/i386/linuxbios/machine.h: Likewise.
44942 * include/grub/i386/pc/machine.h: Likewise.
44943 * include/grub/powerpc/ieee1275/machine.h: Likewise.
44944 * include/grub/sparc64/ieee1275/machine.h: Likewise.
44945
44946 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
44947 (serial_hw_io_addr): New variable.
44948 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
44949 instead of `(unsigned short *) 0x400'.
44950
270c237d 449512007-11-10 Bean <bean123ch@gmail.com>
44952
44953 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
44954
a87783bf 449552007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
44956
44957 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
44958 (vga_mod_SOURCES): Added.
44959 (vga_mod_CFLAGS): Likewise.
44960 (vga_mod_LDFLAGS): Likewise.
44961
44962 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
44963 grub_outb() calls.
44964 (set_map_mask): Likewise.
44965 (set_read_map): Likewise.
44966 (set_read_address): Likewise.
44967 (vga_font): Removed variable.
44968 (get_vga_glyph): Removed function.
44969 (invalidate_char): Likewise.
44970 (write_char): Changed to use grub_font_get_glyph() for font
44971 information.
44972 (grub_vga_putchar): Likewise.
44973 (grub_vga_getcharwidth): Likewise.
44974
6433b448 449752007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
44976
44977 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
44978 flags.
44979 (pxeboot_img_LDFLAGS): Likewise.
44980 (diskboot_img_LDFLAGS): Likewise.
44981 (kernel_img_LDFLAGS): Likewise.
44982
49178511 449832007-11-06 Robert Millan <rmh@aybabtu.com>
44984
44985 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
44986 in grub_outb() calls.
44987 (serial_hw_init): Likewise.
44988
53b052de 449892007-11-05 Robert Millan <rmh@aybabtu.com>
44990
44991 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
44992 spaces. Skip non-regular files.
44993
5ab33bba 449942007-11-05 Robert Millan <rmh@aybabtu.com>
44995
44996 * kern/disk.c (grub_disk_firmware_fini)
44997 (grub_disk_firmware_is_tainted): New variables.
44998
44999 * include/grub/disk.h (grub_disk_firmware_fini)
45000 (grub_disk_firmware_is_tainted): Likewise.
45001
45002 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
45003 (grub_disk_biosdisk_fini): ... to here.
45004 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
45005 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
45006 is set. Register grub_disk_biosdisk_fini() in
45007 `grub_disk_firmware_fini'.
45008
45009 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
45010 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
45011 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
45012 to finish existing firmware disk interface.
45013
45014 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
45015 (ata_mod_SOURCES): New variable.
45016 (ata_mod_CFLAGS): Likewise.
45017 (ata_mod_LDFLAGS): Likewise.
45018
0149ab7c 450192007-11-05 Robert Millan <rmh@aybabtu.com>
45020
45021 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
45022 (grub_ata_wait): Reimplement using grub_millisleep().
45023
45024 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
45025 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
45026
be7ac41e 450272007-11-03 Marco Gerards <marco@gnu.org>
45028
45029 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
45030 (CRTC_ADDR_PORT): New macro.
45031 (CRTC_DATA_PORT): Likewise.
45032 (CRTC_CURSOR): Likewise.
45033 (CRTC_CURSOR_ADDR_HIGH): Likewise.
45034 (CRTC_CURSOR_ADDR_LOW): Likewise.
45035 (update_cursor): New function.
45036 (grub_console_real_putchar): Call `update_cursor'.
45037 (grub_console_gotoxy): Likewise.
45038 (grub_console_cls): Set the default color when clearing the
45039 screen.
45040 (grub_console_setcursor): Implemented.
45041
bb06ab2e 450422007-11-03 Marco Gerards <marco@gnu.org>
45043
45044 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
45045 become activate.
45046 (grub_ata_pio_write): Likewise.
45047
45048 (grub_atapi_identify): Wait after issuing an ATA command.
45049 (grub_atapi_packet): Likewise.
45050 (grub_ata_identify): Likewise.
45051 (grub_ata_readwrite): Likewise.
45052
cf8f780b 450532007-11-03 Marco Gerards <marco@gnu.org>
45054
45055 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
45056 (grub_ata_pio_write): Likewise.
45057 (grub_ata_readwrite): Use `grub_error', instead of
45058 returning `grub_errno'.
45059
ed649e54 450602007-11-03 Marco Gerards <marco@gnu.org>
45061
45062 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
45063 grub_ata_pio_write once for every single sector, instead of for
45064 multiple sectors.
45065
ca25d8f0 450662007-10-31 Robert Millan <rmh@aybabtu.com>
45067
45068 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
45069
45070 * conf/i386-linuxbios.rmk: New file.
45071
45072 * kern/i386/pc/hardware.c: Likewise.
45073 * term/i386/pc/at_keyboard.c: Likewise.
45074 * term/i386/pc/vga_text.c: Likewise.
45075
45076 * include/grub/i386/linuxbios/boot.h: Likewise.
45077 * include/grub/i386/linuxbios/console.h: Likewise.
45078 * include/grub/i386/linuxbios/init.h: Likewise.
45079 * include/grub/i386/linuxbios/kernel.h: Likewise.
45080 * include/grub/i386/linuxbios/loader.h: Likewise.
45081 * include/grub/i386/linuxbios/memory.h: Likewise.
45082 * include/grub/i386/linuxbios/serial.h: Likewise.
45083 * include/grub/i386/linuxbios/time.h: Likewise.
45084
45085 * kern/i386/linuxbios/init.c: Likewise.
45086 * kern/i386/linuxbios/startup.S: Likewise.
45087 * kern/i386/linuxbios/table.c: Likewise.
45088
e911ecc1 450892007-10-31 Marco Gerards <marco@gnu.org>
45090
45091 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
45092 (ata_mod_SOURCES): New variable.
45093 (ata_mod_CFLAGS): Likewise.
45094 (ata_mod_LDFLAGS): Likewise.
45095
45096 * disk/ata.c: New file.
45097
45098 * include/grub/disk.h (grub_disk_dev_id): Add
45099 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 45100
7f66d0e0 451012007-10-31 Robert Millan <rmh@aybabtu.com>
45102
45103 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
45104 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
45105
45106 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
45107 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
45108
45109 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
45110 `<grub/types.h>'.
45111
45112 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
45113
5cd7dd46 451142007-10-27 Robert Millan <rmh@aybabtu.com>
45115
3236ca65 45116 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 45117
2ebfc90f 451182007-10-22 Robert Millan <rmh@aybabtu.com>
45119
45120 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
45121 `"../realmode.S"'.
45122 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
45123
73fcb0f3 451242007-10-22 Robert Millan <rmh@aybabtu.com>
45125
45126 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
45127 (pkgdata_MODULES): Add `biosdisk.mod'.
45128 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
45129 variables.
45130
45131 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
45132 (grub_biosdisk_init): Replace with ...
45133 (GRUB_MOD_INIT(biosdisk)): ... this.
45134 (grub_biosdisk_fini): Replace with ...
45135 (GRUB_MOD_FINI(biosdisk)): ... this.
45136
45137 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
45138 (grub_machine_init): Remove call to grub_biosdisk_init().
45139 (grub_machine_fini): Remove call to grub_machine_fini().
45140
45141 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
45142
3381d274 451432007-10-22 Robert Millan <rmh@aybabtu.com>
45144
45145 * include/grub/time.h: New file.
45146 * include/grub/i386/time.h: Likewise.
45147 * include/grub/powerpc/time.h: Likewise.
45148 * include/grub/sparc64/time.h: Likewise.
45149
45150 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
45151 instances to ...
45152 (KERNEL_MACHINE_TIME_HEADER): ... this.
45153 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45154 instances to ...
45155 (KERNEL_MACHINE_TIME_HEADER): ... this.
45156 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45157 instances to ...
45158 (KERNEL_MACHINE_TIME_HEADER): ... this.
45159
45160 * kern/i386/efi/init.c: Include `<grub/time.h>'.
45161 (grub_millisleep): New function.
45162 * kern/i386/pc/init.c: Include `<grub/time.h>'.
45163 (grub_millisleep): New function.
45164 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
45165 Remove `grub/machine/time.h' include.
45166 (grub_millisleep): New function.
45167 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
45168 Remove `grub/machine/time.h' include.
45169 (grub_millisleep): New function.
45170
45171 * include/grub/misc.h (grub_div_roundup): New function.
45172
45173 * kern/misc.c: Include `<grub/time.h>'.
45174 (grub_millisleep_generic): New function.
45175
45176 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
45177 Add `time.h'.
45178 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
45179 Add `time.h'.
45180 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
45181 `machine/time.h'. Add `time.h'.
45182 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45183
a39a0312 451842007-10-21 Robert Millan <rmh@aybabtu.com>
45185
45186 * include/grub/misc.h (grub_max): New function.
45187
2aad70e2 451882007-10-21 Robert Millan <rmh@aybabtu.com>
45189
45190 * util/misc.c (grub_util_info): Call fflush() before returning.
45191
54b71c4b 451922007-10-20 Robert Millan <rmh@aybabtu.com>
45193
45194 * genmk.rb (Image): Copy `extra_flags' from here ...
45195 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
45196
45197 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
45198 to `argc' and `args' arguments.
45199
a979f513 452002007-10-17 Robert Millan <rmh@aybabtu.com>
45201
45202 * kern/i386/loader.S: New file.
45203
45204 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
45205 * kern/i386/loader.S (grub_linux_prot_size)... to here.
45206 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
45207 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
45208 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
45209 * kern/i386/loader.S (grub_linux_real_addr)... to here.
45210 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
45211 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
45212 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
45213 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
45214 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
45215 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
45216 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
45217 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
45218
45219 * kern/i386/realmode.S: New file.
45220
45221 * kern/i386/pc/startup.S (protstack): Moved from here ...
45222 * kern/i386/realmode.S (protstack)... to here.
45223 * kern/i386/pc/startup.S (gdt): Moved from here ...
45224 * kern/i386/realmode.S (gdt)... to here.
45225 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
45226 * kern/i386/realmode.S (prot_to_real)... to here.
45227
45228 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
45229 `kern/i386/realmode.S'.
45230
825fc8fd 452312007-10-17 Robert Millan <rmh@aybabtu.com>
45232
45233 * include/grub/i386/loader.h: New file.
45234
45235 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
45236 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45237 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45238 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45239 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
45240 * include/grub/i386/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): ... to here.
45245
45246 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
45247
e179b2f4 452482007-10-15 Robert Millan <rmh@aybabtu.com>
45249
45250 * normal/misc.c (grub_normal_print_device_info): Do not probe for
45251 filesystem when dev->disk is unset.
45252 Do probe for filesystem even when dev->disk->has_partitions is set.
45253 In case a filesystem is found, always report it.
45254 In case it isn't, if dev->disk->has_partitions is set, report that
45255 a partition table was found instead of reporting that no filesystem
45256 could be identified.
45257
5db82af6 452582007-10-12 Robert Millan <rmh@aybabtu.com>
45259
45260 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
45261 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
45262
68f6ac74 45263 * include/grub/types.h (grub_host_to_target16): New macro.
45264 (grub_host_to_target32): Likewise.
45265 (grub_host_to_target64): Likewise.
45266 (grub_target_to_host16): Likewise.
45267 (grub_target_to_host32): Likewise.
45268 (grub_target_to_host64): Likewise.
5db82af6 45269
45270 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
45271 Renamed from to ...
45272 (GRUB_MOD_ALIGN): ...this. Update all users.
45273
68f6ac74 45274 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
45275 grub_host_to_target32.
45276 Replace grub_be_to_cpu32 with grub_target_to_host32.
45277 (load_modules): Likewise.
45278 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
45279 Replace grub_be_to_cpu32 with grub_target_to_host32.
45280 Replace grub_cpu_to_be16 with grub_host_to_target16.
45281 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 45282
3cf497cc 452832007-10-12 Robert Millan <rmh@aybabtu.com>
45284
45285 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
45286 * util/elf/grub-mkimage.c: ... here.
45287
45288 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
45289 `util/powerpc/ieee1275/grub-mkimage.c'.
45290
c8cc3692 452912007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 45292
c8cc3692 45293 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
45294 and make it easier to figure out.
45295 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
45296 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
45297 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
45298 leave us with less than HEAP_MIN_SIZE total heap.
45299 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 45300
5c58b791 453012007-10-03 Robert Millan <rmh@aybabtu.com>
45302
45303 * include/grub/i386/io.h: New file.
45304 * commands/i386/pc/play.c (inb): Removed.
45305 (outb): Removed.
45306 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45307 with grub_outb().
afcd2ef8 45308 * term/i386/pc/serial.c (inb): Removed.
45309 (outb): Removed.
45310 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45311 with grub_outb().
45312 * term/i386/pc/vga.c (inb): Removed.
45313 (outb): Removed.
45314 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45315 with grub_outb().
5c58b791 45316
1a477ed6 453172007-10-02 Robert Millan <rmh@aybabtu.com>
45318
45319 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
45320 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45321 Reported by Marcin Kurek.
45322
6b5d80fa 453232007-09-07 Robert Millan <rmh@aybabtu.com>
45324
45325 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
45326 SmartFirmware version updates (as released by Sven Luther), and avoid
45327 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
45328 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
45329 known broken.
45330
5618afbf 453312007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45332
45333 From Hitoshi Ozeki:
45334 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
45335 when merging two regions.
45336
6139dcd9 453372007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45338
508e39ee 45339 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
45340 * normal/completion.c (grub_normal_do_completion): Likewise.
45341 Reported by Hitoshi Ozeki.
45342
453432007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 45344
6139dcd9 45345 Do not use devices at boot in chainloading.
f19dbdb7 45346
6139dcd9 45347 * loader/i386/pc/chainloader.c (boot_drive): New variable.
45348 (boot_part_addr): Likewise.
45349 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
45350 with BOOT_DRIVE and BOOT_PART_ADDR.
45351 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
45352 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
45353
38da6516 453542007-08-29 Robert Millan <rmh@aybabtu.com>
45355
45356 Patch from Simon Peter <dn.tlp@gmx.net>:
45357 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
45358 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
45359 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
45360 util/i386/pc/grub-setup.c_DEPENDENCIES.
45361 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
45362 util/grub-probe.c_DEPENDENCIES.
45363 * conf/powerpc-ieee1275.rmk: Likewise.
45364
29d0928c 453652007-08-28 Robert Millan <rmh@aybabtu.com>
45366
45367 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
45368 to tell grub-mkdevicemap how to name devices.
45369 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
45370 feature).
45371
45372 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
45373 util/i386/get_disk_name.c.
45374 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
45375 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
45376 util/ieee1275/get_disk_name.c.
45377
45378 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
45379
45380 * DISTLIST: Add util/i386/get_disk_name.c and
45381 util/ieee1275/get_disk_name.c.
45382
45383 * util/grub-mkdevicemap.c: Replace device naming logic with
45384 grub_util_get_disk_name() calls.
45385
5a0d3cca 453862007-08-20 Robert Millan <rmh@aybabtu.com>
45387
45388 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
45389 (so that it works for both plural and singular quantities).
45390
8b72db2f 453912007-08-05 Robert Millan <rmh@aybabtu.com>
45392
45393 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
45394 so that [xz] isn't taken into account when determining order.
45395
352466bf 453962007-08-02 Marco Gerards <marco@gnu.org>
45397
45398 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
45399 `include/multiboot2.h', `include/grub/elfload.h',
45400 `include/multiboot.h', `include/grub/multiboot.h',
45401 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
45402 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
45403 `kern/elf.c', `loader/multiboot_loader.c',
45404 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
45405 `loader/i386/pc/multiboot2.c',
45406 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
45407 `util/i386/pc/grub-mkrescue.in'. Remove
45408 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
45409 `include/grub/i386/pc/util/biosdisk.h' and
45410 `include/grub/powerpc/ieee1275/multiboot.h'.
45411
8f096014 454122007-08-02 Bean <bean123ch@gmail.com>
45413
45414 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
45415 (ntfs_mod_SOURCES): New variable.
45416 (ntfs_mod_CFLAGS): Likewise.
45417 (ntfs_mod_LDFLAGS): Likewise.
45418
45419 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
45420 (grub_probe_SOURCES): Likewise.
45421 (grub_emu_SOURCES): Likewise.
45422
45423 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45424 (grub_emu_SOURCES): Likewise.
45425
45426 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45427 (grub_emu_SOURCES): Likewise.
f19dbdb7 45428
8f096014 45429 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
45430
45431 * fs/ntfs.c: New file.
45432
9959f7db 454332007-08-02 Bean <bean123ch@gmail.com>
45434
45435 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
45436
45437 * file.h (grub_file): Likewise.
45438
45439 * fshelp.h (grub_fshelp_read_file): Likewise.
45440
45441 * util/i386/pc/grub-setup.c (setup): Likewise.
45442 (save_first_sector): Likewise.
45443 (save_blocklists): Likewise.
f19dbdb7 45444
9959f7db 45445 * fs/affs.c (grub_affs_read_file): Likewise.
45446
45447 * fs/ext2.c (grub_ext2_read_file): Likewise.
45448
45449 * fs/fat.c (grub_fat_read_data): Likewise.
45450
45451 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
45452
45453 * fs/hfs.c (grub_hfs_read_file): Likewise.
45454
45455 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45456
45457 * fs/jfs.c (grub_jfs_read_file): Likewise.
45458
45459 * fs/minix.c (grub_minix_read_file): Likewise.
45460
45461 * fs/sfs.c (grub_sfs_read_file): Likewise.
45462
45463 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 45464
9959f7db 45465 * fs/xfs.c (grub_xfs_read_file): Likewise.
45466
45467 * command/blocklist.c (read_blocklist): Likewise.
45468 (print_blocklist): Likewise.
45469
0a203f83 454702007-08-02 Marco Gerards <marco@gnu.org>
45471
45472 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
45473 `util/hostfs.c'.
45474
45475 * disk/host.c: New file.
45476
45477 * util/hostfs.c: Likewise.
45478
45479 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
45480 return `GRUB_ERR_BAD_FS'.
45481 * fs/sfs.c (grub_sfs_mount): Likewise.
45482 * fs/xfs.c (grub_xfs_mount): Likewise.
45483
45484 * include/grub/disk.h (enum grub_disk_dev_id): Add
45485 `GRUB_DISK_DEVICE_HOST_ID'.
45486
45487 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
45488
e5dfe777 454892007-07-24 Jerone Young <jerone@gmail.com>
45490
f19dbdb7 45491 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 45492 modules for compilation.
45493 * conf/powerpc-ieee1275.rmk: Likewise.
45494
45495 * include/multiboot.h: Move multiboot definitions to one file. Rename
45496 many definitions to not get grub specific.
45497 * include/multiboot2.h: Create header with multiboot 2 definitions.
45498 * include/grub/multiboot.h: Header for grub specific function
45499 prototypes and definitions.
45500 * include/grub/multiboot2.h: Likewise.
45501 * include/grub/multiboot_loader.h: Likewise.
45502 * include/grub/i386/pc/multiboot.h: Removed.
45503 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
45504
45505 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
45506 and 2 to allow for one multiboot and module commands.
45507 * loader/multiboot2.c: Add multiboot2 functionality.
45508 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
45509 and definition names.
45510 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
45511 2 functions.
45512 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
45513 ieee1275 specific multiboot2 code.
45514
45515 * kern/i386/pc/startup.S: Change headers and definition names for
45516 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
45517
daf0f0ba 455182007-07-22 Robert Millan <rmh@aybabtu.com>
45519
45520 * geninitheader.sh: Process file specified in first parameter rather
45521 than hardcoding grub_modules_init.lst.
fe6b695a 45522 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 45523 than hardcoding grub_modules_init.h.
45524
45525 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
45526 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
45527 grub_probe_init.[ch] and grub_setup_init.[ch].
45528
45529 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
45530 grub_modules_init.h with grub_emu_init.h.
45531 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
45532 grub_probe_init.[ch] files.
45533 * conf/i386-efi.rmk: Likewise.
45534 * conf/i386-pc.rmk: Likewise.
45535 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
45536 grub_setup_init.[ch] files.
45537
45538 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
45539 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
45540 to initialize modules rather than a list of hardcoded functions.
45541 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
45542 grub_init_all() to initialize modules rather than a list of hardcoded
45543 functions.
45544
54cdc1cc 455452007-07-22 Robert Millan <rmh@aybabtu.com>
45546
45547 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
45548 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
45549
ad0686cc 455502007-07-22 Robert Millan <rmh@aybabtu.com>
45551
45552 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45553 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
45554 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
45555 flag when running on SmartFirmware.
45556 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
45557 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
45558 was set.
45559
45560 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
45561 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
45562 rather than decreasing it.
45563
45564 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
45565 there's not enough space to do it, fail in the same way as when it
45566 can't be done because there are no partitions.
45567
45568 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
45569 when nvsetenv failed.
45570
969c02ec 455712007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45572
45573 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
45574 because this rule is automatically generated.
45575 (grub-mkrescue): Removed for the same reason as above.
45576
5a79f472 455772007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45578
45579 Migrate to GNU General Public License Version 3.
f19dbdb7 45580
5a79f472 45581 * COPYING: Replaced with the plain text version of GPLv3.
45582
45583 * config.guess: Updated from gnulib.
45584 * config.sub: Likewise.
45585
45586 * geninit.sh: Output a GPLv3 copyright notice.
45587 * geninitheader.sh: Likewise.
45588 * genmodsrc.sh: Likewise.
45589 * gensymlist.sh.in: Likewise.
45590
45591 * boot/i386/pc/boot.S: Upgraded to GPLv3.
45592 * boot/i386/pc/diskboot.S: Likewise.
45593 * boot/i386/pc/pxeboot.S: Likewise.
45594 * commands/blocklist.c: Likewise.
45595 * commands/boot.c: Likewise.
45596 * commands/cat.c: Likewise.
45597 * commands/cmp.c: Likewise.
45598 * commands/configfile.c: Likewise.
45599 * commands/echo.c: Likewise.
45600 * commands/help.c: Likewise.
45601 * commands/ls.c: Likewise.
45602 * commands/search.c: Likewise.
45603 * commands/terminal.c: Likewise.
45604 * commands/test.c: Likewise.
45605 * commands/videotest.c: Likewise.
45606 * commands/i386/cpuid.c: Likewise.
45607 * commands/i386/pc/halt.c: Likewise.
45608 * commands/i386/pc/play.c: Likewise.
45609 * commands/i386/pc/reboot.c: Likewise.
45610 * commands/i386/pc/vbeinfo.c: Likewise.
45611 * commands/i386/pc/vbetest.c: Likewise.
45612 * commands/ieee1275/halt.c: Likewise.
45613 * commands/ieee1275/reboot.c: Likewise.
45614 * commands/ieee1275/suspend.c: Likewise.
45615 * disk/loopback.c: Likewise.
45616 * disk/lvm.c: Likewise.
45617 * disk/raid.c: Likewise.
45618 * disk/efi/efidisk.c: Likewise.
45619 * disk/i386/pc/biosdisk.c: Likewise.
45620 * disk/ieee1275/ofdisk.c: Likewise.
45621 * font/manager.c: Likewise.
45622 * fs/affs.c: Likewise.
45623 * fs/ext2.c: Likewise.
45624 * fs/fat.c: Likewise.
45625 * fs/fshelp.c: Likewise.
45626 * fs/hfs.c: Likewise.
45627 * fs/hfsplus.c: Likewise.
45628 * fs/iso9660.c: Likewise.
45629 * fs/jfs.c: Likewise.
45630 * fs/minix.c: Likewise.
45631 * fs/sfs.c: Likewise.
45632 * fs/ufs.c: Likewise.
45633 * fs/xfs.c: Likewise.
45634 * hello/hello.c: Likewise.
45635 * include/grub/acorn_filecore.h: Likewise.
45636 * include/grub/arg.h: Likewise.
45637 * include/grub/bitmap.h: Likewise.
45638 * include/grub/boot.h: Likewise.
45639 * include/grub/cache.h: Likewise.
45640 * include/grub/device.h: Likewise.
45641 * include/grub/disk.h: Likewise.
45642 * include/grub/dl.h: Likewise.
45643 * include/grub/elfload.h: Likewise.
45644 * include/grub/env.h: Likewise.
45645 * include/grub/err.h: Likewise.
45646 * include/grub/file.h: Likewise.
45647 * include/grub/font.h: Likewise.
45648 * include/grub/fs.h: Likewise.
45649 * include/grub/fshelp.h: Likewise.
45650 * include/grub/gzio.h: Likewise.
45651 * include/grub/hfs.h: Likewise.
45652 * include/grub/kernel.h: Likewise.
45653 * include/grub/loader.h: Likewise.
45654 * include/grub/lvm.h: Likewise.
45655 * include/grub/misc.h: Likewise.
45656 * include/grub/mm.h: Likewise.
45657 * include/grub/net.h: Likewise.
45658 * include/grub/normal.h: Likewise.
45659 * include/grub/parser.h: Likewise.
45660 * include/grub/partition.h: Likewise.
45661 * include/grub/pc_partition.h: Likewise.
45662 * include/grub/raid.h: Likewise.
45663 * include/grub/rescue.h: Likewise.
45664 * include/grub/script.h: Likewise.
45665 * include/grub/setjmp.h: Likewise.
45666 * include/grub/symbol.h: Likewise.
45667 * include/grub/term.h: Likewise.
45668 * include/grub/terminfo.h: Likewise.
45669 * include/grub/tparm.h: Likewise.
45670 * include/grub/types.h: Likewise.
45671 * include/grub/video.h: Likewise.
45672 * include/grub/efi/api.h: Likewise.
45673 * include/grub/efi/chainloader.h: Likewise.
45674 * include/grub/efi/console.h: Likewise.
45675 * include/grub/efi/console_control.h: Likewise.
45676 * include/grub/efi/disk.h: Likewise.
45677 * include/grub/efi/efi.h: Likewise.
45678 * include/grub/efi/pe32.h: Likewise.
45679 * include/grub/efi/time.h: Likewise.
45680 * include/grub/i386/linux.h: Likewise.
45681 * include/grub/i386/setjmp.h: Likewise.
45682 * include/grub/i386/types.h: Likewise.
45683 * include/grub/i386/efi/kernel.h: Likewise.
45684 * include/grub/i386/efi/loader.h: Likewise.
45685 * include/grub/i386/efi/time.h: Likewise.
45686 * include/grub/i386/pc/biosdisk.h: Likewise.
45687 * include/grub/i386/pc/boot.h: Likewise.
45688 * include/grub/i386/pc/chainloader.h: Likewise.
45689 * include/grub/i386/pc/console.h: Likewise.
45690 * include/grub/i386/pc/init.h: Likewise.
45691 * include/grub/i386/pc/kernel.h: Likewise.
45692 * include/grub/i386/pc/loader.h: Likewise.
45693 * include/grub/i386/pc/memory.h: Likewise.
45694 * include/grub/i386/pc/multiboot.h: Likewise.
45695 * include/grub/i386/pc/serial.h: Likewise.
45696 * include/grub/i386/pc/time.h: Likewise.
45697 * include/grub/i386/pc/vbe.h: Likewise.
45698 * include/grub/i386/pc/vbeblit.h: Likewise.
45699 * include/grub/i386/pc/vbefill.h: Likewise.
45700 * include/grub/i386/pc/vbeutil.h: Likewise.
45701 * include/grub/i386/pc/vga.h: Likewise.
45702 * include/grub/ieee1275/ieee1275.h: Likewise.
45703 * include/grub/ieee1275/ofdisk.h: Likewise.
45704 * include/grub/powerpc/libgcc.h: Likewise.
45705 * include/grub/powerpc/setjmp.h: Likewise.
45706 * include/grub/powerpc/types.h: Likewise.
45707 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
45708 * include/grub/powerpc/ieee1275/console.h: Likewise.
45709 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
45710 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
45711 * include/grub/powerpc/ieee1275/loader.h: Likewise.
45712 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
45713 * include/grub/powerpc/ieee1275/time.h: Likewise.
45714 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
45715 * include/grub/sparc64/libgcc.h: Likewise.
45716 * include/grub/sparc64/setjmp.h: Likewise.
45717 * include/grub/sparc64/types.h: Likewise.
45718 * include/grub/sparc64/ieee1275/console.h: Likewise.
45719 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
45720 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
45721 * include/grub/sparc64/ieee1275/time.h: Likewise.
45722 * include/grub/util/biosdisk.h: Likewise.
45723 * include/grub/util/getroot.h: Likewise.
45724 * include/grub/util/lvm.h: Likewise.
45725 * include/grub/util/misc.h: Likewise.
45726 * include/grub/util/raid.h: Likewise.
45727 * include/grub/util/resolve.h: Likewise.
45728 * io/gzio.c: Likewise.
45729 * kern/device.c: Likewise.
45730 * kern/disk.c: Likewise.
45731 * kern/dl.c: Likewise.
45732 * kern/elf.c: Likewise.
45733 * kern/env.c: Likewise.
45734 * kern/err.c: Likewise.
45735 * kern/file.c: Likewise.
45736 * kern/fs.c: Likewise.
45737 * kern/loader.c: Likewise.
45738 * kern/main.c: Likewise.
45739 * kern/misc.c: Likewise.
45740 * kern/mm.c: Likewise.
45741 * kern/parser.c: Likewise.
45742 * kern/partition.c: Likewise.
45743 * kern/rescue.c: Likewise.
45744 * kern/term.c: Likewise.
45745 * kern/efi/efi.c: Likewise.
45746 * kern/efi/init.c: Likewise.
45747 * kern/efi/mm.c: Likewise.
45748 * kern/i386/dl.c: Likewise.
45749 * kern/i386/efi/init.c: Likewise.
45750 * kern/i386/efi/startup.S: Likewise.
45751 * kern/i386/pc/init.c: Likewise.
45752 * kern/i386/pc/lzo1x.S: Likewise.
45753 * kern/i386/pc/startup.S: Likewise.
45754 * kern/ieee1275/ieee1275.c: Likewise.
45755 * kern/powerpc/cache.S: Likewise.
45756 * kern/powerpc/dl.c: Likewise.
45757 * kern/powerpc/ieee1275/cmain.c: Likewise.
45758 * kern/powerpc/ieee1275/crt0.S: Likewise.
45759 * kern/powerpc/ieee1275/init.c: Likewise.
45760 * kern/powerpc/ieee1275/openfw.c: Likewise.
45761 * kern/sparc64/cache.S: Likewise.
45762 * kern/sparc64/dl.c: Likewise.
45763 * kern/sparc64/ieee1275/init.c: Likewise.
45764 * kern/sparc64/ieee1275/openfw.c: Likewise.
45765 * loader/efi/chainloader.c: Likewise.
45766 * loader/efi/chainloader_normal.c: Likewise.
45767 * loader/i386/efi/linux.c: Likewise.
45768 * loader/i386/efi/linux_normal.c: Likewise.
45769 * loader/i386/pc/chainloader.c: Likewise.
45770 * loader/i386/pc/chainloader_normal.c: Likewise.
45771 * loader/i386/pc/linux.c: Likewise.
45772 * loader/i386/pc/linux_normal.c: Likewise.
45773 * loader/i386/pc/multiboot.c: Likewise.
45774 * loader/i386/pc/multiboot_normal.c: Likewise.
45775 * loader/powerpc/ieee1275/linux.c: Likewise.
45776 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45777 * normal/arg.c: Likewise.
45778 * normal/cmdline.c: Likewise.
45779 * normal/command.c: Likewise.
45780 * normal/completion.c: Likewise.
45781 * normal/execute.c: Likewise.
45782 * normal/function.c: Likewise.
45783 * normal/lexer.c: Likewise.
45784 * normal/main.c: Likewise.
45785 * normal/menu.c: Likewise.
45786 * normal/menu_entry.c: Likewise.
45787 * normal/misc.c: Likewise.
45788 * normal/parser.y: Likewise.
45789 * normal/script.c: Likewise.
45790 * normal/i386/setjmp.S: Likewise.
45791 * normal/powerpc/setjmp.S: Likewise.
45792 * normal/sparc64/setjmp.S: Likewise.
45793 * partmap/acorn.c: Likewise.
45794 * partmap/amiga.c: Likewise.
45795 * partmap/apple.c: Likewise.
45796 * partmap/gpt.c: Likewise.
45797 * partmap/pc.c: Likewise.
45798 * partmap/sun.c: Likewise.
45799 * term/gfxterm.c: Likewise.
45800 * term/terminfo.c: Likewise.
45801 * term/efi/console.c: Likewise.
45802 * term/i386/pc/console.c: Likewise.
45803 * term/i386/pc/serial.c: Likewise.
45804 * term/i386/pc/vesafb.c: Likewise.
45805 * term/i386/pc/vga.c: Likewise.
45806 * term/ieee1275/ofconsole.c: Likewise.
45807 * util/biosdisk.c: Likewise.
45808 * util/console.c: Likewise.
45809 * util/genmoddep.c: Likewise.
45810 * util/getroot.c: Likewise.
45811 * util/grub-emu.c: Likewise.
45812 * util/grub-mkdevicemap.c: Likewise.
45813 * util/grub-probe.c: Likewise.
45814 * util/lvm.c: Likewise.
45815 * util/misc.c: Likewise.
45816 * util/raid.c: Likewise.
45817 * util/resolve.c: Likewise.
45818 * util/update-grub.in: Likewise.
45819 * util/update-grub_lib.in: Likewise.
45820 * util/grub.d/00_header.in: Likewise.
45821 * util/grub.d/10_hurd.in: Likewise.
45822 * util/grub.d/10_linux.in: Likewise.
45823 * util/i386/efi/grub-install.in: Likewise.
45824 * util/i386/efi/grub-mkimage.c: Likewise.
45825 * util/i386/pc/grub-install.in: Likewise.
45826 * util/i386/pc/grub-mkimage.c: Likewise.
45827 * util/i386/pc/grub-mkrescue.in: Likewise.
45828 * util/i386/pc/grub-setup.c: Likewise.
45829 * util/i386/pc/misc.c: Likewise.
45830 * util/powerpc/ieee1275/grub-install.in: Likewise.
45831 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
45832 * util/powerpc/ieee1275/misc.c: Likewise.
45833 * video/bitmap.c: Likewise.
45834 * video/video.c: Likewise.
45835 * video/i386/pc/vbe.c: Likewise.
45836 * video/i386/pc/vbeblit.c: Likewise.
45837 * video/i386/pc/vbefill.c: Likewise.
45838 * video/i386/pc/vbeutil.c: Likewise.
45839 * video/readers/tga.c: Likewise.
45840
3572d015 458412007-07-02 Robert Millan <rmh@aybabtu.com>
45842
45843 * conf/i386-efi.rmk: Replace obsolete reference to
45844 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
45845 with util/getroot.c.
45846 * conf/powerpc-ieee1275.rmk: Likewise.
45847 * conf/sparc64-ieee1275.rmk: Likewise.
45848
45849 * util/grub-emu.c (main): Fix unchecked pointer handling.
45850
2c2a681b 458512007-07-02 Robert Millan <rmh@aybabtu.com>
45852
45853 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
45854 invocation to fail, in order to support partition-less media.
45855
45856 * util/i386/pc/grub-install.in: Likewise.
45857
45858 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
45859 which fs or partmap modules are needed (akin to its sister scripts).
45860
45861 Also use grub-probe to get rid of unportable /proc/mounts check.
45862
45863 Print the same informational message that the other scripts do, before
fe6b695a 45864 exiting.
2c2a681b 45865
6193defe 458662007-06-23 Robert Millan <rmh@aybabtu.com>
45867
fe6b695a 45868 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 45869 a font file can be found and, if so, echo the GRUB path to it.
45870
45871 * util/update-grub.in: Handle multiple terminals depending on user
45872 input, platform availability and font file presence. Propagate
45873 variables of our findings to /etc/grub.d/ children.
45874
45875 * util/grub.d/00_header.in: Handle multiple terminals, based on
45876 environment setup by update-grub.
45877
eface1dc 458782007-06-23 Robert Millan <rmh@aybabtu.com>
45879
ba50d28f 45880 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 45881
bf697e28 458822007-06-21 Robert Millan <rmh@aybabtu.com>
45883
45884 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
45885 indicate end of data section in kernel image.
45886 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
45887 GRUB_KERNEL_MACHINE_DATA_END.
45888
45889 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
45890 space for it.
45891 * kern/i386/efi/startup.S: Likewise.
45892
45893 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
45894 during image generation. Implement --prefix option to override this
45895 patch.
45896 * util/i386/efi/grub-mkimage.c: Likewise.
45897
45898 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
45899 code to make path relative to its root into a separate function.
45900
45901 * util/i386/pc/grub-install.in: Use newly provided
45902 make_system_path_relative_to_its_root() to convert ${grubdir}, then
45903 pass the result to grub-install --prefix.
45904
baa574b4 459052007-06-13 Robert Millan <rmh@aybabtu.com>
45906
45907 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
45908 DEFAULT_DEVICE_MAP.
45909 * util/grub-emu.c: Use above definitions from misc.h instead of
45910 defining them.
45911 * util/grub-mkdevicemap.c: Likewise.
45912 * util/i386/pc/grub-setup.c: Likewise.
45913 * util/grub-probe.c: Likewise.
45914 (probe): Abort with grub_util_error() when either
45915 grub_guess_root_device or grub_util_get_grub_dev fails.
45916
0215dcbf 459172007-06-12 Robert Millan <rmh@aybabtu.com>
45918
45919 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
45920 "pager" assignment.
45921 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
45922 "pcdata".
45923 * util/grub-probe.c (probe): Likewise for "drive_name".
45924
8af2ab7b 459252007-06-11 Robert Millan <rmh@aybabtu.com>
45926
45927 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
45928 not just the cdrom one.
45929
59d31694 459302007-06-11 Robert Millan <rmh@aybabtu.com>
45931
45932 * util/i386/pc/grub-mkrescue.in: Add "set -e".
45933 Add --pkglibdir=DIR option to override pkglibdir.
45934 Mention --image-type=TYPE in help output.
45935 Fix --grub-mkimage (it was a no-op).
fe6b695a 45936 Abort gracefully when no parameter is given.
59d31694 45937
7ee367e4 459382007-06-11 Robert Millan <rmh@aybabtu.com>
45939
45940 * util/i386/pc/grub-mkrescue.in: New file.
45941 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
45942 * Makefile.in: Handle bin_SCRIPTS.
45943
29b0ed46 459442007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
45945
45946 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
45947 list of video modes.
45948
c0f90770 459492007-06-06 Robert Millan <rmh@aybabtu.com>
45950
45951 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
45952 file doesn't exist, or if it is in a filesystem grub can't read.
45953
45954 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
45955 not abort if GRUB_DRIVE could not be defined. Rearrange generated
45956 header comment to fit in 80 columns when the variables are resolved.
45957
45958 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
45959 could be identified by update-grub. Remove redundant check for
fe6b695a 45960 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 45961 handles that).
45962
fb36dc26 459632007-06-04 Robert Millan <rmh@aybabtu.com>
45964
45965 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
45966
45967 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
45968
45969 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
45970
0c68c93e 459712007-06-04 Robert Millan <rmh@aybabtu.com>
45972
45973 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
45974
45975 * include/grub/partition.h: Declare grub_apple_partition_map_init and
45976 grub_apple_partition_map_fini.
45977
45978 * util/biosdisk.c
45979 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
45980 to access >2 TiB disks).
45981
45982 Print disk->total_sectors with %llu instead of %lu, since this
45983 variable is always 64-bit (prevents wrong disk size from being displayed
45984 on either >2 TiB disk or big-endian CPU).
45985
45986 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
45987 into a generic case that supports all (sane) partition maps.
45988
45989 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
45990 breaks big-endian.
45991
45992 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
45993 and grub_apple_partition_map_fini() after that.
45994
0f23eb74 459952007-06-01 Robert Millan <rmh@aybabtu.com>
45996
45997 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
45998
45999 * util/grub.d/00_header.in: Only enable gfxterm when
46000 convert_system_path_to_grub_path() succeeds.
46001
42c71976 460022007-05-20 Robert Millan <rmh@aybabtu.com>
46003
46004 * util/update-grub_lib.in: New file.
46005 * DISTLIST: Add update-grub_lib.in.
46006 * conf/common.rmk: Generate update-grub_lib and install it in
46007 $(lib_DATA).
46008 * Makefile.in: Add install routine for $(lib_DATA).
46009
46010 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
46011 function provided by update-grub_lib to support arbitrary paths of
46012 unifont.pff.
46013 * util/update-grub.in: Use convert_system_path_to_grub_path() to
46014 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
46015
5beb2291 460162007-05-19 Robert Millan <rmh@aybabtu.com>
46017
46018 * commands/i386/cpuid.c: New module.
46019 * DISTLIST: Add it.
46020 * conf/i386-efi.rmk: Enable cpuid.mod.
46021 * conf/i386-pc.rmk: Likewise.
46022
7262eca1 460232007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46024
46025 * kern/disk.c (grub_disk_read): Check return value of
46026 grub_realloc().
46027
260ba823 460282007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46029
46030 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
46031 arrays.
46032 * disk/raid.c (grub_raid_open): Likewise.
46033
1ecb6cf2 460342007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46035
46036 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
46037 stack instead of on the heap.
46038
46039 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
46040 before doing a read on it.
46041
46042 * configure.ac: Only use -fno-stack-protector for the target
46043 environment.
f19dbdb7 46044
21c8cbb1 460452007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46046
46047 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
46048 __attribute_ ((unused)) to mode_type argument.
46049
46050 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 46051
21c8cbb1 46052 * kern/misc.c (memcmp): Fix prototype.
46053
46054 * include/grub/partition.h [GRUB_UTIL]
46055 (grub_gpt_partition_map_init): Add prototype.
46056 (grub_gpt_partition_map_fini): Likewise.
46057
46058 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
46059 at the right place.
46060
46061 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
46062 (grub_fat_read_data): Likewise.
46063 (grub_fat_find_dir): Likewise.
46064
46065 * font/manager.c (find_glyph): Make table a const.
46066 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 46067
849d55d3 460682007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
46069
46070 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
46071 code, first search for device in /dev/mapper, then in /dev.
46072 (grub_util_get_grub_dev): New function.
46073 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
46074 prototype.
46075 * util/grub-probe.c (probe): Remove check for RAID, call
46076 grub_util_get_grub_dev() instead of
46077 grub_util_biosdisk_get_grub_dev().
46078 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
46079 grub_util_biosdisk_get_grub_dev().
46080 * util/i386/pc/grub-setup.c (main): Likewise.
46081
8fff7c2f 460822007-05-16 Robert Millan <rmh@aybabtu.com>
46083
46084 * DISTLIST: Update for the latest changes.
46085 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
46086 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
46087 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
46088 grub/util/biosdisk.h.
46089 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
46090 grub/util/biosdisk.h.
46091
48e12b52 460922007-05-16 Robert Millan <rmh@aybabtu.com>
46093
46094 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
46095
46b9d128 460962007-05-16 Robert Millan <rmh@aybabtu.com>
46097
46098 * util/i386/efi/grub-install.in: New.
46099 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
46100 newly added grub-install.
46101 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
46102 include.
46103 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
46104 grub/util/biosdisk.h.
46105 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
46106 grub/util/biosdisk.h.
46107
2d1a40a9 461082007-05-16 Robert Millan <rmh@aybabtu.com>
46109
46110 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
46111 * include/grub/util/biosdisk.h: ... here.
46112 * util/i386/pc/biosdisk.c: Moved to ...
46113 * util/biosdisk.c: ... here.
46114 * util/i386/pc/getroot.c: Moved to ...
46115 * util/getroot.c: ... here.
46116 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
46117 * util/grub-mkdevicemap.c: ... here.
46118 * util/i386/pc/grub-probe.c: Moved to ...
46119 * util/grub-probe.c: ... here.
46120
9e26e3bc 461212007-05-15 Robert Millan <rmh@aybabtu.com>
46122
46123 * util/update-grub.in: Remove duplicated line in grub.cfg header
46124 message.
46125
57f96397 461262007-05-13 Robert Millan <rmh@aybabtu.com>
46127
46128 * util/update-grub.in: Fix a few assumptions about the devices holding
46129 /, /boot and /boot/grub being the same.
46130 * util/grub.d/00_header.in: Likewise.
46131 * util/grub.d/10_hurd.in: Likewise.
46132 * util/grub.d/10_linux.in: Likewise.
46133
46134 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
46135 patterns. Use that to define the `.old' suffix as older than `'.
46136
46137 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
46138
46139 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
46140 the grub.cfg header message.
46141
2e610d62 461422007-05-11 Robert Millan <rmh@aybabtu.com>
46143
46144 * util/update-grub.in: Create device.map if it doesn't already exist,
46145 before attempting to run grub-probe.
46146 Check for grub-probe and grub-mkdevicemap with the same code
46147 grub-install is using.
46148 Remove test mode.
46149
3f6a10ef 461502007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
46151
46152 * Makefile.in: Add the datarootdir autoconf variable.
46153
02e7b75e 461542007-05-09 Robert Millan <rmh@aybabtu.com>
46155
46156 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 46157 fail gracefully if dev->disk->partition == NULL.
02e7b75e 46158
75f396cc 461592007-05-07 Robert Millan <rmh@aybabtu.com>
46160
46161 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
46162 determine partition map module.
46163 * util/i386/pc/grub-install.in: Use this feature to decide which
46164 partition module to load, instead of hardcoding pc and gpt.
46165
da65cb36 461662007-05-07 Robert Millan <rmh@aybabtu.com>
46167
46168 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
46169 source directory differs from build directory.
46170
b57d6a91 461712007-05-05 Robert Millan <rmh@aybabtu.com>
46172
46173 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
46174 initialisation.
46175
509d00f1 461762007-05-05 Robert Millan <rmh@aybabtu.com>
46177
46178 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
46179
c48f23ef 461802007-05-05 Robert Millan <rmh@aybabtu.com>
46181
46182 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
46183 command-line arguments via ${GRUB_CMDLINE_LINUX}.
46184
20b97658 461852007-05-05 Robert Millan <rmh@aybabtu.com>
46186
46187 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
46188 (grub_probe_SOURCES): Likewise.
46189 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
46190 GPT and initialize dos_part and bsd_part accordingly.
46191 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
46192 install_bsd_part.
46193 (main): Activate gpt module for use during partition identification,
46194 and deactivate it afterwards.
46195 * util/i386/pc/grub-install.in: Add gpt module to core.img.
46196 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
46197 partition identification, and deactivate it afterwards.
46198
99123174 461992007-05-05 Robert Millan <rmh@aybabtu.com>
46200
46201 * term/i386/pc/console.c (grub_console_fini): Call
46202 grub_term_set_current() before grub_term_unregister().
46203
ebd97f6e 462042007-05-04 Robert Millan <rmh@aybabtu.com>
46205
46206 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
46207 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
46208 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
46209 and update-grub_DATA.
46210 * conf/common.rmk: Build and install update-grub components.
46211 * conf/common.mk: Regenerate.
46212 * util/update-grub.in: New. Core of update-grub.
46213 * util/grub.d/00_header.in: New. Generates grub.cfg header.
46214 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
46215 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
46216 * util/grub.d/README: New. Document grub.d directory layout.
46217
b06a264d 462182007-05-01 Robert Millan <rmh@aybabtu.com>
46219
46220 * util/grub-emu.c: Move initialization functions
46221 grub_util_biosdisk_init() and grub_init_all() before
46222 grub_util_biosdisk_get_grub_dev(), which relies on them.
46223
41f0050e 462242007-04-19 Robert Millan <rmh@aybabtu.com>
46225
46226 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
46227 it is used later.
46228
04582bb3 462292007-04-18 Jerone Young <jerone@gmail.com>
46230
f19dbdb7 46231 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 46232 stanza.
46233
08db4632 462342007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 46235
08db4632 46236 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
46237 continue on and look for device node with real device name.
46238
801b76be 462392007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 46240
fe6b695a 46241 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 46242 ability.
46243 * Makefile.in: Add autoconf package transformation code.
46244 * util/i386/pc/grub-install.in: Likewise.
46245 * util/powerpc/ieee1275/grub-install.in: Likewise.
46246
6795c4e1 462472007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
46248
46249 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
46250 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
46251 (EXT2_REVISION): Likewise.
46252 (EXT2_INODE_SIZE): Likewise.
46253 (struct grub_ext2_block_group): Added a missing member
46254 "used_dirs".
46255 (grub_ext2_read_inode): Divide by the inode size in a superblock
46256 instead of 128 to obtain INODES_PER_BLOCK.
46257 Use the macro EXT2_INODE_SIZE instead of directly using
46258 SBLOCK->INODE_SIZE.
46259
d70af616 462602007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
46261
46262 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
46263 superblock instead of the structure size to compute an
46264 offset. This fixes the problem that GRUB could not read a
46265 filesystem when inode size is different from 128-byte.
46266
3b801603 462672007-03-05 Marco Gerards <marco@gnu.org>
46268
46269 * normal/main.c (read_config_file): When "menu" is not set, create
46270 an initial context.
46271
4785bfe4 462722007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46273
46274 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
46275 (HEAP_LIMIT): New macro.
46276 (grub_claim_heap): Claim memory up to `heaplimit'.
46277
a0cbb023 462782007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46279
46280 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
46281 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
46282 (_start): Likewise.
46283 (grub_arch_modules_addr): Return address after `_end'.
46284 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
46285 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
46286 (add_segments): Calculate `_end' from phdr size and location.
46287 (ALIGN_UP): Moved to ...
46288 * include/grub/misc.h: here.
46289 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46290 New macro.
46291 (GRUB_IEEE1275_MODULE_BASE): Removed.
46292
fd7d8eba 462932007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46294
46295 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
46296 loop boundary.
46297
9b09e6fc 462982007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46299
46300 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
46301 All users updated.
46302 (grub_elf64_load_hook_t): Likewise.
46303 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
46304 debug output.
46305
3ce27299 463062007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46307
46308 * kern/mm.c: Update copyright.
46309 (grub_mm_debug): Correct syntax error.
46310 (grub_mm_dump_free): New function.
46311 (grub_debug_free): Call `grub_free'.
46312 * include/grub/mm.h: Update copyright.
46313 (grub_mm_dump_free): Add declaration.
46314
077d5fee 463152007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46316
46317 * include/grub/ieee1275/ieee1275.h: Update copyright.
46318 * kern/powerpc/ieee1275/init.c: Likewise.
46319 * kern/powerpc/ieee1275/openfw.c: Likewise.
46320
46321 * loader/powerpc/ieee1275/linux.c: Likewise.
46322 * include/grub/elfload.h: Likewise.
46323 * kern/elf.c: Likewise.
46324 (grub_elf32_load): Pass `base' and `size' parameters. Update all
46325 callers.
46326 (grub_elf64_load): Likewise.
46327 (grub_elf32_load_segment): Move to a nested function.
46328 (grub_elf64_load_segment): Likewise.
46329
dc946850 463302007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46331
46332 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
46333 prototype.
46334 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
46335 (grub_heap_len): Likewise.
46336 (HEAP_SIZE): New macro.
46337 (grub_claim_heap): New function.
46338 (grub_machine_init): Don't claim heap directly. Call
46339 `grub_claim_heap'.
46340 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
46341 (grub_available_iterate): New function.
46342
baa2a121 463432007-02-03 Thomas Schwinge <tschwinge@gnu.org>
46344
46345 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
46346 * configure.ac: Use it for testing the HOST and TARGET compilers.
46347
4fe9862e 463482006-12-13 Thomas Schwinge <tschwinge@gnu.org>
46349
46350 * Makefile.in (enable_grub_emu): New variable.
46351 * configure.ac (--enable-grub-emu): New option.
46352 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
46353 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
46354 * conf/i386-pc.rmk: Likewise.
46355 * conf/powerpc-ieee1275.rmk: Likewise.
46356 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
46357
a8aa5762 463582006-12-12 Marco Gerards <marco@gnu.org>
46359
46360 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
46361
46362 * kern/env.c (grub_env_unset): Don't free the member `value' when
46363 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
46364 pointer.
46365
46366 * normal/main.c (current_menu): Removed.
46367 (free_menu): Unset the `menu' environment variable.
46368 (grub_normal_menu_addentry): Make use of the environment variable
46369 `menu', instead of using the global `current_menu'. Allocate
46370 memory for the sourcecode of this entry.
46371 (read_config_file): New argument `nested', changed all callers.
46372 Only in the case of a new context, initialize a new menu. Set the
46373 `menu' environment variable.
46374 (grub_normal_execute): Don't set and unset the environment
46375 variable `menu' here anymore. Only free the menu when leaving the
46376 context.
46377
46378 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
46379 leak.
46380
957b3a3e 463812006-12-11 Marco Gerards <marco@gnu.org>
46382
46383 * normal/menu_entry.c (run): Fix off by one bug so the last line
46384 is executed. Move the loader check to outside the loop.
46385
ef875714 463862006-12-08 Hollis Blanchard <hollis@penguinppc.org>
46387
46388 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
46389
4e739985 463902006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
46391
46392 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
46393 the number of sectors. Reported by Andrey Shuvikov
46394 <mr_hyro@yahoo.com>.
f19dbdb7 46395
790707f2 463962006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
46397
46398 * kern/disk.c (grub_disk_read): When there is a read error, always
46399 try to read only the necessary data.
f19dbdb7 46400
790707f2 46401 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
46402 disk/raid.c.
46403 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
46404 prototype.
46405 [GRUB_UTIL] (grub_raid_fini): Likewise.
46406 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 46407 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 46408 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
46409 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
46410 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
46411 and grub_raid_fini().
f19dbdb7 46412
03e58196 464132006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46414
46415 * include/grub/types.h (__unused): Rename to UNUSED.
46416 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
46417 (grub_elf64_size): Likewise.
f19dbdb7 46418
ae4f23bf 464192006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46420
46421 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
46422 grub_error_push and grub_error_pop in the error-handling path.
46423 (grub_elf32_load_segment): Only call grub_file_read with non-zero
46424 length.
46425
2166cc83 464262006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46427
46428 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
46429 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
46430 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46431 (kernel_elf_SOURCES): Likewise.
46432 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
46433 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
46434 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46435 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46436 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
46437 (elf_mod_SOURCES): New variable.
46438 (elf_mod_CFLAGS): Likewise.
46439 (elf_mod_LDFLAGS): Likewise.
46440 * include/grub/types.h (__unused): New macro.
46441 * include/grub/elfload.h: New file.
46442 * kern/elf.c: Likewise.
46443 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
46444 (ELF32_LOADMASK): New macro.
46445 (ELF64_LOADMASK): Likewise.
46446 (vmlinux): Removed.
46447 (grub_linux_load32): New function.
46448 (grub_linux_load64): Likewise.
46449 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
46450 Use grub_elf_t instead of grub_file_t.
46451
a09d5aa5 464522006-11-02 Hollis Blanchard <hollis@penguinppc.org>
46453
46454 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
46455 `catch_result' to struct set_color_args.
46456
d976fc51 464572006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46458
46459 * normal/menu.c: Include grub/script.h.
46460 * normal/menu_entry.c: Likewise.
46461 * include/grub/normal.h: Do not include grub/script.h.
46462
67507549 464632006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46464
46465 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
46466
69203a99 464672006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46468
46469 * kern/disk.c (grub_disk_open): Print debug messages when opening a
46470 disk.
46471 (grub_disk_close): Print debug messages when closing a disk.
46472 (grub_disk_read): Print debug messages when disk read fails.
46473 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
46474 filesystem type.
46475 * kern/partition.c: Include misc.h.
46476 (grub_partition_iterate): Print debug messages when detecting
46477 partition type.
46478
e2b8278c 464792006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46480
46481 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
46482 is negative.
46483 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
46484
97b2f2ff 464852006-10-26 Hollis Blanchard <hollis@penguinppc.org>
46486
46487 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46488 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
46489
6555d655 464902006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
46491
46492 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
46493 instead of sizeof(lv). Patch by Michael Guntsche.
46494
4d42b77f 464952006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
46496
46497 * disk/lvm.c: Rename VGS to VG_LIST.
46498 (grub_lvm_iterate): Change VGS->LV to VG-LV.
46499 (grub_lvm_open): Likewise.
46500 Thanks to Michael Guntsche for finding this bug.
46501
5d74d927 465022006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46503
46504 * configure.ac (AC_INIT): Bumped to 1.95.
46505
a1bb27e4 465062006-10-14 Robert Millan <rmh@aybabtu.com>
46507
46508 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
46509 with "/dev/.static/dev/md".
46510
e0994b8b 465112006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46512
46513 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
46514 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
46515 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
46516 DRIVE_NAME are always freed.
46517
46518 * util/i386/pc/biosdisk.c (make_device_name): Add one into
46519 DOS_PART, as a DOS partition is counted from one instead of zero
46520 now. Reported by Robert Millan.
46521
ddd5cee9 465222006-10-14 Robert Millan <rmh@aybabtu.com>
46523
46524 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
46525 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
46526 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
46527 string returned by grub_guess_root_device.
46528 * util/i386/pc/grub-setup.c: Likewise.
46529 * util/i386/pc/grub-probefs.c: Likewise.
46530
46531 * util/i386/pc/grub-probefs.c: Rename to ...
46532 * util/i386/pc/grub-probe.c: ... this.
46533 * DISTLIST: Remove grub-probefs, add grub-probe.
46534 * conf/i386-efi.rmk: Likewise.
46535 * conf/i386-pc.rmk: Likewise.
46536 * util/i386/pc/grub-install.in: Likewise.
46537
46538 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
46539 choose which information we want to print.
46540
2b002173 465412006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46542
46543 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
46544 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
46545 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
46546 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
46547 video/readers/tga.c and video/i386/pc/vbeutil.c.
46548
465492006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
46550
46551 Added support for RAID and LVM.
f19dbdb7 46552
2b002173 46553 * disk/lvm.c: New file.
46554 * disk/raid.c: Likewise.
46555 * include/grub/lvm.h: Likewise.
f19dbdb7 46556 * include/grub/raid.h: Likewise.
2b002173 46557 * include/grub/util/lvm.h: Likewise.
46558 * include/grub/util/raid.h: Likewise.
46559 * util/lvm.c: Likewise.
46560 * util/raid.c: Likewise.
46561
46562 * include/grub/disk.h (grub_disk_dev_id): Add
46563 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
46564 (grub_disk_get_size): New prototype.
46565 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
46566 returns a partition.
46567 (grub_disk_get_size): New function.
f19dbdb7 46568
2b002173 46569 * kern/i386/pc/init.c (make_install_device): Copy the prefix
46570 verbatim if grub_install_dos_part is -2.
46571
46572 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
46573 and LVM devices.
46574
46575 * util/i386/pc/grub-setup.c (setup): New argument
46576 MUST_EMBED. Force embedding of GRUB when the argument is
46577 true. Close FILE before returning.
46578 (main): Add support for RAID and LVM.
f19dbdb7 46579
2b002173 46580 * conf/common.rmk: Add RAID and LVM modules.
46581 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
46582 util/lvm.c.
46583 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
46584
46585 * kern/misc.c (grub_strstr): New function.
46586 * include/grub/misc.h (grub_strstr): New prototype.
46587
050548d0 465882006-10-10 Tristan Gingold <tristan.gingold@bull.net>
46589
46590 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
46591
da849d2d 465922006-10-05 Tristan Gingold <tristan.gingold@bull.net>
46593
46594 * kern/misc.c (grub_strtoull): Guess the base only if not
46595 specified.
46596
97b2f2ff 465972006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 46598
46599 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
46600 PowerMac support.
46601
97b2f2ff 466022006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 46603
46604 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
46605
46606 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
46607 Remove `flags' argument. All callers changed.
46608 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
46609 (IEEE1275_IHANDLE_INVALID): New variable.
46610 (IEEE1275_CELL_INVALID): New variable.
46611 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
46612 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
46613 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
46614 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
46615 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
46616 codes from Open Firmware. All callers updated.
46617 (grub_ieee1275_next_property): Directly return Open Firmware return
46618 code.
46619 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
46620 Standardize error checking from `grub_ieee1275_get_property'.
46621 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
46622 `devalias' to `aliases'. Correct comments. Consolidate error paths.
46623
97b2f2ff 466242006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 46625
46626 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
46627 `instance_to_package_args' to `instance_to_path_args'.
46628
46629 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
46630 `grub_ieee1275_chosen'.
46631
46632 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
46633 `grub_ieee1275_interpret'.
46634
97b2f2ff 466352006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 46636
46637 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
46638
97b2f2ff 466392006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 46640
46641 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
46642 (__cmpdi): Likewise.
46643
46644 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
46645 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
46646 `grub_ssize_t'.
46647
02bb8acc 46648 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 46649
46650 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
46651 to type `grub_ssize_t'.
46652 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
46653
7f9a8531 466542006-09-22 Marco Gerards <marco@gnu.org>
46655
46656 * normal/script.c (grub_script_create_cmdmenu): Skip leading
46657 newlines.
46658
b5ef1102 466592006-09-22 Marco Gerards <marco@gnu.org>
46660
46661 * commands/echo.c: New file.
46662
46663 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
46664
46665 * conf/common.rmk (echo_mod_SOURCES): New variable.
46666 (echo_mod_CFLAGS): Likewise.
46667 (echo_mod_LDFLAGS): Likewise.
46668
2cff3677 466692006-09-22 Marco Gerards <marco@gnu.org>
46670
46671 * normal/main.c (get_line): Malloc memory instead of using
46672 preallocated memory. Removed the arguments `cmdline' and
46673 `max_len'. Updated all callers.
46674
6ba4688b 466752006-09-22 Marco Gerards <marco@gnu.org>
46676
46677 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
46678 (normal_mod_DEPENDENCIES): Likewise.
46679
46680 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
46681 (normal_mod_DEPENDENCIES): Likewise.
46682
46683 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
46684
e02ac02c 466852006-09-22 Johan Rydberg <jrydberg@gnu.org>
46686
46687 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
46688 programs.
46689 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
46690 (normal_mod_DEPENDENCIES): Likewise.
46691 * conf/i386-pc.mk: Regenerate.
46692 * conf/i386-efi.mk: Likewise
46693 * conf/common.mk: Likewise.
46694 * conf/powerpc-ieee1275.mk: Likewise.
46695 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46696
8d252e44 466972006-09-22 Robert Millan <rmh@aybabtu.com>
46698
46699 Sync with i386 version.
46700 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
46701 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
46702
209bf7ac 467032006-09-21 Robert Millan <rmh@aybabtu.com>
46704
46705 Import from GRUB Legacy (lib/device.c):
46706 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
46707 (init_device_map) [__linux__]: Add support for I2O devices.
46708
6b146090 467092006-09-14 Marco Gerards <marco@gnu.org>
46710
46711 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
46712 `-melf_i386'.
46713
e38600a8 467142006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 46715
46716 * util/i386/pc/grub-install.in: Skip menu.lst when removing
46717 /boot/grub/*.lst.
78fa1790 46718
2952da5d 46719 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 46720
2952da5d 46721 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
46722 before adding it to device.map.
46723
01b82a64 467242006-08-15 Johan Rydberg <jrydberg@gnu.org>
46725
fe6b695a 46726 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 46727 compiles a file; using the -MD option.
46728 * conf/common.mk: Regenerate.
46729 * conf/i386-pc.mk: Likewise.
46730 * conf/i386-efi.mk: Likewise.
46731 * conf/powerpc-ieee1275.mk: Likewise.
46732 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 46733
1064790d 467342006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
46735
46736 Move the prototypes of grub_setjmp and grub_longjmp to
46737 cpu/setjmp.h, so that each architecture may specify different
46738 attributes.
f19dbdb7 46739
1064790d 46740 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
46741 (grub_longjmp): Likewise.
46742 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
46743 (grub_longjmp): Likewise.
46744 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
46745 (grub_longjmp): Likewise.
46746
46747 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
46748 [!GRUB_UTIL] (grub_longjmp): Removed.
46749
29dda3ed 467502006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
46751
46752 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
46753 "color!" method does not return any value.
46754
ad2a06ed 467552006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46756
46757 * include/grub/bitmap.h: New file.
46758
46759 * include/grub/i386/pc/vbeutil.h: Likewise.
46760
46761 * video/bitmap.c: Likewise.
46762
46763 * video/readers/tga.c: Likewise.
46764
46765 * video/i386/pc/vbeutil.c: Likewise.
46766
46767 * commands/videotest.c: Code cleanup and updated to reflect to new
46768 video API.
46769
46770 * term/gfxterm.c: Likewise.
46771
46772 * video/video.c: Likewise.
46773
46774 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
46775 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
46776 (bitmap_mod_SOURCES): New entry.
46777 (bitmap_mod_CFLAGS): Likewise.
46778 (bitmap_mod_LDFLAGS): Likewise.
46779 (tga_mod_SOURCES): Likewise.
46780 (tga_mod_CFLAGS): Likewise.
46781 (tga_mod_LDFLAGS): Likewise.
46782
46783 * include/grub/video.h (grub_video_blit_operators): New enum type.
46784 (grub_video_render_target): Changed as forward declaration and moved
46785 actual definition to be video driver specific.
46786 (grub_video_adapter.blit_bitmap): Added blitting operator.
46787 (grub_video_adapter.blit_render_target): Likewise.
46788 (grub_video_blit_bitmap): Likewise.
46789 (grub_video_blit_render_target): Likewise.
46790
46791 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
46792 driver specific render target definition.
46793 (grub_video_vbe_map_rgba): Added driver internal helper.
46794 (grub_video_vbe_unmap_color): Updated to use
46795 grub_video_i386_vbeblit_info.
46796 (grub_video_vbe_get_video_ptr): Likewise.
46797
46798 * include/grub/i386/pc/vbeblit.h
46799 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
46800 grub_video_i386_vbeblit_info.
46801 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
46802 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
46803 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
46804 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
46805 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
46806 (grub_video_i386_vbeblit_index_index): Likewise.
46807 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
46808 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
46809 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
46810 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
46811 operator.
46812 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
46813 operator.
46814
46815 * video/i386/pc/vbeblit.c: Updated to reflect changes on
46816 include/grub/i386/pc/vbeblit.h.
46817
46818 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
46819 Updated to use grub_video_i386_vbeblit_info.
46820 (grub_video_i386_vbefill_R8G8B8): Likewise.
46821 (grub_video_i386_vbefill_index): Likewise.
46822 (grub_video_i386_vbefill): Added generic filler.
46823
46824 * video/i386/pc/vbefill.c: Updated to reflect changes on
46825 include/grub/i386/pc/vbefill.h.
46826
46827 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
46828 grub_video_i386_vbeblit_info.
46829 (grub_video_vbe_unmap_color): Likewise.
46830 (grub_video_vbe_blit_glyph): Likewise.
46831 (grub_video_vbe_scroll): Likewise.
46832 (grub_video_vbe_draw_pixel): Removed function.
46833 (grub_video_vbe_get_pixel): Likewise.
46834 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
46835 updated code to use it.
46836 (common_blitter): Added common blitter for render target and bitmap.
46837 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
46838 (grub_video_vbe_blit_render_target): Likewise.
46839
bc8c036d 468402006-07-30 Johan Rydberg <jrydberg@gnu.org>
46841
46842 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
46843 is in text mode if there is no console control protocol instance
46844 available.
46845
684a8eff 468462006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46847
46848 * include/grub/video.h: Code cleanup.
46849
46850 * include/grub/i386/pc/vbe.h: Likewise.
46851
46852 * video/i386/pc/vbe.c: Likewise.
46853
46854 * video/i386/pc/vbeblit.c: Likewise.
46855
46856 * video/i386/pc/vbefill.c: Likewise.
46857
46858 * video/video.c: Likewise. Also added more comments.
46859
5915059b 468602006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
46861
46862 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
46863 (struct grub_biosdisk_dap): Likewise.
46864
46865 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
46866 linkage settings for all functions.
46867
90ce5d56 468682006-07-12 Marco Gerards <marco@gnu.org>
46869
46870 * configure.ac (--enable-mm-debug): Fix typo.
46871
46872 * genkernsyms.sh.in: Use proper quoting for `CC'.
46873
43e7f879 468742006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
46875
46876 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
46877 (normal_mod_ASFLAGS): Remove "-m32".
46878
4889bdec 468792006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
46880
46881 * util/misc.c: Include config.h.
46882 [!HAVE_MEMALIGN]: Do not include malloc.h.
46883 (grub_memalign): Use posix_memalign, if present. Then, use
46884 memalign, if present. Otherwise, emit an error.
46885
46886 * util/grub-emu.c: Do not include malloc.h.
46887
46888 * include/grub/util/misc.h: Include unistd.h. This is required for
46889 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
46890 D. Eades III <hde@foobar-qux.org>.
46891
46892 * configure.ac (AC_GNU_SOURCE): Added.
46893 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
46894 type.
46895
fd39d4da 468962006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
46897
46898 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
46899 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
46900
b786f3b5 469012006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
46902
46903 * include/grub/types.h (grub_host_addr_t): Rename to
46904 grub_target_addr_t.
46905 (grub_host_off_t): Rename to grub_target_off_t.
46906 (grub_host_size_t): Rename to grub_target_size_t.
46907 (grub_host_ssize_t): Rename to grub_target_ssize_t.
46908 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
46909
46910 * include/grub/kernel.h (struct grub_module_header): Change type
46911 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
46912 (grub_module_info): Likewise.
f19dbdb7 46913
051988bb 469142006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
46915
46916 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
46917 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
46918 Velazquez <jesus.velazquez@gmail.com>.
46919
deae281b 469202006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
46921
46922 Count partitions from 1 instead of 0 in the string representation
46923 of partitions. Still use 0-based internally.
f19dbdb7 46924
deae281b 46925 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
46926 (sun_partition_map_iterate): Use grub_partition_t instead of
46927 struct grub_partition *. Cast DESC->START_CYLINDER to
46928 grub_uint64_t after converting the endian.
46929 (sun_partition_map_probe): Subtract 1 for PARTNUM.
46930 (sun_partition_map_get_name): Add 1 to P->INDEX.
46931
46932 * partmap/pc.c (grub_partition_parse): Subtract 1 for
46933 PCDATA->DOS_PART.
46934 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
46935
46936 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
46937 zero instead of one.
46938 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
46939 (gpt_partition_map_get_name): Add 1 into P->INDEX.
46940
46941 * partmap/apple.c (apple_partition_map_iterate): Change the type
46942 of POS to unsigned.
46943 (apple_partition_map_probe): Subtract 1 for PARTNUM.
46944 (apple_partition_map_get_name): Add 1 into P->INDEX.
46945
46946 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
46947 of POS to unsigned.
46948 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
46949 calculate the offset of a partition.
46950 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
46951 (amiga_partition_map_get_name): Add 1 into P->INDEX.
46952
46953 * partmap/acorn.c (acorn_partition_map_find): Change the type of
46954 SECTOR to grub_disk_addr_t.
46955 (acorn_partition_map_iterate): Likewise.
46956 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
46957 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
46958 top.
46959 (acorn_partition_map_get_name): Add 1 into P->INDEX.
46960
46961 * kern/i386/pc/init.c (make_install_device): Add 1 into
46962 GRUB_INSTALL_DOS_PART.
46963
46964 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
46965 conditional.
46966
524a1e6a 469672006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
46968
46969 Clean up the code to support 64-bit addressing in disks and
46970 files. This change is not enough for filesystems yet.
f19dbdb7 46971
524a1e6a 46972 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
46973 type of "start" to grub_uint64_t.
46974 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
46975 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
46976 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
46977 convert addresses.
46978
46979 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
46980 to grub_disk_addr_t.
46981
46982 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
46983 string.
46984
46985 * partmap/pc.c (pc_partition_map_iterate): Likewise.
46986
46987 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
46988 to char *.
46989
46990 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
46991
46992 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
46993
46994 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
46995
46996 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
46997 to grub_off_t, to detect an error from grub_file_seek.
46998 (grub_multiboot_load_elf32): Likewise.
46999
47000 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
47001 maximum unsigned long value when an overflow is detected.
47002 (grub_strtoull): New function.
47003 (grub_divmod64): Likewise.
47004 (grub_lltoa): use grub_divmod64.
47005
47006 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
47007 grub_disk_addr_t.
47008 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
47009 the pointer to next character. Use grub_strtoull instead of
47010 grub_strtoul.
47011 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
47012 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
47013 respectively.
47014
fe6b695a 47015 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 47016 return value is signed.
47017 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
47018 test if OFFSET is less than zero, as OFFSET is unsigned now.
47019
47020 * kern/disk.c (struct grub_disk_cache): Change the type of
47021 "sector" to grub_disk_addr_t.
47022 (grub_disk_cache_get_index): Change the type of SECTOR to
47023 grub_disk_addr_t. Calculate the hash with SECTOR casted to
47024 unsigned after shifting.
47025 (grub_disk_cache_invalidate): Change the type of SECTOR to
47026 grub_disk_addr_t.
47027 (grub_disk_cache_unlock): Likewise.
47028 (grub_disk_cache_store): Likewise.
47029 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
47030 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
47031 grub_disk_addr_t and grub_uint64_t, respectively.
47032 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
47033 body, as the value of OFFSET is tweaked by
47034 grub_disk_check_range. Change the types of START_SECTOR, LEN and
47035 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
47036 respectively.
47037 (grub_disk_write): 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 LEN and N to
47040 grub_size_t.
47041
47042 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
47043 and "saved_offset" to grub_off_t.
47044 (test_header): Cast BUF to char *.
47045 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
47046 to char *.
47047 (grub_gzio_read): Change the types of OFFSET and SIZE to
47048 grub_off_t and grub_size_t, respectively.
47049
47050 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
47051 Removed.
47052 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
47053 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
47054 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
47055 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
47056 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
47057
47058 * include/grub/types.h (grub_off_t): Unconditionally set to
47059 grub_uint64_t.
47060 (grub_disk_addr_t): Changed to grub_uint64_t.
47061
47062 * include/grub/partition.h (struct grub_partition): Change the
47063 types of "start", "len" and "offset" to grub_disk_addr_t,
47064 grub_uint64_t and grub_disk_addr_t, respectively.
47065 (grub_partition_get_start): Return grub_disk_addr_t.
47066 (grub_partition_get_len): Return grub_uint64_t.
47067
47068 * include/grub/misc.h (grub_strtoull): New prototype.
47069 (grub_divmod64): Likewise.
47070
47071 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
47072 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
47073 grub_off_t, respectively.
47074 All callers and references changed.
47075
47076 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
47077 grub_size_t in "read".
47078 All callers and references changed.
47079
47080 * include/grub/file.h (struct grub_file): Change the types of
47081 "offset" and "size" to grub_off_t and grub_off_t,
47082 respectively. Change the type of SECTOR to grub_disk_addr_t in
47083 "read_hook".
47084 (grub_file_read): Change the type of LEN to grub_size_t.
47085 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
47086 grub_off_t.
47087 (grub_file_size): Return grub_off_t.
47088 (grub_file_tell): Likewise.
47089 All callers and references changed.
47090
47091 * include/grub/disk.h (struct grub_disk_dev): Change the types of
47092 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
47093 "write".
47094 (struct grub_disk): Change the type of "total_sectors" to
47095 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 47096 "read_hook".
524a1e6a 47097 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
47098 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
47099 (grub_disk_write): Likewise.
47100 All callers and references changed.
47101
47102 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
47103 char * for grub_strncmp to silence gcc.
47104 (grub_iso9660_mount): Likewise.
47105 (grub_iso9660_mount): Likewise.
47106 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
47107 return statement.
47108 (grub_iso9660_iterate_dir): Likewise.
47109 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
47110
47111 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
47112 LEN to grub_disk_addr_t and grub_size_t, respectively.
47113
47114 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47115
47116 * fs/jfs.c (grub_jfs_read_file): Likewise.
47117
47118 * fs/minix.c (grub_jfs_read_file): Likewise.
47119
47120 * fs/sfs.c (grub_jfs_read_file): Likewise.
47121
47122 * fs/ufs.c (grub_jfs_read_file): Likewise.
47123
47124 * fs/xfs.c (grub_jfs_read_file): Likewise.
47125
47126 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
47127 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
47128 respectively.
47129
47130 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
47131 BLKNR to -1 instead of returning GRUB_ERRNO.
47132 (grub_ext2_read_file): Change the types of SECTOR and
47133 LEN to grub_disk_addr_t and grub_size_t, respectively.
47134
47135 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
47136 LEN to grub_disk_addr_t and grub_size_t, respectively.
47137
47138 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
47139 grub_file_read.
47140
47141 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
47142 string. Do not cast SECTOR explicitly.
47143
47144 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
47145 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
47146 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
47147 grub_disk_addr_t and grub_size_t, respectively. If the sector is
47148 over 2TB and LBA mode is not supported, raise an error.
47149 (get_safe_sectors): New function.
47150 (grub_biosdisk_read): Use get_safe_sectors.
47151 (grub_biosdisk_write): Likewise.
47152
47153 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
47154 (grub_efidisk_write): Likewise.
47155
47156 * disk/loopback.c (delete_loopback): Cosmetic changes.
47157 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
47158 correctly.
47159 (grub_loopback_open): Likewise.
47160 (grub_loopback_read): Likewise. Also, change the type of POS to
47161 grub_off_t, and fix the usage of grub_memset.
47162
47163 * commands/i386/pc/play.c: Include grub/machine/time.h.
47164
47165 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
47166 print FILE->SIZE.
47167
47168 * commands/configfile.c: Include grub/env.h.
47169
47170 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
47171 GRUB_ERRNO directly instead. Change the type of POS to
47172 grub_off_t. Follow the coding standard.
47173
47174 * commands/blocklist.c: Include grub/partition.h.
47175 (grub_cmd_blocklist): Return an error if the underlying device is
47176 not a disk. Take the starting sector of a partition into account,
47177 if a partition is used.
47178
47179 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
47180 a length field.
47181 (lba_mode): Support 64-bit addresses.
47182 (chs_mode): Likewise.
47183 (copy_buffer): Adapted to the new offsets of a length field and a
47184 segment field.
47185 (blocklist_default_start): Allocate 64-bit space.
47186
47187 * boot/i386/pc/boot.S (force_lba): Removed.
47188 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 47189 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 47190 space.
47191 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
47192 is useless.
47193 (lba_mode): Refactored to support a 64-bit address. More size
47194 optimization.
47195 (setup_sectors): Likewise.
47196
53af98ad 471972006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47198
47199 * DISTLIST: Added include/grub/i386/linux.h. Removed
47200 include/grub/i386/pc/linux.h
47201
47202 * configure.ac (AC_INIT): Bumped to 1.94.
47203
47204 * config.guess: Updated from gnulib.
47205 * config.sub: Likewise.
47206 * install-sh: Likewise.
47207 * mkinstalldirs: Likewise.
47208
b4c1940a 472092006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47210
47211 * conf/common.rmk (grub_modules_init.lst): Depended on
47212 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
47213 MODSRCFILES.
47214
47215 * genmk.rb (PModule::rule): Reverted the previous change.
47216
cfca1cfd 472172006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47218
47219 * conf/common.rmk (grub_modules_init.lst): Depends on
47220 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
47221 that the target does not exist before producing.
47222 (grub_modules_init.h): Remove the target before generating.
47223 (grub_emu_init.c): Likewise.
47224
47225 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
47226
aa6d7826 472272006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
47228
47229 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
47230 for the target-specific tests. Make sure that we also have the
47231 up-to-date target variables for those tests.
47232
26c607b9 472332006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47234
47235 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
47236 (PModule::rule): Likewise.
47237
0162321a 472382006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47239
47240 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
47241 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
47242 target-specific flags should be prefixed.
47243 (PModule::rule): Likewise.
47244
6c826348 472452006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
47246
47247 * configure.ac (CMP): Check if cmp is available explicitly.
47248
b977bf01 472492006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
47250
47251 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
47252 (target_cpu): New variable.
47253 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 47254
b977bf01 47255 * util/i386/pc/grub-install.in (host_cpu): Removed.
47256 (target_cpu): New variable.
47257 (pkglibdir): Use target_cpu instead of host_cpu.
47258
47259 * util/genmoddep.c: Removed.
f19dbdb7 47260
b977bf01 47261 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
47262 instead of GRUB_HOST_SIZEOF_VOID_P.
47263 * kern/dl.c: Likewise.
47264
47265 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
47266 ...
47267 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47268 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47269 (GRUB_TARGET_SIZEOF_LONG): ... this.
47270 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47271 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47272 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47273 to ...
47274 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47275 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47276 (GRUB_TARGET_SIZEOF_LONG): ... this.
47277 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47278 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47279 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47280 to ...
47281 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47282 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47283 (GRUB_TARGET_SIZEOF_LONG): ... this.
47284 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47285 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47286
47287 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
47288 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
47289 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
47290 instead of GRUB_HOST_SIZEOF_LONG.
47291 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
47292 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
47293 GRUB_CPU_WORDS_BIGENDIAN.
47294 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
47295 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
47296 grub_host_ssize_t.
47297
47298 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
47299 (genmoddep_SOURCES): Likewise.
47300 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
47301 (genmoddep_SOURCES): Likewise.
47302 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
47303 (genmoddep_SOURCES): Likewise.
47304 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
47305 Likewise.
47306 (genmoddep_SOURCES): Likewise.
47307
47308 * genmoddep.awk: New file.
47309
47310 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
47311 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
47312 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
47313 (PModule::rule): Likewise.
47314 (Program::rule): Likewise.
47315 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
47316 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
47317 respectively.
47318
47319 * configure.ac: Rewritten intensively to use host and target
47320 instead of build and host, respectively.
47321
47322 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
47323 (host_cpu): Removed.
47324 (target_cpu): New variable.
47325 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
47326 (BUILD_CC): Removed.
47327 (BUILD_CFLAGS): Likewise.
47328 (BUILD_CPPFLAGS): Likewise.
47329 (TARGET_CC): New variable.
47330 (TARGET_CFLAGS): Likewise.
47331 (TARGET_CPPFLAGS): Likewise.
47332 (TARGET_LDFLAGS): Likewise.
47333 (AWK): Likewise.
47334 (include): Use target_cpu instead of host_cpu.
47335 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 47336
b977bf01 47337 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
47338
f09771a1 473392006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
47340
47341 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
47342 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
47343 field 'false' to 'exec_on_false'.
47344 (grub_script_create_cmdif): Renamed argument names to reflect above
47345 changes.
47346
47347 * normal/execute.c (grub_script_execute_cmdif): Likewise.
47348
47349 * normal/script.c (grub_script_create_cmdif): Likewise.
47350
118f4fb3 473512006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
47352
47353 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
47354 top.
47355 (grub_hfsplus_btree_recptr): Likewise.
47356 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
47357 FILEBLOCK both to pass a block number and store next block
47358 number.
47359 (grub_hfsplus_read_block): Rewritten heavily to support an extent
47360 overflow file correctly. Specify errors appropriately, because
47361 fshelp expects that GRUB_ERRNO is set when fails. Reuse
47362 grub_hfsplus_btree_recptr to get the pointer to a found key.
47363 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
47364 is found.
47365
47366 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
47367 linux.mod.
47368 (_linux_mod_SOURCES): New variable.
47369 (_linux_mod_CFLAGS): Likewise.
47370 (_linux_mod_LDFLAGS): Likewise.
47371 (linux_mod_SOURCES): Likewise.
47372 (linux_mod_CFLAGS): Likewise.
47373 (linux_mod_LDFLAGS): Likewise.
47374
47375 * DISTLIST: Added loader/i386/efi/linux.c,
47376 loader/i386/efi/linux_normal.c and
47377 include/grub/i386/efi/loader.h.
47378
47379 * loader/i386/efi/linux.c: New file.
47380 * loader/i386/efi/linux_normal.c: Likewise.
47381 * include/grub/i386/efi/loader.h: Likewise.
47382
89a7d726 473832006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
47384
47385 * commands/blocklist.c: New file.
47386
47387 * DISTLIST: Added commands/blocklist.c.
47388
47389 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 47390 color for the background, and a darker color for the foreground.
89a7d726 47391 (grub_console_checkkey): Return READ_KEY.
47392 (grub_console_cls): Set the background to
47393 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
47394
47395 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
47396
47397 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
47398 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
47399
47400 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
47401 prototype.
47402
47403 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
47404 BG. The spec is wrong again.
47405
47406 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
47407 prototype.
47408 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
47409
47410 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47411 commands/blocklist.c.
47412 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 47413
89a7d726 47414 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
47415 (blocklist_mod_SOURCES): New variable.
47416 (blocklist_mod_CFLAGS): Likewise.
47417 (blocklist_mod_LDFLAGS): Likewise.
47418
75c8f258 474192006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
47420
47421 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
47422 duplication.
47423 (lba_mode): Use %eax more intensively to reduce the code size.
47424
da2eb181 474252006-05-20 Marco Gerards <marco@gnu.org>
47426
47427 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
47428
47429 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
47430 for `menuentry'.
47431 (script): Accept leading newlines.
47432 (newlines): New rule to describe 0 or more newlines.
47433 (commands): Accept `command' with trailing newline. Fixed the
47434 order in which arguments were passed to `grub_script_add_cmd'.
47435 Accept commands separated by newlines.
47436 (function): Changed to accept newlines.
47437 (menuentry) Rewritten.
47438
47439 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
47440 front of the list, instead of to the end.
47441
577b4050 474422006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
47443
47444 * util/i386/pc/grub-install.in (bindir): New variable.
47445 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
47446 Shaver <lbgwjl@gmail.com>.
47447
0d6e1189 474482006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
47449
47450 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
47451 grub/machine/linux.h
47452 * loader/i386/pc/linux.c: Likewise.
47453
47454 * include/grub/i386/pc/linux.h: Moved to ...
47455 * include/grub/i386/linux.h: ... here.
47456
47457 * include/grub/i386/linux.h (struct linux_kernel_params): New
47458 struct.
f19dbdb7 47459
31b86e9f 474602006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
47461
47462 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
47463 checking.
47464 (grub_video_vbe_blit_glyph): Likewise.
47465 (grub_video_vbe_blit_bitmap): Likewise.
47466 (grub_video_vbe_blit_render_target): Likewise.
47467
83b984de 474682006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
47469
47470 * configure.ac (--with-platform): Properly quote the square
47471 brackets.
47472
5f0413bd 474732006-05-08 Marco Gerards <marco@gnu.org>
47474
47475 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
47476 this...
47477 (kernel_elf_HEADERS): ...to this. Updated all users.
47478 (grubof_symlist.c): Renamed from this...
47479 (kernel_elf_symlist.c): ...to this. Updated all users.
47480 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47481 (grubof_SOURCES): Renamed from this...
47482 (kernel_elf_SOURCES): ...to this.
47483 (grubof_HEADERS): Renamed from this...
47484 (kernel_elf_HEADERS): ...to this.
47485 (grubof_CFLAGS): Renamed from this...
47486 (kernel_elf_CFLAGS): ...to this.
47487 (grubof_ASFLAGS): Renamed from this...
47488 (kernel_elf_ASFLAGS): ...to this.
47489 (grubof_LDFLAGS): Renamed from this...
47490 (kernel_elf_LDFLAGS): ...to this.
47491
47492 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
47493 this...
47494 (kernel_elf_HEADERS): ...to this. Updated all users.
47495 (grubof_symlist.c): Renamed from this...
47496 (kernel_elf_symlist.c): ...to this. Updated all users.
47497 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47498 (grubof_SOURCES): Renamed from this...
47499 (kernel_elf_SOURCES): ...to this.
47500 (grubof_HEADERS): Renamed from this...
47501 (kernel_elf_HEADERS): ...to this.
47502 (grubof_CFLAGS): Renamed from this...
47503 (kernel_elf_CFLAGS): ...to this.
47504 (grubof_ASFLAGS): Renamed from this...
47505 (kernel_elf_ASFLAGS): ...to this.
47506 (grubof_LDFLAGS): Renamed from this...
47507 (kernel_elf_LDFLAGS): ...to this.
47508
47509 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
47510 `kernel.elf' instead of `grubof'.
47511
05568c2e 475122006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
47513
47514 Add --with-platform to configure. Use pkglibdir instead of
47515 pkgdatadir. This is reported by Roger Leigh.
47516
47517 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
47518 (host_vendor): Likewise.
47519 (host_os): Likewise.
47520 (pkgdatadir): Likewise.
47521 (platform): New variable.
47522 (pkglibdir): Likewise.
47523 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 47524
05568c2e 47525 * util/i386/pc/grub-install.in (datadir): Removed.
47526 (host_vendor): Likewise.
47527 (host_os): Likewise.
47528 (pkgdatadir): Likewise.
47529 (platform): New variable.
47530 (pkglibdir): Likewise.
47531 Use PKGLIBDIR instead of PKGDATADIR.
47532
47533 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
47534 instead of GRUB_DATADIR.
47535 (main): Likewise.
47536 * util/i386/pc/grub-mkimage.c (usage): Likewise.
47537 (main): Likewise.
47538 * util/i386/efi/grub-mkimage.c (usage): Likewise.
47539 (main): Likewise.
47540
47541 * configure.ac (--with-platform): New option.
47542 Use PLATFORM instead of HOST_VENDOR to specify a platform.
47543
47544 * Makefile.in: Include a makefile based on PLATFORM instead of
47545 HOST_VENDOR.
47546 (pkgdatadir): Not appended by the machine type.
47547 (pkglibdir): Appended by the machine type.
47548 (host_vendor): Removed.
47549 (platform): New variable.
47550 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
47551 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
47552 (uninstall): Likewise.
47553
4e93851c 475542006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
47555
47556 Use the environment context in the menu. Remove the commands
47557 "default" and "timeout", and use variables instead.
f19dbdb7 47558
4e93851c 47559 * normal/menu.c: Include grub/env.h.
47560 (print_entry): Cast TITLE to silence gcc.
47561 (get_timeout): New function.
47562 (set_timeout): Likewise.
47563 (get_entry_number): Likewise.
47564 (run_menu): Use a default entry, a fallback entry and a timeout
47565 in the environment variables "default", "fallback" and
47566 "timeout". Also, tweak the default entry if it is not within the
47567 current menu entries.
47568 (grub_menu_run): Use a fallback entry in the environment variable
47569 "fallback".
47570
47571 * normal/main.c (read_config_file): Do not initialize
47572 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
47573 NEWMENU->TIMEOUT.
47574 (grub_normal_execute): Use a data slot to store the menu.
47575
47576 * include/grub/normal.h (struct grub_menu): Removed default_entry,
47577 fallback_entry and timeout.
47578 (struct grub_menu_list): Removed.
47579 (grub_menu_list_t): Likewise.
47580 (struct grub_context): Likewise.
47581 (grub_context_t): Likewise.
47582 (grub_context_get): Likewise.
47583 (grub_context_get_current_menu): Likewise.
47584 (grub_context_push_menu): Likewise.
47585 (grub_context_pop_menu): Likewise.
47586 (grub_default_init): Likewise.
47587 (grub_default_fini): Likewise.
47588 (grub_timeout_init): Likewise.
47589 (grub_timeout_fini): Likewise.
47590
47591 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
47592 and timeout.mod.
47593 (normal_mod_SOURCES): Removed normal/context.c.
47594
47595 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
47596 commands/default.c, commands/timeout.c and normal/context.c.
47597 (normal_mod_SOURCES): Removed normal/context.c.
47598
47599 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
47600 commands/timeout.c and normal/context.c.
47601 (normal_mod_SOURCES): Removed normal/context.c.
47602
47603 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
47604 commands/default.c, commands/timeout.c and normal/context.c.
47605 (normal_mod_SOURCES): Removed normal/context.c.
47606
47607 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
47608 timeout.mod.
47609 (default_mod_SOURCES): Removed.
47610 (default_mod_CFLAGS): Likewise.
47611 (default_mod_LDFLAGS): Likewise.
47612 (timeout_mod_SOURCES): Removed.
47613 (timeout_mod_CFLAGS): Likewise.
47614 (timeout_mod_LDFLAGS): Likewise.
47615
47616 * DISTLIST: Removed commands/default.c, commands/timeout.c and
47617 normal/context.c.
47618
47619 * commands/default.c: Removed.
47620 * commands/timeout.c: Likewise.
47621 * normal/context.c: Likewise.
47622
1eb9cc1d 476232006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
47624
47625 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
47626
385bd9c1 476272006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
47628
47629 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
47630 "next" to "prev" for readability.
47631 (struct grub_env_sorted_var): New struct.
47632 (grub_env_context): Renamed to ...
47633 (initial_context): ... this.
47634 (grub_env_var_context): Renamed to ...
47635 (current_context): ... this.
47636 (grub_env_find): Look only at CURRENT_CONTEXT.
47637 (grub_env_context_open): Rewritten to copy exported variables from
47638 previous context.
47639 (grub_env_context_close): Rewritten according to the new
47640 scheme. Also, add an assertion to prevent the initial context from
47641 removed.
47642 (grub_env_insert): Removed the code for the sorted list.
47643 (grub_env_remove): Likewise.
47644 (grub_env_export): Simply mark the variable with
47645 GRUB_ENV_VAR_GLOBAL.
47646 (grub_env_set): A cosmetic change for naming consistency.
47647 (grub_env_get): Likewise.
47648 (grub_env_unset): Likewise.
47649 (grub_env_iterate): Rewritten to sort variables within this
47650 function.
47651 (grub_register_variable_hook): Fixed for naming consistency. Call
47652 grub_env_find again, only if NAME is not found at the first time.
47653 (mangle_data_slot_name): New function.
47654 (grub_env_set_data_slot): Likewise.
47655 (grub_env_get_data_slot): Likewise.
47656 (grub_env_unset_data_slot): Likewise.
47657
47658 * include/grub/env.h (grub_env_var_type): New enum.
47659 (GRUB_ENV_VAR_LOCAL): New constant.
47660 (GRUB_ENV_VAR_GLOBAL): Likewise.
47661 (GRUB_ENV_VAR_DATA): Likewise.
47662 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
47663 "type".
47664 (grub_env_set): Replace VAR with NAME for consistency.
47665 (grub_register_variable_hook): Likewise.
47666 (grub_env_export): Specify the name of the argument.
47667 (grub_env_set_data_slot): New prototype.
47668 (grub_env_get_data_slot): Likewise.
47669 (grub_env_unset_data_slot): Likewise.
47670
7f362539 476712006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47672
47673 Extend the loader so that GRUB can accept a loader which comes
47674 back to GRUB when a loaded image exits. Also, this change adds
47675 support for a chainloader on EFI.
f19dbdb7 47676
7f362539 47677 * term/efi/console.c: Include grub/misc.h.
47678 (grub_console_checkkey): Display a scan code on the top for
47679 debugging. This will be removed once the EFI port gets stable.
47680 Correct the scan code mapping.
47681
47682 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
47683 allocate memory from larger regions, in order to reduce the number
47684 of allocated regions. Otherwise, the MacOSX loader panics.
47685 (filter_memory_map): Avoid less than 1MB for compatibility with
47686 other loaders.
47687 (add_memory_regions): Allocate from the tail of a region, if
47688 possible, to avoid allocating a region near to 1MB, for the MacOSX
47689 loader.
47690
47691 * kern/efi/init.c (grub_efi_set_prefix): Specify
47692 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
47693
47694 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
47695 argument IMAGE_HANDLE and specify it to get a loaded image.
47696 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
47697 grub_efi_get_loaded_image.
fe6b695a 47698 (grub_efi_get_filename): Divide the length by the size of
7f362539 47699 grub_efi_char16_t.
47700 (grub_efi_get_device_path): New function.
47701 (grub_efi_print_device_path): Print End Device Path nodes. Divide
47702 the length by the size of grub_efi_char16_t for a file path device
47703 path node.
47704
47705 * kern/loader.c (grub_loader_noreturn): New variable.
47706 (grub_loader_set): Accept a new argument NORETURN. Set
47707 GRUB_LOADER_NORETURN to NORETURN.
47708 All callers changed.
47709 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
47710 grub_machine_fini.
47711
47712 * include/grub/efi/efi.h (grub_efi_get_device_path): New
47713 prototype.
47714 (grub_efi_get_loaded_image): Take an argument to specify an image
47715 handle.
47716
47717 * include/grub/loader.h (grub_loader_set): Added one more argument
47718 NORETURN.
47719
47720 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
47721 instead of grub_efi_open_protocol.
47722 (grub_efidisk_get_device_name): Likewise.
47723 (grub_efidisk_close): Print a newline.
47724 (grub_efidisk_get_device_handle): Fixed to use
47725 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
47726 GRUB_EFI_DEVICE_PATH_TYPE.
47727
47728 * disk/efi/efidisk.c (device_path_guid): Moved to ...
47729 * kern/efi/efi.c (device_path_guid): ... here.
47730
47731 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
47732 chain.mod.
47733 (kernel_mod_HEADERS): Added efi/disk.h.
47734 (_chain_mod_SOURCES): New variable.
47735 (_chain_mod_CFLAGS): Likewise.
47736 (_chain_mod_LDFLAGS): Likewise.
47737 (chain_mod_SOURCES): Likewise.
47738 (chain_mod_CFLAGS): Likewise.
47739 (chain_mod_LDFLAGS): Likewise.
47740
47741 * DISTLIST: Added include/grub/efi/chainloader.h,
47742 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
47743
47744 * include/grub/efi/chainloader.h: New file.
47745 * loader/efi/chainloader.c: Likewise.
47746 * loader/efi/chainloader_normal.c: Likewise.
47747
c0111d6e 477482006-04-30 Marco Gerards <marco@gnu.org>
47749
47750 * commands/configfile.c (grub_cmd_source): New function.
47751 (GRUB_MOD_INIT): Register the commands `source' and `.'.
47752 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
47753
df5341da 477542006-04-30 Marco Gerards <marco@gnu.org>
47755
47756 * normal/execute.c (grub_script_execute_cmd): Change the return
47757 type to `grub_err_t'. Correctly return the error.
47758 (grub_script_execute_cmdline): In case a command line is not a
47759 command or a function, try to interpret it as an assignment.
47760
f85934bd 477612006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47762
47763 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
47764 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
47765 skip a node whose name is obviously invalid as UTF-16,
47766 i.e. contains a NUL character. Stop the iteration when the last
47767 directory entry is found. Instead of using the return value of
47768 grub_hfsplus_btree_iterate_node, store the value in RET and use
47769 it, because the iterator can be stopped by the last directory
47770 entry.
47771
8f8a2cf8 477722006-04-30 Marco Gerards <marco@gnu.org>
47773
47774 * include/grub/env.h (grub_env_export): New prototype. Reported
47775 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
47776
a27e84ce 477772006-04-30 Marco Gerards <marco@gnu.org>
47778
47779 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
47780 size of the extents in a catalog file record.
47781
eaef0553 477822006-04-29 Marco Gerards <marco@gnu.org>
47783
47784 * commands/configfile.c (grub_cmd_configfile): Execute the
47785 configfile within its own context.
47786
47787 * include/grub/env.h (grub_env_context_open): New prototype.
47788 (grub_env_context_close): Likewise.
47789
47790 * kern/env.c (grub_env): Removed.
47791 (grub_env_sorted): Likewise.
47792 (grub_env_context): New variable.
47793 (grub_env_var_context): Likewise.
47794 (grub_env_find): Search both the active context and the global
47795 context.
47796 (grub_env_context_open): New function.
47797 (grub_env_context_close): Likewise.
47798 (grub_env_insert): Likewise.
47799 (grub_env_remove): Likewise.
47800 (grub_env_export): Likewise.
47801 (grub_env_set): Changed to use helper functions to avoid code
47802 duplication.
47803 (grub_env_iterate): Rewritten so both the current context and the
47804 global context are being used.
47805
47806 * normal/command.c (export_command): New function.
47807 (grub_command_init): Register the `export' function.
47808
7b455f4d 478092006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
47810
47811 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
47812 explicitly to suppress gcc's warnings.
47813 * fs/fat.c (grub_fat_find_dir): Likewise.
47814 (grub_fat_label): Likewise.
47815 * fs/xfs.c (grub_xfs_read_inode): Likewise.
47816 (grub_xfs_mount): Likewise.
47817 (grub_xfs_label): Likewise.
47818 * fs/affs.c (grub_affs_mount): Likewise.
47819 (grub_affs_label): Likewise.
47820 (grub_affs_iterate_dir): Likewise.
47821 * fs/sfs.c (grub_sfs_mount): Likewise.
47822 (grub_sfs_iterate_dir): Likewise.
47823 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
47824 * fs/hfs.c (grub_hfs_mount): Likewise.
47825 (grub_hfs_cmp_catkeys): Likewise.
47826 (grub_hfs_find_dir): Likewise.
47827 (grub_hfs_dir): Likewise.
47828 (grub_hfs_label): Likewise.
47829 * fs/jfs.c (grub_jfs_mount): Likewise.
47830 (grub_jfs_opendir): Likewise.
47831 (grub_jfs_getent): Likewise.
47832 (grub_jfs_lookup_symlink): Likewise.
47833 (grub_jfs_label): Likewise.
47834 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
47835 (grub_hfsplus_iterate_dir): Likewise.
47836 (grub_hfsplus_btree_iterate_node): Made static.
47837
47838 * util/grub-emu.c (prefix): New variable.
47839 (grub_machine_set_prefix): New function.
47840 (main): Do not set the environment variable "prefix" here. Only
47841 set PREFIX, which is used later by grub_machine_set_prefix.
47842
47843 * include/grub/video.h: Do not include grub/symbol.h.
47844 (grub_video_register): Not exported. This symbol is not defined in
47845 the kernel.
47846 (grub_video_unregister): Likewise.
47847 (grub_video_iterate): Likewise.
47848 (grub_video_setup): Likewise.
47849 (grub_video_restore): Likewise.
47850 (grub_video_get_info): Likewise.
47851 (grub_video_get_blit_format): Likewise.
47852 (grub_video_set_palette): Likewise.
47853 (grub_video_get_palette): Likewise.
47854 (grub_video_set_viewport): Likewise.
47855 (grub_video_get_viewport): Likewise.
47856 (grub_video_map_color): Likewise.
47857 (grub_video_map_rgb): Likewise.
47858 (grub_video_map_rgba): Likewise.
47859 (grub_video_fill_rect): Likewise.
47860 (grub_video_blit_glyph): Likewise.
47861 (grub_video_blit_bitmap): Likewise.
47862 (grub_video_blit_render_target): Likewise.
47863 (grub_video_scroll): Likewise.
47864 (grub_video_swap_buffers): Likewise.
47865 (grub_video_create_render_target): Likewise.
47866 (grub_video_delete_render_target): Likewise.
47867 (grub_video_set_active_render_target): Likewise.
47868
47869 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
47870 Undefined.
47871 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
47872
47873 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
47874 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
47875 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
47876 instead of $(srcdir)/genkernsyms.sh.
47877
47878 * conf/powerpc-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/i386-pc.rmk (symlist.c): Depended on config.h. Use
47884 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-efi.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 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
47894 genkernsyms.sh.
47895
47896 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
47897 genkernsyms.sh.
47898 (gensymlist.sh): New target.
47899 (genkernsyms.sh): Likewise.
47900
47901 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
47902 genkernsyms.sh.in and gensymlist.sh.in.
47903
47904 * genkernsyms.sh: Removed.
47905 * gensymlist.sh: Likewise.
f19dbdb7 47906
7b455f4d 47907 * genkernsyms.sh.in: New file.
47908 * gensymlist.sh.in: Likewise.
47909
1885bb27 479102006-04-25 Hollis Blanchard <hollis@penguinppc.org>
47911
47912 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
47913 clobber "prefix", since we may have already set it manually.
47914
71538dff 479152006-04-25 Hollis Blanchard <hollis@penguinppc.org>
47916
47917 * kern/misc.c (abort): New alias for grub_abort.
47918
2965c7cc 479192006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
47920
47921 A new machine-specific function "grub_machine_set_prefix" is
47922 defined. This is called after loading modules, so that a prefix
47923 initialization can use modules. Also, this change adds an
47924 intensive debugging feature for the memory manager via the
47925 configure option "--enable-mm-debug".
f19dbdb7 47926
2965c7cc 47927 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
47928 PART.LEN.
47929
47930 * kern/sparc64/ieee1275/init.c (abort): Removed.
47931 (grub_stop): Likewise.
47932 (grub_exit): New function.
47933 (grub_set_prefix): Renamed to ...
47934 (grub_machine_set_prefix): ... this.
47935 (grub_machine_init): Do not call grub_set_prefix.
47936
47937 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
47938 (grub_machine_set_prefix): ... this.
47939 (grub_machine_init): Do not call grub_set_prefix.
47940
47941 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
47942 (grub_machine_init): Do not set the prefix here.
47943
47944 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
47945
47946 * kern/efi/init.c: Include grub/mm.h.
47947 (grub_efi_set_prefix): New function.
47948
47949 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
47950 (grub_efi_get_filename): New function.
47951 (grub_print_device_path): Renamed to ...
47952 (grub_efi_print_device_path): ... this.
47953
47954 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
47955 [MM_DEBUG] (grub_realloc): Likewise.
47956 [MM_DEBUG] (grub_free): Likewise.
47957 [MM_DEBUG] (grub_memalign): Likewise.
47958 [MM_DEBUG] (grub_mm_debug): New variable.
47959 [MM_DEBUG] (grub_debug_malloc): New function.
47960 [MM_DEBUG] (grub_debug_free): New function.
47961 [MM_DEBUG] (grub_debug_realloc): New function.
47962 [MM_DEBUG] (grub_debug_memalign): New function.
47963
47964 * kern/misc.c (grub_abort): Print a newline to distinguish
47965 the message.
47966
47967 * kern/main.c (grub_main): Call grub_machine_set_prefix and
47968 grub_set_root_dev after loading modules. This is necessary when
47969 setting a prefix depends on modules.
47970
47971 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
47972 (grub_efi_print_device_path): ... this.
47973 (grub_efi_get_filename): New prototype.
47974 (grub_efi_set_prefix): Likewise.
47975
47976 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
47977 and grub/disk.h.
47978 (grub_efidisk_get_device_handle): New prototype.
47979 (grub_efidisk_get_device_name): Likewise.
47980
47981 * include/grub/mm.h: Include config.h.
47982 (MM_DEBUG): Removed.
47983 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
47984 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
47985 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
47986 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
47987 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
47988 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
47989 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
47990 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
47991 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
47992
47993 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
47994
47995 * disk/efi/efidisk.c: Include grub/partition.h.
47996 (iterate_child_devices): New function.
47997 (add_device): First, compare only last device path nodes, so that
47998 devices are sorted by the types.
47999 (grub_efidisk_get_device_handle): New function.
48000 (grub_efidisk_get_device_name): Likewise.
48001
48002 * configure.ac (--enable-mm-debug): New option to enable the
48003 memory manager debugging feature. This makes the binary much
48004 bigger, so is disabled by default.
48005
9cacaa17 480062006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
48007
48008 Use grub_abort instead of grub_stop, and grub_exit must be
48009 define in each architecture now. Also, this change adds support
48010 for EFI disks.
f19dbdb7 48011
9cacaa17 48012 * util/i386/pc/grub-probefs.c: Include grub/term.h.
48013 (grub_getkey): New function.
48014 (grub_term_get_current): Likewise.
48015
48016 * util/i386/pc/grub-setup.c: Include grub/term.h.
48017 (grub_getkey): New function.
48018 (grub_term_get_current): Likewise.
48019
48020 * util/misc.c (grub_stop): Renamed to ...
48021 (grub_exit): ... this.
48022
48023 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
48024 (grub_exit): ... this.
48025 (grub_machine_init): Use grub_abort instead of abort.
48026 (grub_stop): Removed.
48027
48028 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
48029 abort.
48030
48031 * kern/i386/pc/startup.S (grub_exit): New function.
48032 (cold_reboot): New label.
48033
48034 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
48035 (grub_efi_init): Call grub_efidisk_init.
48036 (grub_efi_fini): Call grub_efidisk_fini.
48037
48038 * kern/efi/efi.c: Include grub/mm.h.
48039 (grub_efi_console_control_guid): Renamed to ...
48040 (console_control_guid): ... this.
48041 (grub_efi_loaded_image_guid): Renamed to ...
48042 (loaded_image_guid): ... this.
48043 (grub_efi_locate_handle): New function.
48044 (grub_efi_open_protocol): Likewise.
48045 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
48046 GRUB_EFI_CONSOLE_CONTROL_GUID.
48047 (grub_efi_exit): Removed.
48048 (grub_stop): Likewise.
48049 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
48050 (grub_exit): New function.
48051 (grub_print_device_path): Likewise.
48052
48053 * kern/rescue.c (grub_rescue_cmd_exit): New function.
48054 (grub_enter_rescue_mode): Register "exit".
48055
48056 * kern/misc.c (grub_real_dprintf): A cosmetic change.
48057 (grub_abort): New function.
48058
48059 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
48060
48061 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
48062
48063 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
48064
48065 * include/grub/efi/efi.h (grub_efi_exit): Removed.
48066 (grub_print_device_path): New prototype.
48067 (grub_efi_locate_handle): Likewise.
48068 (grub_efi_open_protocol): Likewise.
48069
48070 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
48071 * disk/efi/efidisk.c: Likewise.
48072
48073 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
48074
48075 * include/grub/efi/console_control.h
48076 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
48077
48078 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
48079 last 8 bytes as an array.
48080 (GRUB_EFI_DISK_IO_GUID): New macro.
48081 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
48082 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
48083 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
48084 grub_uint8_t.
48085 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
48086 (struct grub_efi_device_path): Rename the member "sub_type" to
48087 "subtype".
48088 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
48089 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
48090 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
48091 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
48092 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
48093 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
48094 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
48095 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
48096 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
48097 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
48098 (struct grub_efi_pci_device_path): New structure.
48099 (grub_efi_pci_device_path_t): New type.
48100 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
48101 (struct grub_efi_pccard_device_path): New structure.
48102 (grub_efi_pccard_device_path_t): New type.
48103 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
48104 (struct grub_efi_memory_mapped_device_path): New structure.
48105 (grub_efi_memory_mapped_device_path_t): New type.
48106 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
48107 (struct grub_efi_vendor_device_path): New structure.
48108 (grub_efi_vendor_device_path_t): New type.
48109 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
48110 (struct grub_efi_controller_device_path): New structure.
48111 (grub_efi_controller_device_path_t): New type.
48112 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
48113 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
48114 (struct grub_efi_acpi_device_path): New structure.
48115 (grub_efi_acpi_device_path_t): New type.
48116 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
48117 (struct grub_efi_expanded_acpi_device_path): New structure.
48118 (grub_efi_expanded_acpi_device_path_t): New type.
48119 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
48120 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
48121 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
48122 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
48123 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
48124 (struct grub_efi_atapi_device_path): New structure.
48125 (grub_efi_atapi_device_path_t): New type.
48126 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
48127 (struct grub_efi_fibre_channel_device_path): New structure.
48128 (grub_efi_fibre_channel_device_path_t): New type.
48129 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
48130 (struct grub_efi_1394_device_path): New structure.
48131 (grub_efi_1394_device_path_t): New type.
48132 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
48133 (struct grub_efi_usb_device_path): New structure.
48134 (grub_efi_usb_device_path_t): New type.
48135 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
48136 (struct grub_efi_usb_class_device_path): New structure.
48137 (grub_efi_usb_class_device_path_t): New type.
48138 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
48139 (struct grub_efi_i2o_device_path): New structure.
48140 (grub_efi_i2o_device_path_t): New type.
48141 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
48142 (struct grub_efi_mac_address_device_path): New structure.
48143 (grub_efi_mac_address_device_path_t): New type.
48144 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
48145 (struct grub_efi_ipv4_device_path): New structure.
48146 (grub_efi_ipv4_device_path_t): New type.
48147 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
48148 (struct grub_efi_ipv6_device_path): New structure.
48149 (grub_efi_ipv6_device_path_t): New type.
48150 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
48151 (struct grub_efi_infiniband_device_path): New structure.
48152 (grub_efi_infiniband_device_path_t): New type.
48153 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
48154 (struct grub_efi_uart_device_path): New structure.
48155 (grub_efi_uart_device_path_t): New type.
48156 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
48157 (struct grub_efi_vendor_messaging_device_path): New structure.
48158 (grub_efi_vendor_messaging_device_path_t): New type.
48159 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
48160 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
48161 (struct grub_efi_hard_drive_device_path): New structure.
48162 (grub_efi_hard_drive_device_path_t): New type.
48163 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
48164 (struct grub_efi_cdrom_device_path): New structure.
48165 (grub_efi_cdrom_device_path_t): New type.
48166 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
48167 (struct grub_efi_vendor_media_device_path): New structure.
48168 (grub_efi_vendor_media_device_path_t): New type.
48169 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
48170 (struct grub_efi_file_path_device_path): New structure.
48171 (grub_efi_file_path_device_path_t): New type.
48172 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
48173 (struct grub_efi_protocol_device_path): New structure.
48174 (grub_efi_protocol_device_path_t): New type.
48175 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
48176 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
48177 (struct grub_efi_bios_device_path): New structure.
48178 (grub_efi_bios_device_path_t): New type.
48179 (struct grub_efi_disk_io): New structure.
48180 (grub_efi_disk_io_t): New type.
48181 (struct grub_efi_block_io_media): New structure.
48182 (grub_efi_block_io_media_t): New type.
48183 (struct grub_efi_block_io): New structure.
48184 (grub_efi_block_io_t): New type.
48185
48186 * include/grub/misc.h (grub_stop): Removed.
48187 (grub_exit): New prototype.
48188 (grub_abort): Likewise.
48189
48190 * include/grub/disk.h (enum grub_disk_dev_id): Added
48191 GRUB_DISK_DEVICE_EFIDISK_ID.
48192
48193 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
48194 disk/efi/efidisk.c.
48195 (kernel_syms.lst): Remove the target if an error occurs.
48196
49986a9f 481972006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
48198
48199 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
48200 as it was simply too buggy.
48201
970d3b8a 482022006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
48203
48204 * kern/misc.c (grub_lltoa): New function.
48205 (grub_vsprintf): Added support for the long long suffix,
48206 i.e. "ll".
48207
ff04ec24 482082006-04-20 Hollis Blanchard <hollis@penguinppc.org>
48209
48210 * Makefile.in (LDFLAGS): Add variable.
48211 (LD): Remove variable.
48212 * configure.ac: Add -m32 to LDFLAGS.
48213 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
48214 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
48215 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
48216 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
48217 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
48218 variables.
48219 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
48220 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
48221 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
48222
37e5e1a4 482232006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
48224
48225 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
48226 length for unknown glyph.
48227
c352d8dd 482282006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
48229
2eab1c0d 48230 Add support for pre-loaded modules into the EFI port.
f19dbdb7 48231
2eab1c0d 48232 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
48233 completely. Accept one more argument DIR. The caller has changed.
48234
48235 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
48236
48237 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
48238 (grub_efi_loaded_image_guid): New variable.
48239 (grub_efi_get_loaded_image): New function.
48240 (grub_arch_modules_addr): Likewise.
48241
48242 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
48243 prototype.
48244
48245 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
48246 (struct grub_efi_loaded_image): New structure.
48247 (grub_efi_loaded_image_t): New type.
48248
482492006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 48250
c352d8dd 48251 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
48252 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
48253 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
48254
6d01d6b4 482552006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
48256
48257 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
48258
976a4ea0 482592006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
48260
48261 * DISTLIST: Added include/grub/efi/console.h,
48262 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
48263 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48264
48265 * include/grub/efi/console.h: New file.
48266 * include/grub/efi/time.h: Likewise.
48267 * include/grub/i386/efi/kernel.h: Likewise.
48268 * kern/efi/init.c: Likewise.
48269 * kern/efi/mm.c: Likewise.
48270 * term/efi/console.c: Likewise.
f19dbdb7 48271
976a4ea0 48272 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
48273 (grub_stop): Removed.
48274 (grub_get_rtc): Likewise.
48275 (grub_machine_init): Simply call grub_efi_init.
48276 (grub_machine_fini): Call grub_efi_fini.
48277
48278 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
48279 (grub_efi_output_string): Removed.
48280 (grub_efi_stall): New function.
48281 (grub_stop): Likewise.
48282 (grub_get_rtc): Likewise.
48283
48284 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
48285 (grub_efi_stall): New prototype.
48286 (grub_efi_allocate_pages): Likewise.
48287 (grub_efi_free_pages): Likewise.
48288 (grub_efi_get_memory_map): Likewise.
48289 (grub_efi_mm_init): Likewise.
48290 (grub_efi_mm_fini): Likewise.
48291 (grub_efi_init): Likewise.
48292 (grub_efi_fini): Likewise.
48293
48294 * include/grub/i386/efi/time.h: Do not include
48295 grub/symbol.h. Include grub/efi/time.h.
48296 (GRUB_TICKS_PER_SECOND): Removed.
48297 (grub_get_rtc): Likewise.
48298
48299 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
48300 Added padding. The EFI spec is buggy.
48301 (GRUB_EFI_BLACK): New macro.
48302 (GRUB_EFI_BLUE): Likewise.
48303 (GRUB_EFI_GREEN): Likewise.
48304 (GRUB_EFI_CYAN): Likewise.
48305 (GRUB_EFI_RED): Likewise.
48306 (GRUB_EFI_MAGENTA): Likewise.
48307 (GRUB_EFI_BROWN): Likewise.
48308 (GRUB_EFI_LIGHTGRAY): Likewise.
48309 (GRUB_EFI_BRIGHT): Likewise.
48310 (GRUB_EFI_DARKGRAY): Likewise.
48311 (GRUB_EFI_LIGHTBLUE): Likewise.
48312 (GRUB_EFI_LIGHTGREEN): Likewise.
48313 (GRUB_EFI_LIGHTCYAN): Likewise.
48314 (GRUB_EFI_LIGHTRED): Likewise.
48315 (GRUB_EFI_LIGHTMAGENTA): Likewise.
48316 (GRUB_EFI_YELLOW): Likewise.
48317 (GRUB_EFI_WHITE): Likewise.
48318 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
48319 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
48320 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
48321 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
48322 (GRUB_EFI_BACKGROUND_RED): Likewise.
48323 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
48324 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
48325 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
48326 (GRUB_EFI_TEXT_ATTR): Likewise.
48327
48328 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
48329 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48330 (kernel_mod_HEADERS): Added efi/time.h.
48331
83709125 483322006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
48333
48334 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
48335 include/grub/efi/api.h, include/grub/efi/console_control.h,
48336 include/grub/efi/efi.h, include/grub/efi/pe32.h,
48337 include/grub/i386/efi/time.h, kern/efi/efi.c,
48338 kern/i386/efi/init.c, kern/i386/efi/startup.S,
48339 and util/i386/efi/grub-mkimage.c.
48340
48341 * Makefile.in (RMKFILES): Added i386-efi.rmk.
48342
48343 * genmk.rb (PModule#rule): Do not export symbols if
48344 #{prefix}_EXPORTS is set to "no".
48345
48346 * conf/i386-efi.mk: New file.
48347 * conf/i386-efi.rmk: Likewise.
48348 * include/grub/efi/api.h: Likewise.
48349 * include/grub/efi/console_control.h: Likewise.
48350 * include/grub/efi/efi.h: Likewise.
48351 * include/grub/efi/pe32.h: Likewise.
48352 * include/grub/i386/efi/time.h: Likewise.
48353 * kern/efi/efi.c: Likewise.
48354 * kern/i386/efi/init.c: Likewise.
48355 * kern/i386/efi/startup.S: Likewise.
48356 * util/i386/efi/grub-mkimage.c: Likewise.
48357
483582006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 48359
48360 * include/grub/script.h: Include <grub/parser.h> and
48361 "grub_script.tab.h".
48362 (struct grub_lexer_param): New struct.
48363 (struct grub_parser_param): Likewise.
48364 (grub_script_create_arglist): Pass the state in an argument.
48365 (grub_script_add_arglist): Likewise.
48366 (grub_script_create_cmdline): Likewise.
48367 (grub_script_create_cmdblock): Likewise.
48368 (grub_script_create_cmdif): Likewise.
48369 (grub_script_create_cmdmenu): Likewise.
48370 (grub_script_add_cmd): Likewise.
48371 (grub_script_arg_add): Likewise.
48372 (grub_script_lexer_ref): Likewise.
48373 (grub_script_lexer_deref): Likewise.
48374 (grub_script_lexer_record_start): Likewise.
48375 (grub_script_lexer_record_stop): Likewise.
48376 (grub_script_mem_record): Likewise.
48377 (grub_script_mem_record_stop): Likewise.
48378 (grub_script_malloc): Likewise.
48379 (grub_script_yylex): Likewise.
48380 (grub_script_yyparse): Likewise.
48381 (grub_script_yyerror): Likewise.
48382 (grub_script_yylex): Likewise.
48383 (grub_script_lexer_init): Return the state.
48384
48385 * normal/lexer.c (grub_script_lexer_state): Removed variable.
48386 (grub_script_lexer_done): Likewise.
48387 (grub_script_lexer_getline): Likewise.
48388 (grub_script_lexer_refs): Likewise.
48389 (script): Likewise.
48390 (newscript): Likewise.
48391 (record): Likewise.
48392 (recording): Likewise.
48393 (recordpos): Likewise.
48394 (recordlen): Likewise.
48395 (grub_script_lexer_init): Return the state instead of setting
48396 global variables.
48397 (grub_script_lexer_ref): Use the newly added argument for state
48398 instead of globals.
48399 (grub_script_lexer_deref): Likewise.
48400 (grub_script_lexer_record_start): Likewise.
48401 (grub_script_lexer_record_stop): Likewise.
48402 (recordchar): Likewise.
48403 (nextchar): Likewise.
48404 (grub_script_yylex2): Likewise.
48405 (grub_script_yylex): Likewise.
48406 (grub_script_yyerror): Likewise.
48407
48408 * normal/parser.y (func_mem): Removed variable.
48409 (menu_entry): Likewise.
48410 (err): Likewise.
48411 (%lex-param): New parser option.
48412 (%parse-param): Likewise.
48413 (script): Always return the AST.
48414 (argument): Pass the state around.
48415 (arguments): Likewise.
48416 (grubcmd): Likewise.
48417 (commands): Likewise.
48418 (function): Likewise.
48419 (menuentry): Likewise.
48420 (if_statement): Likewise.
48421 (if): Likewise.
48422
48423 * normal/script.c (grub_script_memused): Removed variable.
48424 (grub_script_parsed): Likewise.
48425 (grub_script_malloc): Added a state argument. Use that instead of
48426 global variables.
48427 (grub_script_mem_record): Likewise.
48428 (grub_script_mem_record_stop): Likewise.
48429 (grub_script_arg_add): Likewise.
48430 (grub_script_add_arglist): Likewise.
48431 (grub_script_create_cmdline): Likewise.
48432 (grub_script_create_cmdif): Likewise.
48433 (grub_script_create_cmdmenu): Likewise.
48434 (grub_script_add_cmd): Likewise.
48435 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 48436
e2a8c904 484372006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 48438
48439 * normal/command.c (grub_command_init): Remove the title command.
48440
48441 * normal/lexer.c (grub_script_yylex): Renamed from this...
48442 (grub_script_yylex2): ... to this.
48443 (grub_script_yylex): New function. Temporary
48444 introduced to filter some tokens.
48445 (grub_script_yyerror): Print a newline.
48446
48447 * normal/main.c (read_config_file): Output information about the
48448 lines that contain errors. Wait for a key after all lines have
48449 been processed. Don't return an empty menu.
48450
48451 * normal/parser.y (func_mem): Don't initialize.
48452 (menu_entry): Likewise.
48453 (err): New variable.
48454 (script): Don't return anything when an error was encountered.
48455 (ws, returns): Removed rules.
48456 (argument): Disabled concatenated variable support.
48457 (arguments): Remove explicit separators.
48458 (grubcmd): Likewise.
48459 (function): Likewise.
48460 (menuentry): Likewise.
48461 (if): Likewise.
48462 (commands): Likewise. Add error handling.
48463
48464 * normal/script.c (grub_script_create_cmdline): If
48465 `grub_script_parsed' is 0, assume the parser encountered an error.
48466
c9a86192 484672006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
48468
48469 * configure.ac: Add support for EFI. Fix the typo
48470 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
48471
70f3b243 484722006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48473
48474 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
48475 foreign multibyte characters should be shown correctly.
48476
65f201ad 484772006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48478
48479 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
48480 calculation.
48481 (read_config_file): Made it to close file before returning.
48482
b4b93674 484832006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
48484
48485 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
48486 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
48487 video/i386/pc/vbefill.c.
48488
48489 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
48490 video/i386/pc/vbefill.c.
48491
48492 * include/grub/video.h (grub_video_blit_format): New enum.
48493 (grub_video_mode_info): Added new member blit_format.
48494 (grub_video_get_blit_format): New function prototype.
48495
48496 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
48497 function prototype.
48498 (grub_video_vbe_map_rgb): Likewise.
48499 (grub_video_vbe_unmap_color): Likewise.
48500
48501 * include/grub/i386/pc/vbeblit.h: New file.
48502
48503 * include/grub/i386/pc/vbefill.h: New file.
48504
48505 * video/video.c (grub_video_get_blit_format): New function.
48506 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
48507 (grub_video_vbe_map_rgb): Likewise.
48508 (grub_video_vbe_unmap_color): Likewise.
48509
48510 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
48511 optimized fills.
48512 (grub_video_vbe_blit_render_target): Changed to use more optimized
48513 blits.
48514 (grub_video_vbe_setup): Added detection for optimized settings.
48515 (grub_video_vbe_create_render_target): Likewise.
48516
48517 * video/i386/pc/vbeblit.c: New file.
48518
48519 * video/i386/pc/vbefill.c: New file.
48520
c2379b9c 485212006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
48522
48523 * font/manager.c (grub_font_get_glyph): Removed font fixup from
48524 here...
48525
48526 * util/unifont2pff.rb: ... and moved it to here. Improved argument
48527 parsing to support both hex and dec ranges. If filename was missing
48528 show usage information.
48529
bd0d7896 485302006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
48531
48532 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
48533 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
48534
48535 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
48536 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
48537 (video_mod_SOURCES): Added.
48538 (video_mod_CFLAGS): Likewise.
48539 (video_mod_LDFLAGS): Likewise.
48540 (gfxterm_mod_SOURCES): Likewise.
48541 (gfxterm_mod_CFLAGS): Likewise.
48542 (gfxterm_mod_LDFLAGS): Likewise.
48543 (videotest_mod_SOURCES): Likewise.
48544 (videotest_mod_CFLAGS): Likewise.
48545 (videotest_mod_LDFLAGS): Likewise.
48546 (vesafb_mod_SOURCES): Removed.
48547 (vesafb_mod_CFLAGS): Likewise.
48548 (vesafb_mod_LDFLAGS): Likewise.
48549 (vga_mod_SOURCES): Likewise.
48550 (vga_mod_CFLAGS): Likewise.
48551 (vga_mod_LDFLAGS): Likewise.
48552
48553 * commands/videotest.c: New file.
48554
48555 * font/manager.c (fill_with_default_glyph): Modified to use
48556 grub_font_glyph.
48557 (grub_font_get_glyph): Likewise.
48558 (fontmanager): Renamed from this...
48559 (font_manager): ... to this.
48560
48561 * include/grub/font.h (grub_font_glyph): Added new structure.
48562 (grub_font_get_glyph): Modified to use grub_font_glyph.
48563
48564 * include/grub/misc.h (grub_abs): Added as inline function.
48565
48566 * include/grub/video.h: New file.
48567
48568 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
48569 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
48570 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
48571 (grub_vbe_get_controller_info): Renamed from this...
48572 (grub_vbe_bios_get_controller_info): ... to this.
48573 (grub_vbe_get_mode_info): Renamed from this...
48574 (grub_vbe_bios_get_mode_info): ... to this.
48575 (grub_vbe_set_mode): Renamed from this...
48576 (grub_vbe_bios_set_mode): ... to this.
48577 (grub_vbe_get_mode): Renamed from this...
48578 (grub_vbe_bios_get_mode): ... to this.
48579 (grub_vbe_set_memory_window): Renamed from this...
48580 (grub_vbe_bios_set_memory_window): ... to this.
48581 (grub_vbe_get_memory_window): Renamed from this...
48582 (grub_vbe_bios_get_memory_window): ... to this.
48583 (grub_vbe_set_scanline_length): Renamed from this...
48584 (grub_vbe_set_scanline_length): ... to this.
48585 (grub_vbe_get_scanline_length): Renamed from this...
48586 (grub_vbe_bios_get_scanline_length): ... to this.
48587 (grub_vbe_set_display_start): Renamed from this...
48588 (grub_vbe_bios_set_display_start): ... to this.
48589 (grub_vbe_get_display_start): Renamed from this...
48590 (grub_vbe_bios_get_display_start): ... to this.
48591 (grub_vbe_set_palette_data): Renamed from this...
48592 (grub_vbe_bios_set_palette_data): ... to this.
48593 (grub_vbe_set_pixel_rgb): Removed.
48594 (grub_vbe_set_pixel_index): Likewise.
48595
48596 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
48597 from this...
48598 (grub_vbe_bios_get_controller_info): ... to this.
48599 (grub_vbe_get_mode_info): Renamed from this...
48600 (grub_vbe_bios_get_mode_info): ... to this.
48601 (grub_vbe_set_mode): Renamed from this...
48602 (grub_vbe_bios_set_mode): ... to this.
48603 (grub_vbe_get_mode): Renamed from this...
48604 (grub_vbe_bios_get_mode): ... to this.
48605 (grub_vbe_set_memory_window): Renamed from this...
48606 (grub_vbe_bios_set_memory_window): ... to this.
48607 (grub_vbe_get_memory_window): Renamed from this...
48608 (grub_vbe_bios_get_memory_window): ... to this.
48609 (grub_vbe_set_scanline_length): Renamed from this...
48610 (grub_vbe_set_scanline_length): ... to this.
48611 (grub_vbe_get_scanline_length): Renamed from this...
48612 (grub_vbe_bios_get_scanline_length): ... to this.
48613 (grub_vbe_set_display_start): Renamed from this...
48614 (grub_vbe_bios_set_display_start): ... to this.
48615 (grub_vbe_get_display_start): Renamed from this...
48616 (grub_vbe_bios_get_display_start): ... to this.
48617 (grub_vbe_set_palette_data): Renamed from this...
48618 (grub_vbe_bios_set_palette_data): ... to this.
48619 (grub_vbe_bios_get_controller_info): Fixed problem with registers
48620 getting corrupted after calling it. Added more pushes and pops.
48621 (grub_vbe_bios_set_mode): Likewise.
48622 (grub_vbe_bios_get_mode): Likewise.
48623 (grub_vbe_bios_get_memory_window): Likewise.
48624 (grub_vbe_bios_set_scanline_length): Likewise.
48625 (grub_vbe_bios_get_scanline_length): Likewise.
48626 (grub_vbe_bios_get_display_start): Likewise.
48627 (grub_vbe_bios_set_palette_data): Likewise.
48628
48629 * normal/cmdline.c (cl_set_pos): Refresh the screen.
48630 (cl_insert): Likewise.
48631 (cl_delete): Likewise.
48632
48633 * term/gfxterm.c: New file.
48634
48635 * term/i386/pc/vesafb.c: Removed file.
48636
48637 * video/video.c: New file.
48638
48639 * video/i386/pc/vbe.c (real2pm): Added new function.
48640 (grub_video_vbe_draw_pixel): Likewise.
48641 (grub_video_vbe_get_video_ptr): Likewise.
48642 (grub_video_vbe_get_pixel): Likewise
48643 (grub_video_vbe_init): Likewise.
48644 (grub_video_vbe_fini): Likewise.
48645 (grub_video_vbe_setup): Likewise.
48646 (grub_video_vbe_get_info): Likewise.
48647 (grub_video_vbe_set_palette): Likewise.
48648 (grub_video_vbe_get_palette): Likewise.
48649 (grub_video_vbe_set_viewport): Likewise.
48650 (grub_video_vbe_get_viewport): Likewise.
48651 (grub_video_vbe_map_color): Likewise.
48652 (grub_video_vbe_map_rgb): Likewise.
48653 (grub_video_vbe_map_rgba): Likewise.
48654 (grub_video_vbe_unmap_color): Likewise.
48655 (grub_video_vbe_fill_rect): Likewise.
48656 (grub_video_vbe_blit_glyph): Likewise.
48657 (grub_video_vbe_blit_bitmap): Likewise.
48658 (grub_video_vbe_blit_render_target): Likewise.
48659 (grub_video_vbe_scroll): Likewise.
48660 (grub_video_vbe_swap_buffers): Likewise.
48661 (grub_video_vbe_create_render_target): Likewise.
48662 (grub_video_vbe_delete_render_target): Likewise.
48663 (grub_video_vbe_set_active_render_target): Likewise.
48664 (grub_vbe_set_pixel_rgb): Remove function.
48665 (grub_vbe_set_pixel_index): Likewise.
48666 (index_color_mode): Remove static variable.
48667 (active_mode): Likewise.
48668 (framebuffer): Likewise.
48669 (bytes_per_scan_line): Likewise.
48670 (grub_video_vbe_adapter): Added new static variable.
48671 (framebuffer): Likewise.
48672 (render_target): Likewise.
48673 (initial_mode): Likewise.
48674 (mode_in_use): Likewise.
48675 (mode_list): Likewise.
48676
5f97350b 486772006-03-10 Marco Gerards <marco@gnu.org>
48678
48679 * configure.ac (AC_INIT): Bumped to 1.93.
48680
48681 * DISTLIST: Added `include/grub/hfs.h'.
48682
a3c5c6f8 486832006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
48684
48685 * boot/i386/pc/boot.S (general_error): Before looping, try INT
48686 18H, which might help the BIOS falling back to next boot media.
48687
6de53d26 486882006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
48689
48690 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
48691 Poe Chen <poe.poechen@gmail.com>.
48692
77c4a393 486932006-01-17 Marco Gerards <marco@gnu.org>
48694
48695 * include/grub/normal.h: Include <grub/script.h>.
48696 (grub_command_list): Removed struct.
48697 (grub_command_list_t): Removed type.
48698 (grub_menu_entry): Remove members `num' and `command_list'. Add
48699 members `commands' and `sourcecode'.
48700 * include/grub/script.h: Add inclusion guards.
48701 (grub_script_cmd_menuentry): New struct.
48702 (grub_script_execute_menuentry): New prototype.
48703 (grub_script_lexer_record_start): Likewise.
48704 (grub_script_lexer_record_stop): Likewise.
48705 * normal/execute.c (grub_script_execute_menuentry): New function.
48706 * normal/lexer.c (record, recording, recordpos, recordlen): New
48707 variables.
48708 (grub_script_lexer_record_start): New function.
48709 (grub_script_lexer_record_stop): Likewise.
48710 (recordchar): Likewise.
48711 (nextchar): Likewise.
48712 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
48713 2048 as the buffer size. Add the tokens `menuentry' and `@'.
48714 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
48715 (current_menu): New variable.
48716 (free_menu): Mainly rewritten.
48717 (grub_normal_menu_addentry): New function.
48718 (read_config_file): Rewritten.
48719 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 48720 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 48721 the menu entry.
48722 (run): Mainly rewritten.
48723 * normal/parser.y (menu_entry): New variable.
48724 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
48725 (menuentry): New rule.
48726 (command): Add `menuentry'.
48727 (if_statement): Allow additional returns before `fi'.
48728 * normal/script.c (grub_script_create_cmdmenu): New function.
48729
144f1f98 487302006-01-03 Marco Gerards <marco@gnu.org>
48731
48732 * INSTALL: GNU Bison is required.
48733 * configure.ac: Rewritten the test to detect Bison.
48734 * Makefile.in (YACC): New variable. Reported by Xun Sun
48735 <xun.sun.cn@gmail.com>.
48736
af4b2d89 487372006-01-03 Marco Gerards <marco@gnu.org>
48738
48739 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
48740 the HFS+ filesystem to filesystem blocks.
48741 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
48742 GCC warning is silenced.
48743
15643b71 487442006-01-03 Marco Gerards <marco@gnu.org>
48745
48746 * partmap/apple.c (apple_partition_map_iterate): Convert the data
48747 read from disk from big endian to host byte order.
48748
00905879 487492006-01-03 Hollis Blanchard <hollis@penguinppc.org>
48750
48751 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
48752 documentation.
48753 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
48754 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
48755 embedded HFS+ filesystem.
48756 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
48757 (grub_hfs_sblock): Move from here...
48758 * include/grub/hfs.h: To here... New file.
48759 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
48760 documentation.
48761 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
48762 New macros.
48763 (grub_hfsplus_volheader): Change type of member `magic' to
48764 `grub_uint16_t'.
48765 (grub_hfsplus_data): Add new member `embedded_offset'.
48766 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
48767 returned block.
48768 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
48769 Calculate the offset.
48770
8899bc3e 487712005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48772
48773 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
48774 Removed.
48775 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
48776
ae8c0277 487772005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48778
48779 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
48780 ENV->NAME is NULL after allocating ENV->VALUE.
48781
07084456 487822005-12-25 Marco Gerards <marco@gnu.org>
48783
48784 * kern/env.c (grub_env_set): Rewritten the error handling code.
48785
4750f5f1 487862005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48787
48788 * geninit.sh: Made more robust, and more portable.
48789
50214199 487902005-12-25 Marco Gerards <marco@gnu.org>
48791
48792 Add support for Apple HFS+ filesystems.
f19dbdb7 48793
50214199 48794 * fs/hfsplus.c: New file.
48795
48796 * DISTLIST: Added `fs/hfsplus.c'.
48797
48798 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
48799 (hfsplus_mod_SOURCES): New variable.
48800 (hfsplus_mod_CFLAGS): Likewise.
48801 (hfsplus_mod_LDFLAGS): Likewise.
48802 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
48803 (grub_setup_SOURCES): Likewise.
48804 (grub_mkdevicemap_SOURCES): Likewise.
48805 (grub_emu_SOURCES): Likewise.
48806 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
48807
48808 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
48809
48810 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
48811
befaed6c 488122005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
48813
48814 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
48815 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
48816 include/grub/parser.h, include/grub/script.h, kern/parser.c,
48817 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
48818 normal/lexer.c, normal/parser.y, normal/script.c, and
48819 partmap/gpt.c.
48820 Removed kern/sparc64/cache.c.
48821
48822 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
48823 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
48824 grub_emu_init.c.
48825
48826 * configure.ac (AC_INIT): Bumped to 1.92.
48827
6a124103 488282005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
48829
48830 * kern/err.c (grub_error_push): Added new function to support error
48831 stacks.
48832 (grub_error_pop): Likewise.
48833 (grub_error_stack_items): New local variable to support error stacks.
48834 (grub_error_stack_pos): Likewise.
48835 (grub_error_stack_assert): Likewise.
48836 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
48837 stack depth.
48838 (grub_print_error): Added support to print errors from error stack.
48839
48840 * include/grub/err.h (grub_error_push): Added function prototype.
48841 (grub_error_pop): Likewise.
48842
be973c1b 488432005-12-09 Hollis Blanchard <hollis@penguinppc.org>
48844
48845 * configure.ac: Accept `powerpc64' as host_cpu.
48846 (amd64): Rename to `biarch32'.
48847
48848 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
48849 non-cacheline-aligned addresses.
48850
48851 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
48852 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
48853 if `size' is non-zero.
48854
b04216ab 488552005-12-03 Marco Gerards <mgerards@xs4all.nl>
48856
48857 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
48858 and `cd' to make sure the filename is not prefixed with a
48859 directory name.
48860 (pkgdata_MODULES): Add `gpt.mod'.
48861 (gpt_mod_SOURCES): New variable.
48862 (gpt_mod_CFLAGS): Likewise.
48863 (gpt_mod_LDFLAGS): Likewise.
48864
48865 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
48866
48867 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
48868 New macro.
48869
48870 * partmap/gpt.c: New file.
48871
48872 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
48873 GPT partition map is detected.
48874
41730ed9 488752005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
48876
48877 * commands/i386/pc/play.c: New file.
48878 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
48879 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
48880 macros.
f19dbdb7 48881
95dc3643 488822005-11-27 Marco Gerards <mgerards@xs4all.nl>
48883
48884 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
48885 ((unused))' to silence gcc warning.
48886
1569ec51 488872005-11-26 Hollis Blanchard <hollis@penguinppc.org>
48888
48889 * configure.ac: Correct `AC_PROG_YACC' test.
48890
9abde152 488912005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48892
48893 * util/powerpc/ieee1275/grub-install.in: Run the mount point
48894 check before installing files.
48895
44b83271 488962005-11-22 Mike Small <smallm@panix.com>
48897
48898 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
48899 number regex so multidigit numbers are recognized correctly.
48900
489012005-11-22 Mike Small <smallm@panix.com>
48902
48903 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
48904 debugging message before attempting to claim memory.
48905 (grub_rescue_cmd_initrd): Add a claim debugging message and try
48906 multiple addresses in case of failure.
48907
9c12956b 489082005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48909
48910 * term/tparm.c (get_space): Remove empty `if' statement.
48911
48912 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
48913
48914 * kern/parser.c (check_varstate): Rename `state' to 's'.
48915
aeaf81d9 489162005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48917
48918 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
48919 variable definitions to the beginning of each function. Sort stack
48920 variables by size.
48921 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
48922 `buf' argument to `char *'.
48923
79bbb63f 489242005-11-22 Hollis Blanchard <hollis@penguinppc.org>
48925
48926 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
48927 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 48928 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 48929 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
48930 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
48931 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
48932 configfile.mod, search.mod, gzio.mod and test.mod.
48933 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
48934 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
48935 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
48936 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
48937 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
48938 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
48939 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
48940 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
48941 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
48942 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
48943 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48944 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48945 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
48946 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
48947 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
48948 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
48949 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48950 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
48951 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
48952 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
48953 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
48954 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
48955 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
48956
48957 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
48958 `grep --include'.
48959 (pkgdata_MODULES): Add test.mod.
48960
233b1628 489612005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
48962
48963 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
48964 appending to variables with "+=".
48965 (PModule): Use full pathname to generate *.lst filenames.
48966
48967 * Makefile.in: Fixed list rules moved from genmk.rb.
48968 (.DELETE_ON_ERROR): New special target.
48969 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
48970
48971 * conf/i386-pc.rmk: Include conf/common.mk.
48972 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 48973 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 48974 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
48975 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
48976 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
48977 configfile.mod, search.mod, gzio.mod and test.mod.
48978 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
48979 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
48980 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
48981 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
48982 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
48983 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
48984 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
48985 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
48986 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
48987 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
48988 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
48989 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
48990 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
48991 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
48992 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
48993 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
48994 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
48995 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
48996 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
48997 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
48998 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
48999 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49000 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
49001 here...
49002 * conf/common.rmk: ... to here. New file.
49003
49004 * conf/common.mk: New file.
49005
16f820c8 490062005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
49007
49008 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
49009 (grub_script.tab.c): ... here.
49010
49011 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
49012 (grub_script.tab.c): ... here.
49013
49014 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
49015 (grub_script.tab.c): ... here.
49016
49017 * normal/command.c (grub_command_find): Fixed a memory leak of
49018 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
49019
63ba1554 490202005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49021
49022 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
49023 "@" which marks the start of a comment on ARM.
49024 (VARIABLE): Likewise.
49025
7f67dc13 490262005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49027
79bbb63f 49028 Add support for Linux/ADFS partition tables.
7f67dc13 49029
49030 * partmap/acorn.c: New file.
49031
49032 * include/grub/acorn_filecore.h: Likewise.
49033
49034 * DISTLIST: Added `partmap/acorn.c' and
49035 `include/grub/acorn_filecore.h'.
f19dbdb7 49036
7f67dc13 49037 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49038 `partmap/acorn.c'.
49039 (pkgdata_MODULES): Add `acorn.mod'.
49040 (acorn_mod_SOURCES): New variable.
49041 (acorn_mod_CFLAGS): Likewise.
49042
49043 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49044 `partmap/acorn.c'.
49045 (pkgdata_MODULES): Add `acorn.mod'.
49046 (acorn_mod_SOURCES): New variable.
49047 (acorn_mod_CFLAGS): Likewise.
49048
49049 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
49050 (pkgdata_MODULES): Add `acorn.mod'.
49051 (acorn_mod_SOURCES): New variable.
49052 (acorn_mod_CFLAGS): Likewise.
49053 (acorn_mod_LDFLAGS): Likewise.
49054
49055 * include/types.h (grub_disk_addr_t): New typedef.
49056
6d099807 490572005-11-13 Marco Gerards <mgerards@xs4all.nl>
49058
49059 * geninit.sh: New file.
49060
49061 * geninitheader.sh: Likewise.
49062
49063 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
49064 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
49065 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
49066 * commands/configfile.c (grub_configfile_init)
49067 (grub_configfile_fini): Likewise.
49068 * commands/default.c (grub_default_init, grub_default_fini):
49069 Likewise.
49070 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
49071 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
49072 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
49073 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
49074 Likewise.
49075 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
49076 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
49077 Likewise.
49078 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 49079 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 49080 Likewise.
49081 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
49082 Likewise.
fe6b695a 49083 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 49084 Likewise.
49085 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
49086 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
49087 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
49088 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
49089 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
49090 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
49091 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
49092 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
49093 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
49094 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
49095 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
49096 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
49097 * partmap/amiga.c (grub_amiga_partition_map_init)
49098 (grub_amiga_partition_map_fini): Likewise.
49099 * partmap/apple.c (grub_apple_partition_map_init)
49100 (grub_apple_partition_map_fini): Likewise.
49101 * partmap/pc.c (grub_pc_partition_map_init)
49102 (grub_pc_partition_map_fini): Likewise.
49103 * partmap/sun.c (grub_sun_partition_map_init,
49104 grub_sun_partition_map_fini): Likewise.
49105 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
49106 Likewise.
49107
49108 * util/grub-emu.c: Include <grub_modules_init.h>.
49109 (main): Don't initialize and de-initialize any modules directly,
49110 use `grub_init_all' and `grub_fini_all' instead.
49111
49112 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
49113 `grub_vesafb_mod_init'.
49114 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
49115 all users.
49116 * term/i386/pc/vga.c (grub_vga_init): Renamed to
49117 `grub_vga_mod_init'. Updated all users.
49118 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 49119
6d099807 49120 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
49121 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
49122 rules.
49123
49124 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
49125 Generate a function to initialize the module in utilities.
49126 Updated all callers.
49127 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
49128 initialize the module in utilities. Updated all callers.
49129
9046bcf0 491302005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49131
49132 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
49133 escape sequence and a literal ^L to clear the screen.
49134
49135 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
49136 when returning from Open Firmware.
49137
d13ea639 491382005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49139
49140 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
49141 (grub_ofconsole_height): Likewise.
49142 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
49143 manually insert a '\n'.
49144 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
49145 `grub_ofconsole_height'. Return early if these are already set.
49146
a8fcf206 491472005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
49148
49149 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49150 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
49151 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
49152 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
49153 and `normal/script.c'.
49154 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49155 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49156 (test_mod_SOURCES): New variable.
49157 (test_mod_CFLAGS): Likewise.
49158 (test_mod_LDFLAGS): Likewise.
49159 (pkgdata_MODULES): Add `test.mod'.
49160 (grub_script.tab.c): New rule.
49161 (grub_script.tab.h): Likewise.
49162
b6b32745 491632005-11-07 Marco Gerards <mgerards@xs4all.nl>
49164
49165 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49166 `commands/test.c', `normal/execute.c', `normal/lexer.c',
49167 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49168 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49169 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49170 (test_mod_SOURCES): New variable.
49171 (test_mod_CFLAGS): Likewise.
49172 (pkgdata_MODULES): Add `test.mod'.
49173 (grub_script.tab.c): New rule.
49174 (grub_script.tab.h): Likewise.
49175
daac212a 491762005-11-06 Marco Gerards <mgerards@xs4all.nl>
49177
49178 Add initial scripting support.
49179
49180 * commands/test.c: New file.
49181 * include/grub/script.h: Likewise.
49182 * normal/execute.c: Likewise.
49183 * normal/function.c: Likewise.
49184 * normal/lexer.c: Likewise.
49185 * normal/parser.y: Likewise.
49186 * normal/script.c: Likewise.
49187
49188 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 49189
daac212a 49190 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
49191 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
49192 `normal/function.c' and `normal/script.c'.
49193 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49194 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 49195 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
49196 variables.
daac212a 49197 (pkgdata_MODULES): Add `test.mod'.
49198 (grub_script.tab.c): New rule.
49199 (grub_script.tab.h): Likewise.
49200
49201 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
49202
49203 * include/grub/normal.h (grub_test_init): New prototype.
49204 (grub_test_fini): Likewise.
f19dbdb7 49205
daac212a 49206 * normal/command.c: Include <grub/script.h>.
49207 (grub_command_execute): Rewritten.
f19dbdb7 49208
daac212a 49209 * util/grub-emu.c (main): Call `grub_test_init' and
49210 `grub_test_fini'.
49211
77500b2b 492122005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49213
49214 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
49215 to 0.
49216 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
49217 there are no pending characters.
49218
e45deb9e 492192005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49220
49221 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
49222 `grub_strndup' to drop device arguments. Replace unnecessary
49223 `grub_strndup' with `grub_strdup'.
49224
4ce32619 492252005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49226
49227 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
49228 `debug' environment variable has been set.
49229
492302005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 49231
4ce32619 49232 * Makefile.in (install-local): Use $(DATA).
49233 (uninstall): Likewise.
49234 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
49235 (sbin_UTILITIES): ... to here.
49236 (sbin_SCRIPTS): New variable.
49237 (grub_install_SOURCES): New variable.
49238 * util/powerpc/ieee1275/grub-install.in: New file.
49239 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
49240 variable.
49241 (add_segments): Call `grub_util_get_path'.
49242
25fe6f03 492432005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
49244
49245 From Timothy Baldwin:
49246 * commands/ls.c (grub_ls_list_files): Close FILE with
49247 grub_file_close.
49248 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
49249
04ccf3ec 492502005-10-24 Marco Gerards <mgerards@xs4all.nl>
49251
49252 * include/grub/parser.h: New file.
49253
49254 * kern/parser.c: Likewise.
49255
49256 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
49257 (grub_setup_SOURCES): Likewise.
49258 (grub_probefs_SOURCES): Likewise.
49259 (grub_emu_SOURCES): Likewise.
49260 (kernel_img_HEADERS): Add `parser.h'.
49261
49262 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49263 (grub_emu_SOURCES): Add `kern/parser.c'.
49264 (grubof_SOURCES): Likewise.
49265
49266 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49267 (grubof_SOURCES): Add `kern/parser.c'.
49268
49269 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
49270
49271 * kern/misc.c (grub_split_cmdline): Removed function.
49272
49273 * kern/rescue.c: Include <grub/parser.h>.
49274 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
49275 of `grub_split_cmdline'.
49276
49277 * normal/command.c: Include <grub/parser.h>.
49278 (grub_command_execute): Use `grub_parser_split_cmdline' instead
49279 of `grub_split_cmdline'.
49280
49281 * normal/completion.c: Include <grub/parser.h>.
49282 (cmdline_state): New variable.
49283 (iterate_dir): End the filename with a quote depending on the
49284 command line state.
49285 (get_state): new function.
49286 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
49287 split the arguments and determine the current argument. When the
49288 argument string is not quoted, escape all spaces.
49289
6d8f4b0e 492902005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49291
49292 * normal/sparc64/setjmp.S: New file.
49293
15cf03ed 492942005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49295
49296 * include/grub/sparc64/libgcc.h: New file.
49297 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
49298 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
49299 normal/sparc64/setjmp.c.
49300
03e8661a 493012005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49302
49303 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
49304 * kern/sparc64/cache.S: New file.
49305 * kern/sparc64/cache.c: Removed.
49306 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
49307 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
49308 -mtune=ultrasparc.
49309 (COMMON_LDFLAGS): Add -melf64_sparc.
49310 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
49311 (grubof_SOURCES): Use cache.S instead of cache.c.
49312 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
49313 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
49314 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
49315 commented though.
49316 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
49317 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
49318 (linux_mod_CFLAGS): Commented out.
49319 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
49320 out because module isn't built.
49321 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
49322 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
49323 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
49324 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
49325 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
49326 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49327 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49328 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
49329 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
49330 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
49331 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49332 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49333 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
49334 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
49335
34eeec8a 493362005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
49337
49338 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
49339 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
49340 longer, because HFS should not be used on PC.
49341
708367a3 493422005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49343
49344 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
49345 consistently within the loop.
49346
6fa1251a 493472005-10-15 Marco Gerards <mgerards@xs4all.nl>
49348
49349 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
49350 directory can not be read.
49351
4801580b 493522005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49353
49354 * configure.ac (AC_INIT): Increase the version number to 1.91.
49355
49356 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
49357 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
49358 term/i386/pc/serial.c.
49359
219ad426 493602005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49361
49362 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
49363 file size must be permitted.
49364
49365 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
49366 between %ah and %al.
49367
688e5699 493682005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49369
49370 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
49371 grub_uint64_t.
49372 Call the hook with a NUL-terminated filename.
49373 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
49374 grub_cpu_to_be32.
49375
49376 * kern/term.c (cursor_state): New variable.
49377 (grub_term_set_current): Reset the cursor state on a new
49378 terminal.
49379 (grub_setcursor): Rewritten to use CURSOR_STATE.
49380 (grub_getcursor): New function.
49381
49382 * include/grub/term.h (grub_getcursor): New prototype.
49383
49384 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
49385 integers on ARM. Reported by Timothy Baldwin
49386 <T.E.Baldwin99@members.leeds.ac.uk>.
49387
bb34586c 493882005-10-11 Marco Gerards <mgerards@xs4all.nl>
49389
49390 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
49391 allocated.
49392 (grub_sfs_dir): Likewise.
49393
9a909877 493942005-10-09 Marco Gerards <mgerards@xs4all.nl>
49395
49396 Add support for the SFS filesystem.
49397
49398 * fs/sfs.c: New file.
49399
49400 * DISTLIST: Added `fs/sfs.c'.
49401
49402 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
49403 (grub_probefs_SOURCES): Likewise.
49404 (grub_emu_SOURCES): Likewise.
49405 (pkgdata_MODULES): Add `sfs.mod'.
49406 (sfs_mod_SOURCES): New variable.
49407 (sfs_mod_CFLAGS): Likewise.
49408 (sfs_mod_LDFLAGS): Likewise.
49409
49410 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
49411 (pkgdata_MODULES): Add `sfs.mod'.
49412 (sfs_mod_SOURCES): New variable.
49413 (sfs_mod_CFLAGS): Likewise.
49414
49415 * util/grub-emu.c (main): Call `grub_sfs_init' and
49416 `grub_sfs_fini'.
49417
49418 * include/grub/fs.h (grub_sfs_init): New prototype.
49419 (grub_sfs_fini): Likewise.
49420
57bdbde3 494212005-10-07 Marco Gerards <mgerards@xs4all.nl>
49422
49423 Add support for the AFFS filesystem.
49424
49425 * fs/affs.c: New file.
49426
49427 * DISTLIST: Added `fs/affs.c'.
49428
49429 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
49430 (grub_probefs_SOURCES): Likewise.
49431 (grub_emu_SOURCES): Likewise.
49432 (pkgdata_MODULES): Add `affs.mod'.
49433 (affs_mod_SOURCES): New variable.
49434 (affs_mod_CFLAGS): Likewise.
49435 (affs_mod_LDFLAGS): Likewise.
49436
49437 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
49438 (pkgdata_MODULES): Add `affs.mod'.
49439 (affs_mod_SOURCES): New variable.
49440 (affs_mod_CFLAGS): Likewise.
49441
49442 * util/grub-emu.c (main): Call `grub_affs_init' and
49443 `grub_affs_fini'.
49444
49445 * include/grub/fs.h (grub_affs_init): New prototype.
49446 (grub_affs_fini): Likewise.
49447
047b67e0 494482005-10-01 Marco Gerards <mgerards@xs4all.nl>
49449
49450 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
49451
59b8208a 494522005-10-01 Marco Gerards <mgerards@xs4all.nl>
49453
49454 * configure.ac: Accept `x86_64' as host_cpu. In that case add
49455 `-m32' to CFLAGS.
49456
49457 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
49458 linking.
f19dbdb7 49459
59b8208a 49460 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
49461 (COMMON_LDFLAGS): New variable.
49462 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
49463 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
49464 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
49465 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
49466 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
49467 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
49468 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
49469 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
49470 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
49471 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
49472 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49473 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49474 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
49475 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
49476 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
49477 variables.
49478 (normal_mod_ASFLAGS): Add `-m32'.
49479
49480 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
49481 (grub_host_size_t, grub_host_ssize_t): New types.
49482 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 49483 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 49484 `GRUB_HOST_SIZEOF_VOID_P'.
49485
49486 * include/grub/kernel.h (struct grub_module_header): Type of
49487 member offset changed to `grub_host_off_t'. Type of member size
49488 changed to `grub_host_size_t'.
49489 (struct grub_module_info): Type of member offset changed to
49490 `grub_host_off_t'. Type of member size changed to
49491 `grub_host_size_t'.
49492
b4093103 494932005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
49494
49495 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 49496
b4093103 49497 * kern/i386/pc/startup.S (multiboot_header): New label.
49498 (multiboot_entry): Likewise.
49499 (multiboot_trampoline): Likewise.
49500
49501 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
49502 Increased to 0x4A0.
49503
49504 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
49505 put parentheses after a question mark.
49506 [!GRUB_UTIL] (my_mod): New variable.
49507
49508 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
49509
b2499b29 495102005-09-28 Marco Gerards <mgerards@xs4all.nl>
49511
49512 Adds support for the XFS filesystem. Btrees are not supported
49513 yet.
49514
49515 * fs/xfs.c: New file.
49516
49517 * DISTLIST: Added `fs/xfs.c'.
49518
49519 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
49520 (grub_probefs_SOURCES): Likewise.
49521 (grub_emu_SOURCES): Likewise.
49522 (pkgdata_MODULES): Add `xfs.mod'.
49523 (xfs_mod_SOURCES): New variable.
49524 (xfs_mod_CFLAGS): Likewise.
49525
49526 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
49527 (pkgdata_MODULES): Add `xfs.mod'.
49528 (xfs_mod_SOURCES): New variable.
49529 (xfs_mod_CFLAGS): Likewise.
49530
49531 * util/grub-emu.c (main): Call `grub_xfs_init' and
49532 `grub_xfs_fini'.
49533
49534 * include/grub/fs.h (grub_xfs_init): New prototype.
49535 (grub_xfs_fini): Likewise.
49536
f19dbdb7 49537
83d37a62 495382005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
49539
49540 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
49541 color modes, allow greater than 16 colors to be configured as
49542 a default palette.
49543
47d2d65e 495442005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
49545
49546 * normal/completion.c (complete_arguments): Add the qualifier
49547 const into OPTIONS.
49548
49549 From Omniflux <omniflux+lists@omniflux.com>:
49550 * include/grub/terminfo.h: New file.
49551 * include/grub/tparm.h: Likewise.
49552 * include/grub/i386/pc/serial.h: Likewise.
49553 * term/terminfo.c: Likewise.
49554 * term/tparm.c: Likewise.
49555 * term/i386/pc/serial.c: Likewise.
49556 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
49557 serial.mod.
49558 (terminfo_mod_SOURCES): New variable.
49559 (terminfo_mod_CFLAGS): Likewise.
49560 (serial_mod_SOURCES): Likewise.
49561 (serial_mod_CFLAGS): Likewise.
49562
48b671ff 495632005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
49564
49565 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
49566 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
49567 and kern/powerpc/ieee1275/cmain.c, respectively.
49568
49569 * boot/powerpc/ieee1275/crt0.S: Moved to ...
49570 * kern/powerpc/ieee1275/crt0.S: ... here.
49571
49572 * boot/powerpc/ieee1275/cmain.c: Moved to ...
49573 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 49574
48b671ff 49575 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
49576 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
49577 instead of boot/powerpc/ieee1275/crt0.S and
49578 boot/powerpc/ieee1275/cmain.c, respectively.
49579
49580 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
49581 sectors. It was not used anyway.
49582
09fc77a7 495832005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49584
49585 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
49586 `unused parameter' warning.
49587
003789c7 495882005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49589
49590 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
49591 function.
49592 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
49593 getcharwidth.
49594
67f44c86 495952005-08-28 Marco Gerards <metgerards@student.han.nl>
49596
49597 * include/grub/normal.h (enum grub_completion_type): Added
49598 `GRUB_COMPLETION_TYPE_ARGUMENT'.
49599
49600 * normal/cmdline.c (print_completion): Handle
49601 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
49602 * normal/menu_entry.c (store_completion): Likewise.
49603
49604 * normal/completion.c (complete_arguments): New function.
49605 (grub_normal_do_completion): Call `complete_arguments' when the
49606 current words start with a dash.
49607
0b5abe02 496082005-08-27 Marco Gerards <metgerards@student.han.nl>
49609
49610 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
49611 `gzio.mod' instead of `io.mod').
49612
d9864ee1 496132005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
49614
49615 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
49616 (DISTDIRS): Added io and video.
49617 Rewrite the search routine to make an output consistently.
49618
49619 * DISTLIST: Added conf/sparc64-ieee1275.mk,
49620 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
49621 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
49622 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
49623 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
49624 util/powerpc/ieee1275/misc.c.
f19dbdb7 49625
d9864ee1 49626 * include/grub/gzio.h: New file.
49627 * io/gzio.c: Likewise.
f19dbdb7 49628
d9864ee1 49629 * kern/file.c (grub_file_close): Call grub_device_close only if
49630 FILE->DEVICE is not NULL.
49631
49632 * include/grub/mm.h [!NULL] (NULL): New macro.
49633
49634 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
49635
49636 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
49637 (pkgdata_MODULES): Added gzio.mod.
49638 (gzio_mod_SOURCES): New variable.
49639 (gzio_mod_CFLAGS): Likewise.
49640
49641 * conf/i386-pc.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 * commands/cat.c: Include grub/gzio.h.
49647 (grub_cmd_cat): Use grub_gzfile_open instead of
49648 grub_file_open.
f19dbdb7 49649
d9864ee1 49650 * commands/cmp.c: Include grub/gzio.h.
49651 (grub_cmd_cmp): Use grub_gzfile_open instead of
49652 grub_file_open.
49653
49654 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
49655 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
49656 grub_file_open.
49657 (grub_rescue_cmd_module): Likewise.
49658
fa46f4b5 496592005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49660
49661 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
49662 kern/sparc64/ieee1275/init.c because it contains _start.
49663 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
49664
e9211b5d 496652005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49666
49667 * configure.ac: Add support for sparc64 host with ieee1275
49668 firmware.
49669 * configure: Generated from configure.ac.
49670 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
49671 instead of int.
49672 (grub_ofdisk_read): Likewise.
49673 (grub_ofdisk_open): Use %p to print pointer values, and cast the
49674 pointers as (void *) to remove a warning.
49675 (grub_ofdisk_close): Likewise.
49676 (grub_ofdisk_read): Likewise.
49677 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
49678 returns, so make it return void to remove a warning.
49679 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
49680 Corresponding prototype change.
49681 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
49682 values, and cast the pointers as (void *) to remove a warning.
49683 (grub_mm_dump): Likewise.
49684 * conf/sparc64-ieee1275.mk: New file.
49685 * conf/sparc64-ieee1275.rmk: Likewise.
49686 * include/grub/sparc64/setjmp.h: Likewise.
49687 * include/grub/sparc64/types.h: Likewise.
49688 * include/grub/sparc64/ieee1275/console.h: Likewise.
49689 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
49690 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
49691 * include/grub/sparc64/ieee1275/time.h: Likewise.
49692 * kern/sparc64/cache.c: Likewise.
49693 * kern/sparc64/dl.c: Likewise.
49694 * kern/sparc64/ieee1275/init.c: Likewise.
49695 * kern/sparc64/ieee1275/openfw.c: Likewise.
49696
385c6a92 496972005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49698
49699 * util/console.c (grub_ncurses_putchar): If C is greater than
49700 0x7f, set C to a question mark.
49701 (grub_ncurses_getcharwidth): New function.
49702 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
49703 getcharwidth.
49704
49705 * normal/menu.c (print_entry): Made aware of Unicode. First,
49706 convert TITLE to UCS-4, and predict the cursor position by
49707 grub_getcharwidth.
49708
49709 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
49710 const to SRC.
49711 * kern/misc.c (grub_utf16_to_utf8): Likewise.
49712
16ccb8b1 497132005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49714
49715 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
49716 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49717 grub_strcat.
49718
49719 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
49720 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49721 grub_strcpy and grub_strlen. Take it into account that a space
49722 character is inserted as a delimiter.
49723
6a85ce79 497242005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49725
49726 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 49727 invalid magic in the error.
6a85ce79 49728
49729 * commands/search.c: New file.
f19dbdb7 49730
6a85ce79 49731 * util/grub-emu.c (main): Call grub_search_init and
49732 grub_search_fini.
49733
49734 * kern/rescue.c (grub_rescue_print_disks): Removed.
49735 (grub_rescue_print_devices): New function.
49736 (grub_rescue_cmd_ls): Use grub_device_iterate with
49737 grub_rescue_print_devices instead of grub_disk_dev_iterate with
49738 grub_rescue_print_disks.
49739
49740 * kern/partition.c (grub_partition_iterate): Return the result of
49741 PARTMAP->ITERATE instead of GRUB_ERRNO.
49742
49743 * kern/device.c: Include grub/partition.h.
49744 (grub_device_iterate): New function.
49745
49746 * include/grub/partition.h (grub_partition_iterate): Return int
49747 instead of grub_err_t.
49748
49749 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
49750 prototype.
49751 [GRUB_UTIL] (grub_search_fini): Likewise.
49752
49753 * include/grub/device.h (grub_device_iterate): New prototype.
49754
49755 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
49756 commands/search.c.
49757 (pkgdata_MODULES): Added search.mod.
49758 (search_mod_SOURCES): New variable.
49759 (search_mod_CFLAGS): Likewise.
49760
49761 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
49762 (pkgdata_MODULES): Added search.mod.
49763 (search_mod_SOURCES): New variable.
49764 (search_mod_CFLAGS): Likewise.
49765
49766 * commands/ls.c (grub_ls_list_disks): Renamed to ...
49767 (grub_ls_list_devices): ... this, and use grub_device_iterate.
49768 All callers changed.
49769
49770 * DISTLIST: Added commands/search.c.
49771
ef095434 497722005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49773
49774 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
49775 conversion.
49776 (grub_getcharwidth): New function.
49777
49778 * kern/misc.c (grub_utf8_to_ucs4): New function.
49779
49780 * include/grub/term.h (struct grub_term): Added a new member
49781 "getcharwidth".
49782 (grub_getcharwidth): New prototype.
49783
49784 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
49785
49786 * term/i386/pc/console.c (map_char): New function. Segregated from
49787 grub_console_putchar.
49788 (grub_console_putchar): Use map_char.
49789 (grub_console_getcharwidth): New function.
49790 (grub_console_term): Specified grub_console_getcharwidth as
49791 getcharwidth.
49792
49793 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
49794 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
49795
49796 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
49797 GRUB_ERRNO.
49798 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
49799 on grub_strtoul completely.
49800 (write_char): Declare local variables in the beginning of the
49801 function.
49802 (grub_vesafb_getcharwidth): New function.
49803 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
49804 getcharwidth.
49805
1f0a95e4 498062005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
49807
49808 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
49809 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
49810 commands/i386/pc/vbetest.c.
49811
49812 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
49813 call grub_vbe_get_controller_info again, because the returned
49814 information is volatile.
49815 (grub_vbe_set_video_mode): Mostly rewritten.
49816 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
49817 grub_vbe_status_t correctly.
49818 (grub_vbe_get_video_mode_info): Likewise.
49819 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
49820 several if statements.
49821
49822 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
49823 * commands/i386/pc/vbeinfo.c: ... this.
49824
49825 * commands/i386/pc/vbe_test.c: Renamed to ...
49826 * commands/i386/pc/vbetest.c: ... this.
49827
49828 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
49829 ...
49830 (grub_cmd_vbeinfo): ... this. Save video modes before
49831 iterating. Skip a video mode, if it is not available, not enough
49832 information is given or it is monochrome. Show the memory
49833 model. Leave the interpretation of MODEVAR to grub_strtoul
49834 completely.
49835 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
49836 (GRUB_MOD_FINI): Likewise.
49837
49838 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
49839 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
49840 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
49841 duplicated grub_env_get. Leave the interpretation of MODEVAR to
49842 grub_strtoul completely.
49843 (real2pm): Removed.
49844 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
49845 (GRUB_MOD_FINI): Likewise.
49846
49847 * normal/misc.c: Include grub/mm.h.
49848
49849 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
49850 vbe_list_modes with vbetest.mod and vbeinfo.mod.
49851 (vbe_list_modes_mod_SOURCES): Removed.
49852 (vbe_list_modes_mod_CFLAGS): Likewise.
49853 (vbe_test_mod_SOURCES): Likewise.
49854 (vbe_test_mod_CFLAGS): Likewise.
49855 (vbeinfo_mod_SOURCES): New variable.
49856 (vbeinfo_mod_CFLAGS): Likewise.
49857 (vbetest_mod_SOURCES): Likewise.
49858 (vbetest_mod_CFLAGS): Likewise.
49859
992ffbbe 498602005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
49861
49862 * normal/misc.c: New file.
49863
49864 * DISTLIST: Added normal/misc.c.
f19dbdb7 49865
992ffbbe 49866 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
49867 DISK to HOOK. Call HOOK with DISK.
49868 * partmap/apple.c (apple_partition_map_iterate): Likewise.
49869 * partmap/pc.c (pc_partition_map_iterate): Likewise.
49870 * partmap/sun.c (sun_partition_map_iterate): Likewise.
49871
49872 * normal/menu_entry.c (struct screen): Added a new member
49873 "completion_shown".
49874 (completion_buffer): New global variable.
49875 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
49876 (store_completion): New function.
49877 (complete): Likewise.
49878 (clear_completions): Likewise.
49879 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
49880 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
49881 a tab, call complete.
49882
49883 * normal/completion.c (disk_dev): Removed.
49884 (print_simple_completion): Likewise.
49885 (print_partition_completion): Likewise.
49886 (print_func): New global variable.
49887 (add_completion): Do not take the arguments WHAT or PRINT any
49888 longer. Added a new argument TYPE. Instead of printing directly,
49889 call PRINT_FUNC if not NULL.
49890 All callers changed.
49891 (complete_device): Use a local variable DEV instead of
49892 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
49893 (grub_normal_do_completion): Take a new argument HOOK. Do not
49894 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
49895 empty string, return NULL instead.
49896 All callers changed.
49897
49898 * normal/cmdline.c (print_completion): New function.
49899
49900 * kern/partition.c (grub_partition_iterate): Add an argument DISK
49901 to HOOK.
49902 All callers changed.
49903
49904 * kern/disk.c (grub_print_partinfo): Removed.
49905
49906 * include/grub/partition.h (struct grub_partition_map): Add a new
49907 argument DISK into HOOK of ITERATE.
49908 (grub_partition_iterate): Add a new argument DISK to HOOK.
49909
49910 * include/grub/normal.h (enum grub_completion_type): New enum.
49911 (grub_completion_type_t): New type.
49912 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
49913 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
49914 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
49915 (GRUB_COMPLETION_TYPE_FILE): Likewise.
49916 (grub_normal_do_completion): Added a new argument HOOK.
49917 (grub_normal_print_device_info): New prototype.
49918
49919 * include/grub/disk.h (grub_print_partinfo): Removed.
49920
49921 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
49922 (normal_mod_SOURCES): Likewise.
49923 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49924 (normal_mod_SOURCES): Likewise.
49925
49926 * commands/ls.c (grub_ls_list_disks): Use
49927 grub_normal_print_device_info instead of grub_print_partinfo. Free
49928 PNAME.
49929 (grub_ls_list_files): Use grub_normal_print_device_info instead of
49930 duplicating the code.
49931
0bd41162 499322005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
49933
49934 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 49935 follow GCS more precisely.
49936 * commands/i386/pc/vbe_test.c: Likewise.
49937 * include/grub/i386/pc/vbe.h: Likewise.
49938 * term/i386/pc/vesafb.c: Likewise.
49939 * video/i386/pc/vbe.c: Likewise.
0bd41162 49940
6323696a 499412005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
49942
49943 * DISTLIST: Added term/i386/pc/vesafb.c
49944 DISTLIST: Added video/i386/pc/vbe.c
49945 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
49946 DISTLIST: Added commands/i386/pc/vbe_test.c.
49947 * commands/i386/pc/vbe_list_modes.c: New file.
49948 * commands/i386/pc/vbe_test.c: Likewise.
49949 * term/i386/pc/vesafb.c: Likewise.
49950 * video/i386/pc/vbe.c: Likewise.
49951 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
49952 (grub_vbe_probe) Added prototype.
49953 (grub_vbe_set_video_mode) Likewise.
49954 (grub_vbe_get_video_mode) Likewise.
49955 (grub_vbe_get_video_mode_info) Likewise.
49956 (grub_vbe_set_pixel_rgb) Likewise.
49957 (grub_vbe_set_pixel_index) Likewise.
49958 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
49959 (pkgdata_MODULES): Added vesafb.mod.
49960 (pkgdata_MODULES): Added vbe_list_modes.mod.
49961 (pkgdata_MODULES): Added vbe_test.mod.
49962 (vbe_mod_SOURCES): Added.
49963 (vbe_mod_CFLAGS): Likewise.
49964 (vesafb_mod_SOURCES): Likewise.
49965 (vesafb_mod_CFLAGS): Likewise.
49966 (vbe_list_modes_mod_SOURCES): Likewise.
49967 (vbe_list_modes_mod_CFLAGS): Likewise.
49968 (vbe_test_mod_SOURCES): Likewise.
49969 (vbe_test_mod_CFLAGS): Likewise.
49970
0a74e62f 499712005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
49972
0a74e62f 49973 * normal/command.c (grub_command_execute): If INTERACTIVE is
49974 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
49975 CMDLINE. Disable the pager if INTERACTIVE is true.
49976 All callers are changed.
49977
49978 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
49979 before reading a config file.
49980 * normal/main.c (read_config_file): Even if a command is not
49981 found, register it if it is within an entry.
49982
49983 * util/grub-emu.c: Include sys/types.h and unistd.h.
49984 (options): Added --hold.
49985 (struct arguments): Added a new member "hold".
49986 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
49987 missing.
49988 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
49989 cleared by a debugger, if it is not zero.
49990
49991 * include/grub/normal.h (grub_command_execute): Add an argument
49992 INTERACTIVE.
49993
e51f85ae 499942005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
49995
49996 * DISTLIST: Added include/grub/i386/pc/vbe.h.
49997
e9c6f39b 499982005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
49999
50000 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
50001 program with another one, because the old one didn't detect a bug
50002 in gcc-3.4. Always use regparm 2, because the new test is still
50003 not enough for gcc-4.0. Someone must investigate a simple test
50004 case which detects a bug in gcc-4.0.
50005
8de3495c 500062005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
50007
50008 * DISTLIST: Added normal/completion.c.
50009
50010 * normal/completion.c: New file.
f19dbdb7 50011
8de3495c 50012 * term/i386/pc/console.c (grub_console_getwh): New function.
50013 (grub_console_term): Assign grub_console_getwh to getwh.
50014
50015 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
50016 function is defined in normal/completion.c as
50017 grub_normal_do_completion.
50018 (grub_cmdline_get): Use grub_normal_do_completion instead of
50019 grub_tab_complete.
50020
50021 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
50022 returns non-zero, otherwise return 0.
50023 (grub_partition_iterate): First, probe the partition map. Then,
50024 call ITERATE only for this partition map.
50025
50026 * kern/misc.c (grub_strncmp): Rewritten.
50027
50028 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
50029 returns non-zero. Otherwise return 0.
50030
50031 * include/grub/partition.h (grub_partition_map_iterate): Return
50032 int instead of void.
50033
50034 * include/grub/normal.h (grub_normal_do_completion): New prototype.
50035
50036 * include/grub/misc.h (grub_strncmp): Change the type of N to
50037 grub_size_t.
50038
50039 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
50040 of void.
50041
50042 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 50043 unsigned explicitly before comparing it with I.
8de3495c 50044
50045 * kern/main.c (grub_env_write_root): Add the attribute unused into
50046 VAR.
50047
50048 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50049 normal/completion.c.
50050 (normal_mod_SOURCES): Likewise.
50051 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
50052 (normal_mod_SOURCES): Likewise.
50053
50054 * normal/command.c (grub_iterate_commands): If ITERATE returns
50055 non-zero, return one immediately.
50056
e85e144b 500572005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
50058
50059 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
50060 * kern/i386/pc/startup.S: Updated Global Descriptor table's
50061 descriptions.
50062 (grub_vbe_get_controller_info): New function.
50063 (grub_vbe_get_mode_info): Likewise.
50064 (grub_vbe_set_mode): Likewise.
50065 (grub_vbe_get_mode): Likewise.
50066 (grub_vbe_set_memory_window): Likewise.
50067 (grub_vbe_get_memory_window): Likewise.
50068 (grub_vbe_set_scanline_length): Likewise.
50069 (grub_vbe_get_scanline_length): Likewise.
50070 (grub_vbe_set_display_start): Likewise.
50071 (grub_vbe_get_display_start): Likewise.
50072 (grub_vbe_set_palette_data): Likewise.
50073 * include/grub/i386/pc/vbe.h: New file.
50074
c46153d2 500752005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50076
50077 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50078 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
50079 * DISTLIST: Likewise.
50080 * kern/ieee1275/of.c: Moved to ...
50081 * kern/ieee1275/ieee1275.c: ... here.
50082
0cb90c45 500832005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50084
50085 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
50086 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
50087 Pass 0 as `end' parameter to grub_strtoul().
50088
a19fb360 500892005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50090
50091 * include/grub/powerpc/ieee1275/console.h: Do not include
50092 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
50093 ifdef.
50094 (grub_console_cur_color): Remove i386-specific prototype.
50095 (grub_console_real_putchar): Likewise.
50096 (grub_console_checkkey): Likewise.
50097 (grub_console_getkey): Likewise.
50098 (grub_console_getxy): Likewise.
50099 (grub_console_gotoxy): Likewise.
50100 (grub_console_cls): Likewise.
50101 (grub_console_setcursor): Likewise.
50102 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
50103 Include <grub/machine/console.h>.
50104 * term/ieee1275/ofconsole.c: Likewise.
50105
4ac9bd04 501062005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
50107
50108 * Makefile.in (LIBLZO): New variable.
50109
50110 * configure.ac: Check for LZO version 2.
50111
50112 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
50113 lzo/lzo1x.h instead of lzo1x.h.
50114
50115 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
50116 of -llzo.
50117
50118 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
50119 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
50120
50121 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
50122 copying the data from PARTITION to P.
50123
f4917dfd 501242005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50125
50126 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
50127 negative, unload the module.
50128
50129 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
50130 map is "pc_partition_map" but not "pc".
50131 (usage): Fix the description. The options are --boot-image and
50132 --core-image but not --boot-file or --core-file.
50133 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
50134 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
50135 DEFAULT_DIRECTORY.
50136
50137 * util/i386/pc/grub-install.in: Do not specify --boot-file or
50138 --core-file. Specify INSTALL_DEVICE as an argument.
50139
50140 * util/console.c: Include config.h.
50141 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
50142 [HAVE_NCURSES_H]: Include ncurses.h.
50143 [HAVE_CURSES_H]: Include curses.h.
50144 [!A_NORMAL] (A_NORMAL): Defined as zero.
50145 [!A_STANDOUT] (A_STANDOUT): Likewise.
50146
50147 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
50148 -lncurses.
50149 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
50150
50151 * configure.ac: Check for curses libraries and headers.
50152
50153 * Makefile.in (LIBCURSES): New variable.
50154
50155 * genmk.rb (Script::rule): Set the executable bits.
50156
50157 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
50158 name of the PC partition map is "pc_partition_map" but not "pc".
50159
0e143073 501602005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50161
50162 * util/i386/pc/grub-install.in (grub_probefs): New variable.
50163 (modules): Likewise.
50164 (usage): Added descriptions for --modules and --grub-probefs.
50165 Handle --modules and --grub-probefs. Save the arguments in MODULES
50166 and GRUB_PROBEFS, respectively.
50167 Auto-detect a filesystem module against GRUBDIR. If the result is
50168 empty and modules are not specified explicitly, abort the
50169 installation. Add the result to MODULES.
50170
50171 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
50172 disk/powerpc/ieee1275/ofdisk.c,
50173 include/grub/powerpc/ieee1275/init.h and
50174 term/powerpc/ieee1275/ofconsole.c.
50175 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
50176 term/ieee1275/ofconsole.c.
50177
50178 * include/grub/powerpc/ieee1275/console.h: Resurrected.
50179
50180 * COPYING: Upgraded to the latest version. Only the address of the
50181 FSF office has changed.
f19dbdb7 50182
efd6e6d5 501832005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50184
50185 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50186 kern/ieee1275.c with kern/ieee1275/of.c.
50187
50188 * kern/ieee1275.c: Moved to ...
50189 * kern/ieee1275/of.c: ... here.
50190
8ceafda2 501912005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
50192
50193 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 50194 readability.
8ceafda2 50195
50196 * config.guess: Updated to the latest version from gnulib.
50197 * config.sub: Likewise.
50198 * install.sh: Likewise.
50199 * mkinstalldirs: Likewise.
50200
50201 * include/grub/console.h: Removed. This file is arch-specific. Do
50202 not put this in include/grub.
50203
50204 * include/grub/i386/pc/console.h: Resurrected.
50205
50206 * util/console.c: Include grub/machine/console.h instead of
50207 grub/console.h.
50208 * util/grub-emu.c: Likewise.
50209
267f6cd9 502102005-08-04 Marco Gerards <metgerards@student.han.nl>
50211
50212 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
50213 hardcoded value.
f19dbdb7 50214
267f6cd9 50215 From Vincent Pelletier <subdino2004@yahoo.fr>
50216 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
50217 Redefined to use grub_getwh.
50218 (grub_term): New member named getwh.
50219 (grub_getwh): New prototype.
50220 * kern/term.c (grub_getwh): New function.
50221 * term/i386/pc/console.c (grub_console_getwh): New function.
50222 (grub_console_term): New member `getwh'.
50223 * term/i386/pc/vga.c (grub_vga_getwh): New function.
50224 (grub_vga_term): New member `getwh'.
0b5abe02 50225 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 50226 grub_ssize_t.
50227 (grub_ofconsole_getw): New function.
50228 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
50229 (grub_ofconsole_term): New field named getwh and new initial
50230 value.
50231
3be7266d 502322005-08-03 Hollis Blanchard <hollis@penguinppc.org>
50233
50234 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
50235 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
50236 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
50237 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
50238 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
50239 of <grub/machine/ieee1275.h>.
50240 * commands/ieee1275/reboot.c: Likewise.
50241 * boot/powerpc/ieee1275/ieee1275.c: Move ...
50242 * kern/ieee1275.c: ... to here. All users updated. Change all
50243 parameter structs to use new type `grub_ieee1275_cell_t'.
50244 * term/powerpc/ieee1275/ofconsole.c: Move ...
50245 * term/ieee1275/ofconsole.c: ... to here. All users updated.
50246 * disk/powerpc/ieee1275/ofdisk.c: Move ...
50247 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
50248 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
50249 to return int.
50250 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
50251 Remove unused prototypes. All users updated.
50252 * include/grub/powerpc/ieee1275/console.h: Removed.
50253 * include/grub/powerpc/ieee1275/ieee1275.h: Define
50254 `grub_ieee1275_cell_t'.
50255 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
50256 Cast comparisons with -1 to the correct type.
50257 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
50258 type to match `grub_ieee1275_entry_fn'.
50259
8b5f3938 502602005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
50261
50262 * DISTLIST: Added util/i386/pc/grub-probefs.c.
50263
50264 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
50265 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
50266 partmap/sun.c.
50267 (grub_probefs_SOURCES): New variable.
50268
50269 * util/i386/pc/grub-probefs.c: New file.
50270
50271 * util/i386/pc/grub-setup.c (main): Call
50272 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
50273 grub_hfs_init and grub_jfs_init to initialize the system. Call
50274 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
50275 grub_pc_partition_map_fini to finish the system.
50276
ea409713 502772005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
50278
50279 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
50280 function.
50281 (grub_multiboot_load_elf32): Likewise.
50282 (grub_multiboot_is_elf64): Likewise.
50283 (grub_multiboot_load_elf64): Likewise.
50284 (grub_multiboot_load_elf): Likewise.
50285 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
50286 an ELF32 or ELF64 file.
50287 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
50288
50289 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
50290 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
50291 NULL before calling FS->LABEL.
50292 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
50293 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
50294 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
50295 before calling FS->LABEL.
50296
141a288b 502972005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
50298
50299 * util/i386/pc/grub-install.in (datadir): New variable.
50300 (libdir): Removed.
50301 (pkgdatadir): New variable.
50302 (pkglibdir): Removed.
50303
0d5f8a54 503042005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
50305
50306 * DISTLIST: Added util/i386/pc/grub-install.in.
50307
50308 * util/i386/pc/grub-install.in: New file.
50309
50310 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
50311 (grub_install_SOURCES): Likewise.
50312
50313 * genmk.rb: Added support for scripts.
50314 (Script): New class.
50315 (scripts): New variable.
50316
50317 * Makefile.in (install-local): Install sbin_SCRIPTS by
50318 INSTALL_SCRIPT.
50319 (uninstall): Remove sbin_SCRIPTS.
50320
50321 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
50322 device, try to get a GRUB device by
50323 grub_util_biosdisk_get_grub_dev.
50324 Free DEST_DEV.
50325
50326 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
50327 description for --device-map.
50328
5f968e1e 503292005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50330
50331 Change the semantics of variable hooks. They now return strings
50332 instead of error values.
f19dbdb7 50333
5f968e1e 50334 * util/i386/pc/grub-setup.c: Include grub/env.h.
50335 (setup): Use grub_device_set_root instead of grub_env_set.
50336
50337 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
50338 grub_env_get instead of grub_device_set_root and
50339 grub_device_get_root, respectively.
50340
50341 * kern/main.c (grub_env_write_root): New function.
50342 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
50343 grub_env_set instead of grub_device_set_root.
50344
50345 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
50346 many variables.
50347 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
50348 rather than calling ENV->WRITE_HOOK afterwards.
50349 (grub_env_get): Return the result of ENV->READ_HOOK rather than
50350 passing a pointer of a pointer.
50351 (grub_register_variable_hook): Change the types of "read_hook" and
50352 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
50353 respectively.
50354 Allocate the default empty string on the heap, because this string
50355 may be freed later.
50356
50357 * kern/device.c: Include grub/env.h.
50358 (grub_device_set_root): Removed.
50359 (grub_device_get_root): Likewise.
50360 (grub_device_open): Use grub_env_get instead of
50361 grub_device_get_root.
50362
50363 * include/grub/env.h (grub_env_read_hook_t): New type.
50364 (grub_env_write_hook_t): Likewise.
50365 (grub_env_var): Change the types of "read_hook" and "write_hook"
50366 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
50367 (grub_register_variable_hook): Likewise.
50368
50369 * include/grub/device.h (grub_device_set_root): Removed.
50370 (grub_device_set_root): Likewise.
50371
50372 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
50373 make sure that DIRNAME terminates with '/', so that
50374 grub_fat_find_dir will fail if PATH is not a directory.
50375
50376 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
50377 from DIRNAME.
50378 Use the qualifier auto for print_files and print_files_long.
50379 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
50380 as a regular file.
50381 Put a newline only if there is no error.
50382 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
50383 used.
50384
896f0afd 503852005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50386
50387 * kern/partition.c (grub_partition_probe): Initialize PART to
50388 NULL. Otherwise, when no partition map is registered, this returns
50389 a garbage.
50390
b28b81b2 503912005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
50392
50393 * partmap/apple.c (apple_partition_map_iterate): Check if POS
50394 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
50395 valid.
50396
5f3607e0 503972005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
50398
50399 * commands/ls.c (grub_ls_list_disks): Print the filesystem
50400 information on each device, if it does not have partitions. Print
50401 "Device" instead of "Disk", because this function is not specific
50402 to disk devices.
50403
50404 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
50405 static to ensure that it is put on the memory rather than a
50406 register.
50407
502c87e8 504082005-07-17 Yoshinori Okuji <okuji@enbug.org>
50409
50410 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
50411 (grub_cat_init): Likewise.
50412 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
50413 (options): Likewise.
50414 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
50415 (grub_configfile_init): Likewise.
50416 * font/manager.c (GRUB_MOD_INIT): Likewise.
50417 * commands/help.c (GRUB_MOD_INIT): Likewise.
50418 (grub_help_init): Likewise.
50419 * normal/command.c (grub_command_init): Likewise.
50420 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
50421 * disk/loopback.c (grub_loop_init): Likewise.
50422 (GRUB_MOD_INIT): Likewise.
50423 * commands/ls.c (grub_ls_init): Likewise.
50424 (GRUB_MOD_INIT): Likewise.
50425 (options): Likewise.
50426 * commands/boot.c (grub_boot_init): Likewise.
50427 (GRUB_MOD_INIT): Likewise.
50428 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
50429 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
50430 (GRUB_MOD_INIT): Likewise.
50431 * commands/cmp.c (grub_cmp_init): Likewise.
50432 (GRUB_MOD_INIT): Likewise.
50433
50434 * normal/arg.c: Use <> instead of "" to include header files.
50435 (SHORT_ARG_HELP): New macro.
50436 (SHORT_ARG_USAGE): Likewise.
50437 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
50438 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
50439 descriptions.
50440 (find_short): Check if C is 'h' or 'u' explicitly.
50441 (grub_arg_show_help): Use space characters instead of tabs. Treat
50442 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
50443 are shown with --help and --usage only if they are not used for
50444 the command itself.
50445 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
50446 'h' and 'u'.
50447
50448 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
50449 const into "longarg". Change the type of "shortarg" to int.
50450
f806d18e 504512005-07-17 Yoshinori Okuji <okuji@enbug.org>
50452
50453 * boot/i386/pc/boot.S (boot_drive_check): New label.
50454
50455 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
50456 macro.
50457
50458 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
50459 which do not pass a boot drive correctly. Copied from GRUB Legacy.
50460
e293232b 504612005-07-17 Yoshinori Okuji <okuji@enbug.org>
50462
50463 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
50464 When turning off Gate A20, skip the check and return immediately,
50465 because this is not fatal usually.
50466
ebedfd00 504672005-07-17 Yoshinori Okuji <okuji@enbug.org>
50468
50469 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
50470 be 0x7C00 instead of 0x8000.
50471
50472 * boot/i386/pc/pxeboot.S: Rewritten.
50473
50474 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
50475 EXT_C.
50476 (gate_a20_check_state): Read a byte from 0x108000. Invert the
50477 result.
50478
654fc59f 504792005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
50480
50481 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
50482 robustness. This routine now supports a BIOS call and System
50483 Control Port A to modify the gate A20.
50484
50485 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50486 Increased to 0x440.
50487
09f9923f 504882005-07-12 Hollis Blanchard <hollis@penguinppc.org>
50489
50490 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
50491 device path and resulting ihandle.
50492 (grub_ofdisk_close): dprintf the ihandle being closed.
50493 (grub_ofdisk_read): dprintf function parameters.
50494 * kern/mm.c (grub_mm_init_region): Likewise.
50495 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
50496 (grub_linux_boot): dprintf the Linux entry point, initrd address and
50497 size, and boot arguments.
50498 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
50499 before loading into memory.
50500 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
50501 before loading into memory.
50502
7ef504d8 505032005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
50504
50505 * kern/mm.c: Added much documentation.
50506 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
50507 8, set to 5 instead of 8.
50508
e0f050c2 505092005-07-10 Yoshinori Okuji <okuji@enbug.org>
50510
50511 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
50512
50513 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
50514 (grub_mkdevicemap_SOURCES): New variable.
50515
50516 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
50517 lib/device.c of GRUB Legacy.
50518
7224189a 505192005-07-10 Yoshinori Okuji <okuji@enbug.org>
50520
50521 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
50522 instead of PATH is NULL.
50523
68c864eb 505242005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
50525
50526 * commands/cmp.c (BUFFER_SIZE): New macro.
50527 (grub_cmd_cmp): Close the right file at the right time. Compare
50528 only data just read. Don't report files of different size as
50529 identical. Dynamically allocate buffers. Move variable
50530 declarations at the beginning of function.
50531
e6f3e614 505322005-07-09 Yoshinori Okuji <okuji@enbug.org>
50533
50534 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
50535 reverse.
50536
f8f1559a 505372004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
50538
50539 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
50540 when backspace is pressed at beginning of line.
50541
39c9d41d 505422005-07-03 Yoshinori Okuji <okuji@enbug.org>
50543
50544 * DISTLIST: Added genfslist.sh.
50545
50546 * normal/main.c (fs_module_list): New variable.
50547 (autoload_fs_module): New function.
50548 (read_fs_list): Likewise.
50549 (grub_normal_execute): Call read_fs_list.
50550
50551 * kern/fs.c (grub_fs_autoload_hook): New variable.
50552 (grub_fs_probe): Added support for auto-loading.
50553
50554 * include/grub/normal.h (struct grub_fs_module_list): New struct.
50555 (grub_fs_module_list_t): New type.
50556
50557 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
50558 (grub_fs_autoload_hook): New prototype.
50559
50560 * genfslist.sh: New file.
f19dbdb7 50561
39c9d41d 50562 * genmk.rb: Added a rule to generate a filesystem list.
50563
121c1d83 505642005-06-30 Marco Gerards <metgerards@student.han.nl>
50565
50566 * configure.ac: Fix the test for cross-compiling.
50567
50568 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
50569 define GRUB_UTIL anymore.
50570
50571 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
50572 so this function works on other systems than just big endian.
50573 (load_modules): Likewise.
50574 (add_segments): Likewise.
50575
e75d76e1 505762005-06-23 Hollis Blanchard <hollis@penguinppc.org>
50577
50578 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
50579 contains `l' modifier, get a long from va_arg().
50580
50b5a0a7 505812005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
50582
50583 * kern/mm.c (grub_free): If the next free block which is being
50584 merged is the first free block, set the first block to the block
50585 being freed.
50586 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
50587
89371b20 505882005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50589
50590 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
50591 `grub_ieee1275_chosen'.
50592
168d6e58 505932005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50594
50595 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
50596 (grub_ieee1275_chosen): New variable.
50597 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
50598 `chosen'.
50599 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
50600 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
50601 Rename first argument to `phandle' for consistency.
50602 (grub_ieee1275_get_property_length): Likewise.
50603 (grub_ieee1275_next_property): Likewise. Change type of first argument
50604 to grub_ieee1275_phandle_t.
50605 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
50606 Move export next to declaration.
50607 (grub_ieee1275_chosen): New variable.
50608 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
50609 Correct cosmetic typo.
50610 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
50611 `grub_ieee1275_chosen'.
50612 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
50613 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
50614 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
50615 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
50616 `grub_ieee1275_chosen'.
50617
ca5baa3f 506182005-05-10 Hollis Blanchard <hollis@penguinppc.org>
50619
50620 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
50621 /chosen/bootargs.
50622 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
50623 /chosen/bootargs as "variable=value" pairs.
50624
708b345f 506252005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
50626
50627 * include/grub/misc.h (grub_dprintf): New macro.
50628 (grub_real_dprintf): New prototype.
50629 (grub_strword): Likewise.
50630 (grub_iswordseparator): Likewise.
50631 * kern/misc.c (grub_real_dprintf): New function.
50632 (grub_strword): Likewise.
50633 (grub_iswordseparator): Likewise.
50634
f4c5e67c 506352005-04-30 Hollis Blanchard <hollis@penguinppc.org>
50636
50637 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
50638 (roundup): Remove macro.
50639 (grub_ieee1275_flags): Make static.
50640 (grub_ieee1275_realmode): Remove.
50641 (grub_ieee1275_test_flag): New function.
50642 (grub_ieee1275_set_flag): Likewise.
50643 (find_options): Rename to `grub_ieee1275_find_options'; update
50644 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
50645 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
50646 (cmain): New prototype.
50647 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
50648 `grub_ieee1275_flags' directly.
50649 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
50650 machine/biosdisk.h.
50651 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
50652 Don't include grub/machine/init.h.
50653 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
50654 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
50655 Remove prototype.
50656 (grub_ieee1275_realmode): Likewise.
50657 (grub_ieee1275_flag): New enum.
50658 (grub_ieee1275_test_flag): New prototype.
50659 (grub_ieee1275_set_flag): New prototype.
50660 * include/grub/powerpc/ieee1275/init.h: Remove file.
50661 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
50662 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
50663 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
50664 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
50665 comment.
50666 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
50667 `grub_ieee1275_test_flag'.
50668 (grub_ieee1275_encode_devname): Likewise.
50669
ed16607e 506702005-04-21 Hollis Blanchard <hollis@penguinppc.org>
50671
50672 * include/grub/powerpc/ieee1275/ieee1275.h
50673 (grub_ieee1275_encode_devname): New prototype.
50674 (grub_ieee1275_get_filename): Likewise.
50675 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
50676 function.
50677 (grub_set_prefix): Likewise.
50678 (grub_machine_init): Call grub_set_prefix.
50679 * kern/powerpc/ieee1275/openfw.c: Fix typos.
50680 (grub_parse_type): New enum.
50681 (grub_ieee1275_get_devargs): New function.
50682 (grub_ieee1275_get_devname): Likewise.
50683 (grub_ieee1275_parse_args): Likewise.
50684 (grub_ieee1275_get_filename): Likewise.
50685 (grub_ieee1275_encode_devname): Likewise.
50686
be369920 506872005-03-30 Marco Gerards <metgerards@student.han.nl>
50688
50689 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
50690 `grub_loader_unset'.
50691
a5ce3a4a 506922005-03-26 Hollis Blanchard <hollis@penguinppc.org>
50693
50694 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
50695 instead of grub_ieee1275_interpret.
50696 (grub_halt_init): New function.
50697 (grub_halt_fini): Likewise.
50698 (GRUB_MOD_INIT): Correct message grammar.
50699 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
50700 instead of grub_ieee1275_interpret.
50701 (grub_reboot_init): New function.
50702 (grub_reboot_fini): Likewise.
50703 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
50704 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
50705 util/i386/pc/misc.c with commands/ieee1275/halt.c,
50706 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
50707 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
50708 function.
50709 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
50710 Add prototype.
50711 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
50712 prototype.
50713 (grub_halt): Likewise.
50714 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
50715 (cmain): Remove __attribute__((unused)).
50716 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
50717 (grub_heap_len): Likewise.
50718 (grub_machine_fini): New function.
50719 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
50720 (grub_halt): Likewise.
50721 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
50722 function.
50723 * util/powerpc/ieee1275/misc.c: New file.
50724
0058f771 507252005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
50726
50727 * DISTLIST: New file.
50728 * gendistlist.sh: Likewise.
f19dbdb7 50729
0058f771 50730 * Makefile.in (COMMON_DISTFILES): Removed.
50731 (BOOT_DISTFILES): Likewise.
50732 (CONF_DISTFILES): Likewise.
50733 (DISK_DISTFILES): Likewise.
50734 (FS_DISTFILES): Likewise.
50735 (INCLUDE_DISTFILES): Likewise.
50736 (KERN_DISTFILES): Likewise.
50737 (LOADER_DISTFILES): Likewise.
50738 (TERM_DISTFILES): Likewise.
50739 (UTIL_DISTFILES): Likewise.
50740 (DISTFILES): Likewise.
50741 (uninstall): Uninstall files in $(pkgdata_DATA).
50742 (DISTLIST): New target.
50743 (distdir): Use the contents of the file DISTLIST to get a list of
50744 distributed files.
50745
46b3b8a5 507462005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
50747
50748 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
50749 descriptor. This is ported from GRUB Legacy.
50750
50751 * gencmdlist.sh: Added an extra semicolon to make it work with
50752 old sed versions. Reported by Robert Bihlmeyer
50753 <robbe@orcus.priv.at>.
50754
5822ff87 507552005-03-08 Yoshinori Okuji <okuji@enbug.org>
50756
50757 Automatic loading of commands is supported.
f19dbdb7 50758
5822ff87 50759 * normal/main.c (read_command_list): New function.
50760 (grub_normal_execute): Call read_command_list.
50761
50762 * normal/command.c (grub_register_command): Return zero or CMD.
50763 Allocate CMD->NAME from the heap.
50764 Initialize CMD->MODULE_NAME to zero.
50765 Find the same name as well. If the same command is found and it is
50766 a dummy command, overwrite members. If it is not a dummy command,
50767 return zero.
50768 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
50769 (grub_command_find): If a dummy command is found, load a module
50770 and retry to find a command only once.
50771
50772 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
50773 make sure that each command is loaded.
50774
50775 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
50776 macro.
50777 (struct grub_command): Remove const from the member `name'.
50778 Add a new member `module_name'.
50779 (grub_register_command): Return grub_command_t.
50780
50781 * commands/help.c (grub_cmd_help): Call grub_command_find to make
50782 sure that each command is loaded.
50783
50784 * genmk.rb (PModule::rule): Specify a module name without the
50785 suffix ".mod" to gencmdlist.sh.
50786
7b1f4b57 507872005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50788
50789 * gencmdlist.sh: New file.
f19dbdb7 50790
7b1f4b57 50791 * genmk.rb (PModule::rule): Generate a rule for a command list.
50792 Clean command.lst.
50793 Generate command.lst from $(COMMANDFILES).
50794
50795 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
50796 (DATA): Added $(pkgdata_DATA).
50797 (install-local): Install files in $(pkgdata_DATA).
50798
062aaf39 507992005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
50800
50801 * term/i386/pc/vga.c (debug_command): Removed.
50802 (GRUB_MOD_INIT): Do not register the command "debug".
50803
50804 From Hollis Blanchard:
50805 * commands/configfile.c: New file.
50806 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50807 commands/configfile.c.
50808 (pkgdata_MODULES): Added configfile.mod.
50809 (configfile_mod_SOURCES): New variable.
50810 (configfile_mod_CFLAGS): Likewise.
50811 * conf/powerpc-ieee1275.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 * util/grub-emu.c (main): Call grub_configfile_init and
50817 grub_configfile_fini.
50818 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
50819 prototype.
50820 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 50821
cee01aa6 508222005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50823
50824 * normal/arg.c (grub_arg_show_help): Do not show the bug report
50825 address.
50826
50827 * commands/help.c (grub_cmd_help): Do not print newlines after
50828 the last command in print_command_help.
50829
93f3a1d8 508302005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
50831
50832 * commands/default.h: New file.
50833 * commands/timeout.h: Likewise.
50834 * normal/context.c: Likewise.
f19dbdb7 50835
93f3a1d8 50836 * util/misc.c: Do not include sys/times.h.
50837 Include sys/time.h and grub/machine/time.h.
50838 (grub_get_rtc): Rewritten with gettimeofday.
50839
50840 * util/grub-emu.c (main): Call grub_default_init and
50841 grub_timeout_init before grub_normal_init, and call
50842 grub_timeout_fini and grub_default_fini after grub_main.
50843
50844 * util/console.c (grub_ncurses_checkkey): Return the read
50845 character or -1.
50846
50847 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
50848 timeouts.
50849
50850 * normal/main.c (read_config_file): Push MENU. If this fails,
50851 print an error and wait for a user input.
50852 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
50853 If a menu is empty or an error occurs, pop MENU.
50854 (grub_normal_execute): Pop and free MENU after grub_menu_run
50855 returns.
50856
50857 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
50858
50859 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
50860 include time.h.
50861 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50862 without GRUB_UTIL.
50863 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
50864 time.h.
50865 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
50866 without GRUB_UTIL.
50867
50868 * include/grub/normal.h (struct grub_menu_list): New struct.
50869 (grub_menu_list_t): New type.
50870 (struct grub_context): New struct.
50871 (grub_context_t): New type.
50872 (grub_register_command): Got rid of EXPORT_FUNC.
50873 (grub_unregister_command): Likewise.
50874 (grub_context_get): New prototype.
50875 (grub_context_get_current_menu): Likewise.
50876 (grub_context_push_menu): Likewise.
50877 (grub_context_pop_menu): Likewise.
50878 [GRUB_UTIL] (grub_default_init): Likewise.
50879 [GRUB_UTIL] (grub_default_fini): Likewise.
50880 [GRUB_UTIL] (grub_timeout_init): Likewise.
50881 [GRUB_UTIL] (grub_timeout_fini): Likewise.
50882
50883 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
50884 commands/timeout.c and normal/context.c.
50885 (pkgdata_MODULES): Added default.mod and timeout.mod.
50886 (normal_mod_SOURCES): Added normal/context.c.
50887 (default_mod_SOURCES): New variable.
50888 (default_mod_CFLAGS): Likewise.
50889 (timeout_mod_SOURCES): Likewise.
50890 (timeout_mod_CFLAGS): Likewise.
50891 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
50892 conf/i386-pc.rmk.
50893 (pkgdata_MODULES): Added default.mod and timeout.mod.
50894 (normal_mod_SOURCES): Added normal/context.c.
50895 (default_mod_SOURCES): New variable.
50896 (default_mod_CFLAGS): Likewise.
50897 (timeout_mod_SOURCES): Likewise.
50898 (timeout_mod_CFLAGS): Likewise.
50899
50900 * Makefile.in (all-local): Added $(MKFILES).
50901
4ed2e1dd 509022005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
50903
50904 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
50905 (grub_emu_SOURCES): Likewise.
50906 (pkgdata_MODULES): Add `sun.mod'.
50907 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
50908 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
50909 `partmap/sun.c'.
50910 (pkgdata_MODULES): Add `sun.mod'.
50911 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
50912 * include/grub/partition.h (grub_sun_partition_map_init): New
50913 prototype.
50914 (grub_sun_partition_map_fini): Likewise.
50915 * partmap/sun.c: New file.
50916 * util/grub-emu.c (main): Initialize and de-initialize the sun
50917 partitionmap support.
50918
4d4e372e 509192005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
50920
50921 This implements an Emacs-like menu entry editor.
f19dbdb7 50922
4d4e372e 50923 * normal/menu_entry.c: New file.
f19dbdb7 50924
4d4e372e 50925 * util/console.c (grub_ncurses_putchar): Translate some Unicode
50926 characters to ASCII.
50927 (saved_char): New variable.
50928 (grub_ncurses_checkkey): Rewritten completely.
50929 (grub_ncurses_getkey): Likewise.
50930 (grub_ncurses_init): Call raw instead of cbreak.
50931
50932 * normal/menu.c (print_entry): Do not put a space.
50933 (init_page): Renamed to ...
50934 (grub_menu_init_page): ... this. All callers changed.
50935 (edit_menu_entry): Removed.
50936 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
50937
50938 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
50939
50940 * kern/misc.c (grub_vprintf): Call grub_refresh.
50941
50942 * normal/menu.c (DISP_LEFT): Renamed to ...
50943 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
50944 * normal/menu.c (DISP_UP): Renamed to ...
50945 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
50946 * normal/menu.c (DISP_RIGHT): Renamed to ...
50947 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
50948 * normal/menu.c (DISP_DOWN): Renamed to ...
50949 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
50950 * normal/menu.c (DISP_HLINE): Renamed to ...
50951 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
50952 * normal/menu.c (DISP_VLINE): Renamed to ...
50953 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
50954 * normal/menu.c (DISP_UL): Renamed to ...
50955 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
50956 * normal/menu.c (DISP_UR): Renamed to ...
50957 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
50958 * normal/menu.c (DISP_LL): Renamed to ...
50959 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
50960 * normal/menu.c (DISP_LR): Renamed to ...
50961 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
50962 * normal/menu.c (TERM_WIDTH): Renamed to ...
50963 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
50964 * normal/menu.c (TERM_HEIGHT): Renamed to ...
50965 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
50966 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
50967 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
50968 * normal/menu.c (TERM_MARGIN): Renamed to ...
50969 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
50970 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
50971 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
50972 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
50973 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
50974 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
50975 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
50976 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
50977 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
50978 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
50979 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
50980 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
50981 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
50982 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
50983 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
50984 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
50985 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
50986 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
50987 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
50988 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
50989 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
50990 All callers changed.
50991
50992 * include/grub/normal.h: New prototype.
50993
50994 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
50995 normal/menu_entry.c.
50996 (normal_mod_SOURCES): Likewise.
50997 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50998 (normal_mod_SOURCES): Likewise.
50999
e6b92c8a 510002005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
51001
51002 * include/grub/normal.h (grub_halt_init): New prototype.
51003 (grub_halt_fini): Likewise.
51004 (grub_reboot_init): Likewise.
51005 (grub_reboot_fini): Likewise.
51006
51007 * util/grub-emu.c: Include signal.h.
51008 (main_env): New global variable.
51009 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
51010 catch C-c.
51011 (grub_machine_fini): New function.
51012 (main): Call grub_halt_init and grub_reboot_init before
51013 grub_main, and grub_reboot_fini and grub_halt_fini after it.
51014 Call setjmp with MAIN_ENV to go back afterwards.
51015 Call grub_machine_fini right before return.
51016
51017 * include/grub/util/misc.h: Include setjmp.h.
51018 (main_env): New prototype.
51019
51020 * include/grub/kernel.h (grub_machine_fini): New prototype.
51021 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
51022 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
51023
51024 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
51025 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
51026 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 51027
e6b92c8a 51028 * util/i386/pc/misc.c: New file.
f19dbdb7 51029
e6b92c8a 51030 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51031 util/i386/pc/misc.c, commands/i386/pc/halt.c and
51032 commands/i386/pc/reboot.c.
51033
c642636f 510342005-02-14 Guillem Jover <guillem@hadrons.org>
51035
51036 * include/grub/dl.h (grub_dl_check_header): New prototype.
51037 (grub_arch_dl_check_header): Change return type to grub_err_t,
51038 remove size parameter and export function. Update all callers.
51039 * kern/dl.c (grub_dl_check_header): New function.
51040 (grub_dl_load_core): Use `grub_dl_check_header' instead of
51041 `grub_arch_dl_check_header'. Check ELF type. Check if sections
51042 are inside the core.
51043 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
51044 independent ELF header checks.
51045 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51046 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
51047 `grub_dl_check_header' instead of explicit checks. Check for the
51048 ELF type.
51049 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
51050 `grub_dl_check_header' instead of explicit checks. Remove arch
51051 specific ELF header checks.
51052
e6b92c8a 51053 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
51054 argument SIZE.
51055
5eabe94b 510562005-02-13 Hollis Blanchard <hollis@penguinppc.org>
51057
51058 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
51059 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
51060
1b14a681 510612005-02-12 Hollis Blanchard <hollis@penguinppc.org>
51062
51063 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 51064 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 51065 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 51066 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 51067 * partmap/amiga.c (amiga_partition_map_iterate): Return
51068 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
51069 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51070
aca108aa 510712005-02-01 Guillem Jover <guillem@hadrons.org>
51072
51073 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
51074 help info.
51075
c9f9c556 510762005-01-31 Marco Gerards <metgerards@student.han.nl>
51077
51078 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
51079 Removed prototype.
51080 (grub_rescue_cmd_linux): New prototype.
51081 (grub_rescue_cmd_initrd): Likewise.
51082 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
51083 `bi_rec'.
51084 (grub_linux_release_mem): Release the memory for the initrd.
51085 (grub_load_linux): Renamed from this...
51086 (grub_rescue_cmd_linux): ...To this. Changed all callers.
51087 Changed `entry' not to be static. Loop over memory regions to
51088 find another one when the default fails.
51089 (grub_rescue_cmd_initrd): New function.
51090 (grub_linux_init): Remove function.
51091 (grub_linux_fini): Likewise.
51092 (GRUB_MOD_INIT): Register `initrd'.
51093 (GRUB_MOD_FINI): Unregister `initrd'.
51094 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
51095 Function removed.
51096 (grub_linux_normal_fini): Likewise.
51097 (GRUB_MOD_INIT): Register `initrd'.
51098 (GRUB_MOD_FINI): Unregister `initrd'.
51099
990cf3aa 511002005-01-31 Marco Gerards <metgerards@student.han.nl>
51101
51102 * commands/help.c: New file.
51103 * normal/arg.c (show_help): Renamed to...
51104 (grub_arg_show_help): ... this.
51105 * commands/i386/pc/halt.c: New file.
51106 * commands/i386/pc/reboot.c: Likewise.
51107 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
51108 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
51109 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
51110 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
51111 variables.
51112 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51113 `commands/help.c'.
51114 (pkgdata_MODULES): Add `help.mod'.
51115 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
51116 * grub/i386/pc/init.h (grub_reboot): New prototype.
51117 (grub_halt): Likewise.
51118 * include/grub/normal.h (grub_arg_show_help): New prototype.
51119 (grub_help_init): Likewise.
51120 (grub_help_fini): Likewise.
51121 * util/grub-emu.c (main): Initialize and deinitialize the help
51122 command.
51123
51124 * normal/cmdline.c (grub_cmdline_get): Doc fix.
51125
51126 * normal/command.c (grub_command_init): Fixed the description of
51127 the `set' and `unset' commands.
51128
511292005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 51130
51131 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
51132 function.
51133 * commands/ieee1275/halt.c: New file.
51134 * commands/ieee1275/reboot.c: Likewise.
51135 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
51136 `__attribute__ ((unused))'. Some GCS related fixed.
51137 (grub_suspend_init) [GRUB_UTIL]: Function removed.
51138 (grub_suspend_fini): Likewise.
51139 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
51140 and `halt.mod'.
51141 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
51142 (halt_mod_CFLAGS): New variables.
51143 * include/grub/powerpc/ieee1275/ieee1275.h
51144 (grub_ieee1275_interpret): New prototype.
51145
1ab09cc7 511462005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
51147
51148 * include/grub/misc.h (memmove): New prototype.
51149 (memcpy): Likewise.
51150
8b8cbdb2 511512005-01-22 Hollis Blanchard <hollis@penguinppc.org>
51152
51153 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
51154 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
51155
e3741a27 511562005-01-22 Marco Gerards <metgerards@student.han.nl>
51157
51158 * kern/misc.c (grub_strndup): Function rewritten.
51159
776bd780 511602005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
51161
51162 * normal/menu.c (TERM_WIDTH): Macro redefined.
51163 (TERM_TOP_BORDER_Y): Likewise.
51164 (draw_border): Replaced while-loop by a for-loop. Make the number
51165 of lines consistent with the number of lines displayed in
51166 print_entries. Added a margin below the rectangle.
51167 (print_entry): Make the entry fit in the rectangle.
51168 (print_entries): Display the scroll arrows next to the right
51169 border.
51170
78026bce 511712005-01-21 Marco Gerards <metgerards@student.han.nl>
51172
51173 * fs/minix.c (grub_minix_find_file): Reserve more space for
51174 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
51175 `grub_strncpy' to copy `path' into it.
51176
67bbaf0f 511772005-01-21 Marco Gerards <metgerards@student.han.nl>
51178
51179 Add the loopback device, a device via which files can be accessed
51180 as devices.
f19dbdb7 51181
67bbaf0f 51182 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
51183 (pkgdata_MODULES): Add loopback.mod.
51184 (loopback_mod_SOURCES): New variable.
51185 (loopback_mod_CFLAGS): Likewise.
51186 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51187 `disk/loopback.c'.
51188 (pkgdata_MODULES): Add loopback.mod.
51189 (loopback_mod_SOURCES): New variable.
51190 (loopback_mod_CFLAGS): Likewise.
51191 * disk/loopback.c: new file.
51192 * include/grub/normal.h (grub_loop_init): New prototype.
51193 (grub_loop_fini): New prototype.
51194 * util/grub-emu.c (main): Initialize and de-initialize loopback
51195 support.
51196 * include/grub/disk.h (grub_disk_dev_id): Add
51197 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
51198
6f1c18bd 511992005-01-20 Hollis Blanchard <hollis@penguinppc.org>
51200
51201 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
51202 function.
51203 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
51204 (suspend_mod_SOURCES): New variable.
51205 (suspend_mod_CFLAGS): Likewise.
51206 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
51207 New prototype.
51208 * commands/ieee1275/suspend.c: New file.
51209
b38551da 512102005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51211
51212 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 51213 ((unused))' to `__attribute__ ((used))'.
b38551da 51214 (GRUB_MOD_FINI): Likewise.
51215 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
51216 * genmk.rb (PModule): Assign space to common symbols when linking
51217 modules.
51218
777aff39 512192005-01-20 Marco Gerards <metgerards@student.han.nl>
51220
51221 * include/grub/mm.h (grub_mm_init_region): Change the type of the
51222 `unsigned' arguments to `grub_size_t'.
51223 (grub_malloc): Likewise.
51224 (grub_realloc): Likewise.
51225 (grub_memalign): Likewise.
51226 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
51227 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51228 * util/misc.c (grub_malloc): Likewise.
51229 (grub_realloc): Likewise.
51230 * kern/mm.c (get_header_from_pointer): Change the casts to
51231 `unsigned' into a cast to `grub_size_t'.
51232
51233 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
51234 point to `currnode' when `currnode' is changed.
51235
51236 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
51237 Schottelius <nico-linux@schottelius.org>.
51238
d0ff18e1 512392005-01-09 Hollis Blanchard <hollis@penguinppc.org>
51240
51241 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
51242 (note_path): Remove variable.
51243 (GRUB_IEEE1275_NOTE_NAME): New macro.
51244 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
51245 (grub_ieee1275_note_hdr): New structure.
51246 (grub_ieee1275_note_desc): Likewise.
51247 (grub_ieee1275_note): Likewise.
51248 (load_note): Remove `dir' argument. All callers updated. Remove
51249 `note_img' and `path'. Do not load a file from `note_path'.
51250 Initialize a struct grub_ieee1275_note and write that to `out'.
51251 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
51252
4ca7004c 512532005-01-05 Marco Gerards <metgerards@student.han.nl>
51254
51255 * util/misc.c (grub_util_read_image): Revert last change. It
51256 called `grub_util_read_at', which seeks from the beginning of the
51257 file.
51258
0b412211 512592005-01-04 Hollis Blanchard <hollis@penguinppc.org>
51260
51261 * TODO: Add note about endianness in grub-mkimage.
51262 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
51263 section.
51264 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
51265 (grub_mkimage_SOURCES): New target.
51266 * include/grub/kernel.h (grub_start_addr): Remove variable.
51267 (grub_end_addr): Likewise.
51268 (grub_total_module_size): Likewise.
51269 (grub_kernel_image_size): Likewise.
51270 (GRUB_MODULE_MAGIC): New constant.
51271 (grub_module_info): New structure.
51272 (grub_arch_modules_addr): New prototype.
51273 (grub_get_end_addr): Remove prototype.
51274 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
51275 * include/grub/powerpc/ieee1275/kernel.h: New file.
51276 * include/grub/util/misc.h (grub_util_get_fp_size): New
51277 prototype.
51278 (grub_util_read_at): Likewise.
51279 (grub_util_write_image_at): Likewise.
51280 * kern/main.c (grub_get_end_addr): Remove function.
51281 (grub_load_modules): Call grub_arch_modules_addr instead of using
51282 grub_end_addr. Look for a grub_module_info struct in memory. Use
51283 the grub_module_info fields instead of calling grub_get_end_addr
51284 as loop conditions. Move grub_add_unused_region code here.
51285 (grub_add_unused_region): Remove function.
51286 * kern/i386/pc/init.c: Include grub/cache.h.
51287 (grub_machine_init): Remove call to grub_get_end_addr. Remove
51288 one call to add_mem_region.
51289 (grub_arch_modules_addr): New function.
51290 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
51291 (grub_total_module_size): Likewise.
51292 Include grub/machine/kernel.h.
51293 (grub_arch_modules_addr): New function.
51294 * util/grub-emu.c (grub_end_addr): Remove variable.
51295 (grub_total_module_size): Likewise.
51296 (grub_arch_modules_addr): New function.
51297 * util/misc.c: Include unistd.h.
51298 (grub_util_get_fp_size): New function.
51299 (grub_util_read_at): Likewise.
51300 (grub_util_write_image_at): Likewise.
51301 (grub_util_read_image): Call grub_util_read_at.
51302 (grub_util_write_image): Call grub_util_write_image_at.
51303 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
51304 additional memory in kernel_img for a struct grub_module_info.
51305 Fill in that grub_module_info.
51306 * util/powerpc/ieee1275/grub-mkimage.c: New file.
51307
458786f8 513082005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51309
51310 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
51311 New function.
51312 * include/grub/powerpc/ieee1275/ieee1275.h
51313 (grub_ieee1275_milliseconds): New prototype.
51314 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
51315 Change to 1000.
51316 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
51317 grub_ieee1275_milliseconds.
51318
ac507d1b 513192005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51320
51321 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
51322 variable.
51323 (find_options): New function.
51324 (cmain): Call find_options.
51325 * include/grub/powerpc/ieee1275/ieee1275.h
51326 (grub_ieee1275_realmode): New extern variable.
51327 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
51328 grub_map if grub_ieee1275_realmode is false.
51329
6b8fd1c4 513302004-12-29 Marco Gerards <metgerards@student.han.nl>
51331
51332 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
51333 lines are inserted and make it work like readline. Reported by
51334 Vincent Pelletier <subdino2004@yahoo.fr>.
51335
8514a1e0 513362004-12-28 Marco Gerards <metgerards@student.han.nl>
51337
51338 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
51339
51340 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
51341 `kern/powerpc/cache.S'.
51342
924b6140 513432004-12-27 Marco Gerards <metgerards@student.han.nl>
51344
51345 * genmk.rb: Handle the `Program' class in the main loop. Written
51346 by Johan Rydberg <jrydberg@gnu.org>.
51347 (Program): New class.
51348 (programs): New variable.
51349 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
51350 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
51351 instead of "grub/kernel.h". Include <grub/machine/init.h>.
51352 (help_arch): Function removed.
51353 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
51354 `powerpc/libgcc.h' and `loader.h'.
51355 (pkgdata_PROGRAMS): New variable.
51356 (sbin_UTILITIES): Variable removed.
51357 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
51358 (grubof_SOURCES): Variable re-defined so it only includes the
51359 core functionality.
51360 (grubof_CFLAGS): Remove `-DGRUBOF'.
51361 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
51362 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
51363 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
51364 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
51365 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
51366 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
51367 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
51368 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
51369 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
51370 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
51371 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51372 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
51373 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
51374 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
51375 (pc_mod_CFLAGS): New variables.
51376 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
51377 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
51378 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
51379 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
51380 Moved from here...
51381 * include/grub/i386/pc/init.h (grub_os_area_addr)
51382 (rub_os_area_size): ... to here.
51383 * include/grub/powerpc/ieee1275/ieee1275.h
51384 (grub_ieee1275_entry_fn): Export symbol.
51385 * include/grub/powerpc/ieee1275/init.h: New file.
51386 * include/grub/powerpc/libgcc.h: Likewise.
51387 * include/grub/cache.h: Likewise.
51388 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
51389 <hollis@penguinppc.org>.
51390 * kern/dl.c: Include <grub/cache.h>.
51391 (grub_dl_flush_cache): New function.
51392 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
51393 for this module.
51394 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
51395 (grub_console_init): Removed prototypes.
51396 (grub_machine_init): Don't initialize the modules anymore.
51397 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
51398 static.
51399 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
51400 Macro undef removed.
51401 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
51402 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
51403 relocation `R_PPC_REL32'. Return an error when the relocation is
51404 unknown.
51405 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
51406 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
51407 * util/misc.c (grub_arch_sync_caches): Likewise.
51408
e4b47e0c 514092004-12-19 Marco Gerards <metgerards@student.han.nl>
51410
51411 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
51412 `symlist.c', add `grubof_symlist.c'.
51413 (symlist.c): Variable removed.
51414 (grubof_HEADERS): Variable added.
51415 (grubof_symlist.c): New target.
51416 (kernel_syms.lst): Use `grubof_HEADERS' instead of
51417 `kernel_img_HEADERS'.
51418 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
51419 * kern/powerpc/dl.c: New file.
51420 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
51421 Function removed.
51422 (grub_arch_dl_relocate_symbols): Likewise.
51423 (grub_register_exported_symbols): Likewise.
51424
4ceb3636 514252004-12-13 Marco Gerards <metgerards@student.han.nl>
51426
51427 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
51428 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
51429 to fail instead. Reported by Vincent Pelletier
51430 <subdino2004@yahoo.fr>.
51431
51432 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
51433 it is not allocated. Reported by Vincent Pelletier
51434 <subdino2004@yahoo.fr>.
51435
51436 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
51437 output so the output looks better.
f19dbdb7 51438
3f1578fe 514392004-12-04 Marco Gerards <metgerards@student.han.nl>
51440
51441 Modulize the partition map support and add support for the amiga
51442 partition map.
f19dbdb7 51443
3f1578fe 51444 * commands/ls.c: Include <grub/partition.h> instead of
51445 <grub/machine/partition.h>.
51446 * kern/disk.c: Likewise.
51447 * kern/rescue.c: Likewise.
51448 * loader/i386/pc/chainloader.c: Likewise.
51449 * normal/cmdline.c: Likewise.
51450 * kern/powerpc/ieee1275/init.c: Likewise.
51451 (grub_machine_init): Call `grub_pc_partition_map_init',
51452 `grub_amiga_partition_map_init' and
51453 `grub_apple_partition_map_init'.
51454 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
51455 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
51456 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
51457 `partition.h' and `pc_partition.h'.
51458 (grub_setup_SOURCES): Remove
51459 `disk/i386/pc/partition.c'. Add `kern/partition.c',
51460 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51461 (grub_emu_SOURCES): Likewise.
51462 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
51463 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
51464 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
51465 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51466 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
51467 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51468 (grubof_SOURCES): Likewise.
51469 * disk/i386/pc/partition.c: File removed.
51470 * disk/powerpc/ieee1275/partition.c: Likewise.
51471 * include/grub/powerpc/ieee1275/partition.h: Likewise.
51472 * include/grub/i386/pc/partition.h: Likewise.
51473 * kern/partition.c: New file.
51474 * partmap/amiga.c: Likewise.
51475 * partmap/apple.c: Likewise.
51476 * partmap/pc.c: Likewise.
51477 * include/grub/partition.h: Likewise..
51478 * include/grub/pc_partition.h: Likewise.
51479 * util/grub-emu.c: Include <grub/partition.h> instead of
51480 <grub/machine/partition.h>.
51481 (main): Call `grub_pc_partition_map_init',
51482 `grub_amiga_partition_map_init' and
51483 `grub_apple_partition_map_init' and deinitialize afterwards.
51484 * util/i386/pc/biosdisk.c: Include `#include
51485 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51486 `<grub/machine/partition.h>'.
51487 * util/i386/pc/grub-setup.c: Likewise.
51488 * util/i386/pc/biosdisk.c: Likewise.
51489 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
51490 partition information in case of a PC partition.
51491 * util/i386/pc/grub-setup.c: Include `#include
51492 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51493 `<grub/machine/partition.h>'.
51494 (setup): Only access the PC specific partition information in case
51495 of a PC partition.
51496
0ef4ced9 514972004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 51498
0ef4ced9 51499 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
51500 (grub_longjmp): Likewise.
51501 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
51502 20.
51503 * normal/powerpc/setjmp.S: New file.
51504 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51505 `normal/powerpc/setjmp.S'.
51506 (grubof_CFLAGS): Add `-DGRUBOF'.
51507 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
51508 [GRUB_UTIL && !GRUBOF].
f19dbdb7 51509
19950e29 515102004-11-16 Marco Gerards <metgerards@student.han.nl>
51511
51512 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
51513 property named `name'. Correctly handle the error returned by
51514 `grub_ieee1275_finddevice' if a device can not be opened.
51515
a2fea427 515162004-11-02 Hollis Blanchard <hollis@penguinppc.org>
51517
51518 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
51519 `actual' for negativity.
51520 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51521 kern/fshelp.c.
51522
41ea0ea3 515232004-11-01 Marco Gerards <metgerards@student.han.nl>
51524
51525 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
51526 (PAGE_OFFSET): New macro.
51527 (CRTC_ADDR_PORT): Likewise.
51528 (CRTC_DATA_PORT): Likewise.
51529 (START_ADDR_HIGH_REGISTER): Likewise.
51530 (START_ADDR_LOW_REGISTER): Likewise.
51531 (GRAPHICS_ADDR_PORT): Likewise.
51532 (GRAPHICS_DATA_PORT): Likewise.
51533 (READ_MAP_REGISTER): Likewise.
51534 (INPUT_STATUS1_REGISTER): Likewise.
51535 (INPUT_STATUS1_VERTR_BIT): Likewise.
51536 (page): New variable.
51537 (wait_vretrace): New function.
51538 (set_read_map): Likewise.
51539 (set_start_address): Likewise.
51540 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
51541 the right page.
51542 (check_vga_mem): Take the page into account.
51543 (write_char): Likewise.
51544 (write_cursor): Likewise.
51545 (scroll_up): Likewise. Copy the page to the page that is not
51546 shown and switch between both pages.
51547 (grub_vga_putchar): Fix off by one error.
51548 (grub_vga_cls): Wait for the vertical retrace. Take the page into
51549 account.
51550
ad0bd20b 515512004-11-01 Marco Gerards <metgerards@student.han.nl>
51552
51553 Add support for iso9660 (including rockridge).
f19dbdb7 51554
ad0bd20b 51555 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51556 (iso9660_mod_SOURCES): New variable.
51557 (iso9660_mod_CFLAGS): Likewise.
51558 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51559 * include/grub/fs.h (grub_iso9660_init): New prototype.
51560 * util/grub-emu.c (main): Call `grub_iso9660_init'.
51561 * fs/iso9660.c: New file.
51562
51563 * include/grub/misc.h (grub_strncat): New prototype.
51564 * kern/misc.c (grub_strncat): New function.
f19dbdb7 51565
ad0bd20b 51566 * fs/hfs.c (grub_hfs_mount): Translate the error
51567 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
51568 * fs/jfs.c (grub_jfs_mount): Likewise.
51569 * fs/ufs.c (grub_ufs_mount): Likewise.
51570
a5477a59 515712004-10-28 Hollis Blanchard <hollis@penguinppc.org>
51572
51573 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
51574 which initialized BAT registers.
51575 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
51576 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51577 Move from here...
51578 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
51579 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51580 ... to here.
51581 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
51582 (grub_mapclaim): Likewise.
51583 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
51584 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
51585 hand.
51586
9304c1f8 515872004-10-19 Hollis Blanchard <hollis@penguinppc.org>
51588
51589 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
51590 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
51591 -ffreestanding and -msoft-float.
51592
86f4ae25 515932004-10-15 Hollis Blanchard <hollis@penguinppc.org>
51594
51595 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
51596 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
51597 set in grub_ieee1275_flags.
51598
38912228 515992004-10-14 Hollis Blanchard <hollis@penguinppc.org>
51600
51601 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
51602 prototype.
51603 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
51604 grub_console_init first.
51605 Change the memory range used for grub_ieee1275_claim and
51606 grub_mm_init_region.
51607 Print an error message if the claim fails.
51608 Include <grub/misc.h>.
51609
d1923dc8 516102004-10-13 Hollis Blanchard <hollis@penguinppc.org>
51611
51612 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
51613 Call grub_children_iterate for device nodes of type `scsi',
51614 `ide', or `ata'.
51615 (grub_ofdisk_open): Remove manual device alias resolution.
51616 Fix memory leak when device cannot be opened.
f19dbdb7 51617 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 51618 (grub_children_iterate): New prototype.
51619 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
51620 New function.
51621 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51622 Return -1 if args.size was -1.
51623
4512e4f3 516242004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51625
51626 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
51627 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
51628 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
51629 Open Firmware's memory for it; claim memory from _start to _end.
51630 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
51631 (_end): New extern.
51632 (_start): Zero BSS from __bss_start to _end.
51633 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51634 New extern.
51635 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
51636
4d61feb0 516372004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51638
ad0bd20b 51639 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
51640 -1 if args.base was -1.
4d61feb0 51641
026fa2f9 516422004-10-08 Hollis Blanchard <hollis@penguinppc.org>
51643
51644 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
51645 escape sequence instead of a literal ^L. Also call
51646 grub_ofconsole_gotoxy.
51647
9f2220ef 516482004-10-03 Hollis Blanchard <hollis@penguinppc.org>
51649
51650 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
51651 void * arguments to grub_addr_t. All callers updated. Also make
51652 the `result' argument optional.
51653 (grub_ieee1275_release): change void * arguments to grub_addr_t.
51654 All callers updated.
51655
8a572cd7 516562004-09-22 Hollis Blanchard <hollis@penguinppc.org>
51657
51658 * commands/ls.c (grub_ls_list_files): Use the string following the
51659 initial ')', if present, as the filesystem path.
51660 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
51661
51662 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
51663
18aa81f2 516642004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
51665
51666 Make the source code of the menu interface more readable.
f19dbdb7 51667
18aa81f2 51668 * normal/menu.c: Include grub/mm.h.
51669 (TERM_WIDTH): New macro.
51670 (TERM_HEIGHT): Likewise.
51671 (TERM_INFO_HEIGHT): Likewise.
51672 (TERM_MARGIN): Likewise.
51673 (TERM_SCROLL_WIDTH): Likewise.
51674 (TERM_TOP_BORDER_Y): Likewise.
51675 (TERM_LEFT_BORDER_X): Likewise.
51676 (TERM_BORDER_WIDTH): Likewise.
51677 (TERM_MESSAGE_HEIGHT): Likewise.
51678 (TERM_BORDER_HEIGHT): Likewise.
51679 (TERM_NUM_ENTRIES): Likewise.
51680 (TERM_FIRST_ENTRY_Y): Likewise.
51681 (TERM_ENTRY_WIDTH): Likewise.
51682 (TERM_CURSOR_X): Likewise.
51683 (draw_border): Use macros instead of magic numbers.
51684 (print_entry): Likewise.
51685 (print_entries): Likewise.
51686 (run_menu): Likewise. Also, handle the key 'e'.
51687 (run_menu_entry): Ignore empty command lines.
51688 (print_message): Added a new argument EDIT. If EDIT is true,
51689 print a different message.
51690 (init_page): Likewise.
51691 (edit_menu_entry): New function. Not implemented yet.
51692
b47efe30 516932004-09-17 Marco Gerards <metgerards@student.han.nl>
51694
51695 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
51696 can be loaded from normal mode.
f19dbdb7 51697
b47efe30 51698 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
51699 `multiboot.mod'.
51700 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
51701 (multiboot_mod_CFLAGS): New variables.
51702 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 51703 * loader/i386/pc/multiboot_normal.c: Likewise.
51704
b47efe30 51705 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
51706 attribute `unused'.
f19dbdb7 51707
b47efe30 51708 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
51709 `fdiro' to read the mode information from instead of `diro'.
51710
51711 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
51712 looking up a symlink.
51713
51714 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
51715 macro.
51716 * normal/command.c (grub_command_execute): Don't parse the
51717 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
51718 flags of the command.
51719
51720 * normal/menu.c (grub_menu_run): Fix typo.
51721
da75ac71 517222004-09-14 Hollis Blanchard <hollis@penguinppc.org>
51723
51724 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
51725
51726 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
51727 `y + 1' instead of `y - 1'.
51728
51729 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 51730
062b24c2 517312004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
51732
51733 From Hollis Blanchard <hollis@penguinppc.org>:
51734 * kern/misc.c (memmove): New alias for grub_memmove.
51735 (memcmp): New alias for grub_memcmp.
51736 (memset): New alias for grub_memset.
f19dbdb7 51737 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 51738 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 51739 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 51740 (grub_ieee1275_get_property): Likewise.
f19dbdb7 51741
8ddad845 517422004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
51743
51744 Added normal mode command `chainloader' as module chain.mod, which
51745 depends on normal.mod and _chain.mod.
f19dbdb7 51746
8ddad845 51747 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
51748 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
51749 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
51750 Deleted prototype.
51751 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
51752 but arguments parsing moved to ...
51753 (grub_chainloader_cmd): ... here. New function.
51754 * include/grub/i386/pc/chainloader.h: New file.
51755 * loader/i386/pc/chainloader_normal.c: Likewise.
51756
2c1f4ce3 517572004-09-11 Marco Gerards <metgerards@student.han.nl>
51758
51759 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
51760 (grub_mkimage_LDFLAGS): Likewise.
51761 (grub_emu_SOURCES): Likewise.
51762 (kernel_img_HEADERS): Added fshelp.h.
51763 * fs/ext2.c: Include <grub/fshelp.h>.
51764 (FILETYPE_REG): New macro.
51765 (FILETYPE_INO_REG): Likewise.
51766 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
51767 Changed all users.
51768 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
51769 all users.
51770 (grub_fshelp_node): New struct.
51771 (grub_ext2_data): Added member `diropen'. Changed member `inode'
51772 to a pointer.
51773 (grub_ext2_get_file_block): Removed function.
51774 (grub_ext2_read_block): New function.
51775 (grub_ext2_read_file): Replaced parameter `data' by `node'.
51776 This function was written.
51777 (grub_ext2_mount): Read the root inode. Create a diropen struct.
51778 (grub_ext2_find_file): Removed function.
51779 (grub_ext2_read_symlink): New function.
51780 (grub_ext2_iterate_dir): Likewise.
51781 (grub_ext2_open): Rewritten.
51782 (grub_ext2_dir): Rewritten.
51783 * include/grub/fshelp.h: New file.
51784 * fs/fshelp.c: Likewise.
51785
3c52136a 517862004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
51787
51788 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
51789 (print_message): Add a missing newline.
51790 (run_menu): Added timeout support.
51791 (run_menu_entry): New local function.
51792 (grub_menu_run): Added support for booting.
51793
51794 * kern/loader.c (grub_loader_is_loaded): New function.
51795
51796 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
51797 (grub_get_rtc): Exported.
51798
51799 * include/grub/i386/pc/time.h: Include grub/symbol.h.
51800 (grub_get_rtc): Exported.
51801
51802 * include/grub/normal.h (struct grub_command_list): Remove
51803 constant from the member `command'.
51804
51805 * include/grub/loader.h (grub_loader_is_loaded): Declared.
51806
51807 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
51808
51809 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
51810
aa033560 518112004-08-28 Marco Gerards <metgerards@student.han.nl>
51812
51813 Add support for the JFS filesystem.
51814
51815 * fs/jfs.c: New file.
51816 * include/grub/fs.h (grub_jfs_init): New prototype.
51817 (grub_jfs_fini): New prototype.
51818 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
51819 (grub_emu_SOURCES): Likewise.
51820 (pkgdata_MODULES): Add jfs.mod.
51821 (jfs_mod_SOURCES): New variable.
51822 (jfs_mod_CFLAGS): Likewise.
51823 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
51824 (grubof_SOURCES): Likewise.
51825 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
51826
51827 * fs/fat.c (grub_fat_find_dir): Convert the filename little
51828 endian to the host endian.
51829 (grub_fat_utf16_to_utf8): Move function from there...
51830 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 51831 the endianness of the source string anymore.
aa033560 51832 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
51833
94bc45af 518342004-08-24 Marco Gerards <metgerards@student.han.nl>
51835
51836 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
51837 (grub_boot_fini) [GRUB_UTIL]: Likewise.
51838 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
51839 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 51840
94bc45af 51841 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
51842 (grub_hfs_iterate_dir): Make the function static. Add prototypes
51843 for `node_found' and `it_dir'.
51844 (grub_hfs_dir): Add prototype for `dir_hook'.
51845
51846 * fs/minix.c (grub_minix_get_file_block): Add prototype for
51847 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
51848 and `indir32' to silence a gcc warning.
51849
51850 * include/grub/fs.h (grub_hfs_init): New prototype.
51851 (grub_hfs_fini): Likewise.
f19dbdb7 51852
51853
97543f08 518542004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
51855
51856 Each disk device has its own id now. This is useful to make use
51857 of multiple disk devices.
f19dbdb7 51858
97543f08 51859 * include/grub/disk.h (grub_disk_dev_id): New enum.
51860 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
51861 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
51862
51863 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
51864 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
51865
51866 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
51867 GRUB_DISK_DEVICE_OFDISK_ID as an id.
51868
51869 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
51870 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
51871
51872 * include/grub/disk.h (struct grub_disk_dev): Added a new member
51873 "id" which is used by the cache manager.
51874
51875 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
51876 of just "GRUB".
51877
64372eb4 518782004-08-18 Marco Gerards <metgerards@student.han.nl>
51879
51880 * fs/hfs.c: New file.
51881 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
51882 (grub_emu_SOURCES): Likewise.
51883 (pkgdata_MODULES): Add hfs.mod.
51884 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
51885 (grubof_SOURCES): Likewise.
51886 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
51887
51888 * include/grub/misc.h (grub_strncasecmp): Add prototype.
51889 * kern/misc.c (grub_strncasecmp): Add function.
51890
cc61b58f 518912004-08-14 Marco Gerards <metgerards@student.han.nl>
51892
51893 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
51894 with parentheses.
51895
51896 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
51897 (grub_ext2_dir): In case the directory entry type is unknown, read
51898 it from the inode.
51899
0ef123f6 519002004-08-02 Peter Bruin <pjbruin@dds.nl>
51901
51902 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
51903 grub_load_linux instead of grub_rescue_cmd_linux as second
51904 argument of grub_rescue_register_command.
51905
51906 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
51907
a447c5df 519082004-07-27 Marco Gerards <metgerards@student.han.nl>
51909
51910 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
51911 function.
51912 * commands/boot.c: Remove the check for `GRUB_UTIL'.
51913 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51914 `loader/powerpc/ieee1275/linux.c',
51915 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
51916 * include/grub/powerpc/ieee1275/ieee1275.h
51917 (grub_ieee1275_release): New prototype.
51918 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
51919 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
51920 normal, boot, linux and linux_normal.
51921 * loader/powerpc/ieee1275/linux.c: New file.
51922 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
51923
5a9e3546 519242004-07-12 Marco Gerards <metgerards@student.han.nl>
51925
51926 * normal/arg.c (grub_arg_parse): Correct error handling after
51927 reallocating the argumentlist (check if `argl' is not null instead
51928 of checking if `args' is not null).
51929 * kern/mm.c (grub_realloc): Return the same pointer when using the
51930 same region, instead of returning the header address.
51931
e15199cb 519322004-07-11 Marco Gerards <metgerards@student.han.nl>
51933
51934 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
51935 one block instead of two when looking for the initial partition.
51936 (grub_partition_probe): Initialize the local variable `p' with 0.
51937 Use base 10 for the grub_strtoul call.
51938 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
51939 need for one local variable.
51940 (grub_strtoul): Don't add the new value to `num', instead of that
51941 just assign it.
51942
020616c2 519432004-07-11 Marco Gerards <metgerards@student.han.nl>
51944
51945 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
51946 (pxeboot_img_SOURCES): New variable.
51947 (pxeboot_img_ASFLAGS): Likewise.
51948 (pxeboot_img_LDFLAGS): Likewise.
51949 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
51950 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
51951 <lode_leroy@hotmail.com>.
51952
6c51eb64 519532004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51954
51955 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
51956 there was no input.
51957
cfb12aff 519582004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51959
51960 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
51961 the history buffer logic.
51962
6eabba74 519632004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
51964
51965 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
51966 (FILETYPE_INO_SYMLINK): New macros.
51967 (grub_ext2_find_file): Check if the node is a directory using the
51968 inode stat information instead of using the filetype in the
51969 dirent. Exclude the first character of an absolute symlink.
51970 (grub_ext2_dir): Mask out the filetype part of the mode member of
51971 the inode.
51972
66e19ef8 519732004-05-24 Marco Gerards <metgerards@student.han.nl>
51974
51975 Add support for UFS version 1 and 2. Add support for the minix
51976 filesystem version 1 and 2, both the variants with 14 and 30 long
51977 filenames.
f19dbdb7 51978
66e19ef8 51979 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
51980 fs/minix.c.
51981 (grub_emu_SOURCES): Likewise.
51982 (pkgdata_MODULES): Add ufs.mod and minix.mod.
51983 (ufs_mod_SOURCES): New variable.
51984 (ufs_mod_CFLAGS): Likewise.
51985 (minix_mod_SOURCES): Likewise.
51986 (minix_mod_CFLAGS): Likewise.
51987 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
51988 fs/minix.c.
51989 (grubof_SOURCES): Likewise.
51990 * fs/ufs.c: New file.
51991 * fs/minix.c: New file.
51992 * include/grub/fs.h (grub_ufs_init): New prototype.
51993 (grub_ufs_fini): Likewise.
51994 (grub_minix_init): Likewise.
51995 (grub_minix_fini): Likewise.
51996 * util/grub-emu.c (main): Initialize and deinitialize UFS and
51997 minix fs.
51998
cc2e748a 519992004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
52000
52001 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
52002 commands/ls.c, commands/terminal.c, commands/boot.c,
52003 commands/cmp.c and commands/cat.c.
52004 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
52005
52006 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
52007 "env.h"
52008
4b13b216 520092004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52010
52011 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
52012 and grub_, respectively. Because the conversion is trivial and
52013 mechanical, I omit the details here. Please refer to the CVS
52014 if you need more information.
52015
6a142551 520162004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52017
52018 * include/pupa: Renamed to ...
52019 * include/grub: ... this.
52020 * util/i386/pc/pupa-mkimage.c: Renamed to ...
52021 * util/i386/pc/grub-mkimage.c: ... this.
52022 * util/i386/pc/pupa-setup.c: Renamed to ...
52023 * util/i386/pc/grub-setup.c: ... this.
52024 * util/pupa-emu.c: Renamed to ...
52025 * util/grub-emu.c: ... this.
52026
e56cdf21 520272004-03-29 Marco Gerards <metgerards@student.han.nl>
52028
52029 Add support for the newworld apple macintosh (PPC). This has been
52030 tested on the powerbook 2000 only. It only adds support for
52031 generic ieee1275 functions, console and disk support. This should
52032 be easy to port to other architectures with support for Open
52033 Firmware.
f19dbdb7 52034
e56cdf21 52035 * configure.ac: Accept the powerpc as host_cpu. In the case of
52036 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
52037 specific tests are only executed while building for the i386.
52038 Inverse test for crosscompile.
52039 * genmk.rb (Utility): Allow assembler files.
52040 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
52041 * conf/powerpc-ieee1275.rmk: New file.
52042 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
52043 * disk/powerpc/ieee1275/partition.c: Likewise.
52044 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
52045 * include/pupa/powerpc/ieee1275/console.h: Likewise.
52046 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
52047 * include/pupa/powerpc/ieee1275/time.h: Likewise.
52048 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
52049 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
52050 * include/pupa/powerpc/ieee1275/loader.h
52051 * include/pupa/powerpc/setjmp.h: Likewise.
52052 * include/pupa/powerpc/types.h: Likewise.
52053 * kern/powerpc/ieee1275/init.c: Likewise.
52054 * kern/powerpc/ieee1275/openfw.c: Likewise.
52055 * term/powerpc/ieee1275/ofconsole.c: Likewise.
52056
52057 These files were written by Johan Rydberg
52058 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 52059
e56cdf21 52060 * boot/powerpc/ieee1275/cmain.c: New file.
52061 * boot/powerpc/ieee1275/crt0.S: Likewise.
52062 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
52063 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
52064
8c8cc205 520652004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
52066
52067 * Makefile.in: Update copyright.
52068 * genmodsrc.sh: Likewise.
52069 * gensymlist.sh: Likewise.
52070 * term/i386/pc/vga.c: Indent correctly.
52071
52072 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
52073 bugreporting address.
52074 * util/i386/pc/pupa-setup.c (usage): Likewise,
52075 (main): Call pupa_ext2_init and pupa_ext2_fini.
52076
f19dbdb7 52077 * fs/fat.c (log2): Renamed to ...
8c8cc205 52078 (fat_log2): ... this.
52079 All callers changed.
52080 * kern/misc.c (memcpy): Alias to pupa_memmove.
52081 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
52082 lvalue cast.
52083 * util/console.c (pupa_ncurses_fini): Return 0.
52084
52085 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
52086 Move fail label here.
52087 [__GNU__]: Don't warn when using stat.
52088 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
52089 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
52090 long int. Use strtol instead of strtoul.
f19dbdb7 52091
db1771cf 520922004-03-14 Marco Gerards <metgerards@student.han.nl>
52093
52094 * commands/boot.c: New file.
52095 * commands/cat.c: Likewise.
52096 * commands/cmp.c: Likewise.
52097 * commands/ls.c: Likewise.
52098 * commands/terminal.c: Likewise.
52099 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
52100 (pupa_register_command): Changed interface to match the new
52101 argument parser.
52102 (pupa_command_execute): Changed (almost rewritten) so it uses
52103 pupa_split_command. Added support for setting variables using the
52104 syntax `foo=bar'.
52105 (rescue_command): Changed to work with the new argument parser.
52106 (terminal_command): Moved from here to commands/terminal.c.
52107 (set_command): New function.
52108 (unset_command): New function.
52109 (insmod_command): New function.
52110 (rmmod_command): New function.
52111 (lsmod_command): New function.
52112 (pupa_command_init): Don't initialize the command terminal
52113 anymore. Initialize the commands set, unset, insmod, rmmod and
52114 lsmod.
52115 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
52116 (kernel_img_HEADERS): Add arg.h and env.h.
52117 (pupa_mkimage_LDFLAGS): Add kern/env.c.
52118 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
52119 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
52120 normal/arg.c.
52121 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
52122 terminal.mod.
52123 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
52124 (boot_mod_SOURCES): New variable.
52125 (terminal_mod_SOURCES): Likewise.
52126 (ls_mod_SOURCES): Likewise.
52127 (cmp_mod_SOURCES): Likewise.
52128 (cat_mod_SOURCES): Likewise.
52129
52130 * normal/arg.c: New file.
52131 * kern/env.c: Likewise.
52132 * include/pupa/arg.h: Likewise.
52133 * include/pupa/env.h: Likewise.
52134 * font/manager.c (font_command): Changed to match argument parsing
52135 interface changes.
52136 (PUPA_MOD_INIT): Likewise.
52137 * hello/hello.c (pupa_cmd_hello): Likewise.
52138 (PUPA_MOD_INIT): Likewise.
52139 * include/pupa/disk.h: Include <pupa/device.h>.
52140 (pupa_print_partinfo): New prototype.
52141 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
52142 (pupa_dl_get_prefix): Likewise.
52143 * include/pupa/misc.h: Include <pupa/err.h>.
52144 (pupa_isgraph): New prototype.
52145 (pupa_isdigit): Likewise.
52146 (pupa_split_cmdline): Likewise.
52147 * include/pupa/normal.h: Include <pupa/arg.h>.
52148 (pupa_command): Changed the prototype of the member `func' to
52149 match the argument parsing interface. Added member `options'.
52150 (pupa_register_command): Updated to match function.
52151 (pupa_arg_parse): New prototype.
52152 (pupa_hello_init) [PUPA_UTIL]: New prototype.
52153 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
52154 (pupa_ls_init) [PUPA_UTIL]: Likewise.
52155 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
52156 (pupa_cat_init) [PUPA_UTIL]: Likewise.
52157 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
52158 (pupa_boot_init) [PUPA_UTIL]: Likewise.
52159 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
52160 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
52161 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
52162 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
52163 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
52164 * kern/disk.c: Include <pupa/file.h>.
52165 (pupa_print_partinfo): New function.
52166 * kern/dl.c: Include <pupa/env.h>.
52167 (pupa_dl_dir): Variable removed.
52168 (pupa_dl_load): Use the environment variable `prefix' instead of
52169 the variable pupa_dl_dir.
52170 (pupa_dl_set_prefix): Function removed.
52171 (pupa_dl_get_prefix): Likewise.
52172 * kern/i386/pc/init.c: Include <pupa/env.h>.
52173 (pupa_machine_init): Use the environment variable `prefix' instead of
52174 using pupa_dl_set_prefix to set the prefix.
52175 * kern/main.c: Include <pupa/env.h>.
52176 (pupa_set_root_dev): Use the environment variable `prefix' instead of
52177 using pupa_dl_get_prefix to get the prefix.
52178 * kern/misc.c: Include <pupa/env.h>.
52179 (pupa_isdigit): New function.
52180 (pupa_isgraph): Likewise.
52181 (pupa_ftoa): Likewise.
52182 (pupa_vsprintf): Added support for printing values of the type
52183 `double'. Make it possible to format variable output when using
52184 formatting like `%1.2%f'.
52185 (pupa_split_cmdline): New function.
52186 * kern/rescue.c: Include <pupa/env.h>.
52187 (next_word): Removed function.
52188 (pupa_rescue_cmd_prefix): Likewise.
52189 (pupa_rescue_cmd_set): New function.
52190 (pupa_rescue_cmd_unset): New function.
52191 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
52192 split the command line instead of splitting it here. Added
52193 support for setting variables using the syntax `foo=bar'. Don't
52194 initialize the prefix command anymore. Initialized the set and
52195 unset commands.
52196 * normal/cmdline.c: Include <pupa/env.h>.
52197 (pupa_tab_complete): Added prototypes for print_simple_completion,
52198 print_partition_completion, add_completion, iterate_commands,
52199 iterate_dev, iterate_part and iterate_dir. Moved code to print
52200 partition information from here to kern/disk.c.
fe6b695a 52201 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 52202 * normal/main.c: Include <pupa/env.h>.
52203 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
52204 instead of using pupa_dl_get_prefix to get the prefix.
52205 * term/i386/pc/vga.c: Include <pupa/arg.h>.
52206 (check_vga_mem): Cast pointers to `void *' to silence a gcc
52207 warning.
52208 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
52209 (pupa_vga_setcolor): Declare unused variables with `__attribute__
52210 ((unused))' to silence a gcc warning.
52211 (pupa_vga_setcolor): Likewise.
52212 (debug_command): Changed to match argument parsing
52213 interface changes.
52214 * util/pupa-emu.c: Include <pupa/env.h>.
52215 (options): Added 0's for unused fields to silence a gcc warning.
52216 (argp): Likewise.
52217 (main): Use the environment variable `prefix' instead of using
52218 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
52219 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
52220 and terminal.
52221
52222 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
52223 * util/misc.c: Include <malloc.h>.
52224 (pupa_malloc): Rewritten so errors are correctly reported.
52225 (pupa_realloc): Likewise.
52226 (pupa_memalign): Likewise.
52227 (pupa_mm_init_region): Declare unused variables with
52228 `__attribute__ ((unused))' to silence a gcc warning.
52229 * normal/i386/setjmp.S: Remove tab at the end of the file to
52230 silence a gcc warning.
52231 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
52232 variables with `__attribute__ ((unused))' to silence a gcc
52233 warning.
52234 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
52235 local variable i unsigned to silence a gcc warning.
52236
52237 * kern/term.c: Include <pupa/misc.h>.
52238 (pupa_more_lines): New variable.
52239 (pupa_more): Likewise.
52240 (pupa_putcode): When the pager is active pause at the end of every
52241 screen.
52242 (pupa_set_more): New function.
52243 * include/pupa/term.h (pupa_set_more): New prototype.
52244
52245
3b1139cb 522462004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
52247
52248 Now this project is GRUB 2 rather than PUPA. The location of
52249 the CVS repository was moved to GRUB's.
f19dbdb7 52250
3b1139cb 52251 * configure.ac: Use bug-grub as the reporting address.
52252 Use GRUB instead of PUPA.
52253 Change the version number to 1.90.
52254
8367695c 522552004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
52256
52257 * genkernsyms.sh: Updated copyright information.
52258 * genmk.rb: Likewise.
52259 * genmodsrc.sh: Likewise.
52260 * gensymlist.sh: Likewise.
52261 * boot/i386/pc/boot.S: Likewise.
52262 * boot/i386/pc/diskboot.S: Likewise.
52263 * disk/i386/pc/biosdisk.c: Likewise.
52264 * disk/i386/pc/partition.c: Likewise.
52265 * font/manager.c: Likewise.
52266 * fs/ext2.c: Likewise.
52267 * fs/fat.c: Likewise.
52268 * include/pupa/boot.h: Likewise.
52269 * include/pupa/device.h: Likewise.
52270 * include/pupa/disk.h: Likewise.
52271 * include/pupa/dl.h: Likewise.
52272 * include/pupa/elf.h: Likewise.
52273 * include/pupa/err.h: Likewise.
52274 * include/pupa/file.h: Likewise.
52275 * include/pupa/font.h: Likewise.
52276 * include/pupa/fs.h: Likewise.
52277 * include/pupa/kernel.h: Likewise.
52278 * include/pupa/loader.h: Likewise.
52279 * include/pupa/misc.h: Likewise.
52280 * include/pupa/mm.h: Likewise.
52281 * include/pupa/net.h: Likewise.
52282 * include/pupa/normal.h: Likewise.
52283 * include/pupa/rescue.h: Likewise.
52284 * include/pupa/setjmp.h: Likewise.
52285 * include/pupa/symbol.h: Likewise.
52286 * include/pupa/term.h: Likewise.
52287 * include/pupa/types.h: Likewise.
52288 * include/pupa/i386/setjmp.h: Likewise.
52289 * include/pupa/i386/types.h: Likewise.
52290 * include/pupa/i386/pc/biosdisk.h: Likewise.
52291 * include/pupa/i386/pc/boot.h: Likewise.
52292 * include/pupa/i386/pc/console.h: Likewise.
52293 * include/pupa/i386/pc/init.h: Likewise.
52294 * include/pupa/i386/pc/kernel.h: Likewise.
52295 * include/pupa/i386/pc/linux.h: Likewise.
52296 * include/pupa/i386/pc/loader.h: Likewise.
52297 * include/pupa/i386/pc/memory.h: Likewise.
52298 * include/pupa/i386/pc/multiboot.h: Likewise.
52299 * include/pupa/i386/pc/partition.h: Likewise.
52300 * include/pupa/i386/pc/time.h: Likewise.
52301 * include/pupa/i386/pc/vga.h: Likewise.
52302 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
52303 * include/pupa/util/getroot.h: Likewise.
52304 * include/pupa/util/misc.h: Likewise.
52305 * include/pupa/util/resolve.h: Likewise.
52306 * kern/device.c: Likewise.
52307 * kern/disk.c: Likewise.
52308 * kern/dl.c: Likewise.
52309 * kern/err.c: Likewise.
52310 * kern/file.c: Likewise.
52311 * kern/fs.c: Likewise.
52312 * kern/loader.c: Likewise.
52313 * kern/main.c: Likewise.
52314 * kern/misc.c: Likewise.
52315 * kern/mm.c: Likewise.
52316 * kern/rescue.c: Likewise.
52317 * kern/term.c: Likewise.
52318 * kern/i386/dl.c: Likewise.
52319 * kern/i386/pc/init.c: Likewise.
52320 * kern/i386/pc/lzo1x.S: Likewise.
52321 * kern/i386/pc/startup.S: Likewise.
52322 * loader/i386/pc/chainloader.c: Likewise.
52323 * loader/i386/pc/linux.c: Likewise.
52324 * loader/i386/pc/multiboot.c: Likewise.
52325 * normal/cmdline.c: Likewise.
52326 * normal/command.c: Likewise.
52327 * normal/main.c: Likewise.
52328 * normal/menu.c: Likewise.
52329 * normal/i386/setjmp.S: Likewise.
52330 * term/i386/pc/console.c: Likewise.
52331 * term/i386/pc/vga.c: Likewise.
52332 * util/console.c: Likewise.
52333 * util/genmoddep.c: Likewise.
52334 * util/misc.c: Likewise.
52335 * util/pupa-emu.c: Likewise.
52336 * util/resolve.c: Likewise.
52337 * util/unifont2pff.rb: Likewise.
52338 * util/i386/pc/biosdisk.c: Likewise.
52339 * util/i386/pc/getroot.c: Likewise.
52340 * util/i386/pc/pupa-mkimage.c: Likewise.
52341 * util/i386/pc/pupa-setup.c: Likewise.
52342
e6eced71 523432004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
52344
52345 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
52346 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
52347 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
52348 reading and reset it after reading.
52349 (pupa_ext2_close): Return PUPA_ERR_NONE.
52350
52351 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
52352 Correct value.
52353 (struct linux_kernel_header): Add kernel_version and
52354 initrd_addr_max.
52355 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
52356 pupa_file_read succeeds.
52357 (pupa_rescue_cmd_initrd): Implement.
52358
5aded270 523592003-12-03 Marco Gerards <metgerards@student.han.nl>
52360
52361 * fs/ext2.c (pupa_ext2_label): New function.
52362 (pupa_ext2_fs): Added label.
52363 * fs/fat.c (pupa_fat_label): New function.
52364 (pupa_fat_fs): Added label.
52365 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
52366
52367 * kern/misc.c (pupa_strndup): New function.
52368 * include/pupa/misc.h (pupa_strndup): New prototype.
52369
52370 * include/pupa/normal.h: Include <pupa/err.h>.
52371 (pupa_set_history): New prototype.
52372 (pupa_iterate_commands): New prototype.
52373 * normal/cmdline.c: Include <pupa/machine/partition.h>,
52374 <pupa/disk.h>, <pupa/file.h>.
52375 (hist_size): New variable.
52376 (hist_lines): Likewise.
52377 (hist_end): Likewise.
52378 (hist_used): Likewise.
52379 (pupa_set_history): New function.
52380 (pupa_history_get): Likewise.
52381 (pupa_history_add): Likewise.
52382 (pupa_history_replace): Likewise.
52383 (pupa_tab_complete): Likewise.
52384 (pupa_cmdline_run): Added tab completion and history buffer. Tab
52385 completion shows partitionnames while completing partitions, this
52386 feature was suggested by Jeff Bailey.
52387 * normal/command.c (pupa_iterate_commands): New function.
52388 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
52389 (pupa_normal_init): Initialize history buffer.
52390 (PUPA_MOD_INIT): Likewise.
52391 (pupa_normal_fini): Free the history buffer.
52392 (PUPA_MOD_FINI): Likewise.
52393
52394 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
52395 key.
52396
52397 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
52398 * configure.ac [i386]: Check for regparam bug.
52399 (NESTED_FUNC_ATTR) [! i386]: Defined.
52400
1f7315a3 524012003-11-17 Marco Gerards <metgerards@student.han.nl>
52402
52403 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
52404 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
52405 (pupa_emu_SOURCES): New variable.
52406 (pupa_emu_LDFLAGS): Likewise.
52407 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
52408 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
52409 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
52410 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52411 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
52412 (pupa_jmp_buf): New typedef.
52413 (pupa_setjmp) [PUPA_UTIL]: New macro.
52414 (pupa_longjmp) [PUPA_UTIL]: Likewise.
52415 * include/pupa/term.h (struct pupa_term): New member `refresh'.
52416 (pupa_refresh): New prototype.
52417 * include/pupa/util/getroot.h: New file.
52418 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
52419 it.
52420 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
52421 (pupa_rescue_cmd_cat): Likewise.
52422 (pupa_rescue_cmd_ls): Likewise.
52423 (pupa_rescue_cmd_testload): Likewise.
52424 (pupa_rescue_cmd_lsmod): Likewise.
52425 * normal/cmdline.c (pupa_cmdline_get): Likewise.
52426 * normal/menu.c (run_menu): Likewise.
52427 * kern/term.c (pupa_cls): Likewise.
52428 (pupa_refresh): New function.
52429 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
52430 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52431 * util/console.c: New file.
f19dbdb7 52432
1f7315a3 52433 * util/i386/pc/getroot.c: New file.
52434 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
52435 (pupa_putchar): New function.
52436 (pupa_refresh): Likewise.
52437 (xgetcwd): Function moved to ...
52438 (strip_extra_slashes): Likewise.
52439 (get_prefix): Likewise.
f19dbdb7 52440 * util/i386/pc/getroot.c: ... here.
1f7315a3 52441 (find_root_device): Function moved and renamed to...
52442 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
52443 Changed all callers.
52444 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
52445 and renamed to...
52446 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
52447 Changed all callers.
52448 * util/misc.c (pupa_memalign): New function.
52449 (pupa_mm_init_region): Likewise.
52450 (pupa_register_exported_symbols): Likewise.
52451 (pupa_putchar): Function removed.
52452 * util/pupa-emu.c: New file.
52453
9a5c1ade 524542003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
52455
52456 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
52457 (_multiboot_mod_SOURCES): New variable.
52458 (_multiboot_mod_CFLAGS): Likewise.
52459 * loader/i386/pc/multiboot.c: New file.
52460 * include/pupa/i386/pc/multiboot.h: Likewise.
52461 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
52462 (pupa_multiboot_real_boot): New function.
52463 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
52464 (pupa_multiboot_real_boot): New prototype.
52465 (pupa_rescue_cmd_multiboot): Likewise
52466 (pupa_rescue_cmd_module): Likewise.
52467
52468 * kern/loader.c (pupa_loader_set): Continue when
52469 pupa_loader_unload_func() fails.
52470 (pupa_loader_unset): New function.
52471 * include/pupa/loader.h (pupa_loader_unset): New prototype.
52472
52473 * kern/misc.c (pupa_stpcpy): New function.
52474 * include/pupa/misc.h (pupa_stpcpy): New prototype.
52475
8e72a9c0 524762003-11-12 Marco Gerards <metgerards@student.han.nl>
52477
52478 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
52479 for available extensions.
52480
52481 * include/pupa/i386/pc/time.h: New file.
52482 * kern/disk.c: Include <pupa/machine/time.h>.
52483 (PUPA_CACHE_TIMEOUT): New macro.
52484 (pupa_last_time): New variable.
52485 (pupa_disk_open): Flush the cache when there was a timeout.
52486 (pupa_disk_close): Reset the timer.
52487 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
52488 pupa_currticks.
52489 * util/misc.c: Include <sys/times.h>
52490 (pupa_get_rtc): New function.
52491
c4adbd32 524922003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
52493
52494 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
52495 as blocks.
52496 (pupa_ext2_get_file_block): Use blocks member.
52497
52498 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
52499 first block. Return -1 instead of pupa_errno on error.
52500
bfd30f06 525012003-10-27 Marco Gerards <metgerards@student.han.nl>
52502
52503 * README: In the pupa-mkimage example use _chain instead of chain
52504 and ext2 instead of fat.
52505 * TODO: Replace ext2fs with jfs as an example. Add an item for
52506 adding journal playback for ext2fs.
52507 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
52508 (pkgdata_MODULES): Added ext2.mod.
52509 (ext2_mod_SOURCES): New variable.
52510 (ext2_mod_CFLAGS): Likewise.
52511 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
52512 * include/pupa/misc.h (pupa_strncpy): New prototype.
52513 (pupa_strcat): Likewise.
52514 (pupa_strncmp): Likewise.
52515 * kern/misc.c (pupa_strcat): Enable function.
52516 (pupa_strncpy): New function.
52517 (pupa_strncmp): Likewise.
52518 * fs/ext2.c: New file.
f19dbdb7 52519
bfd30f06 52520 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
52521 when the read failed before retrying.
52522 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
52523 (_FILE_OFFSET_BITS): Likewise.
52524 * configure.ac: Added AC_SYS_LARGEFILE.
52525
98d15063 525262003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52527
52528 * genmk.rb (PModule#rule): Make sure to get only symbol names
52529 from the output of nm.
59cad637 52530 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 52531
18d9c7cd 525322003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52533
52534 I forgot to check in these changes for a long time. This adds
52535 incomplete support for VGA console, and this is still very
52536 buggy. Also, a lot of consideration is required for I18N,
52537 UNICODE, and VGA font issues. Therefore, assume that this is
52538 such that "better than nothing".
f19dbdb7 52539
18d9c7cd 52540 * font/manager.c: New file.
52541 * include/pupa/font.h: Likewise.
52542 * include/pupa/i386/pc/vga.h: Likewise.
52543 * term/i386/pc/vga.c: Likewise.
52544 * util/unifont2pff.rb: Likewise.
52545
52546 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
52547 (pkgdata_MODULES): Added vga.mod and font.mod.
52548 (vga_mod_SOURCES): New variables.
52549 (vga_mod_CFLAGS): Likewise.
52550 (font_mod_SOURCES): Likewise.
52551 (font_mod_CFLAGS): Likewise.
52552
52553 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
52554
52555 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 52556 (struct pupa_term): Added init and fini.
18d9c7cd 52557 Changed the argument of putchar to pupa_uint32_t.
52558
52559 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
52560 (pupa_console_real_putchar): New prototype.
52561 (pupa_console_putchar): Removed.
52562 (pupa_console_checkkey): Exported.
52563 (pupa_console_getkey): Likewise.
52564
52565 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
52566 characters.
52567
52568 * kern/term.c (pupa_term_set_current): Rewritten.
52569 (pupa_putchar): Likewise.
52570 (pupa_putcode): New function.
52571
52572 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
52573 (pupa_console_real_putchar): ... this.
52574 (pupa_vga_set_mode): New function.
52575 (pupa_vga_get_font): Likewise.
52576
52577 * normal/command.c: Include pupa/term.h.
52578 (terminal_command): New function.
52579 (pupa_command_init): Register the command "terminal".
52580
52581 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
52582 (DISP_UP): Likewise.
52583 (DISP_RIGHT): Likewise.
52584 (DISP_DOWN): Likewise.
52585 (DISP_HLINE): Likewise.
52586 (DISP_VLINE): Likewise.
52587 (DISP_UL): Likewise.
52588 (DISP_UR): Likewise.
52589 (DISP_LL): Likewise.
52590 (DISP_LR): Likewise.
52591
52592 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 52593
977329f5 525942003-02-08 NIIBE Yutaka <gniibe@m17n.org>
52595
52596 * util/resolve.c (pupa_util_resolve_dependencies): BUG
52597 FIX. Reverse the path_list.
52598
52599 * include/pupa/normal.h: Export pupa_register_command and
52600 pupa_unregister_command.
52601
52602 * hello/hello.c (pupa_cmd_hello): New module.
52603 * conf/i386-pc.rmk: Added hello.mod.
52604
1f5ab428 526052003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
52606
52607 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 52608
1f5ab428 52609 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
52610 (compress_kernel): New variable.
52611 (generate_image): Heavily modified to support compressing a
52612 large part of the core image.
52613
52614 * util/misc.c (pupa_util_read_image): Fix a file descriptor
52615 leak.
52616 (pupa_util_load_image): New function.
52617
52618 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
52619 (pupa_compressed_size): New variable.
52620 (codestart): Enable Gate A20 here.
52621 Decompress the compressed part of the core image.
52622 Rearrange the code to put functions and variables which are
52623 required for initialization in the non-compressed part.
52624 Include lzo1x.S.
52625
52626 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
52627 here.
52628
52629 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
52630
f19dbdb7 52631 * include/pupa/i386/pc/kernel.h
1f5ab428 52632 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
52633 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
52634 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52635 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52636 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
52637
52638 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
52639
52640 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
52641 (Utility#rule): Likewise.
52642
52643 * configure.ac: Check if LZO is available.
52644
ce5bf700 526452003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
52646
52647 * include/pupa/normal.h: New file.
52648 * include/pupa/setjmp.h: Likewise.
52649 * include/pupa/i386/setjmp.h: Likewise.
52650 * normal/cmdline.c: Likewise.
52651 * normal/command.c: Likewise.
52652 * normal/main.c: Likewise.
52653 * normal/menu.c: Likewise.
52654 * normal/i386/setjmp.S: Likewise.
f19dbdb7 52655
ce5bf700 52656 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
52657 (pupa_rescue_cmd_initrd): Likewise.
52658
52659 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
52660 Likewise.
52661
52662 * kern/i386/pc/startup.S (translation_table): New variable.
52663 (translate_keycode): New function.
52664 (pupa_console_getkey): Call translate_keycode.
52665
52666 * kern/rescue.c (attempt_normal_mode): New function.
52667 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
52668 it failed, print a message.
52669
52670 * kern/mm.c (pupa_real_malloc): Print more information when a
52671 free magic is broken.
52672 (pupa_free): If the first free header is not free actually, set
52673 it to P.
52674
52675 * kern/main.c (pupa_load_normal_mode): Just load the module
52676 "normal".
52677 (pupa_main): Don't print the message
52678 "Entering into rescue mode..." here.
52679
52680 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
52681 Declared.
52682 (pupa_rescue_cmd_initrd): Likewise.
52683 (pupa_rescue_cmd_initrd): Likewise.
52684
52685 * include/pupa/symbol.h (FUNCTION): Specify the type.
52686 (VARIABLE): Likewise.
52687
52688 * include/pupa/err.h (pupa_err_t): Added
52689 PUPA_ERR_UNKNOWN_COMMAND.
52690
52691 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
52692 (pupa_dl_get_prefix): Likewise.
52693
52694 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
52695 Added _chain.mod and _linux.mod instead of chain.mod and
52696 linux.mod.
52697 (chain_mod_SOURCES): Renamed to ...
52698 (_chain_mod_SOURCES): ... this.
52699 (chain_mod_CFLAGS): Renamed to ...
52700 (_chain_mod_CFLAGS): ... this.
52701 (linux_mod_SOURCES): Renamed to ...
52702 (_linux_mod_SOURCES): ... this.
52703 (linux_mod_CFLAGS): Renamed to ...
52704 (_linux_mod_CFLAGS): ... this.
52705 (normal_mod_SOURCES): New variable.
52706 (normal_mod_CFLAGS): Likewise.
52707 (normal_mod_ASFLAGS): Likewise.
52708
527092003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
52710
52711 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
52712 possible.
52713
fe6b695a 52714 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 52715 recursively.
52716 (pupa_dl_unref): Unrefer depending modules recursively.
52717 Don't call pupa_dl_unload implicitly, because PUPA can crash if
52718 a module is unloaded before one depending on that module is
52719 unloaded.
52720 (pupa_dl_unload): Unload depending modules explicitly,
52721 if possible.
52722
c04da074 527232003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
52724
52725 * include/pupa/i386/pc/linux.h: New file.
52726 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 52727
c04da074 52728 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
52729 Removed.
52730 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
52731 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
52732 of PUPA_CHAINLOADER_BOOT_SECTOR.
52733
52734 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
52735 (pupa_linux_prot_size): New variable.
52736 (pupa_linux_tmp_addr): Likewise.
52737 (pupa_linux_real_addr): Likewise.
52738 (pupa_linux_boot_zimage): New function.
52739 (pupa_linux_boot_bzimage): Likewise.
52740
52741 * kern/i386/pc/init.c (struct mem_region): New structure.
52742 (MAX_REGIONS): New macro.
52743 (mem_regions): New variable.
52744 (num_regions): Likewise.
52745 (pupa_os_area_addr): Likewise.
52746 (pupa_os_area_size): Likewise.
52747 (pupa_lower_mem): Likewise.
52748 (pupa_upper_mem): Likewise.
52749 (add_mem_region): New function.
52750 (compact_mem_regions): Likewise.
52751 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
52752 the size of the conventional memory and that of so-called upper
52753 memory (before the first memory hole).
52754 Instead of adding each found region to free memory, use
52755 add_mem_region and add them after removing overlaps.
52756 Also, add only 1/4 of the upper memory to free memory. The rest
52757 is used for loading OS images. Maybe this is ad hoc, but this
52758 makes it much easier to relocate OS images when booting.
52759
52760 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
52761 (pupa_enter_rescue_mode): Don't register initrd and module.
52762
52763 * kern/mm.c: Include pupa/dl.h.
52764
52765 * kern/main.c: Include pupa/file.h and pupa/device.h.
52766
52767 * kern/loader.c (pupa_loader_load_module_func): Removed.
52768 (pupa_loader_load_module): Likewise.
52769
52770 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
52771 ``.o''.
52772
52773 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
52774 (pupa_linux_tmp_addr): Likewise.
52775 (pupa_linux_real_addr): Likewise.
52776 (pupa_linux_boot_zimage): Likewise.
52777 (pupa_linux_boot_bzimage): Likewise.
52778
52779 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
52780 (pupa_upper_mem): Likewise.
52781 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
52782 module is too dangerous.
52783
52784 * include/pupa/loader.h (pupa_os_area_addr): Declared.
52785 (pupa_os_area_size): Likewise.
52786 (pupa_loader_set): Remove the first argument. Loader doesn't
52787 manage modules or initrd any longer.
52788 (pupa_loader_load_module): Removed.
52789
52790 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
52791 (linux_mod_SOURCES): New variable.
52792 (linux_mod_CFLAGS): Likewise.
52793
a13f9237 527942003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
52795
52796 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
52797 the length of a blocklist correctly.
52798
52799 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
52800 Use ioctl only if the OS file is a block device.
52801 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
52802 not very useful for normal files.
52803
52804 * kern/main.c (pupa_set_root_dev): New function.
52805 (pupa_load_normal_mode): Likewise.
52806 (pupa_main): Call those above.
52807
52808 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
52809 pupa_uint16_t.
52810
52811 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
52812
a5ffe966 528132003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
52814
52815 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
52816 (setup): Configure the installed partition information and the
52817 dl prefix.
52818
52819 * loader/i386/pc/chainloader.c (my_mod): New variable.
52820 (pupa_chainloader_unload): New function.
52821 (pupa_rescue_cmd_chainloader): Refer itself.
52822 (PUPA_MOD_INIT): Save its own module in MY_MOD.
52823
52824 * kern/i386/pc/startup.S (install_partition): Removed.
52825 (version_string): Likewise.
52826 (config_file): Likewise.
52827 (pupa_install_dos_part): New variable.
52828 (pupa_install_bsd_part): Likewise.
52829 (pupa_prefix): Likewise.
52830 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
52831
52832 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
52833 and pupa/misc.h.
52834 (make_install_device): New function.
52835 (pupa_machine_init): Set the dl prefix.
52836
52837 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
52838 (buf): Renamed to ...
52839 (linebuf): ... this.
52840 (pupa_rescue_cmd_prefix): New function.
52841 (pupa_rescue_cmd_insmod): Likewise.
52842 (pupa_rescue_cmd_rmmod): Likewise.
52843 (pupa_rescue_cmd_lsmod): Likewise.
52844 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
52845 rmmod and lsmod.
52846
52847 * kern/mm.c (pupa_memalign): If failed even after invalidating
52848 disk caches, unload unneeded modules and retry.
52849
52850 * kern/misc.c (pupa_memmove): New function.
52851 (pupa_memcpy): Removed.
52852 (pupa_strcpy): New function.
52853 (pupa_itoa): Made static.
52854
52855 * kern/dl.c (pupa_dl_iterate): New function.
52856 (pupa_dl_ref): Likewise.
52857 (pupa_dl_unref): Likewise.
52858 (pupa_dl_unload): Return if succeeded or not.
52859 (pupa_dl_unload_unneeded): New function.
52860 (pupa_dl_unload_all): Likewise.
52861 (pupa_dl_init): Renamed to ...
52862 (pupa_dl_set_prefix): ... this.
52863 (pupa_dl_get_prefix): New function.
52864
52865 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
52866 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
52867 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52868 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52869 (pupa_install_dos_part): Declared.
52870 (pupa_install_bsd_part): Likewise.
52871 (pupa_prefix): Likewise.
52872 (pupa_boot_drive): Likewise.
52873
52874 * include/pupa/types.h: Fix a typo.
52875
52876 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
52877 pupa_memmove.
52878 (pupa_memmove): Declared.
52879 (pupa_strcpy): Likewise.
52880
52881 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
52882 pupa_mod_init takes one argument, its own module.
52883 (pupa_dl_unload_unneeded): Declared.
52884 (pupa_dl_unload_all): Likewise.
52885 (pupa_dl_ref): Likewise.
52886 (pupa_dl_unref): Likewise.
52887 (pupa_dl_iterate): Likewise.
52888 (pupa_dl_init): Renamed to ...
52889 (pupa_dl_set_prefix): ... this.
52890 (pupa_dl_get_prefix): Declared.
52891
52892 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 52893 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 52894 unloaded.
52895 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
52896 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
52897
52898 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
52899 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
52900
012d7999 529012003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
52902
52903 * util/i386/pc/pupa-setup.c (setup): Define the internal
52904 function find_first_partition_start at the top level, because GCC
52905 3.0.x cannot compile internal functions in deeper scopes
52906 correctly.
52907 (find_root_device): Use lstat instead of stat.
52908 Don't follow symbolic links.
52909 Fix the path-constructing code.
52910
52911 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
52912 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
52913 by a BLKGETSIZE ioctl first, because block devices don't fill
52914 the member st_mode of the structure stat on Linux.
52915 [__linux__] (linux_find_partition): Use a temporary buffer
52916 REAL_DEV for the working space. Copy it to DEV before returning.
52917 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
52918 buffer cache consistent.
52919 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
52920 strncmp. The previous value was merely wrong.
52921 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
52922
52923 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
52924 FAT size is 12. The previous value was merely wrong.
52925
52926 * kern/main.c (pupa_main): Don't split the starting message from
52927 newlines.
52928
52929 * kern/term.c (pupa_putchar): Put CR after LF instead of before
52930 LF, because BIOS goes crazy about character attributes in this
52931 case.
52932
1cc73a62 529332003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
52934
52935 * include/i386/pc/util/biosdisk.h: New file.
52936 * util/i386/pc/biosdisk.c: Likewise.
52937 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 52938
1cc73a62 52939 * Makefile.in (INCLUDE_DISTFILES): Added
52940 include/pupa/i386/pc/util/biosdisk.h.
52941 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
52942 directory util/i386/pc.
52943 (install-local): Added a rule for sbin_UTILITIES.
52944 (uninstall): Likewise.
52945
52946 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
52947
52948 * util/misc.c (xrealloc): New function.
52949 (pupa_malloc): Likewise.
52950 (pupa_free): Likewise.
52951 (pupa_realloc): Likewise.
52952 (pupa_stop): Likewise.
52953 (pupa_putchar): Likewise.
52954
52955 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
52956
52957 * include/pupa/util/misc.h (xrealloc): Declared.
52958
52959 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
52960 macro.
52961 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
52962 (PUPA_BOOT_MACHINE_BPB_END): ... this.
52963
52964 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
52965 [PUPA_UTIL] (pupa_fat_fini): Likewise.
52966
52967 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
52968 way should be implemented.
52969 [PUPA_UTIL] (pupa_fat_fini): Likewise.
52970
52971 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
52972 the size of NAME for safety.
52973 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
52974 0x88.
52975
52976 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
52977 (pupa_setup_SOURCES): Likewise.
52978
52979 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
52980
08b70fe8 529812002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
52982
52983 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
52984 bunch of pushl's from pusha, because this destroys the return
52985 value.
52986
62ddcc8f 529872002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
52988
52989 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
52990 This means that any missing prototypes could be fatal. Also, you
52991 must take care when writing assembly code. See the comments at
52992 the beginning of startup.S, for more details.
f19dbdb7 52993
62ddcc8f 52994 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
52995 compilation mechanism.
52996 (pupa_chainloader_real_boot): Likewise.
52997 (pupa_biosdisk_rw_int13_extensions): Likewise.
52998 (pupa_biosdisk_rw_standard): Likewise.
52999 (pupa_biosdisk_check_int13_extensions): Likewise.
53000 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
53001 (pupa_biosdisk_get_diskinfo_standard): Likewise.
53002 (pupa_get_memsize): Likewise.
53003 (pupa_get_mmap_entry): Likewise.
53004 (pupa_console_putchar): Likewise.
53005 (pupa_console_setcursor): Likewise.
53006 (pupa_getrtsecs): Use pushl instead of push.
53007
53008 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
53009 memory instead of the stack for a mmap entry, because some
53010 BIOSes may ignore the maximum size and overflow.
53011
53012 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
53013
53014 * genmk.rb (PModule#rule): Compile automatically generated
53015 sources with module-specific CFLAGS as well as other sources.
53016
9962ed99 530172002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53018
53019 * configure.ac: Check ld.
53020 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
53021 respectively, before checking endianness and sizes.
53022
53023 * Makefile.in (LD): New variable.
f19dbdb7 53024
abdfc3c5 530252002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53026
53027 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
53028
6a161fa9 530292002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53030
53031 * Changelog: New file.
53032